diff options
Diffstat (limited to 'includes/external/addressbook/node_modules/domutils/lib/esm/stringify.js')
-rw-r--r-- | includes/external/addressbook/node_modules/domutils/lib/esm/stringify.js | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/domutils/lib/esm/stringify.js b/includes/external/addressbook/node_modules/domutils/lib/esm/stringify.js new file mode 100644 index 0000000..1c389e6 --- /dev/null +++ b/includes/external/addressbook/node_modules/domutils/lib/esm/stringify.js @@ -0,0 +1,81 @@ +import { isTag, isCDATA, isText, hasChildren, isComment, } from "domhandler"; +import renderHTML from "dom-serializer"; +import { ElementType } from "domelementtype"; +/** + * @category Stringify + * @deprecated Use the `dom-serializer` module directly. + * @param node Node to get the outer HTML of. + * @param options Options for serialization. + * @returns `node`'s outer HTML. + */ +export function getOuterHTML(node, options) { + return renderHTML(node, options); +} +/** + * @category Stringify + * @deprecated Use the `dom-serializer` module directly. + * @param node Node to get the inner HTML of. + * @param options Options for serialization. + * @returns `node`'s inner HTML. + */ +export function getInnerHTML(node, options) { + return hasChildren(node) + ? node.children.map((node) => getOuterHTML(node, options)).join("") + : ""; +} +/** + * Get a node's inner text. Same as `textContent`, but inserts newlines for `<br>` tags. + * + * @category Stringify + * @deprecated Use `textContent` instead. + * @param node Node to get the inner text of. + * @returns `node`'s inner text. + */ +export function getText(node) { + if (Array.isArray(node)) + return node.map(getText).join(""); + if (isTag(node)) + return node.name === "br" ? "\n" : getText(node.children); + if (isCDATA(node)) + return getText(node.children); + if (isText(node)) + return node.data; + return ""; +} +/** + * Get a node's text content. + * + * @category Stringify + * @param node Node to get the text content of. + * @returns `node`'s text content. + * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent} + */ +export function textContent(node) { + if (Array.isArray(node)) + return node.map(textContent).join(""); + if (hasChildren(node) && !isComment(node)) { + return textContent(node.children); + } + if (isText(node)) + return node.data; + return ""; +} +/** + * Get a node's inner text. + * + * @category Stringify + * @param node Node to get the inner text of. + * @returns `node`'s inner text. + * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText} + */ +export function innerText(node) { + if (Array.isArray(node)) + return node.map(innerText).join(""); + if (hasChildren(node) && (node.type === ElementType.Tag || isCDATA(node))) { + return innerText(node.children); + } + if (isText(node)) + return node.data; + return ""; +} +//# sourceMappingURL=stringify.js.map
\ No newline at end of file |