| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 | 
							- "use strict";
 
- Object.defineProperty(exports, "__esModule", { value: true });
 
- exports.prevElementSibling = exports.nextElementSibling = exports.getName = exports.hasAttrib = exports.getAttributeValue = exports.getSiblings = exports.getParent = exports.getChildren = void 0;
 
- var domhandler_1 = require("domhandler");
 
- var emptyArray = [];
 
- /**
 
-  * Get a node's children.
 
-  *
 
-  * @param elem Node to get the children of.
 
-  * @returns `elem`'s children, or an empty array.
 
-  */
 
- function getChildren(elem) {
 
-     var _a;
 
-     return (_a = elem.children) !== null && _a !== void 0 ? _a : emptyArray;
 
- }
 
- exports.getChildren = getChildren;
 
- /**
 
-  * Get a node's parent.
 
-  *
 
-  * @param elem Node to get the parent of.
 
-  * @returns `elem`'s parent node.
 
-  */
 
- function getParent(elem) {
 
-     return elem.parent || null;
 
- }
 
- exports.getParent = getParent;
 
- /**
 
-  * Gets an elements siblings, including the element itself.
 
-  *
 
-  * Attempts to get the children through the element's parent first.
 
-  * If we don't have a parent (the element is a root node),
 
-  * we walk the element's `prev` & `next` to get all remaining nodes.
 
-  *
 
-  * @param elem Element to get the siblings of.
 
-  * @returns `elem`'s siblings.
 
-  */
 
- function getSiblings(elem) {
 
-     var _a, _b;
 
-     var parent = getParent(elem);
 
-     if (parent != null)
 
-         return getChildren(parent);
 
-     var siblings = [elem];
 
-     var prev = elem.prev, next = elem.next;
 
-     while (prev != null) {
 
-         siblings.unshift(prev);
 
-         (_a = prev, prev = _a.prev);
 
-     }
 
-     while (next != null) {
 
-         siblings.push(next);
 
-         (_b = next, next = _b.next);
 
-     }
 
-     return siblings;
 
- }
 
- exports.getSiblings = getSiblings;
 
- /**
 
-  * Gets an attribute from an element.
 
-  *
 
-  * @param elem Element to check.
 
-  * @param name Attribute name to retrieve.
 
-  * @returns The element's attribute value, or `undefined`.
 
-  */
 
- function getAttributeValue(elem, name) {
 
-     var _a;
 
-     return (_a = elem.attribs) === null || _a === void 0 ? void 0 : _a[name];
 
- }
 
- exports.getAttributeValue = getAttributeValue;
 
- /**
 
-  * Checks whether an element has an attribute.
 
-  *
 
-  * @param elem Element to check.
 
-  * @param name Attribute name to look for.
 
-  * @returns Returns whether `elem` has the attribute `name`.
 
-  */
 
- function hasAttrib(elem, name) {
 
-     return (elem.attribs != null &&
 
-         Object.prototype.hasOwnProperty.call(elem.attribs, name) &&
 
-         elem.attribs[name] != null);
 
- }
 
- exports.hasAttrib = hasAttrib;
 
- /**
 
-  * Get the tag name of an element.
 
-  *
 
-  * @param elem The element to get the name for.
 
-  * @returns The tag name of `elem`.
 
-  */
 
- function getName(elem) {
 
-     return elem.name;
 
- }
 
- exports.getName = getName;
 
- /**
 
-  * Returns the next element sibling of a node.
 
-  *
 
-  * @param elem The element to get the next sibling of.
 
-  * @returns `elem`'s next sibling that is a tag.
 
-  */
 
- function nextElementSibling(elem) {
 
-     var _a;
 
-     var next = elem.next;
 
-     while (next !== null && !(0, domhandler_1.isTag)(next))
 
-         (_a = next, next = _a.next);
 
-     return next;
 
- }
 
- exports.nextElementSibling = nextElementSibling;
 
- /**
 
-  * Returns the previous element sibling of a node.
 
-  *
 
-  * @param elem The element to get the previous sibling of.
 
-  * @returns `elem`'s previous sibling that is a tag.
 
-  */
 
- function prevElementSibling(elem) {
 
-     var _a;
 
-     var prev = elem.prev;
 
-     while (prev !== null && !(0, domhandler_1.isTag)(prev))
 
-         (_a = prev, prev = _a.prev);
 
-     return prev;
 
- }
 
- exports.prevElementSibling = prevElementSibling;
 
 
  |