/
Dante
/
node-core
Обзор
Документация
Войти
/
Dante
/
node-core
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
node_modules/domutils/lib/esm/stringify.js
81 строка
3 KB
Александр Данилюк
add
24 сен 2024, 12:59
24 сен 2024, 12:59
9eaeea8
Код
Авторство
О чём код?
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. Ignores comments. * * @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. Ignores comments. * * @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, ignoring `<script>` and `<style>` tags. Ignores comments. * * @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