var regExpNbspEntity = / /gi; var regExpNbspHex = /\xA0/g; var regExpSpaces = /\s+([^\s])/gm; /** * Collects the text content of a given element. * * @param node the element * @param trim whether to remove trailing whitespace chars * @param singleSpaces whether to convert multiple whitespace chars into a single space character */ export default function text(node, trim, singleSpaces) { if (trim === void 0) { trim = true; } if (singleSpaces === void 0) { singleSpaces = true; } var elementText = ''; if (node) { elementText = (node.textContent || '').replace(regExpNbspEntity, ' ').replace(regExpNbspHex, ' '); if (trim) { elementText = elementText.trim(); } if (singleSpaces) { elementText = elementText.replace(regExpSpaces, ' $1'); } } return elementText; }