UNPKG

@mtdt.temp/browser-rum-core

Version:
46 lines 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isTextNode = isTextNode; exports.isCommentNode = isCommentNode; exports.isElementNode = isElementNode; exports.isNodeShadowHost = isNodeShadowHost; exports.isNodeShadowRoot = isNodeShadowRoot; exports.hasChildNodes = hasChildNodes; exports.forEachChildNodes = forEachChildNodes; exports.getParentNode = getParentNode; function isTextNode(node) { return node.nodeType === Node.TEXT_NODE; } function isCommentNode(node) { return node.nodeType === Node.COMMENT_NODE; } function isElementNode(node) { return node.nodeType === Node.ELEMENT_NODE; } function isNodeShadowHost(node) { return isElementNode(node) && Boolean(node.shadowRoot); } function isNodeShadowRoot(node) { const shadowRoot = node; return !!shadowRoot.host && shadowRoot.nodeType === Node.DOCUMENT_FRAGMENT_NODE && isElementNode(shadowRoot.host); } function hasChildNodes(node) { return node.childNodes.length > 0 || isNodeShadowHost(node); } function forEachChildNodes(node, callback) { let child = node.firstChild; while (child) { callback(child); child = child.nextSibling; } if (isNodeShadowHost(node)) { callback(node.shadowRoot); } } /** * Return `host` in case if the current node is a shadow root otherwise will return the `parentNode` */ function getParentNode(node) { return isNodeShadowRoot(node) ? node.host : node.parentNode; } //# sourceMappingURL=htmlDomUtils.js.map