diff --git a/dist/setup/index.js b/dist/setup/index.js index 6a30bfa..59aa1ec 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -15557,15 +15557,23 @@ exports.AbortSignal = AbortSignal; /***/ }), /***/ 32206: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.abort_add = abort_add; -exports.abort_remove = abort_remove; -exports.abort_signalAbort = abort_signalAbort; -const EventAlgorithm_1 = __nccwpck_require__(28217); +var EventAlgorithm_1 = __nccwpck_require__(28217); /** * Adds an algorithm to the given abort signal. * @@ -15581,6 +15589,7 @@ function abort_add(algorithm, signal) { return; signal._abortAlgorithms.add(algorithm); } +exports.abort_add = abort_add; /** * Removes an algorithm from the given abort signal. * @@ -15594,12 +15603,14 @@ function abort_remove(algorithm, signal) { */ signal._abortAlgorithms.delete(algorithm); } +exports.abort_remove = abort_remove; /** * Signals abort on the given abort signal. * * @param signal - abort signal */ function abort_signalAbort(signal) { + var e_1, _a; /** * 1. If signal’s aborted flag is set, then return. * 2. Set signal’s aborted flag. @@ -15610,12 +15621,23 @@ function abort_signalAbort(signal) { if (signal._abortedFlag) return; signal._abortedFlag = true; - for (const algorithm of signal._abortAlgorithms) { - algorithm.call(signal); + try { + for (var _b = __values(signal._abortAlgorithms), _c = _b.next(); !_c.done; _c = _b.next()) { + var algorithm = _c.value; + algorithm.call(signal); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } } signal._abortAlgorithms.clear(); - (0, EventAlgorithm_1.event_fireAnEvent)("abort", signal); + EventAlgorithm_1.event_fireAnEvent("abort", signal); } +exports.abort_signalAbort = abort_signalAbort; //# sourceMappingURL=AbortAlgorithm.js.map /***/ }), @@ -15626,8 +15648,7 @@ function abort_signalAbort(signal) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.attr_setAnExistingAttributeValue = attr_setAnExistingAttributeValue; -const ElementAlgorithm_1 = __nccwpck_require__(51849); +var ElementAlgorithm_1 = __nccwpck_require__(51849); /** * Changes the value of an existing attribute. * @@ -15643,9 +15664,10 @@ function attr_setAnExistingAttributeValue(attribute, value) { attribute._value = value; } else { - (0, ElementAlgorithm_1.element_change)(attribute, attribute._element, value); + ElementAlgorithm_1.element_change(attribute, attribute._element, value); } } +exports.attr_setAnExistingAttributeValue = attr_setAnExistingAttributeValue; //# sourceMappingURL=AttrAlgorithm.js.map /***/ }), @@ -15656,9 +15678,8 @@ function attr_setAnExistingAttributeValue(attribute, value) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.boundaryPoint_position = boundaryPoint_position; -const interfaces_1 = __nccwpck_require__(27305); -const TreeAlgorithm_1 = __nccwpck_require__(16620); +var interfaces_1 = __nccwpck_require__(27305); +var TreeAlgorithm_1 = __nccwpck_require__(16620); /** * Defines the position of a boundary point relative to another. * @@ -15666,14 +15687,14 @@ const TreeAlgorithm_1 = __nccwpck_require__(16620); * @param relativeTo - a boundary point to compare to */ function boundaryPoint_position(bp, relativeTo) { - const nodeA = bp[0]; - const offsetA = bp[1]; - const nodeB = relativeTo[0]; - const offsetB = relativeTo[1]; + var nodeA = bp[0]; + var offsetA = bp[1]; + var nodeB = relativeTo[0]; + var offsetB = relativeTo[1]; /** * 1. Assert: nodeA and nodeB have the same root. */ - console.assert((0, TreeAlgorithm_1.tree_rootNode)(nodeA) === (0, TreeAlgorithm_1.tree_rootNode)(nodeB), "Boundary points must share the same root node."); + console.assert(TreeAlgorithm_1.tree_rootNode(nodeA) === TreeAlgorithm_1.tree_rootNode(nodeB), "Boundary points must share the same root node."); /** * 2. If nodeA is nodeB, then return equal if offsetA is offsetB, before * if offsetA is less than offsetB, and after if offsetA is greater than @@ -15695,8 +15716,8 @@ function boundaryPoint_position(bp, relativeTo) { * relative to (nodeA, offsetA) is before, return after, and if it is after, * return before. */ - if ((0, TreeAlgorithm_1.tree_isFollowing)(nodeB, nodeA)) { - const pos = boundaryPoint_position([nodeB, offsetB], [nodeA, offsetA]); + if (TreeAlgorithm_1.tree_isFollowing(nodeB, nodeA)) { + var pos = boundaryPoint_position([nodeB, offsetB], [nodeA, offsetA]); if (pos === interfaces_1.BoundaryPosition.Before) { return interfaces_1.BoundaryPosition.After; } @@ -15707,20 +15728,20 @@ function boundaryPoint_position(bp, relativeTo) { /** * 4. If nodeA is an ancestor of nodeB: */ - if ((0, TreeAlgorithm_1.tree_isAncestorOf)(nodeB, nodeA)) { + if (TreeAlgorithm_1.tree_isAncestorOf(nodeB, nodeA)) { /** * 4.1. Let child be nodeB. * 4.2. While child is not a child of nodeA, set child to its parent. * 4.3. If child’s index is less than offsetA, then return after. */ - let child = nodeB; - while (!(0, TreeAlgorithm_1.tree_isChildOf)(nodeA, child)) { + var child = nodeB; + while (!TreeAlgorithm_1.tree_isChildOf(nodeA, child)) { /* istanbul ignore else */ if (child._parent !== null) { child = child._parent; } } - if ((0, TreeAlgorithm_1.tree_index)(child) < offsetA) { + if (TreeAlgorithm_1.tree_index(child) < offsetA) { return interfaces_1.BoundaryPosition.After; } } @@ -15729,24 +15750,34 @@ function boundaryPoint_position(bp, relativeTo) { */ return interfaces_1.BoundaryPosition.Before; } +exports.boundaryPoint_position = boundaryPoint_position; //# sourceMappingURL=BoundaryPointAlgorithm.js.map /***/ }), /***/ 19461: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.characterData_replaceData = characterData_replaceData; -exports.characterData_substringData = characterData_substringData; -const DOMImpl_1 = __nccwpck_require__(14177); -const util_1 = __nccwpck_require__(65282); -const DOMException_1 = __nccwpck_require__(13166); -const TreeAlgorithm_1 = __nccwpck_require__(16620); -const MutationObserverAlgorithm_1 = __nccwpck_require__(78157); -const DOMAlgorithm_1 = __nccwpck_require__(9628); +var DOMImpl_1 = __nccwpck_require__(14177); +var util_1 = __nccwpck_require__(65282); +var DOMException_1 = __nccwpck_require__(13166); +var TreeAlgorithm_1 = __nccwpck_require__(16620); +var MutationObserverAlgorithm_1 = __nccwpck_require__(78157); +var DOMAlgorithm_1 = __nccwpck_require__(9628); /** * Replaces character data. * @@ -15756,6 +15787,7 @@ const DOMAlgorithm_1 = __nccwpck_require__(9628); * @param data - new data */ function characterData_replaceData(node, offset, count, data) { + var e_1, _a; /** * 1. Let length be node’s length. * 2. If offset is greater than length, then throw an "IndexSizeError" @@ -15763,9 +15795,9 @@ function characterData_replaceData(node, offset, count, data) { * 3. If offset plus count is greater than length, then set count to length * minus offset. */ - const length = (0, TreeAlgorithm_1.tree_nodeLength)(node); + var length = TreeAlgorithm_1.tree_nodeLength(node); if (offset > length) { - throw new DOMException_1.IndexSizeError(`Offset exceeds character data length. Offset: ${offset}, Length: ${length}, Node is ${node.nodeName}.`); + throw new DOMException_1.IndexSizeError("Offset exceeds character data length. Offset: " + offset + ", Length: " + length + ", Node is " + node.nodeName + "."); } if (offset + count > length) { count = length - offset; @@ -15775,7 +15807,7 @@ function characterData_replaceData(node, offset, count, data) { * node’s data, « », « », null, and null. */ if (DOMImpl_1.dom.features.mutationObservers) { - (0, MutationObserverAlgorithm_1.observer_queueMutationRecord)("characterData", node, null, null, node._data, [], [], null, null); + MutationObserverAlgorithm_1.observer_queueMutationRecord("characterData", node, null, null, node._data, [], [], null, null); } /** * 5. Insert data into node’s data after offset code units. @@ -15783,36 +15815,46 @@ function characterData_replaceData(node, offset, count, data) { * 7. Starting from delete offset code units, remove count code units from * node’s data. */ - const newData = node._data.substring(0, offset) + data + + var newData = node._data.substring(0, offset) + data + node._data.substring(offset + count); node._data = newData; - /** - * 8. For each live range whose start node is node and start offset is - * greater than offset but less than or equal to offset plus count, set its - * start offset to offset. - * 9. For each live range whose end node is node and end offset is greater - * than offset but less than or equal to offset plus count, set its end - * offset to offset. - * 10. For each live range whose start node is node and start offset is - * greater than offset plus count, increase its start offset by data’s - * length and decrease it by count. - * 11. For each live range whose end node is node and end offset is greater - * than offset plus count, increase its end offset by data’s length and - * decrease it by count. - */ - for (const range of DOMImpl_1.dom.rangeList) { - if (range._start[0] === node && range._start[1] > offset && range._start[1] <= offset + count) { - range._start[1] = offset; + try { + /** + * 8. For each live range whose start node is node and start offset is + * greater than offset but less than or equal to offset plus count, set its + * start offset to offset. + * 9. For each live range whose end node is node and end offset is greater + * than offset but less than or equal to offset plus count, set its end + * offset to offset. + * 10. For each live range whose start node is node and start offset is + * greater than offset plus count, increase its start offset by data’s + * length and decrease it by count. + * 11. For each live range whose end node is node and end offset is greater + * than offset plus count, increase its end offset by data’s length and + * decrease it by count. + */ + for (var _b = __values(DOMImpl_1.dom.rangeList), _c = _b.next(); !_c.done; _c = _b.next()) { + var range = _c.value; + if (range._start[0] === node && range._start[1] > offset && range._start[1] <= offset + count) { + range._start[1] = offset; + } + if (range._end[0] === node && range._end[1] > offset && range._end[1] <= offset + count) { + range._end[1] = offset; + } + if (range._start[0] === node && range._start[1] > offset + count) { + range._start[1] += data.length - count; + } + if (range._end[0] === node && range._end[1] > offset + count) { + range._end[1] += data.length - count; + } } - if (range._end[0] === node && range._end[1] > offset && range._end[1] <= offset + count) { - range._end[1] = offset; - } - if (range._start[0] === node && range._start[1] > offset + count) { - range._start[1] += data.length - count; - } - if (range._end[0] === node && range._end[1] > offset + count) { - range._end[1] += data.length - count; + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } + finally { if (e_1) throw e_1.error; } } /** * 12. If node is a Text node and its parent is not null, run the child @@ -15820,10 +15862,11 @@ function characterData_replaceData(node, offset, count, data) { */ if (DOMImpl_1.dom.features.steps) { if (util_1.Guard.isTextNode(node) && node._parent !== null) { - (0, DOMAlgorithm_1.dom_runChildTextContentChangeSteps)(node._parent); + DOMAlgorithm_1.dom_runChildTextContentChangeSteps(node._parent); } } } +exports.characterData_replaceData = characterData_replaceData; /** * Returns `count` number of characters from `node`'s data starting at * the given `offset`. @@ -15843,9 +15886,9 @@ function characterData_substringData(node, offset, count) { * 4. Return a string whose value is the code units from the offsetth code * unit to the offset+countth code unit in node’s data. */ - const length = (0, TreeAlgorithm_1.tree_nodeLength)(node); + var length = TreeAlgorithm_1.tree_nodeLength(node); if (offset > length) { - throw new DOMException_1.IndexSizeError(`Offset exceeds character data length. Offset: ${offset}, Length: ${length}, Node is ${node.nodeName}.`); + throw new DOMException_1.IndexSizeError("Offset exceeds character data length. Offset: " + offset + ", Length: " + length + ", Node is " + node.nodeName + "."); } if (offset + count > length) { return node._data.substr(offset); @@ -15854,6 +15897,7 @@ function characterData_substringData(node, offset, count) { return node._data.substr(offset, count); } } +exports.characterData_substringData = characterData_substringData; //# sourceMappingURL=CharacterDataAlgorithm.js.map /***/ }), @@ -15864,58 +15908,31 @@ function characterData_substringData(node, offset, count) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.create_domImplementation = create_domImplementation; -exports.create_window = create_window; -exports.create_xmlDocument = create_xmlDocument; -exports.create_document = create_document; -exports.create_abortController = create_abortController; -exports.create_abortSignal = create_abortSignal; -exports.create_documentType = create_documentType; -exports.create_element = create_element; -exports.create_htmlElement = create_htmlElement; -exports.create_htmlUnknownElement = create_htmlUnknownElement; -exports.create_documentFragment = create_documentFragment; -exports.create_shadowRoot = create_shadowRoot; -exports.create_attr = create_attr; -exports.create_text = create_text; -exports.create_cdataSection = create_cdataSection; -exports.create_comment = create_comment; -exports.create_processingInstruction = create_processingInstruction; -exports.create_htmlCollection = create_htmlCollection; -exports.create_nodeList = create_nodeList; -exports.create_nodeListStatic = create_nodeListStatic; -exports.create_namedNodeMap = create_namedNodeMap; -exports.create_range = create_range; -exports.create_nodeIterator = create_nodeIterator; -exports.create_treeWalker = create_treeWalker; -exports.create_nodeFilter = create_nodeFilter; -exports.create_mutationRecord = create_mutationRecord; -exports.create_domTokenList = create_domTokenList; -const DOMImplementationImpl_1 = __nccwpck_require__(42197); -const WindowImpl_1 = __nccwpck_require__(69067); -const XMLDocumentImpl_1 = __nccwpck_require__(21685); -const DocumentImpl_1 = __nccwpck_require__(14333); -const AbortControllerImpl_1 = __nccwpck_require__(66461); -const AbortSignalImpl_1 = __nccwpck_require__(10022); -const DocumentTypeImpl_1 = __nccwpck_require__(3173); -const ElementImpl_1 = __nccwpck_require__(35975); -const DocumentFragmentImpl_1 = __nccwpck_require__(12585); -const ShadowRootImpl_1 = __nccwpck_require__(61911); -const AttrImpl_1 = __nccwpck_require__(13717); -const TextImpl_1 = __nccwpck_require__(42191); -const CDATASectionImpl_1 = __nccwpck_require__(23977); -const CommentImpl_1 = __nccwpck_require__(20930); -const ProcessingInstructionImpl_1 = __nccwpck_require__(99430); -const HTMLCollectionImpl_1 = __nccwpck_require__(93969); -const NodeListImpl_1 = __nccwpck_require__(43728); -const NodeListStaticImpl_1 = __nccwpck_require__(65306); -const NamedNodeMapImpl_1 = __nccwpck_require__(57206); -const RangeImpl_1 = __nccwpck_require__(50166); -const NodeIteratorImpl_1 = __nccwpck_require__(61997); -const TreeWalkerImpl_1 = __nccwpck_require__(89261); -const NodeFilterImpl_1 = __nccwpck_require__(12355); -const MutationRecordImpl_1 = __nccwpck_require__(6219); -const DOMTokenListImpl_1 = __nccwpck_require__(65096); +var DOMImplementationImpl_1 = __nccwpck_require__(42197); +var WindowImpl_1 = __nccwpck_require__(69067); +var XMLDocumentImpl_1 = __nccwpck_require__(21685); +var DocumentImpl_1 = __nccwpck_require__(14333); +var AbortControllerImpl_1 = __nccwpck_require__(66461); +var AbortSignalImpl_1 = __nccwpck_require__(10022); +var DocumentTypeImpl_1 = __nccwpck_require__(3173); +var ElementImpl_1 = __nccwpck_require__(35975); +var DocumentFragmentImpl_1 = __nccwpck_require__(12585); +var ShadowRootImpl_1 = __nccwpck_require__(61911); +var AttrImpl_1 = __nccwpck_require__(13717); +var TextImpl_1 = __nccwpck_require__(42191); +var CDATASectionImpl_1 = __nccwpck_require__(23977); +var CommentImpl_1 = __nccwpck_require__(20930); +var ProcessingInstructionImpl_1 = __nccwpck_require__(99430); +var HTMLCollectionImpl_1 = __nccwpck_require__(93969); +var NodeListImpl_1 = __nccwpck_require__(43728); +var NodeListStaticImpl_1 = __nccwpck_require__(65306); +var NamedNodeMapImpl_1 = __nccwpck_require__(57206); +var RangeImpl_1 = __nccwpck_require__(50166); +var NodeIteratorImpl_1 = __nccwpck_require__(61997); +var TreeWalkerImpl_1 = __nccwpck_require__(89261); +var NodeFilterImpl_1 = __nccwpck_require__(12355); +var MutationRecordImpl_1 = __nccwpck_require__(6219); +var DOMTokenListImpl_1 = __nccwpck_require__(65096); /** * Creates a `DOMImplementation`. * @@ -15924,36 +15941,42 @@ const DOMTokenListImpl_1 = __nccwpck_require__(65096); function create_domImplementation(document) { return DOMImplementationImpl_1.DOMImplementationImpl._create(document); } +exports.create_domImplementation = create_domImplementation; /** * Creates a `Window` node. */ function create_window() { return WindowImpl_1.WindowImpl._create(); } +exports.create_window = create_window; /** * Creates an `XMLDocument` node. */ function create_xmlDocument() { return new XMLDocumentImpl_1.XMLDocumentImpl(); } +exports.create_xmlDocument = create_xmlDocument; /** * Creates a `Document` node. */ function create_document() { return new DocumentImpl_1.DocumentImpl(); } +exports.create_document = create_document; /** * Creates an `AbortController`. */ function create_abortController() { return new AbortControllerImpl_1.AbortControllerImpl(); } +exports.create_abortController = create_abortController; /** * Creates an `AbortSignal`. */ function create_abortSignal() { return AbortSignalImpl_1.AbortSignalImpl._create(); } +exports.create_abortSignal = create_abortSignal; /** * Creates a `DocumentType` node. * @@ -15965,6 +15988,7 @@ function create_abortSignal() { function create_documentType(document, name, publicId, systemId) { return DocumentTypeImpl_1.DocumentTypeImpl._create(document, name, publicId, systemId); } +exports.create_documentType = create_documentType; /** * Creates a new `Element` node. * @@ -15976,6 +16000,7 @@ function create_documentType(document, name, publicId, systemId) { function create_element(document, localName, namespace, prefix) { return ElementImpl_1.ElementImpl._create(document, localName, namespace, prefix); } +exports.create_element = create_element; /** * Creates a new `HTMLElement` node. * @@ -15988,6 +16013,7 @@ function create_htmlElement(document, localName, namespace, prefix) { // TODO: Implement in HTML DOM return ElementImpl_1.ElementImpl._create(document, localName, namespace, prefix); } +exports.create_htmlElement = create_htmlElement; /** * Creates a new `HTMLUnknownElement` node. * @@ -16000,6 +16026,7 @@ function create_htmlUnknownElement(document, localName, namespace, prefix) { // TODO: Implement in HTML DOM return ElementImpl_1.ElementImpl._create(document, localName, namespace, prefix); } +exports.create_htmlUnknownElement = create_htmlUnknownElement; /** * Creates a new `DocumentFragment` node. * @@ -16008,6 +16035,7 @@ function create_htmlUnknownElement(document, localName, namespace, prefix) { function create_documentFragment(document) { return DocumentFragmentImpl_1.DocumentFragmentImpl._create(document); } +exports.create_documentFragment = create_documentFragment; /** * Creates a new `ShadowRoot` node. * @@ -16017,6 +16045,7 @@ function create_documentFragment(document) { function create_shadowRoot(document, host) { return ShadowRootImpl_1.ShadowRootImpl._create(document, host); } +exports.create_shadowRoot = create_shadowRoot; /** * Creates a new `Attr` node. * @@ -16026,6 +16055,7 @@ function create_shadowRoot(document, host) { function create_attr(document, localName) { return AttrImpl_1.AttrImpl._create(document, localName); } +exports.create_attr = create_attr; /** * Creates a new `Text` node. * @@ -16035,6 +16065,7 @@ function create_attr(document, localName) { function create_text(document, data) { return TextImpl_1.TextImpl._create(document, data); } +exports.create_text = create_text; /** * Creates a new `CDATASection` node. * @@ -16044,6 +16075,7 @@ function create_text(document, data) { function create_cdataSection(document, data) { return CDATASectionImpl_1.CDATASectionImpl._create(document, data); } +exports.create_cdataSection = create_cdataSection; /** * Creates a new `Comment` node. * @@ -16053,6 +16085,7 @@ function create_cdataSection(document, data) { function create_comment(document, data) { return CommentImpl_1.CommentImpl._create(document, data); } +exports.create_comment = create_comment; /** * Creates a new `ProcessingInstruction` node. * @@ -16063,15 +16096,18 @@ function create_comment(document, data) { function create_processingInstruction(document, target, data) { return ProcessingInstructionImpl_1.ProcessingInstructionImpl._create(document, target, data); } +exports.create_processingInstruction = create_processingInstruction; /** * Creates a new `HTMLCollection`. * * @param root - root node * @param filter - node filter */ -function create_htmlCollection(root, filter = (() => true)) { +function create_htmlCollection(root, filter) { + if (filter === void 0) { filter = (function () { return true; }); } return HTMLCollectionImpl_1.HTMLCollectionImpl._create(root, filter); } +exports.create_htmlCollection = create_htmlCollection; /** * Creates a new live `NodeList`. * @@ -16080,6 +16116,7 @@ function create_htmlCollection(root, filter = (() => true)) { function create_nodeList(root) { return NodeListImpl_1.NodeListImpl._create(root); } +exports.create_nodeList = create_nodeList; /** * Creates a new static `NodeList`. * @@ -16089,6 +16126,7 @@ function create_nodeList(root) { function create_nodeListStatic(root, items) { return NodeListStaticImpl_1.NodeListStaticImpl._create(root, items); } +exports.create_nodeListStatic = create_nodeListStatic; /** * Creates a new `NamedNodeMap`. * @@ -16097,6 +16135,7 @@ function create_nodeListStatic(root, items) { function create_namedNodeMap(element) { return NamedNodeMapImpl_1.NamedNodeMapImpl._create(element); } +exports.create_namedNodeMap = create_namedNodeMap; /** * Creates a new `Range`. * @@ -16106,6 +16145,7 @@ function create_namedNodeMap(element) { function create_range(start, end) { return RangeImpl_1.RangeImpl._create(start, end); } +exports.create_range = create_range; /** * Creates a new `NodeIterator`. * @@ -16117,6 +16157,7 @@ function create_range(start, end) { function create_nodeIterator(root, reference, pointerBeforeReference) { return NodeIteratorImpl_1.NodeIteratorImpl._create(root, reference, pointerBeforeReference); } +exports.create_nodeIterator = create_nodeIterator; /** * Creates a new `TreeWalker`. * @@ -16126,12 +16167,14 @@ function create_nodeIterator(root, reference, pointerBeforeReference) { function create_treeWalker(root, current) { return TreeWalkerImpl_1.TreeWalkerImpl._create(root, current); } +exports.create_treeWalker = create_treeWalker; /** * Creates a new `NodeFilter`. */ function create_nodeFilter() { return NodeFilterImpl_1.NodeFilterImpl._create(); } +exports.create_nodeFilter = create_nodeFilter; /** * Creates a new `MutationRecord`. * @@ -16154,6 +16197,7 @@ function create_nodeFilter() { function create_mutationRecord(type, target, addedNodes, removedNodes, previousSibling, nextSibling, attributeName, attributeNamespace, oldValue) { return MutationRecordImpl_1.MutationRecordImpl._create(type, target, addedNodes, removedNodes, previousSibling, nextSibling, attributeName, attributeNamespace, oldValue); } +exports.create_mutationRecord = create_mutationRecord; /** * Creates a new `DOMTokenList`. * @@ -16163,6 +16207,7 @@ function create_mutationRecord(type, target, addedNodes, removedNodes, previousS function create_domTokenList(element, attribute) { return DOMTokenListImpl_1.DOMTokenListImpl._create(element, attribute); } +exports.create_domTokenList = create_domTokenList; //# sourceMappingURL=CreateAlgorithm.js.map /***/ }), @@ -16173,26 +16218,17 @@ function create_domTokenList(element, attribute) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.customElement_isValidCustomElementName = customElement_isValidCustomElementName; -exports.customElement_isValidElementName = customElement_isValidElementName; -exports.customElement_isVoidElementName = customElement_isVoidElementName; -exports.customElement_isValidShadowHostName = customElement_isValidShadowHostName; -exports.customElement_enqueueACustomElementUpgradeReaction = customElement_enqueueACustomElementUpgradeReaction; -exports.customElement_enqueueACustomElementCallbackReaction = customElement_enqueueACustomElementCallbackReaction; -exports.customElement_upgrade = customElement_upgrade; -exports.customElement_tryToUpgrade = customElement_tryToUpgrade; -exports.customElement_lookUpACustomElementDefinition = customElement_lookUpACustomElementDefinition; -const PotentialCustomElementName = /[a-z]([\0-\t\x2D\._a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*-([\0-\t\x2D\._a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*/; -const NamesWithHyphen = new Set(['annotation-xml', 'color-profile', +var PotentialCustomElementName = /[a-z]([\0-\t\x2D\._a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*-([\0-\t\x2D\._a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*/; +var NamesWithHyphen = new Set(['annotation-xml', 'color-profile', 'font-face', 'font-face-src', 'font-face-uri', 'font-face-format', 'font-face-name', 'missing-glyph']); -const ElementNames = new Set(['article', 'aside', 'blockquote', +var ElementNames = new Set(['article', 'aside', 'blockquote', 'body', 'div', 'footer', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'main', 'nav', 'p', 'section', 'span']); -const VoidElementNames = new Set(['area', 'base', 'basefont', +var VoidElementNames = new Set(['area', 'base', 'basefont', 'bgsound', 'br', 'col', 'embed', 'frame', 'hr', 'img', 'input', 'keygen', 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr']); -const ShadowHostNames = new Set(['article', 'aside', 'blockquote', 'body', +var ShadowHostNames = new Set(['article', 'aside', 'blockquote', 'body', 'div', 'footer', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'main', 'nav', 'p', 'section', 'span']); /** @@ -16207,6 +16243,7 @@ function customElement_isValidCustomElementName(name) { return false; return true; } +exports.customElement_isValidCustomElementName = customElement_isValidCustomElementName; /** * Determines if the given string is a valid element name. * @@ -16215,6 +16252,7 @@ function customElement_isValidCustomElementName(name) { function customElement_isValidElementName(name) { return (ElementNames.has(name)); } +exports.customElement_isValidElementName = customElement_isValidElementName; /** * Determines if the given string is a void element name. * @@ -16223,6 +16261,7 @@ function customElement_isValidElementName(name) { function customElement_isVoidElementName(name) { return (VoidElementNames.has(name)); } +exports.customElement_isVoidElementName = customElement_isVoidElementName; /** * Determines if the given string is a valid shadow host element name. * @@ -16231,6 +16270,7 @@ function customElement_isVoidElementName(name) { function customElement_isValidShadowHostName(name) { return (ShadowHostNames.has(name)); } +exports.customElement_isValidShadowHostName = customElement_isValidShadowHostName; /** * Enqueues an upgrade reaction for a custom element. * @@ -16240,6 +16280,7 @@ function customElement_isValidShadowHostName(name) { function customElement_enqueueACustomElementUpgradeReaction(element, definition) { // TODO: Implement in HTML DOM } +exports.customElement_enqueueACustomElementUpgradeReaction = customElement_enqueueACustomElementUpgradeReaction; /** * Enqueues a callback reaction for a custom element. * @@ -16250,6 +16291,7 @@ function customElement_enqueueACustomElementUpgradeReaction(element, definition) function customElement_enqueueACustomElementCallbackReaction(element, callbackName, args) { // TODO: Implement in HTML DOM } +exports.customElement_enqueueACustomElementCallbackReaction = customElement_enqueueACustomElementCallbackReaction; /** * Upgrade a custom element. * @@ -16258,6 +16300,7 @@ function customElement_enqueueACustomElementCallbackReaction(element, callbackNa function customElement_upgrade(definition, element) { // TODO: Implement in HTML DOM } +exports.customElement_upgrade = customElement_upgrade; /** * Tries to upgrade a custom element. * @@ -16266,6 +16309,7 @@ function customElement_upgrade(definition, element) { function customElement_tryToUpgrade(element) { // TODO: Implement in HTML DOM } +exports.customElement_tryToUpgrade = customElement_tryToUpgrade; /** * Looks up a custom element definition. * @@ -16278,31 +16322,33 @@ function customElement_lookUpACustomElementDefinition(document, namespace, local // TODO: Implement in HTML DOM return null; } +exports.customElement_lookUpACustomElementDefinition = customElement_lookUpACustomElementDefinition; //# sourceMappingURL=CustomElementAlgorithm.js.map /***/ }), /***/ 9628: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.dom_runRemovingSteps = dom_runRemovingSteps; -exports.dom_runCloningSteps = dom_runCloningSteps; -exports.dom_runAdoptingSteps = dom_runAdoptingSteps; -exports.dom_runAttributeChangeSteps = dom_runAttributeChangeSteps; -exports.dom_runInsertionSteps = dom_runInsertionSteps; -exports.dom_runNodeIteratorPreRemovingSteps = dom_runNodeIteratorPreRemovingSteps; -exports.dom_hasSupportedTokens = dom_hasSupportedTokens; -exports.dom_getSupportedTokens = dom_getSupportedTokens; -exports.dom_runEventConstructingSteps = dom_runEventConstructingSteps; -exports.dom_runChildTextContentChangeSteps = dom_runChildTextContentChangeSteps; -const DOMImpl_1 = __nccwpck_require__(14177); -const TreeAlgorithm_1 = __nccwpck_require__(16620); -const util_1 = __nccwpck_require__(65282); -const ShadowTreeAlgorithm_1 = __nccwpck_require__(68733); -const supportedTokens = new Map(); +var DOMImpl_1 = __nccwpck_require__(14177); +var TreeAlgorithm_1 = __nccwpck_require__(16620); +var util_1 = __nccwpck_require__(65282); +var ShadowTreeAlgorithm_1 = __nccwpck_require__(68733); +var supportedTokens = new Map(); /** * Runs removing steps for node. * @@ -16312,6 +16358,7 @@ const supportedTokens = new Map(); function dom_runRemovingSteps(removedNode, oldParent) { // No steps defined } +exports.dom_runRemovingSteps = dom_runRemovingSteps; /** * Runs cloning steps for node. * @@ -16323,6 +16370,7 @@ function dom_runRemovingSteps(removedNode, oldParent) { function dom_runCloningSteps(copy, node, document, cloneChildrenFlag) { // No steps defined } +exports.dom_runCloningSteps = dom_runCloningSteps; /** * Runs adopting steps for node. * @@ -16332,6 +16380,7 @@ function dom_runCloningSteps(copy, node, document, cloneChildrenFlag) { function dom_runAdoptingSteps(node, oldDocument) { // No steps defined } +exports.dom_runAdoptingSteps = dom_runAdoptingSteps; /** * Runs attribute change steps for an element node. * @@ -16342,17 +16391,29 @@ function dom_runAdoptingSteps(node, oldDocument) { * @param namespace - attribute's namespace */ function dom_runAttributeChangeSteps(element, localName, oldValue, value, namespace) { + var e_1, _a; // run default steps if (DOMImpl_1.dom.features.slots) { updateASlotablesName.call(element, element, localName, oldValue, value, namespace); updateASlotsName.call(element, element, localName, oldValue, value, namespace); } updateAnElementID.call(element, element, localName, value, namespace); - // run custom steps - for (const step of element._attributeChangeSteps) { - step.call(element, element, localName, oldValue, value, namespace); + try { + // run custom steps + for (var _b = __values(element._attributeChangeSteps), _c = _b.next(); !_c.done; _c = _b.next()) { + var step = _c.value; + step.call(element, element, localName, oldValue, value, namespace); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } } } +exports.dom_runAttributeChangeSteps = dom_runAttributeChangeSteps; /** * Runs insertion steps for a node. * @@ -16361,6 +16422,7 @@ function dom_runAttributeChangeSteps(element, localName, oldValue, value, namesp function dom_runInsertionSteps(insertedNode) { // No steps defined } +exports.dom_runInsertionSteps = dom_runInsertionSteps; /** * Runs pre-removing steps for a node iterator and node. * @@ -16370,6 +16432,7 @@ function dom_runInsertionSteps(insertedNode) { function dom_runNodeIteratorPreRemovingSteps(nodeIterator, toBeRemoved) { removeNodeIterator.call(nodeIterator, nodeIterator, toBeRemoved); } +exports.dom_runNodeIteratorPreRemovingSteps = dom_runNodeIteratorPreRemovingSteps; /** * Determines if there are any supported tokens defined for the given * attribute name. @@ -16379,6 +16442,7 @@ function dom_runNodeIteratorPreRemovingSteps(nodeIterator, toBeRemoved) { function dom_hasSupportedTokens(attributeName) { return supportedTokens.has(attributeName); } +exports.dom_hasSupportedTokens = dom_hasSupportedTokens; /** * Returns the set of supported tokens defined for the given attribute name. * @@ -16387,6 +16451,7 @@ function dom_hasSupportedTokens(attributeName) { function dom_getSupportedTokens(attributeName) { return supportedTokens.get(attributeName) || new Set(); } +exports.dom_getSupportedTokens = dom_getSupportedTokens; /** * Runs event construction steps. * @@ -16395,6 +16460,7 @@ function dom_getSupportedTokens(attributeName) { function dom_runEventConstructingSteps(event) { // No steps defined } +exports.dom_runEventConstructingSteps = dom_runEventConstructingSteps; /** * Runs child text content change steps for a parent node. * @@ -16403,6 +16469,7 @@ function dom_runEventConstructingSteps(event) { function dom_runChildTextContentChangeSteps(parent) { // No steps defined } +exports.dom_runChildTextContentChangeSteps = dom_runChildTextContentChangeSteps; /** * Defines pre-removing steps for a node iterator. */ @@ -16412,7 +16479,7 @@ function removeNodeIterator(nodeIterator, toBeRemovedNode) { * reference, or toBeRemovedNode is nodeIterator’s root, then return. */ if (toBeRemovedNode === nodeIterator._root || - !(0, TreeAlgorithm_1.tree_isAncestorOf)(nodeIterator._reference, toBeRemovedNode, true)) { + !TreeAlgorithm_1.tree_isAncestorOf(nodeIterator._reference, toBeRemovedNode, true)) { return; } /** @@ -16425,10 +16492,10 @@ function removeNodeIterator(nodeIterator, toBeRemovedNode) { * descendant of toBeRemovedNode, and null if there is no such node. */ while (true) { - const nextNode = (0, TreeAlgorithm_1.tree_getFollowingNode)(nodeIterator._root, toBeRemovedNode); + var nextNode = TreeAlgorithm_1.tree_getFollowingNode(nodeIterator._root, toBeRemovedNode); if (nextNode !== null && - (0, TreeAlgorithm_1.tree_isDescendantOf)(nodeIterator._root, nextNode, true) && - !(0, TreeAlgorithm_1.tree_isDescendantOf)(toBeRemovedNode, nextNode, true)) { + TreeAlgorithm_1.tree_isDescendantOf(nodeIterator._root, nextNode, true) && + !TreeAlgorithm_1.tree_isDescendantOf(toBeRemovedNode, nextNode, true)) { /** * 2.2. If next is non-null, then set nodeIterator’s reference to next * and return. @@ -16457,14 +16524,14 @@ function removeNodeIterator(nodeIterator, toBeRemovedNode) { } } else { - let referenceNode = toBeRemovedNode._previousSibling; - let childNode = (0, TreeAlgorithm_1.tree_getFirstDescendantNode)(toBeRemovedNode._previousSibling, true, false); + var referenceNode = toBeRemovedNode._previousSibling; + var childNode = TreeAlgorithm_1.tree_getFirstDescendantNode(toBeRemovedNode._previousSibling, true, false); while (childNode !== null) { if (childNode !== null) { referenceNode = childNode; } // loop through to get the last descendant node - childNode = (0, TreeAlgorithm_1.tree_getNextDescendantNode)(toBeRemovedNode._previousSibling, childNode, true, false); + childNode = TreeAlgorithm_1.tree_getNextDescendantNode(toBeRemovedNode._previousSibling, childNode, true, false); } nodeIterator._reference = referenceNode; } @@ -16496,7 +16563,7 @@ function updateASlotsName(element, localName, oldValue, value, namespace) { else { element._name = value; } - (0, ShadowTreeAlgorithm_1.shadowTree_assignSlotablesForATree)((0, TreeAlgorithm_1.tree_rootNode)(element)); + ShadowTreeAlgorithm_1.shadowTree_assignSlotablesForATree(TreeAlgorithm_1.tree_rootNode(element)); } } /** @@ -16528,10 +16595,10 @@ function updateASlotablesName(element, localName, oldValue, value, namespace) { else { element._name = value; } - if ((0, ShadowTreeAlgorithm_1.shadowTree_isAssigned)(element)) { - (0, ShadowTreeAlgorithm_1.shadowTree_assignSlotables)(element._assignedSlot); + if (ShadowTreeAlgorithm_1.shadowTree_isAssigned(element)) { + ShadowTreeAlgorithm_1.shadowTree_assignSlotables(element._assignedSlot); } - (0, ShadowTreeAlgorithm_1.shadowTree_assignASlot)(element); + ShadowTreeAlgorithm_1.shadowTree_assignASlot(element); } } /** @@ -16561,12 +16628,9 @@ function updateAnElementID(element, localName, value, namespace) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.tokenList_validationSteps = tokenList_validationSteps; -exports.tokenList_updateSteps = tokenList_updateSteps; -exports.tokenList_serializeSteps = tokenList_serializeSteps; -const OrderedSetAlgorithm_1 = __nccwpck_require__(53670); -const DOMAlgorithm_1 = __nccwpck_require__(9628); -const ElementAlgorithm_1 = __nccwpck_require__(51849); +var OrderedSetAlgorithm_1 = __nccwpck_require__(53670); +var DOMAlgorithm_1 = __nccwpck_require__(9628); +var ElementAlgorithm_1 = __nccwpck_require__(51849); /** * Validates a given token against the supported tokens defined for the given * token lists' associated attribute. @@ -16582,11 +16646,12 @@ function tokenList_validationSteps(tokenList, token) { * 3. If lowercase token is present in supported tokens, return true. * 4. Return false. */ - if (!(0, DOMAlgorithm_1.dom_hasSupportedTokens)(tokenList._attribute._localName)) { - throw new TypeError(`There are no supported tokens defined for attribute name: '${tokenList._attribute._localName}'.`); + if (!DOMAlgorithm_1.dom_hasSupportedTokens(tokenList._attribute._localName)) { + throw new TypeError("There are no supported tokens defined for attribute name: '" + tokenList._attribute._localName + "'."); } - return (0, DOMAlgorithm_1.dom_getSupportedTokens)(tokenList._attribute._localName).has(token.toLowerCase()); + return DOMAlgorithm_1.dom_getSupportedTokens(tokenList._attribute._localName).has(token.toLowerCase()); } +exports.tokenList_validationSteps = tokenList_validationSteps; /** * Updates the value of the token lists' associated attribute. * @@ -16604,8 +16669,9 @@ function tokenList_updateSteps(tokenList) { tokenList._tokenSet.size === 0) { return; } - (0, ElementAlgorithm_1.element_setAnAttributeValue)(tokenList._element, tokenList._attribute._localName, (0, OrderedSetAlgorithm_1.orderedSet_serialize)(tokenList._tokenSet)); + ElementAlgorithm_1.element_setAnAttributeValue(tokenList._element, tokenList._attribute._localName, OrderedSetAlgorithm_1.orderedSet_serialize(tokenList._tokenSet)); } +exports.tokenList_updateSteps = tokenList_updateSteps; /** * Gets the value of the token lists' associated attribute. * @@ -16617,31 +16683,56 @@ function tokenList_serializeSteps(tokenList) { * running get an attribute value given the associated element and the * associated attribute’s local name. */ - return (0, ElementAlgorithm_1.element_getAnAttributeValue)(tokenList._element, tokenList._attribute._localName); + return ElementAlgorithm_1.element_getAnAttributeValue(tokenList._element, tokenList._attribute._localName); } +exports.tokenList_serializeSteps = tokenList_serializeSteps; //# sourceMappingURL=DOMTokenListAlgorithm.js.map /***/ }), /***/ 12793: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.document_elementInterface = document_elementInterface; -exports.document_internalCreateElementNS = document_internalCreateElementNS; -exports.document_adopt = document_adopt; -const DOMImpl_1 = __nccwpck_require__(14177); -const util_1 = __nccwpck_require__(65282); -const util_2 = __nccwpck_require__(76195); -const ElementImpl_1 = __nccwpck_require__(35975); -const CustomElementAlgorithm_1 = __nccwpck_require__(35648); -const TreeAlgorithm_1 = __nccwpck_require__(16620); -const NamespaceAlgorithm_1 = __nccwpck_require__(35856); -const DOMAlgorithm_1 = __nccwpck_require__(9628); -const ElementAlgorithm_1 = __nccwpck_require__(51849); -const MutationAlgorithm_1 = __nccwpck_require__(45463); +var DOMImpl_1 = __nccwpck_require__(14177); +var util_1 = __nccwpck_require__(65282); +var util_2 = __nccwpck_require__(76195); +var ElementImpl_1 = __nccwpck_require__(35975); +var CustomElementAlgorithm_1 = __nccwpck_require__(35648); +var TreeAlgorithm_1 = __nccwpck_require__(16620); +var NamespaceAlgorithm_1 = __nccwpck_require__(35856); +var DOMAlgorithm_1 = __nccwpck_require__(9628); +var ElementAlgorithm_1 = __nccwpck_require__(51849); +var MutationAlgorithm_1 = __nccwpck_require__(45463); /** * Returns an element interface for the given name and namespace. * @@ -16651,6 +16742,7 @@ const MutationAlgorithm_1 = __nccwpck_require__(45463); function document_elementInterface(name, namespace) { return ElementImpl_1.ElementImpl; } +exports.document_elementInterface = document_elementInterface; /** * Creates a new element node. * See: https://dom.spec.whatwg.org/#internal-createelementns-steps @@ -16670,18 +16762,19 @@ function document_internalCreateElementNS(document, namespace, qualifiedName, op * 4. Return the result of creating an element given document, localName, * namespace, prefix, is, and with the synchronous custom elements flag set. */ - const [ns, prefix, localName] = (0, NamespaceAlgorithm_1.namespace_validateAndExtract)(namespace, qualifiedName); - let is = null; + var _a = __read(NamespaceAlgorithm_1.namespace_validateAndExtract(namespace, qualifiedName), 3), ns = _a[0], prefix = _a[1], localName = _a[2]; + var is = null; if (options !== undefined) { - if ((0, util_2.isString)(options)) { + if (util_2.isString(options)) { is = options; } else { is = options.is; } } - return (0, ElementAlgorithm_1.element_createAnElement)(document, localName, ns, prefix, is, true); + return ElementAlgorithm_1.element_createAnElement(document, localName, ns, prefix, is, true); } +exports.document_internalCreateElementNS = document_internalCreateElementNS; /** * Removes `node` and its subtree from its document and changes * its owner document to `document` so that it can be inserted @@ -16691,6 +16784,7 @@ function document_internalCreateElementNS(document, namespace, qualifiedName, op * @param document - document to receive the node and its subtree */ function document_adopt(node, document) { + var e_1, _a; // Optimize for common case of inserting a fresh node if (node._nodeDocument === document && node._parent === null) { return; @@ -16699,9 +16793,9 @@ function document_adopt(node, document) { * 1. Let oldDocument be node’s node document. * 2. If node’s parent is not null, remove node from its parent. */ - const oldDocument = node._nodeDocument; + var oldDocument = node._nodeDocument; if (node._parent) - (0, MutationAlgorithm_1.mutation_remove)(node, node._parent); + MutationAlgorithm_1.mutation_remove(node, node._parent); /** * 3. If document is not oldDocument, then: */ @@ -16710,7 +16804,7 @@ function document_adopt(node, document) { * 3.1. For each inclusiveDescendant in node’s shadow-including inclusive * descendants: */ - let inclusiveDescendant = (0, TreeAlgorithm_1.tree_getFirstDescendantNode)(node, true, true); + var inclusiveDescendant = TreeAlgorithm_1.tree_getFirstDescendantNode(node, true, true); while (inclusiveDescendant !== null) { /** * 3.1.1. Set inclusiveDescendant’s node document to document. @@ -16720,8 +16814,18 @@ function document_adopt(node, document) { */ inclusiveDescendant._nodeDocument = document; if (util_1.Guard.isElementNode(inclusiveDescendant)) { - for (const attr of inclusiveDescendant._attributeList._asArray()) { - attr._nodeDocument = document; + try { + for (var _b = (e_1 = void 0, __values(inclusiveDescendant._attributeList._asArray())), _c = _b.next(); !_c.done; _c = _b.next()) { + var attr = _c.value; + attr._nodeDocument = document; + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } } } /** @@ -16734,7 +16838,7 @@ function document_adopt(node, document) { if (DOMImpl_1.dom.features.customElements) { if (util_1.Guard.isElementNode(inclusiveDescendant) && inclusiveDescendant._customElementState === "custom") { - (0, CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction)(inclusiveDescendant, "adoptedCallback", [oldDocument, document]); + CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(inclusiveDescendant, "adoptedCallback", [oldDocument, document]); } } /** @@ -16743,12 +16847,13 @@ function document_adopt(node, document) { * adopting steps with inclusiveDescendant and oldDocument. */ if (DOMImpl_1.dom.features.steps) { - (0, DOMAlgorithm_1.dom_runAdoptingSteps)(inclusiveDescendant, oldDocument); + DOMAlgorithm_1.dom_runAdoptingSteps(inclusiveDescendant, oldDocument); } - inclusiveDescendant = (0, TreeAlgorithm_1.tree_getNextDescendantNode)(node, inclusiveDescendant, true, true); + inclusiveDescendant = TreeAlgorithm_1.tree_getNextDescendantNode(node, inclusiveDescendant, true, true); } } } +exports.document_adopt = document_adopt; //# sourceMappingURL=DocumentAlgorithm.js.map /***/ }), @@ -16759,30 +16864,16 @@ function document_adopt(node, document) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.element_has = element_has; -exports.element_change = element_change; -exports.element_append = element_append; -exports.element_remove = element_remove; -exports.element_replace = element_replace; -exports.element_getAnAttributeByName = element_getAnAttributeByName; -exports.element_getAnAttributeByNamespaceAndLocalName = element_getAnAttributeByNamespaceAndLocalName; -exports.element_getAnAttributeValue = element_getAnAttributeValue; -exports.element_setAnAttribute = element_setAnAttribute; -exports.element_setAnAttributeValue = element_setAnAttributeValue; -exports.element_removeAnAttributeByName = element_removeAnAttributeByName; -exports.element_removeAnAttributeByNamespaceAndLocalName = element_removeAnAttributeByNamespaceAndLocalName; -exports.element_createAnElement = element_createAnElement; -exports.element_insertAdjacent = element_insertAdjacent; -const DOMImpl_1 = __nccwpck_require__(14177); -const infra_1 = __nccwpck_require__(84251); -const util_1 = __nccwpck_require__(65282); -const DOMException_1 = __nccwpck_require__(13166); -const CreateAlgorithm_1 = __nccwpck_require__(57339); -const CustomElementAlgorithm_1 = __nccwpck_require__(35648); -const MutationObserverAlgorithm_1 = __nccwpck_require__(78157); -const DOMAlgorithm_1 = __nccwpck_require__(9628); -const MutationAlgorithm_1 = __nccwpck_require__(45463); -const DocumentAlgorithm_1 = __nccwpck_require__(12793); +var DOMImpl_1 = __nccwpck_require__(14177); +var infra_1 = __nccwpck_require__(84251); +var util_1 = __nccwpck_require__(65282); +var DOMException_1 = __nccwpck_require__(13166); +var CreateAlgorithm_1 = __nccwpck_require__(57339); +var CustomElementAlgorithm_1 = __nccwpck_require__(35648); +var MutationObserverAlgorithm_1 = __nccwpck_require__(78157); +var DOMAlgorithm_1 = __nccwpck_require__(9628); +var MutationAlgorithm_1 = __nccwpck_require__(45463); +var DocumentAlgorithm_1 = __nccwpck_require__(12793); /** * Determines whether the element's attribute list contains the given * attribute. @@ -16796,6 +16887,7 @@ function element_has(attribute, element) { */ return element._attributeList._asArray().indexOf(attribute) !== -1; } +exports.element_has = element_has; /** * Changes the value of an attribute node. * @@ -16809,7 +16901,7 @@ function element_change(attribute, element, value) { * local name, attribute’s namespace, and attribute’s value. */ if (DOMImpl_1.dom.features.mutationObservers) { - (0, MutationObserverAlgorithm_1.observer_queueAttributeMutationRecord)(element, attribute._localName, attribute._namespace, attribute._value); + MutationObserverAlgorithm_1.observer_queueAttributeMutationRecord(element, attribute._localName, attribute._namespace, attribute._value); } /** * 2. If element is custom, then enqueue a custom element callback reaction @@ -16819,7 +16911,7 @@ function element_change(attribute, element, value) { */ if (DOMImpl_1.dom.features.customElements) { if (util_1.Guard.isCustomElementNode(element)) { - (0, CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction)(element, "attributeChangedCallback", [attribute._localName, attribute._value, value, attribute._namespace]); + CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(element, "attributeChangedCallback", [attribute._localName, attribute._value, value, attribute._namespace]); } } /** @@ -16828,10 +16920,11 @@ function element_change(attribute, element, value) { * 4. Set attribute’s value to value. */ if (DOMImpl_1.dom.features.steps) { - (0, DOMAlgorithm_1.dom_runAttributeChangeSteps)(element, attribute._localName, attribute._value, value, attribute._namespace); + DOMAlgorithm_1.dom_runAttributeChangeSteps(element, attribute._localName, attribute._value, value, attribute._namespace); } attribute._value = value; } +exports.element_change = element_change; /** * Appends an attribute to an element node. * @@ -16844,7 +16937,7 @@ function element_append(attribute, element) { * local name, attribute’s namespace, and null. */ if (DOMImpl_1.dom.features.mutationObservers) { - (0, MutationObserverAlgorithm_1.observer_queueAttributeMutationRecord)(element, attribute._localName, attribute._namespace, null); + MutationObserverAlgorithm_1.observer_queueAttributeMutationRecord(element, attribute._localName, attribute._namespace, null); } /** * 2. If element is custom, then enqueue a custom element callback reaction @@ -16854,7 +16947,7 @@ function element_append(attribute, element) { */ if (DOMImpl_1.dom.features.customElements) { if (util_1.Guard.isCustomElementNode(element)) { - (0, CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction)(element, "attributeChangedCallback", [attribute._localName, null, attribute._value, attribute._namespace]); + CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(element, "attributeChangedCallback", [attribute._localName, null, attribute._value, attribute._namespace]); } } /** @@ -16862,7 +16955,7 @@ function element_append(attribute, element) { * null, attribute’s value, and attribute’s namespace. */ if (DOMImpl_1.dom.features.steps) { - (0, DOMAlgorithm_1.dom_runAttributeChangeSteps)(element, attribute._localName, null, attribute._value, attribute._namespace); + DOMAlgorithm_1.dom_runAttributeChangeSteps(element, attribute._localName, null, attribute._value, attribute._namespace); } /** * 4. Append attribute to element’s attribute list. @@ -16876,6 +16969,7 @@ function element_append(attribute, element) { element._nodeDocument._hasNamespaces = true; } } +exports.element_append = element_append; /** * Removes an attribute from an element node. * @@ -16888,7 +16982,7 @@ function element_remove(attribute, element) { * local name, attribute’s namespace, and attribute’s value. */ if (DOMImpl_1.dom.features.mutationObservers) { - (0, MutationObserverAlgorithm_1.observer_queueAttributeMutationRecord)(element, attribute._localName, attribute._namespace, attribute._value); + MutationObserverAlgorithm_1.observer_queueAttributeMutationRecord(element, attribute._localName, attribute._namespace, attribute._value); } /** * 2. If element is custom, then enqueue a custom element callback reaction @@ -16898,7 +16992,7 @@ function element_remove(attribute, element) { */ if (DOMImpl_1.dom.features.customElements) { if (util_1.Guard.isCustomElementNode(element)) { - (0, CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction)(element, "attributeChangedCallback", [attribute._localName, attribute._value, null, attribute._namespace]); + CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(element, "attributeChangedCallback", [attribute._localName, attribute._value, null, attribute._namespace]); } } /** @@ -16906,16 +17000,17 @@ function element_remove(attribute, element) { * attribute’s value, null, and attribute’s namespace. */ if (DOMImpl_1.dom.features.steps) { - (0, DOMAlgorithm_1.dom_runAttributeChangeSteps)(element, attribute._localName, attribute._value, null, attribute._namespace); + DOMAlgorithm_1.dom_runAttributeChangeSteps(element, attribute._localName, attribute._value, null, attribute._namespace); } /** * 3. Remove attribute from element’s attribute list. * 5. Set attribute’s element to null. */ - const index = element._attributeList._asArray().indexOf(attribute); + var index = element._attributeList._asArray().indexOf(attribute); element._attributeList._asArray().splice(index, 1); attribute._element = null; } +exports.element_remove = element_remove; /** * Replaces an attribute with another of an element node. * @@ -16929,7 +17024,7 @@ function element_replace(oldAttr, newAttr, element) { * local name, oldAttr’s namespace, and oldAttr’s value. */ if (DOMImpl_1.dom.features.mutationObservers) { - (0, MutationObserverAlgorithm_1.observer_queueAttributeMutationRecord)(element, oldAttr._localName, oldAttr._namespace, oldAttr._value); + MutationObserverAlgorithm_1.observer_queueAttributeMutationRecord(element, oldAttr._localName, oldAttr._namespace, oldAttr._value); } /** * 2. If element is custom, then enqueue a custom element callback reaction @@ -16939,7 +17034,7 @@ function element_replace(oldAttr, newAttr, element) { */ if (DOMImpl_1.dom.features.customElements) { if (util_1.Guard.isCustomElementNode(element)) { - (0, CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction)(element, "attributeChangedCallback", [oldAttr._localName, oldAttr._value, newAttr._value, oldAttr._namespace]); + CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(element, "attributeChangedCallback", [oldAttr._localName, oldAttr._value, newAttr._value, oldAttr._namespace]); } } /** @@ -16947,14 +17042,14 @@ function element_replace(oldAttr, newAttr, element) { * oldAttr’s value, newAttr’s value, and oldAttr’s namespace. */ if (DOMImpl_1.dom.features.steps) { - (0, DOMAlgorithm_1.dom_runAttributeChangeSteps)(element, oldAttr._localName, oldAttr._value, newAttr._value, oldAttr._namespace); + DOMAlgorithm_1.dom_runAttributeChangeSteps(element, oldAttr._localName, oldAttr._value, newAttr._value, oldAttr._namespace); } /** * 4. Replace oldAttr by newAttr in element’s attribute list. * 5. Set oldAttr’s element to null. * 6. Set newAttr’s element to element. */ - const index = element._attributeList._asArray().indexOf(oldAttr); + var index = element._attributeList._asArray().indexOf(oldAttr); if (index !== -1) { element._attributeList._asArray()[index] = newAttr; } @@ -16966,6 +17061,7 @@ function element_replace(oldAttr, newAttr, element) { element._nodeDocument._hasNamespaces = true; } } +exports.element_replace = element_replace; /** * Retrieves an attribute with the given name from an element node. * @@ -16982,8 +17078,9 @@ function element_getAnAttributeByName(qualifiedName, element) { if (element._namespace === infra_1.namespace.HTML && element._nodeDocument._type === "html") { qualifiedName = qualifiedName.toLowerCase(); } - return element._attributeList._asArray().find(attr => attr._qualifiedName === qualifiedName) || null; + return element._attributeList._asArray().find(function (attr) { return attr._qualifiedName === qualifiedName; }) || null; } +exports.element_getAnAttributeByName = element_getAnAttributeByName; /** * Retrieves an attribute with the given namespace and local name from an * element node. @@ -16998,9 +17095,10 @@ function element_getAnAttributeByNamespaceAndLocalName(namespace, localName, ele * 2. Return the attribute in element’s attribute list whose namespace is * namespace and local name is localName, if any, and null otherwise. */ - const ns = namespace || null; - return element._attributeList._asArray().find(attr => attr._namespace === ns && attr._localName === localName) || null; + var ns = namespace || null; + return element._attributeList._asArray().find(function (attr) { return attr._namespace === ns && attr._localName === localName; }) || null; } +exports.element_getAnAttributeByNamespaceAndLocalName = element_getAnAttributeByNamespaceAndLocalName; /** * Retrieves an attribute's value with the given name namespace and local * name from an element node. @@ -17009,19 +17107,21 @@ function element_getAnAttributeByNamespaceAndLocalName(namespace, localName, ele * @param localName - an attribute local name * @param namespace - an attribute namespace */ -function element_getAnAttributeValue(element, localName, namespace = '') { +function element_getAnAttributeValue(element, localName, namespace) { + if (namespace === void 0) { namespace = ''; } /** * 1. Let attr be the result of getting an attribute given namespace, * localName, and element. * 2. If attr is null, then return the empty string. * 3. Return attr’s value. */ - const attr = element_getAnAttributeByNamespaceAndLocalName(namespace, localName, element); + var attr = element_getAnAttributeByNamespaceAndLocalName(namespace, localName, element); if (attr === null) return ''; else return attr._value; } +exports.element_getAnAttributeValue = element_getAnAttributeValue; /** * Sets an attribute of an element node. * @@ -17040,8 +17140,8 @@ function element_setAnAttribute(attr, element) { * 6. Return oldAttr. */ if (attr._element !== null && attr._element !== element) - throw new DOMException_1.InUseAttributeError(`This attribute already exists in the document: ${attr._qualifiedName} as a child of ${attr._element._qualifiedName}.`); - const oldAttr = element_getAnAttributeByNamespaceAndLocalName(attr._namespace || '', attr._localName, element); + throw new DOMException_1.InUseAttributeError("This attribute already exists in the document: " + attr._qualifiedName + " as a child of " + attr._element._qualifiedName + "."); + var oldAttr = element_getAnAttributeByNamespaceAndLocalName(attr._namespace || '', attr._localName, element); if (oldAttr === attr) return attr; if (oldAttr !== null) { @@ -17052,6 +17152,7 @@ function element_setAnAttribute(attr, element) { } return oldAttr; } +exports.element_setAnAttribute = element_setAnAttribute; /** * Sets an attribute's value of an element node. * @@ -17061,7 +17162,9 @@ function element_setAnAttribute(attr, element) { * @param prefix - an attribute prefix * @param namespace - an attribute namespace */ -function element_setAnAttributeValue(element, localName, value, prefix = null, namespace = null) { +function element_setAnAttributeValue(element, localName, value, prefix, namespace) { + if (prefix === void 0) { prefix = null; } + if (namespace === void 0) { namespace = null; } /** * 1. If prefix is not given, set it to null. * 2. If namespace is not given, set it to null. @@ -17073,9 +17176,9 @@ function element_setAnAttributeValue(element, localName, value, prefix = null, n * attribute to element, and then return. * 5. Change attribute from element to value. */ - const attribute = element_getAnAttributeByNamespaceAndLocalName(namespace || '', localName, element); + var attribute = element_getAnAttributeByNamespaceAndLocalName(namespace || '', localName, element); if (attribute === null) { - const newAttr = (0, CreateAlgorithm_1.create_attr)(element._nodeDocument, localName); + var newAttr = CreateAlgorithm_1.create_attr(element._nodeDocument, localName); newAttr._namespace = namespace; newAttr._namespacePrefix = prefix; newAttr._value = value; @@ -17084,6 +17187,7 @@ function element_setAnAttributeValue(element, localName, value, prefix = null, n } element_change(attribute, element, value); } +exports.element_setAnAttributeValue = element_setAnAttributeValue; /** * Removes an attribute with the given name from an element node. * @@ -17097,12 +17201,13 @@ function element_removeAnAttributeByName(qualifiedName, element) { * 2. If attr is non-null, remove it from element. * 3. Return attr. */ - const attr = element_getAnAttributeByName(qualifiedName, element); + var attr = element_getAnAttributeByName(qualifiedName, element); if (attr !== null) { element_remove(attr, element); } return attr; } +exports.element_removeAnAttributeByName = element_removeAnAttributeByName; /** * Removes an attribute with the given namespace and local name from an * element node. @@ -17117,12 +17222,13 @@ function element_removeAnAttributeByNamespaceAndLocalName(namespace, localName, * 2. If attr is non-null, remove it from element. * 3. Return attr. */ - const attr = element_getAnAttributeByNamespaceAndLocalName(namespace, localName, element); + var attr = element_getAnAttributeByNamespaceAndLocalName(namespace, localName, element); if (attr !== null) { element_remove(attr, element); } return attr; } +exports.element_removeAnAttributeByNamespaceAndLocalName = element_removeAnAttributeByNamespaceAndLocalName; /** * Creates an element node. * See: https://dom.spec.whatwg.org/#concept-create-element. @@ -17134,15 +17240,18 @@ function element_removeAnAttributeByNamespaceAndLocalName(namespace, localName, * @param is - the "is" value * @param synchronousCustomElementsFlag - synchronous custom elements flag */ -function element_createAnElement(document, localName, namespace, prefix = null, is = null, synchronousCustomElementsFlag = false) { +function element_createAnElement(document, localName, namespace, prefix, is, synchronousCustomElementsFlag) { + if (prefix === void 0) { prefix = null; } + if (is === void 0) { is = null; } + if (synchronousCustomElementsFlag === void 0) { synchronousCustomElementsFlag = false; } /** * 1. If prefix was not given, let prefix be null. * 2. If is was not given, let is be null. * 3. Let result be null. */ - let result = null; + var result = null; if (!DOMImpl_1.dom.features.customElements) { - result = (0, CreateAlgorithm_1.create_element)(document, localName, namespace, prefix); + result = CreateAlgorithm_1.create_element(document, localName, namespace, prefix); result._customElementState = "uncustomized"; result._customElementDefinition = null; result._is = is; @@ -17152,7 +17261,7 @@ function element_createAnElement(document, localName, namespace, prefix = null, * 4. Let definition be the result of looking up a custom element definition * given document, namespace, localName, and is. */ - const definition = (0, CustomElementAlgorithm_1.customElement_lookUpACustomElementDefinition)(document, namespace, localName, is); + var definition = CustomElementAlgorithm_1.customElement_lookUpACustomElementDefinition(document, namespace, localName, is); if (definition !== null && definition.name !== definition.localName) { /** * 5. If definition is non-null, and definition’s name is not equal to @@ -17170,7 +17279,7 @@ function element_createAnElement(document, localName, namespace, prefix = null, * 5.4. Otherwise, enqueue a custom element upgrade reaction given result * and definition. */ - const elemenInterface = (0, DocumentAlgorithm_1.document_elementInterface)(localName, infra_1.namespace.HTML); + var elemenInterface = DocumentAlgorithm_1.document_elementInterface(localName, infra_1.namespace.HTML); result = new elemenInterface(); result._localName = localName; result._namespace = infra_1.namespace.HTML; @@ -17180,10 +17289,10 @@ function element_createAnElement(document, localName, namespace, prefix = null, result._is = is; result._nodeDocument = document; if (synchronousCustomElementsFlag) { - (0, CustomElementAlgorithm_1.customElement_upgrade)(definition, result); + CustomElementAlgorithm_1.customElement_upgrade(definition, result); } else { - (0, CustomElementAlgorithm_1.customElement_enqueueACustomElementUpgradeReaction)(result, definition); + CustomElementAlgorithm_1.customElement_enqueueACustomElementUpgradeReaction(result, definition); } } else if (definition !== null) { @@ -17205,11 +17314,11 @@ function element_createAnElement(document, localName, namespace, prefix = null, * _Note:_ IDL enforces that result is an HTMLElement object, which all * use the HTML namespace. */ - const C = definition.constructor; - const result = new C(); - console.assert(result._customElementState !== undefined); - console.assert(result._customElementDefinition !== undefined); - console.assert(result._namespace === infra_1.namespace.HTML); + var C = definition.constructor; + var result_1 = new C(); + console.assert(result_1._customElementState !== undefined); + console.assert(result_1._customElementDefinition !== undefined); + console.assert(result_1._namespace === infra_1.namespace.HTML); /** * 6.1.5. If result’s attribute list is not empty, then throw a * "NotSupportedError" DOMException. @@ -17222,22 +17331,22 @@ function element_createAnElement(document, localName, namespace, prefix = null, * 6.1.9. If result’s local name is not equal to localName, then throw * a "NotSupportedError" DOMException. */ - if (result._attributeList.length !== 0) + if (result_1._attributeList.length !== 0) throw new DOMException_1.NotSupportedError("Custom element already has attributes."); - if (result._children.size !== 0) + if (result_1._children.size !== 0) throw new DOMException_1.NotSupportedError("Custom element already has child nodes."); - if (result._parent !== null) + if (result_1._parent !== null) throw new DOMException_1.NotSupportedError("Custom element already has a parent node."); - if (result._nodeDocument !== document) + if (result_1._nodeDocument !== document) throw new DOMException_1.NotSupportedError("Custom element is already in a document."); - if (result._localName !== localName) + if (result_1._localName !== localName) throw new DOMException_1.NotSupportedError("Custom element has a different local name."); /** * 6.1.10. Set result’s namespace prefix to prefix. * 6.1.11. Set result’s is value to null. */ - result._namespacePrefix = prefix; - result._is = null; + result_1._namespacePrefix = prefix; + result_1._is = null; } catch (e) { /** @@ -17250,7 +17359,7 @@ function element_createAnElement(document, localName, namespace, prefix = null, * is value set to null, and node document set to document. */ // TODO: Report the exception - result = (0, CreateAlgorithm_1.create_htmlUnknownElement)(document, localName, infra_1.namespace.HTML, prefix); + result = CreateAlgorithm_1.create_htmlUnknownElement(document, localName, infra_1.namespace.HTML, prefix); result._customElementState = "failed"; result._customElementDefinition = null; result._is = null; @@ -17267,11 +17376,11 @@ function element_createAnElement(document, localName, namespace, prefix = null, * 6.2.2. Enqueue a custom element upgrade reaction given result and * definition. */ - result = (0, CreateAlgorithm_1.create_htmlElement)(document, localName, infra_1.namespace.HTML, prefix); + result = CreateAlgorithm_1.create_htmlElement(document, localName, infra_1.namespace.HTML, prefix); result._customElementState = "undefined"; result._customElementDefinition = null; result._is = null; - (0, CustomElementAlgorithm_1.customElement_enqueueACustomElementUpgradeReaction)(result, definition); + CustomElementAlgorithm_1.customElement_enqueueACustomElementUpgradeReaction(result, definition); } } else { @@ -17285,7 +17394,7 @@ function element_createAnElement(document, localName, namespace, prefix = null, * "uncustomized", custom element definition set to null, is value set to * is, and node document set to document. */ - const elementInterface = (0, DocumentAlgorithm_1.document_elementInterface)(localName, namespace); + var elementInterface = DocumentAlgorithm_1.document_elementInterface(localName, namespace); result = new elementInterface(); result._localName = localName; result._namespace = namespace; @@ -17300,7 +17409,7 @@ function element_createAnElement(document, localName, namespace, prefix = null, * custom element state to "undefined". */ if (namespace === infra_1.namespace.HTML && (is !== null || - (0, CustomElementAlgorithm_1.customElement_isValidCustomElementName)(localName))) { + CustomElementAlgorithm_1.customElement_isValidCustomElementName(localName))) { result._customElementState = "undefined"; } } @@ -17313,6 +17422,7 @@ function element_createAnElement(document, localName, namespace, prefix = null, */ return result; } +exports.element_createAnElement = element_createAnElement; /** * Inserts a new node adjacent to this element. * @@ -17345,54 +17455,70 @@ function element_insertAdjacent(element, where, node) { case 'beforebegin': if (element._parent === null) return null; - return (0, MutationAlgorithm_1.mutation_preInsert)(node, element._parent, element); + return MutationAlgorithm_1.mutation_preInsert(node, element._parent, element); case 'afterbegin': - return (0, MutationAlgorithm_1.mutation_preInsert)(node, element, element._firstChild); + return MutationAlgorithm_1.mutation_preInsert(node, element, element._firstChild); case 'beforeend': - return (0, MutationAlgorithm_1.mutation_preInsert)(node, element, null); + return MutationAlgorithm_1.mutation_preInsert(node, element, null); case 'afterend': if (element._parent === null) return null; - return (0, MutationAlgorithm_1.mutation_preInsert)(node, element._parent, element._nextSibling); + return MutationAlgorithm_1.mutation_preInsert(node, element._parent, element._nextSibling); default: - throw new DOMException_1.SyntaxError(`Invalid 'where' argument. "beforebegin", "afterbegin", "beforeend" or "afterend" expected`); + throw new DOMException_1.SyntaxError("Invalid 'where' argument. \"beforebegin\", \"afterbegin\", \"beforeend\" or \"afterend\" expected"); } } +exports.element_insertAdjacent = element_insertAdjacent; //# sourceMappingURL=ElementAlgorithm.js.map /***/ }), /***/ 28217: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __spread = (this && this.__spread) || function () { + for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); + return ar; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.event_setTheCanceledFlag = event_setTheCanceledFlag; -exports.event_initialize = event_initialize; -exports.event_createAnEvent = event_createAnEvent; -exports.event_innerEventCreationSteps = event_innerEventCreationSteps; -exports.event_dispatch = event_dispatch; -exports.event_appendToAnEventPath = event_appendToAnEventPath; -exports.event_invoke = event_invoke; -exports.event_innerInvoke = event_innerInvoke; -exports.event_fireAnEvent = event_fireAnEvent; -exports.event_createLegacyEvent = event_createLegacyEvent; -exports.event_getterEventHandlerIDLAttribute = event_getterEventHandlerIDLAttribute; -exports.event_setterEventHandlerIDLAttribute = event_setterEventHandlerIDLAttribute; -exports.event_determineTheTargetOfAnEventHandler = event_determineTheTargetOfAnEventHandler; -exports.event_getTheCurrentValueOfAnEventHandler = event_getTheCurrentValueOfAnEventHandler; -exports.event_activateAnEventHandler = event_activateAnEventHandler; -exports.event_deactivateAnEventHandler = event_deactivateAnEventHandler; -const DOMImpl_1 = __nccwpck_require__(14177); -const interfaces_1 = __nccwpck_require__(27305); -const util_1 = __nccwpck_require__(65282); -const CustomEventImpl_1 = __nccwpck_require__(59857); -const EventImpl_1 = __nccwpck_require__(38245); -const DOMException_1 = __nccwpck_require__(13166); -const TreeAlgorithm_1 = __nccwpck_require__(16620); -const ShadowTreeAlgorithm_1 = __nccwpck_require__(68733); -const DOMAlgorithm_1 = __nccwpck_require__(9628); +var DOMImpl_1 = __nccwpck_require__(14177); +var interfaces_1 = __nccwpck_require__(27305); +var util_1 = __nccwpck_require__(65282); +var CustomEventImpl_1 = __nccwpck_require__(59857); +var EventImpl_1 = __nccwpck_require__(38245); +var DOMException_1 = __nccwpck_require__(13166); +var TreeAlgorithm_1 = __nccwpck_require__(16620); +var ShadowTreeAlgorithm_1 = __nccwpck_require__(68733); +var DOMAlgorithm_1 = __nccwpck_require__(9628); /** * Sets the canceled flag of an event. * @@ -17403,6 +17529,7 @@ function event_setTheCanceledFlag(event) { event._canceledFlag = true; } } +exports.event_setTheCanceledFlag = event_setTheCanceledFlag; /** * Initializes the value of an event. * @@ -17422,13 +17549,15 @@ function event_initialize(event, type, bubbles, cancelable) { event._bubbles = bubbles; event._cancelable = cancelable; } +exports.event_initialize = event_initialize; /** * Creates a new event. * * @param eventInterface - event interface * @param realm - realm */ -function event_createAnEvent(eventInterface, realm = undefined) { +function event_createAnEvent(eventInterface, realm) { + if (realm === void 0) { realm = undefined; } /** * 1. If realm is not given, then set it to null. * 2. Let dictionary be the result of converting the JavaScript value @@ -17443,11 +17572,12 @@ function event_createAnEvent(eventInterface, realm = undefined) { */ if (realm === undefined) realm = null; - const dictionary = {}; - const event = event_innerEventCreationSteps(eventInterface, realm, new Date(), dictionary); + var dictionary = {}; + var event = event_innerEventCreationSteps(eventInterface, realm, new Date(), dictionary); event._isTrusted = true; return event; } +exports.event_createAnEvent = event_createAnEvent; /** * Performs event creation steps. * @@ -17464,7 +17594,7 @@ function event_innerEventCreationSteps(eventInterface, realm, time, dictionary) * If realm is non-null, then use that Realm; otherwise, use the default * behavior defined in Web IDL. */ - const event = new eventInterface(""); + var event = new eventInterface(""); /** * 2. Set event’s initialized flag. * 3. Initialize event’s timeStamp attribute to a DOMHighResTimeStamp @@ -17478,10 +17608,11 @@ function event_innerEventCreationSteps(eventInterface, realm, time, dictionary) event._timeStamp = time.getTime(); Object.assign(event, dictionary); if (DOMImpl_1.dom.features.steps) { - (0, DOMAlgorithm_1.dom_runEventConstructingSteps)(event); + DOMAlgorithm_1.dom_runEventConstructingSteps(event); } return event; } +exports.event_innerEventCreationSteps = event_innerEventCreationSteps; /** * Dispatches an event to an event target. * @@ -17491,8 +17622,11 @@ function event_innerEventCreationSteps(eventInterface, realm, time, dictionary) * @param legacyOutputDidListenersThrowFlag - legacy output flag that returns * whether the event listener's callback threw an exception */ -function event_dispatch(event, target, legacyTargetOverrideFlag = false, legacyOutputDidListenersThrowFlag = { value: false }) { - let clearTargets = false; +function event_dispatch(event, target, legacyTargetOverrideFlag, legacyOutputDidListenersThrowFlag) { + var e_1, _a, e_2, _b; + if (legacyTargetOverrideFlag === void 0) { legacyTargetOverrideFlag = false; } + if (legacyOutputDidListenersThrowFlag === void 0) { legacyOutputDidListenersThrowFlag = { value: false }; } + var clearTargets = false; /** * 1. Set event's dispatch flag. */ @@ -17504,9 +17638,9 @@ function event_dispatch(event, target, legacyTargetOverrideFlag = false, legacyO * _Note:_ legacy target override flag is only used by HTML and only when * target is a Window object. */ - let targetOverride = target; + var targetOverride = target; if (legacyTargetOverrideFlag) { - const doc = target._associatedDocument; + var doc = target._associatedDocument; if (util_1.Guard.isDocumentNode(doc)) { targetOverride = doc; } @@ -17518,8 +17652,8 @@ function event_dispatch(event, target, legacyTargetOverrideFlag = false, legacyO * 5. If target is not relatedTarget or target is event's relatedTarget, * then: */ - let activationTarget = null; - let relatedTarget = (0, TreeAlgorithm_1.tree_retarget)(event._relatedTarget, target); + var activationTarget = null; + var relatedTarget = TreeAlgorithm_1.tree_retarget(event._relatedTarget, target); if (target !== relatedTarget || target === event._relatedTarget) { /** * 5.1. Let touchTargets be a new list. @@ -17537,19 +17671,29 @@ function event_dispatch(event, target, legacyTargetOverrideFlag = false, legacyO * 5.8. Let parent be the result of invoking target's get the parent with * event. */ - let touchTargets = []; - for (const touchTarget of event._touchTargetList) { - touchTargets.push((0, TreeAlgorithm_1.tree_retarget)(touchTarget, target)); + var touchTargets = []; + try { + for (var _c = __values(event._touchTargetList), _d = _c.next(); !_d.done; _d = _c.next()) { + var touchTarget = _d.value; + touchTargets.push(TreeAlgorithm_1.tree_retarget(touchTarget, target)); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_d && !_d.done && (_a = _c.return)) _a.call(_c); + } + finally { if (e_1) throw e_1.error; } } event_appendToAnEventPath(event, target, targetOverride, relatedTarget, touchTargets, false); - const isActivationEvent = (util_1.Guard.isMouseEvent(event) && event._type === "click"); + var isActivationEvent = (util_1.Guard.isMouseEvent(event) && event._type === "click"); if (isActivationEvent && target._activationBehavior !== undefined) { activationTarget = target; } - let slotable = (util_1.Guard.isSlotable(target) && (0, ShadowTreeAlgorithm_1.shadowTree_isAssigned)(target)) ? + var slotable = (util_1.Guard.isSlotable(target) && ShadowTreeAlgorithm_1.shadowTree_isAssigned(target)) ? target : null; - let slotInClosedTree = false; - let parent = target._getTheParent(event); + var slotInClosedTree = false; + var parent = target._getTheParent(event); /** * 5.9. While parent is non-null: */ @@ -17566,7 +17710,7 @@ function event_dispatch(event, target, legacyTargetOverrideFlag = false, legacyO throw new Error("Parent node of a slotable should be a slot."); } slotable = null; - const root = (0, TreeAlgorithm_1.tree_rootNode)(parent, true); + var root = TreeAlgorithm_1.tree_rootNode(parent, true); if (util_1.Guard.isShadowRoot(root) && root._mode === "closed") { slotInClosedTree = true; } @@ -17580,20 +17724,30 @@ function event_dispatch(event, target, legacyTargetOverrideFlag = false, legacyO * 5.9.4. For each touchTarget of event's touch target list, append the * result of retargeting touchTarget against parent to touchTargets. */ - if (util_1.Guard.isSlotable(parent) && (0, ShadowTreeAlgorithm_1.shadowTree_isAssigned)(parent)) { + if (util_1.Guard.isSlotable(parent) && ShadowTreeAlgorithm_1.shadowTree_isAssigned(parent)) { slotable = parent; } - relatedTarget = (0, TreeAlgorithm_1.tree_retarget)(event._relatedTarget, parent); + relatedTarget = TreeAlgorithm_1.tree_retarget(event._relatedTarget, parent); touchTargets = []; - for (const touchTarget of event._touchTargetList) { - touchTargets.push((0, TreeAlgorithm_1.tree_retarget)(touchTarget, parent)); + try { + for (var _e = (e_2 = void 0, __values(event._touchTargetList)), _f = _e.next(); !_f.done; _f = _e.next()) { + var touchTarget = _f.value; + touchTargets.push(TreeAlgorithm_1.tree_retarget(touchTarget, parent)); + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_f && !_f.done && (_b = _e.return)) _b.call(_e); + } + finally { if (e_2) throw e_2.error; } } /** * 5.9.6. If parent is a Window object, or parent is a node and target's * root is a shadow-including inclusive ancestor of parent, then: */ if (util_1.Guard.isWindow(parent) || (util_1.Guard.isNode(parent) && util_1.Guard.isNode(target) && - (0, TreeAlgorithm_1.tree_isAncestorOf)((0, TreeAlgorithm_1.tree_rootNode)(target, true), parent, true, true))) { + TreeAlgorithm_1.tree_isAncestorOf(TreeAlgorithm_1.tree_rootNode(target, true), parent, true, true))) { /** * 5.9.6.1. If isActivationEvent is true, event's bubbles attribute * is true, activationTarget is null, and parent has activation @@ -17644,10 +17798,10 @@ function event_dispatch(event, target, legacyTargetOverrideFlag = false, legacyO * 5.10. Let clearTargetsStruct be the last struct in event's path whose * shadow-adjusted target is non-null. */ - let clearTargetsStruct = null; - const path = event._path; - for (let i = path.length - 1; i >= 0; i--) { - const struct = path[i]; + var clearTargetsStruct = null; + var path = event._path; + for (var i = path.length - 1; i >= 0; i--) { + var struct = path[i]; if (struct.shadowAdjustedTarget !== null) { clearTargetsStruct = struct; break; @@ -17661,18 +17815,18 @@ function event_dispatch(event, target, legacyTargetOverrideFlag = false, legacyO */ if (clearTargetsStruct !== null) { if (util_1.Guard.isNode(clearTargetsStruct.shadowAdjustedTarget) && - util_1.Guard.isShadowRoot((0, TreeAlgorithm_1.tree_rootNode)(clearTargetsStruct.shadowAdjustedTarget, true))) { + util_1.Guard.isShadowRoot(TreeAlgorithm_1.tree_rootNode(clearTargetsStruct.shadowAdjustedTarget, true))) { clearTargets = true; } else if (util_1.Guard.isNode(clearTargetsStruct.relatedTarget) && - util_1.Guard.isShadowRoot((0, TreeAlgorithm_1.tree_rootNode)(clearTargetsStruct.relatedTarget, true))) { + util_1.Guard.isShadowRoot(TreeAlgorithm_1.tree_rootNode(clearTargetsStruct.relatedTarget, true))) { clearTargets = true; } else { - for (let j = 0; j < clearTargetsStruct.touchTargetList.length; j++) { - const struct = clearTargetsStruct.touchTargetList[j]; + for (var j = 0; j < clearTargetsStruct.touchTargetList.length; j++) { + var struct = clearTargetsStruct.touchTargetList[j]; if (util_1.Guard.isNode(struct) && - util_1.Guard.isShadowRoot((0, TreeAlgorithm_1.tree_rootNode)(struct, true))) { + util_1.Guard.isShadowRoot(TreeAlgorithm_1.tree_rootNode(struct, true))) { clearTargets = true; break; } @@ -17691,8 +17845,8 @@ function event_dispatch(event, target, legacyTargetOverrideFlag = false, legacyO /** * 5.13. For each struct in event's path, in reverse order: */ - for (let i = path.length - 1; i >= 0; i--) { - const struct = path[i]; + for (var i = path.length - 1; i >= 0; i--) { + var struct = path[i]; /** * 5.13.1. If struct's shadow-adjusted target is non-null, then set * event's eventPhase attribute to AT_TARGET. @@ -17712,8 +17866,8 @@ function event_dispatch(event, target, legacyTargetOverrideFlag = false, legacyO /** * 5.14. For each struct in event's path */ - for (let i = 0; i < path.length; i++) { - const struct = path[i]; + for (var i = 0; i < path.length; i++) { + var struct = path[i]; /** * 5.14.1. If struct's shadow-adjusted target is non-null, then set * event's eventPhase attribute to AT_TARGET. @@ -17779,6 +17933,7 @@ function event_dispatch(event, target, legacyTargetOverrideFlag = false, legacyO */ return !event._canceledFlag; } +exports.event_dispatch = event_dispatch; /** * Appends a new struct to an event's path. * @@ -17795,9 +17950,9 @@ function event_appendToAnEventPath(event, invocationTarget, shadowAdjustedTarget * 2. If invocationTarget is a node and its root is a shadow root, then * set invocationTargetInShadowTree to true. */ - let invocationTargetInShadowTree = false; + var invocationTargetInShadowTree = false; if (util_1.Guard.isNode(invocationTarget) && - util_1.Guard.isShadowRoot((0, TreeAlgorithm_1.tree_rootNode)(invocationTarget))) { + util_1.Guard.isShadowRoot(TreeAlgorithm_1.tree_rootNode(invocationTarget))) { invocationTargetInShadowTree = true; } /** @@ -17805,7 +17960,7 @@ function event_appendToAnEventPath(event, invocationTarget, shadowAdjustedTarget * 4. If invocationTarget is a shadow root whose mode is "closed", then * set root-of-closed-tree to true. */ - let rootOfClosedTree = false; + var rootOfClosedTree = false; if (util_1.Guard.isShadowRoot(invocationTarget) && invocationTarget._mode === "closed") { rootOfClosedTree = true; @@ -17828,6 +17983,7 @@ function event_appendToAnEventPath(event, invocationTarget, shadowAdjustedTarget slotInClosedTree: slotInClosedTree }); } +exports.event_appendToAnEventPath = event_appendToAnEventPath; /** * Invokes an event. * @@ -17837,22 +17993,23 @@ function event_appendToAnEventPath(event, invocationTarget, shadowAdjustedTarget * @param legacyOutputDidListenersThrowFlag - legacy output flag that returns * whether the event listener's callback threw an exception */ -function event_invoke(struct, event, phase, legacyOutputDidListenersThrowFlag = { value: false }) { +function event_invoke(struct, event, phase, legacyOutputDidListenersThrowFlag) { + if (legacyOutputDidListenersThrowFlag === void 0) { legacyOutputDidListenersThrowFlag = { value: false }; } /** * 1. Set event's target to the shadow-adjusted target of the last struct * in event's path, that is either struct or preceding struct, whose * shadow-adjusted target is non-null. */ - const path = event._path; - let index = -1; - for (let i = 0; i < path.length; i++) { + var path = event._path; + var index = -1; + for (var i = 0; i < path.length; i++) { if (path[i] === struct) { index = i; break; } } if (index !== -1) { - let item = path[index]; + var item = path[index]; if (item.shadowAdjustedTarget !== null) { event._target = item.shadowAdjustedTarget; } @@ -17880,14 +18037,14 @@ function event_invoke(struct, event, phase, legacyOutputDidListenersThrowFlag = if (event._stopPropagationFlag) return; event._currentTarget = struct.invocationTarget; - const currentTarget = event._currentTarget; - const targetListeners = currentTarget._eventListenerList; - let listeners = new Array(...targetListeners); + var currentTarget = event._currentTarget; + var targetListeners = currentTarget._eventListenerList; + var listeners = new (Array.bind.apply(Array, __spread([void 0], targetListeners)))(); /** * 7. Let found be the result of running inner invoke with event, listeners, * phase, and legacyOutputDidListenersThrowFlag if given. */ - const found = event_innerInvoke(event, listeners, phase, struct, legacyOutputDidListenersThrowFlag); + var found = event_innerInvoke(event, listeners, phase, struct, legacyOutputDidListenersThrowFlag); /** * 8. If found is false and event's isTrusted attribute is true, then: */ @@ -17906,7 +18063,7 @@ function event_invoke(struct, event, phase, legacyOutputDidListenersThrowFlag = * "animationstart" | "webkitAnimationStart" * "transitionend" | "webkitTransitionEnd" */ - const originalEventType = event._type; + var originalEventType = event._type; if (originalEventType === "animationend") { event._type = "webkitAnimationEnd"; } @@ -17928,6 +18085,7 @@ function event_invoke(struct, event, phase, legacyOutputDidListenersThrowFlag = event._type = originalEventType; } } +exports.event_invoke = event_invoke; /** * Invokes an event. * @@ -17938,14 +18096,15 @@ function event_invoke(struct, event, phase, legacyOutputDidListenersThrowFlag = * @param legacyOutputDidListenersThrowFlag - legacy output flag that returns * whether the event listener's callback threw an exception */ -function event_innerInvoke(event, listeners, phase, struct, legacyOutputDidListenersThrowFlag = { value: false }) { +function event_innerInvoke(event, listeners, phase, struct, legacyOutputDidListenersThrowFlag) { + if (legacyOutputDidListenersThrowFlag === void 0) { legacyOutputDidListenersThrowFlag = { value: false }; } /** * 1. Let found be false. * 2. For each listener in listeners, whose removed is false: */ - let found = false; - for (let i = 0; i < listeners.length; i++) { - const listener = listeners[i]; + var found = false; + for (var i = 0; i < listeners.length; i++) { + var listener = listeners[i]; if (!listener.removed) { /** * 2.1. If event's type attribute value is not listener's type, then @@ -17968,11 +18127,11 @@ function event_innerInvoke(event, listeners, phase, struct, legacyOutputDidListe * currentTarget attribute value's event listener list. */ if (listener.once && event._currentTarget !== null) { - const impl = event._currentTarget; - let index = -1; - for (let i = 0; i < impl._eventListenerList.length; i++) { - if (impl._eventListenerList[i] === listener) { - index = i; + var impl = event._currentTarget; + var index = -1; + for (var i_1 = 0; i_1 < impl._eventListenerList.length; i_1++) { + if (impl._eventListenerList[i_1] === listener) { + index = i_1; break; } } @@ -17986,7 +18145,7 @@ function event_innerInvoke(event, listeners, phase, struct, legacyOutputDidListe * 2.6. Let global be listener callback's associated Realm's global * object. */ - const globalObject = undefined; + var globalObject = undefined; /** * 2.7. Let currentEvent be undefined. * 2.8. If global is a Window object, then: @@ -17994,7 +18153,7 @@ function event_innerInvoke(event, listeners, phase, struct, legacyOutputDidListe * 2.8.2. If struct's invocation-target-in-shadow-tree is false, then * set global's current event to event. */ - let currentEvent = undefined; + var currentEvent = undefined; if (util_1.Guard.isWindow(globalObject)) { currentEvent = globalObject._currentEvent; if (struct.invocationTargetInShadowTree === false) { @@ -18050,6 +18209,7 @@ function event_innerInvoke(event, listeners, phase, struct, legacyOutputDidListe */ return found; } +exports.event_innerInvoke = event_innerInvoke; /** * Fires an event at target. * @param e - event name @@ -18071,7 +18231,7 @@ function event_fireAnEvent(e, target, eventConstructor, idlAttributes, legacyTar * 2. Let event be the result of creating an event given eventConstructor, * in the relevant Realm of target. */ - const event = event_createAnEvent(eventConstructor); + var event = event_createAnEvent(eventConstructor); /** * 3. Initialize event’s type attribute to e. */ @@ -18082,8 +18242,8 @@ function event_fireAnEvent(e, target, eventConstructor, idlAttributes, legacyTar * _Note:_ This also allows for the isTrusted attribute to be set to false. */ if (idlAttributes) { - for (const key in idlAttributes) { - const idlObj = event; + for (var key in idlAttributes) { + var idlObj = event; idlObj[key] = idlAttributes[key]; } } @@ -18093,6 +18253,7 @@ function event_fireAnEvent(e, target, eventConstructor, idlAttributes, legacyTar */ return event_dispatch(event, target, legacyTargetOverrideFlag); } +exports.event_fireAnEvent = event_fireAnEvent; /** * Creates an event. * @@ -18102,7 +18263,7 @@ function event_createLegacyEvent(eventInterface) { /** * 1. Let constructor be null. */ - let constructor = null; + var constructor = null; /** * TODO: Implement in HTML DOM * 2. If interface is an ASCII case-insensitive match for any of the strings @@ -18182,7 +18343,7 @@ function event_createLegacyEvent(eventInterface) { * 3. If constructor is null, then throw a "NotSupportedError" DOMException. */ if (constructor === null) { - throw new DOMException_1.NotSupportedError(`Event constructor not found for interface ${eventInterface}.`); + throw new DOMException_1.NotSupportedError("Event constructor not found for interface " + eventInterface + "."); } /** * 4. If the interface indicated by constructor is not exposed on the @@ -18201,7 +18362,7 @@ function event_createLegacyEvent(eventInterface) { * 8. Initialize event’s isTrusted attribute to false. * 9. Unset event’s initialized flag. */ - const event = new constructor(""); + var event = new constructor(""); event._type = ""; event._timeStamp = new Date().getTime(); event._isTrusted = false; @@ -18211,6 +18372,7 @@ function event_createLegacyEvent(eventInterface) { */ return event; } +exports.event_createLegacyEvent = event_createLegacyEvent; /** * Getter of an event handler IDL attribute. * @@ -18225,11 +18387,12 @@ function event_getterEventHandlerIDLAttribute(thisObj, name) { * 3. Return the result of getting the current value of the event handler * given eventTarget and name. */ - const eventTarget = event_determineTheTargetOfAnEventHandler(thisObj, name); + var eventTarget = event_determineTheTargetOfAnEventHandler(thisObj, name); if (eventTarget === null) return null; return event_getTheCurrentValueOfAnEventHandler(eventTarget, name); } +exports.event_getterEventHandlerIDLAttribute = event_getterEventHandlerIDLAttribute; /** * Setter of an event handler IDL attribute. * @@ -18250,21 +18413,22 @@ function event_setterEventHandlerIDLAttribute(thisObj, name, value) { * 4.3. Set eventHandler's value to the given value. * 4.4. Activate an event handler given eventTarget and name. */ - const eventTarget = event_determineTheTargetOfAnEventHandler(thisObj, name); + var eventTarget = event_determineTheTargetOfAnEventHandler(thisObj, name); if (eventTarget === null) return; if (value === null) { event_deactivateAnEventHandler(eventTarget, name); } else { - const handlerMap = eventTarget._eventHandlerMap; - const eventHandler = handlerMap["onabort"]; + var handlerMap = eventTarget._eventHandlerMap; + var eventHandler = handlerMap["onabort"]; if (eventHandler !== undefined) { eventHandler.value = value; } event_activateAnEventHandler(eventTarget, name); } } +exports.event_setterEventHandlerIDLAttribute = event_setterEventHandlerIDLAttribute; /** * Determines the target of an event handler. * @@ -18275,6 +18439,7 @@ function event_determineTheTargetOfAnEventHandler(eventTarget, name) { // TODO: Implement in HTML DOM return null; } +exports.event_determineTheTargetOfAnEventHandler = event_determineTheTargetOfAnEventHandler; /** * Gets the current value of an event handler. * @@ -18285,6 +18450,7 @@ function event_getTheCurrentValueOfAnEventHandler(eventTarget, name) { // TODO: Implement in HTML DOM return null; } +exports.event_getTheCurrentValueOfAnEventHandler = event_getTheCurrentValueOfAnEventHandler; /** * Activates an event handler. * @@ -18294,6 +18460,7 @@ function event_getTheCurrentValueOfAnEventHandler(eventTarget, name) { function event_activateAnEventHandler(eventTarget, name) { // TODO: Implement in HTML DOM } +exports.event_activateAnEventHandler = event_activateAnEventHandler; /** * Deactivates an event handler. * @@ -18303,22 +18470,29 @@ function event_activateAnEventHandler(eventTarget, name) { function event_deactivateAnEventHandler(eventTarget, name) { // TODO: Implement in HTML DOM } +exports.event_deactivateAnEventHandler = event_deactivateAnEventHandler; //# sourceMappingURL=EventAlgorithm.js.map /***/ }), /***/ 21312: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.eventTarget_flatten = eventTarget_flatten; -exports.eventTarget_flattenMore = eventTarget_flattenMore; -exports.eventTarget_addEventListener = eventTarget_addEventListener; -exports.eventTarget_removeEventListener = eventTarget_removeEventListener; -exports.eventTarget_removeAllEventListeners = eventTarget_removeAllEventListeners; -const util_1 = __nccwpck_require__(76195); +var util_1 = __nccwpck_require__(76195); /** * Flattens the given options argument. * @@ -18329,13 +18503,14 @@ function eventTarget_flatten(options) { * 1. If options is a boolean, then return options. * 2. Return options’s capture. */ - if ((0, util_1.isBoolean)(options)) { + if (util_1.isBoolean(options)) { return options; } else { return options.capture || false; } } +exports.eventTarget_flatten = eventTarget_flatten; /** * Flattens the given options argument. * @@ -18349,15 +18524,16 @@ function eventTarget_flattenMore(options) { * once to options’s once. * 4. Return capture, passive, and once. */ - const capture = eventTarget_flatten(options); - let once = false; - let passive = false; - if (!(0, util_1.isBoolean)(options)) { + var capture = eventTarget_flatten(options); + var once = false; + var passive = false; + if (!util_1.isBoolean(options)) { once = options.once || false; passive = options.passive || false; } return [capture, passive, once]; } +exports.eventTarget_flattenMore = eventTarget_flattenMore; /** * Adds a new event listener. * @@ -18384,8 +18560,8 @@ function eventTarget_addEventListener(eventTarget, listener) { * is listener’s capture, then append listener to eventTarget’s event listener * list. */ - for (let i = 0; i < eventTarget._eventListenerList.length; i++) { - const entry = eventTarget._eventListenerList[i]; + for (var i = 0; i < eventTarget._eventListenerList.length; i++) { + var entry = eventTarget._eventListenerList[i]; if (entry.type === listener.type && entry.callback.handleEvent === listener.callback.handleEvent && entry.capture === listener.capture) { return; @@ -18393,6 +18569,7 @@ function eventTarget_addEventListener(eventTarget, listener) { } eventTarget._eventListenerList.push(listener); } +exports.eventTarget_addEventListener = eventTarget_addEventListener; /** * Removes an event listener. * @@ -18414,6 +18591,7 @@ function eventTarget_removeEventListener(eventTarget, listener, index) { listener.removed = true; eventTarget._eventListenerList.splice(index, 1); } +exports.eventTarget_removeEventListener = eventTarget_removeEventListener; /** * Removes all event listeners. * @@ -18425,42 +18603,77 @@ function eventTarget_removeAllEventListeners(eventTarget) { * for each listener of eventTarget’s event listener list, remove an event * listener with eventTarget and listener. */ - for (const e of eventTarget._eventListenerList) { - e.removed = true; + var e_1, _a; + try { + for (var _b = __values(eventTarget._eventListenerList), _c = _b.next(); !_c.done; _c = _b.next()) { + var e = _c.value; + e.removed = true; + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } } eventTarget._eventListenerList.length = 0; } +exports.eventTarget_removeAllEventListeners = eventTarget_removeAllEventListeners; //# sourceMappingURL=EventTargetAlgorithm.js.map /***/ }), /***/ 45463: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __spread = (this && this.__spread) || function () { + for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); + return ar; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.mutation_ensurePreInsertionValidity = mutation_ensurePreInsertionValidity; -exports.mutation_preInsert = mutation_preInsert; -exports.mutation_insert = mutation_insert; -exports.mutation_append = mutation_append; -exports.mutation_replace = mutation_replace; -exports.mutation_replaceAll = mutation_replaceAll; -exports.mutation_preRemove = mutation_preRemove; -exports.mutation_remove = mutation_remove; -const DOMImpl_1 = __nccwpck_require__(14177); -const DOMException_1 = __nccwpck_require__(13166); -const interfaces_1 = __nccwpck_require__(27305); -const util_1 = __nccwpck_require__(65282); -const util_2 = __nccwpck_require__(76195); -const infra_1 = __nccwpck_require__(84251); -const CustomElementAlgorithm_1 = __nccwpck_require__(35648); -const TreeAlgorithm_1 = __nccwpck_require__(16620); -const NodeIteratorAlgorithm_1 = __nccwpck_require__(3973); -const ShadowTreeAlgorithm_1 = __nccwpck_require__(68733); -const MutationObserverAlgorithm_1 = __nccwpck_require__(78157); -const DOMAlgorithm_1 = __nccwpck_require__(9628); -const DocumentAlgorithm_1 = __nccwpck_require__(12793); +var DOMImpl_1 = __nccwpck_require__(14177); +var DOMException_1 = __nccwpck_require__(13166); +var interfaces_1 = __nccwpck_require__(27305); +var util_1 = __nccwpck_require__(65282); +var util_2 = __nccwpck_require__(76195); +var infra_1 = __nccwpck_require__(84251); +var CustomElementAlgorithm_1 = __nccwpck_require__(35648); +var TreeAlgorithm_1 = __nccwpck_require__(16620); +var NodeIteratorAlgorithm_1 = __nccwpck_require__(3973); +var ShadowTreeAlgorithm_1 = __nccwpck_require__(68733); +var MutationObserverAlgorithm_1 = __nccwpck_require__(78157); +var DOMAlgorithm_1 = __nccwpck_require__(9628); +var DocumentAlgorithm_1 = __nccwpck_require__(12793); /** * Ensures pre-insertion validity of a node into a parent before a * child. @@ -18470,9 +18683,10 @@ const DocumentAlgorithm_1 = __nccwpck_require__(12793); * @param child - child node to insert node before */ function mutation_ensurePreInsertionValidity(node, parent, child) { - const parentNodeType = parent._nodeType; - const nodeNodeType = node._nodeType; - const childNodeType = child ? child._nodeType : null; + var e_1, _a, e_2, _b, e_3, _c, e_4, _d; + var parentNodeType = parent._nodeType; + var nodeNodeType = node._nodeType; + var childNodeType = child ? child._nodeType : null; /** * 1. If parent is not a Document, DocumentFragment, or Element node, * throw a "HierarchyRequestError" DOMException. @@ -18480,19 +18694,19 @@ function mutation_ensurePreInsertionValidity(node, parent, child) { if (parentNodeType !== interfaces_1.NodeType.Document && parentNodeType !== interfaces_1.NodeType.DocumentFragment && parentNodeType !== interfaces_1.NodeType.Element) - throw new DOMException_1.HierarchyRequestError(`Only document, document fragment and element nodes can contain child nodes. Parent node is ${parent.nodeName}.`); + throw new DOMException_1.HierarchyRequestError("Only document, document fragment and element nodes can contain child nodes. Parent node is " + parent.nodeName + "."); /** * 2. If node is a host-including inclusive ancestor of parent, throw a * "HierarchyRequestError" DOMException. */ - if ((0, TreeAlgorithm_1.tree_isHostIncludingAncestorOf)(parent, node, true)) - throw new DOMException_1.HierarchyRequestError(`The node to be inserted cannot be an inclusive ancestor of parent node. Node is ${node.nodeName}, parent node is ${parent.nodeName}.`); + if (TreeAlgorithm_1.tree_isHostIncludingAncestorOf(parent, node, true)) + throw new DOMException_1.HierarchyRequestError("The node to be inserted cannot be an inclusive ancestor of parent node. Node is " + node.nodeName + ", parent node is " + parent.nodeName + "."); /** * 3. If child is not null and its parent is not parent, then throw a * "NotFoundError" DOMException. */ if (child !== null && child._parent !== parent) - throw new DOMException_1.NotFoundError(`The reference child node cannot be found under parent node. Child node is ${child.nodeName}, parent node is ${parent.nodeName}.`); + throw new DOMException_1.NotFoundError("The reference child node cannot be found under parent node. Child node is " + child.nodeName + ", parent node is " + parent.nodeName + "."); /** * 4. If node is not a DocumentFragment, DocumentType, Element, Text, * ProcessingInstruction, or Comment node, throw a "HierarchyRequestError" @@ -18505,7 +18719,7 @@ function mutation_ensurePreInsertionValidity(node, parent, child) { nodeNodeType !== interfaces_1.NodeType.ProcessingInstruction && nodeNodeType !== interfaces_1.NodeType.CData && nodeNodeType !== interfaces_1.NodeType.Comment) - throw new DOMException_1.HierarchyRequestError(`Only document fragment, document type, element, text, processing instruction, cdata section or comment nodes can be inserted. Node is ${node.nodeName}.`); + throw new DOMException_1.HierarchyRequestError("Only document fragment, document type, element, text, processing instruction, cdata section or comment nodes can be inserted. Node is " + node.nodeName + "."); /** * 5. If either node is a Text node and parent is a document, or node is a * doctype and parent is not a document, throw a "HierarchyRequestError" @@ -18513,10 +18727,10 @@ function mutation_ensurePreInsertionValidity(node, parent, child) { */ if (nodeNodeType === interfaces_1.NodeType.Text && parentNodeType === interfaces_1.NodeType.Document) - throw new DOMException_1.HierarchyRequestError(`Cannot insert a text node as a child of a document node. Node is ${node.nodeName}.`); + throw new DOMException_1.HierarchyRequestError("Cannot insert a text node as a child of a document node. Node is " + node.nodeName + "."); if (nodeNodeType === interfaces_1.NodeType.DocumentType && parentNodeType !== interfaces_1.NodeType.Document) - throw new DOMException_1.HierarchyRequestError(`A document type node can only be inserted under a document node. Parent node is ${parent.nodeName}.`); + throw new DOMException_1.HierarchyRequestError("A document type node can only be inserted under a document node. Parent node is " + parent.nodeName + "."); /** * 6. If parent is a document, and any of the statements below, switched on * node, are true, throw a "HierarchyRequestError" DOMException. @@ -18534,73 +18748,114 @@ function mutation_ensurePreInsertionValidity(node, parent, child) { */ if (parentNodeType === interfaces_1.NodeType.Document) { if (nodeNodeType === interfaces_1.NodeType.DocumentFragment) { - let eleCount = 0; - for (const childNode of node._children) { - if (childNode._nodeType === interfaces_1.NodeType.Element) - eleCount++; - else if (childNode._nodeType === interfaces_1.NodeType.Text) - throw new DOMException_1.HierarchyRequestError(`Cannot insert text a node as a child of a document node. Node is ${childNode.nodeName}.`); + var eleCount = 0; + try { + for (var _e = __values(node._children), _f = _e.next(); !_f.done; _f = _e.next()) { + var childNode = _f.value; + if (childNode._nodeType === interfaces_1.NodeType.Element) + eleCount++; + else if (childNode._nodeType === interfaces_1.NodeType.Text) + throw new DOMException_1.HierarchyRequestError("Cannot insert text a node as a child of a document node. Node is " + childNode.nodeName + "."); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_f && !_f.done && (_a = _e.return)) _a.call(_e); + } + finally { if (e_1) throw e_1.error; } } if (eleCount > 1) { - throw new DOMException_1.HierarchyRequestError(`A document node can only have one document element node. Document fragment to be inserted has ${eleCount} element nodes.`); + throw new DOMException_1.HierarchyRequestError("A document node can only have one document element node. Document fragment to be inserted has " + eleCount + " element nodes."); } else if (eleCount === 1) { - for (const ele of parent._children) { - if (ele._nodeType === interfaces_1.NodeType.Element) - throw new DOMException_1.HierarchyRequestError(`The document node already has a document element node.`); + try { + for (var _g = __values(parent._children), _h = _g.next(); !_h.done; _h = _g.next()) { + var ele = _h.value; + if (ele._nodeType === interfaces_1.NodeType.Element) + throw new DOMException_1.HierarchyRequestError("The document node already has a document element node."); + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_h && !_h.done && (_b = _g.return)) _b.call(_g); + } + finally { if (e_2) throw e_2.error; } } if (child) { if (childNodeType === interfaces_1.NodeType.DocumentType) - throw new DOMException_1.HierarchyRequestError(`Cannot insert an element node before a document type node.`); - let doctypeChild = child._nextSibling; + throw new DOMException_1.HierarchyRequestError("Cannot insert an element node before a document type node."); + var doctypeChild = child._nextSibling; while (doctypeChild) { if (doctypeChild._nodeType === interfaces_1.NodeType.DocumentType) - throw new DOMException_1.HierarchyRequestError(`Cannot insert an element node before a document type node.`); + throw new DOMException_1.HierarchyRequestError("Cannot insert an element node before a document type node."); doctypeChild = doctypeChild._nextSibling; } } } } else if (nodeNodeType === interfaces_1.NodeType.Element) { - for (const ele of parent._children) { - if (ele._nodeType === interfaces_1.NodeType.Element) - throw new DOMException_1.HierarchyRequestError(`Document already has a document element node. Node is ${node.nodeName}.`); + try { + for (var _j = __values(parent._children), _k = _j.next(); !_k.done; _k = _j.next()) { + var ele = _k.value; + if (ele._nodeType === interfaces_1.NodeType.Element) + throw new DOMException_1.HierarchyRequestError("Document already has a document element node. Node is " + node.nodeName + "."); + } + } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (_k && !_k.done && (_c = _j.return)) _c.call(_j); + } + finally { if (e_3) throw e_3.error; } } if (child) { if (childNodeType === interfaces_1.NodeType.DocumentType) - throw new DOMException_1.HierarchyRequestError(`Cannot insert an element node before a document type node. Node is ${node.nodeName}.`); - let doctypeChild = child._nextSibling; + throw new DOMException_1.HierarchyRequestError("Cannot insert an element node before a document type node. Node is " + node.nodeName + "."); + var doctypeChild = child._nextSibling; while (doctypeChild) { if (doctypeChild._nodeType === interfaces_1.NodeType.DocumentType) - throw new DOMException_1.HierarchyRequestError(`Cannot insert an element node before a document type node. Node is ${node.nodeName}.`); + throw new DOMException_1.HierarchyRequestError("Cannot insert an element node before a document type node. Node is " + node.nodeName + "."); doctypeChild = doctypeChild._nextSibling; } } } else if (nodeNodeType === interfaces_1.NodeType.DocumentType) { - for (const ele of parent._children) { - if (ele._nodeType === interfaces_1.NodeType.DocumentType) - throw new DOMException_1.HierarchyRequestError(`Document already has a document type node. Node is ${node.nodeName}.`); + try { + for (var _l = __values(parent._children), _m = _l.next(); !_m.done; _m = _l.next()) { + var ele = _m.value; + if (ele._nodeType === interfaces_1.NodeType.DocumentType) + throw new DOMException_1.HierarchyRequestError("Document already has a document type node. Node is " + node.nodeName + "."); + } + } + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (_m && !_m.done && (_d = _l.return)) _d.call(_l); + } + finally { if (e_4) throw e_4.error; } } if (child) { - let elementChild = child._previousSibling; + var elementChild = child._previousSibling; while (elementChild) { if (elementChild._nodeType === interfaces_1.NodeType.Element) - throw new DOMException_1.HierarchyRequestError(`Cannot insert a document type node before an element node. Node is ${node.nodeName}.`); + throw new DOMException_1.HierarchyRequestError("Cannot insert a document type node before an element node. Node is " + node.nodeName + "."); elementChild = elementChild._previousSibling; } } else { - let elementChild = parent._firstChild; + var elementChild = parent._firstChild; while (elementChild) { if (elementChild._nodeType === interfaces_1.NodeType.Element) - throw new DOMException_1.HierarchyRequestError(`Cannot insert a document type node before an element node. Node is ${node.nodeName}.`); + throw new DOMException_1.HierarchyRequestError("Cannot insert a document type node before an element node. Node is " + node.nodeName + "."); elementChild = elementChild._nextSibling; } } } } } +exports.mutation_ensurePreInsertionValidity = mutation_ensurePreInsertionValidity; /** * Ensures pre-insertion validity of a node into a parent before a * child, then adopts the node to the tree and inserts it. @@ -18619,13 +18874,14 @@ function mutation_preInsert(node, parent, child) { * 6. Return node. */ mutation_ensurePreInsertionValidity(node, parent, child); - let referenceChild = child; + var referenceChild = child; if (referenceChild === node) referenceChild = node._nextSibling; - (0, DocumentAlgorithm_1.document_adopt)(node, parent._nodeDocument); + DocumentAlgorithm_1.document_adopt(node, parent._nodeDocument); mutation_insert(node, parent, referenceChild); return node; } +exports.mutation_preInsert = mutation_preInsert; /** * Inserts a node into a parent node before the given child node. * @@ -18635,6 +18891,7 @@ function mutation_preInsert(node, parent, child) { * @param suppressObservers - whether to notify observers */ function mutation_insert(node, parent, child, suppressObservers) { + var e_5, _a; // Optimized common case if (child === null && node._nodeType !== interfaces_1.NodeType.DocumentFragment) { mutation_insert_single(node, parent, suppressObservers); @@ -18644,7 +18901,7 @@ function mutation_insert(node, parent, child, suppressObservers) { * 1. Let count be the number of children of node if it is a * DocumentFragment node, and one otherwise. */ - const count = (node._nodeType === interfaces_1.NodeType.DocumentFragment ? + var count = (node._nodeType === interfaces_1.NodeType.DocumentFragment ? node._children.size : 1); /** * 2. If child is non-null, then: @@ -18659,14 +18916,24 @@ function mutation_insert(node, parent, child, suppressObservers) { * offset by count. */ if (DOMImpl_1.dom.rangeList.size !== 0) { - const index = (0, TreeAlgorithm_1.tree_index)(child); - for (const range of DOMImpl_1.dom.rangeList) { - if (range._start[0] === parent && range._start[1] > index) { - range._start[1] += count; + var index_1 = TreeAlgorithm_1.tree_index(child); + try { + for (var _b = __values(DOMImpl_1.dom.rangeList), _c = _b.next(); !_c.done; _c = _b.next()) { + var range = _c.value; + if (range._start[0] === parent && range._start[1] > index_1) { + range._start[1] += count; + } + if (range._end[0] === parent && range._end[1] > index_1) { + range._end[1] += count; + } } - if (range._end[0] === parent && range._end[1] > index) { - range._end[1] += count; + } + catch (e_5_1) { e_5 = { error: e_5_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } + finally { if (e_5) throw e_5.error; } } } } @@ -18674,8 +18941,7 @@ function mutation_insert(node, parent, child, suppressObservers) { * 3. Let nodes be node’s children, if node is a DocumentFragment node; * otherwise « node ». */ - const nodes = node._nodeType === interfaces_1.NodeType.DocumentFragment ? - new Array(...node._children) : [node]; + var nodes = node._nodeType === interfaces_1.NodeType.DocumentFragment ? new (Array.bind.apply(Array, __spread([void 0], node._children)))() : [node]; /** * 4. If node is a DocumentFragment node, remove its children with the * suppress observers flag set. @@ -18691,29 +18957,29 @@ function mutation_insert(node, parent, child, suppressObservers) { */ if (DOMImpl_1.dom.features.mutationObservers) { if (node._nodeType === interfaces_1.NodeType.DocumentFragment) { - (0, MutationObserverAlgorithm_1.observer_queueTreeMutationRecord)(node, [], nodes, null, null); + MutationObserverAlgorithm_1.observer_queueTreeMutationRecord(node, [], nodes, null, null); } } /** * 6. Let previousSibling be child’s previous sibling or parent’s last * child if child is null. */ - const previousSibling = (child ? child._previousSibling : parent._lastChild); - let index = child === null ? -1 : (0, TreeAlgorithm_1.tree_index)(child); + var previousSibling = (child ? child._previousSibling : parent._lastChild); + var index = child === null ? -1 : TreeAlgorithm_1.tree_index(child); /** * 7. For each node in nodes, in tree order: */ - for (let i = 0; i < nodes.length; i++) { - const node = nodes[i]; - if (util_1.Guard.isElementNode(node)) { + for (var i = 0; i < nodes.length; i++) { + var node_1 = nodes[i]; + if (util_1.Guard.isElementNode(node_1)) { // set document element node if (util_1.Guard.isDocumentNode(parent)) { - parent._documentElement = node; + parent._documentElement = node_1; } // mark that the document has namespaces - if (!node._nodeDocument._hasNamespaces && (node._namespace !== null || - node._namespacePrefix !== null)) { - node._nodeDocument._hasNamespaces = true; + if (!node_1._nodeDocument._hasNamespaces && (node_1._namespace !== null || + node_1._namespacePrefix !== null)) { + node_1._nodeDocument._hasNamespaces = true; } } /** @@ -18721,42 +18987,42 @@ function mutation_insert(node, parent, child, suppressObservers) { * 7.2. Otherwise, insert node into parent’s children before child’s * index. */ - node._parent = parent; + node_1._parent = parent; if (child === null) { - infra_1.set.append(parent._children, node); + infra_1.set.append(parent._children, node_1); } else { - infra_1.set.insert(parent._children, node, index); + infra_1.set.insert(parent._children, node_1, index); index++; } // assign siblings and children for quick lookups if (parent._firstChild === null) { - node._previousSibling = null; - node._nextSibling = null; - parent._firstChild = node; - parent._lastChild = node; + node_1._previousSibling = null; + node_1._nextSibling = null; + parent._firstChild = node_1; + parent._lastChild = node_1; } else { - const prev = (child ? child._previousSibling : parent._lastChild); - const next = (child ? child : null); - node._previousSibling = prev; - node._nextSibling = next; + var prev = (child ? child._previousSibling : parent._lastChild); + var next = (child ? child : null); + node_1._previousSibling = prev; + node_1._nextSibling = next; if (prev) - prev._nextSibling = node; + prev._nextSibling = node_1; if (next) - next._previousSibling = node; + next._previousSibling = node_1; if (!prev) - parent._firstChild = node; + parent._firstChild = node_1; if (!next) - parent._lastChild = node; + parent._lastChild = node_1; } /** * 7.3. If parent is a shadow host and node is a slotable, then * assign a slot for node. */ if (DOMImpl_1.dom.features.slots) { - if (parent._shadowRoot !== null && util_1.Guard.isSlotable(node)) { - (0, ShadowTreeAlgorithm_1.shadowTree_assignASlot)(node); + if (parent._shadowRoot !== null && util_1.Guard.isSlotable(node_1)) { + ShadowTreeAlgorithm_1.shadowTree_assignASlot(node_1); } } /** @@ -18764,8 +19030,8 @@ function mutation_insert(node, parent, child, suppressObservers) { * steps for parent. */ if (DOMImpl_1.dom.features.steps) { - if (util_1.Guard.isTextNode(node)) { - (0, DOMAlgorithm_1.dom_runChildTextContentChangeSteps)(parent); + if (util_1.Guard.isTextNode(node_1)) { + DOMAlgorithm_1.dom_runChildTextContentChangeSteps(parent); } } /** @@ -18774,53 +19040,53 @@ function mutation_insert(node, parent, child, suppressObservers) { * a slot change for parent. */ if (DOMImpl_1.dom.features.slots) { - if (util_1.Guard.isShadowRoot((0, TreeAlgorithm_1.tree_rootNode)(parent)) && - util_1.Guard.isSlot(parent) && (0, util_2.isEmpty)(parent._assignedNodes)) { - (0, ShadowTreeAlgorithm_1.shadowTree_signalASlotChange)(parent); + if (util_1.Guard.isShadowRoot(TreeAlgorithm_1.tree_rootNode(parent)) && + util_1.Guard.isSlot(parent) && util_2.isEmpty(parent._assignedNodes)) { + ShadowTreeAlgorithm_1.shadowTree_signalASlotChange(parent); } } /** * 7.6. Run assign slotables for a tree with node's root. */ if (DOMImpl_1.dom.features.slots) { - (0, ShadowTreeAlgorithm_1.shadowTree_assignSlotablesForATree)((0, TreeAlgorithm_1.tree_rootNode)(node)); + ShadowTreeAlgorithm_1.shadowTree_assignSlotablesForATree(TreeAlgorithm_1.tree_rootNode(node_1)); } /** * 7.7. For each shadow-including inclusive descendant * inclusiveDescendant of node, in shadow-including tree * order: */ - let inclusiveDescendant = (0, TreeAlgorithm_1.tree_getFirstDescendantNode)(node, true, true); + var inclusiveDescendant = TreeAlgorithm_1.tree_getFirstDescendantNode(node_1, true, true); while (inclusiveDescendant !== null) { /** * 7.7.1. Run the insertion steps with inclusiveDescendant. */ if (DOMImpl_1.dom.features.steps) { - (0, DOMAlgorithm_1.dom_runInsertionSteps)(inclusiveDescendant); + DOMAlgorithm_1.dom_runInsertionSteps(inclusiveDescendant); } if (DOMImpl_1.dom.features.customElements) { /** * 7.7.2. If inclusiveDescendant is connected, then: */ if (util_1.Guard.isElementNode(inclusiveDescendant) && - (0, ShadowTreeAlgorithm_1.shadowTree_isConnected)(inclusiveDescendant)) { + ShadowTreeAlgorithm_1.shadowTree_isConnected(inclusiveDescendant)) { if (util_1.Guard.isCustomElementNode(inclusiveDescendant)) { /** * 7.7.2.1. If inclusiveDescendant is custom, then enqueue a custom * element callback reaction with inclusiveDescendant, callback name * "connectedCallback", and an empty argument list. */ - (0, CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction)(inclusiveDescendant, "connectedCallback", []); + CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(inclusiveDescendant, "connectedCallback", []); } else { /** * 7.7.2.2. Otherwise, try to upgrade inclusiveDescendant. */ - (0, CustomElementAlgorithm_1.customElement_tryToUpgrade)(inclusiveDescendant); + CustomElementAlgorithm_1.customElement_tryToUpgrade(inclusiveDescendant); } } } - inclusiveDescendant = (0, TreeAlgorithm_1.tree_getNextDescendantNode)(node, inclusiveDescendant, true, true); + inclusiveDescendant = TreeAlgorithm_1.tree_getNextDescendantNode(node_1, inclusiveDescendant, true, true); } } /** @@ -18829,10 +19095,11 @@ function mutation_insert(node, parent, child, suppressObservers) { */ if (DOMImpl_1.dom.features.mutationObservers) { if (!suppressObservers) { - (0, MutationObserverAlgorithm_1.observer_queueTreeMutationRecord)(parent, nodes, [], previousSibling, child); + MutationObserverAlgorithm_1.observer_queueTreeMutationRecord(parent, nodes, [], previousSibling, child); } } } +exports.mutation_insert = mutation_insert; /** * Inserts a node into a parent node. Optimized routine for the common case where * node is not a document fragment node and it has no child nodes. @@ -18863,7 +19130,7 @@ function mutation_insert_single(node, parent, suppressObservers) { * 6. Let previousSibling be child’s previous sibling or parent’s last * child if child is null. */ - const previousSibling = parent._lastChild; + var previousSibling = parent._lastChild; // set document element node if (util_1.Guard.isElementNode(node)) { // set document element node @@ -18892,7 +19159,7 @@ function mutation_insert_single(node, parent, suppressObservers) { parent._lastChild = node; } else { - const prev = parent._lastChild; + var prev = parent._lastChild; node._previousSibling = prev; node._nextSibling = null; if (prev) @@ -18907,7 +19174,7 @@ function mutation_insert_single(node, parent, suppressObservers) { */ if (DOMImpl_1.dom.features.slots) { if (parent._shadowRoot !== null && util_1.Guard.isSlotable(node)) { - (0, ShadowTreeAlgorithm_1.shadowTree_assignASlot)(node); + ShadowTreeAlgorithm_1.shadowTree_assignASlot(node); } } /** @@ -18916,7 +19183,7 @@ function mutation_insert_single(node, parent, suppressObservers) { */ if (DOMImpl_1.dom.features.steps) { if (util_1.Guard.isTextNode(node)) { - (0, DOMAlgorithm_1.dom_runChildTextContentChangeSteps)(parent); + DOMAlgorithm_1.dom_runChildTextContentChangeSteps(parent); } } /** @@ -18925,16 +19192,16 @@ function mutation_insert_single(node, parent, suppressObservers) { * a slot change for parent. */ if (DOMImpl_1.dom.features.slots) { - if (util_1.Guard.isShadowRoot((0, TreeAlgorithm_1.tree_rootNode)(parent)) && - util_1.Guard.isSlot(parent) && (0, util_2.isEmpty)(parent._assignedNodes)) { - (0, ShadowTreeAlgorithm_1.shadowTree_signalASlotChange)(parent); + if (util_1.Guard.isShadowRoot(TreeAlgorithm_1.tree_rootNode(parent)) && + util_1.Guard.isSlot(parent) && util_2.isEmpty(parent._assignedNodes)) { + ShadowTreeAlgorithm_1.shadowTree_signalASlotChange(parent); } } /** * 7.6. Run assign slotables for a tree with node's root. */ if (DOMImpl_1.dom.features.slots) { - (0, ShadowTreeAlgorithm_1.shadowTree_assignSlotablesForATree)((0, TreeAlgorithm_1.tree_rootNode)(node)); + ShadowTreeAlgorithm_1.shadowTree_assignSlotablesForATree(TreeAlgorithm_1.tree_rootNode(node)); } /** * 7.7. For each shadow-including inclusive descendant @@ -18943,27 +19210,27 @@ function mutation_insert_single(node, parent, suppressObservers) { * 7.7.1. Run the insertion steps with inclusiveDescendant. */ if (DOMImpl_1.dom.features.steps) { - (0, DOMAlgorithm_1.dom_runInsertionSteps)(node); + DOMAlgorithm_1.dom_runInsertionSteps(node); } if (DOMImpl_1.dom.features.customElements) { /** * 7.7.2. If inclusiveDescendant is connected, then: */ if (util_1.Guard.isElementNode(node) && - (0, ShadowTreeAlgorithm_1.shadowTree_isConnected)(node)) { + ShadowTreeAlgorithm_1.shadowTree_isConnected(node)) { if (util_1.Guard.isCustomElementNode(node)) { /** * 7.7.2.1. If inclusiveDescendant is custom, then enqueue a custom * element callback reaction with inclusiveDescendant, callback name * "connectedCallback", and an empty argument list. */ - (0, CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction)(node, "connectedCallback", []); + CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(node, "connectedCallback", []); } else { /** * 7.7.2.2. Otherwise, try to upgrade inclusiveDescendant. */ - (0, CustomElementAlgorithm_1.customElement_tryToUpgrade)(node); + CustomElementAlgorithm_1.customElement_tryToUpgrade(node); } } } @@ -18973,7 +19240,7 @@ function mutation_insert_single(node, parent, suppressObservers) { */ if (DOMImpl_1.dom.features.mutationObservers) { if (!suppressObservers) { - (0, MutationObserverAlgorithm_1.observer_queueTreeMutationRecord)(parent, [node], [], previousSibling, null); + MutationObserverAlgorithm_1.observer_queueTreeMutationRecord(parent, [node], [], previousSibling, null); } } } @@ -18989,6 +19256,7 @@ function mutation_append(node, parent) { */ return mutation_preInsert(node, parent, null); } +exports.mutation_append = mutation_append; /** * Replaces a node with another node. * @@ -18997,6 +19265,7 @@ function mutation_append(node, parent) { * @param parent - parent node to receive node */ function mutation_replace(child, node, parent) { + var e_6, _a, e_7, _b, e_8, _c, e_9, _d; /** * 1. If parent is not a Document, DocumentFragment, or Element node, * throw a "HierarchyRequestError" DOMException. @@ -19004,19 +19273,19 @@ function mutation_replace(child, node, parent) { if (parent._nodeType !== interfaces_1.NodeType.Document && parent._nodeType !== interfaces_1.NodeType.DocumentFragment && parent._nodeType !== interfaces_1.NodeType.Element) - throw new DOMException_1.HierarchyRequestError(`Only document, document fragment and element nodes can contain child nodes. Parent node is ${parent.nodeName}.`); + throw new DOMException_1.HierarchyRequestError("Only document, document fragment and element nodes can contain child nodes. Parent node is " + parent.nodeName + "."); /** * 2. If node is a host-including inclusive ancestor of parent, throw a * "HierarchyRequestError" DOMException. */ - if ((0, TreeAlgorithm_1.tree_isHostIncludingAncestorOf)(parent, node, true)) - throw new DOMException_1.HierarchyRequestError(`The node to be inserted cannot be an ancestor of parent node. Node is ${node.nodeName}, parent node is ${parent.nodeName}.`); + if (TreeAlgorithm_1.tree_isHostIncludingAncestorOf(parent, node, true)) + throw new DOMException_1.HierarchyRequestError("The node to be inserted cannot be an ancestor of parent node. Node is " + node.nodeName + ", parent node is " + parent.nodeName + "."); /** * 3. If child’s parent is not parent, then throw a "NotFoundError" * DOMException. */ if (child._parent !== parent) - throw new DOMException_1.NotFoundError(`The reference child node cannot be found under parent node. Child node is ${child.nodeName}, parent node is ${parent.nodeName}.`); + throw new DOMException_1.NotFoundError("The reference child node cannot be found under parent node. Child node is " + child.nodeName + ", parent node is " + parent.nodeName + "."); /** * 4. If node is not a DocumentFragment, DocumentType, Element, Text, * ProcessingInstruction, or Comment node, throw a "HierarchyRequestError" @@ -19029,7 +19298,7 @@ function mutation_replace(child, node, parent) { node._nodeType !== interfaces_1.NodeType.ProcessingInstruction && node._nodeType !== interfaces_1.NodeType.CData && node._nodeType !== interfaces_1.NodeType.Comment) - throw new DOMException_1.HierarchyRequestError(`Only document fragment, document type, element, text, processing instruction, cdata section or comment nodes can be inserted. Node is ${node.nodeName}.`); + throw new DOMException_1.HierarchyRequestError("Only document fragment, document type, element, text, processing instruction, cdata section or comment nodes can be inserted. Node is " + node.nodeName + "."); /** * 5. If either node is a Text node and parent is a document, or node is a * doctype and parent is not a document, throw a "HierarchyRequestError" @@ -19037,10 +19306,10 @@ function mutation_replace(child, node, parent) { */ if (node._nodeType === interfaces_1.NodeType.Text && parent._nodeType === interfaces_1.NodeType.Document) - throw new DOMException_1.HierarchyRequestError(`Cannot insert a text node as a child of a document node. Node is ${node.nodeName}.`); + throw new DOMException_1.HierarchyRequestError("Cannot insert a text node as a child of a document node. Node is " + node.nodeName + "."); if (node._nodeType === interfaces_1.NodeType.DocumentType && parent._nodeType !== interfaces_1.NodeType.Document) - throw new DOMException_1.HierarchyRequestError(`A document type node can only be inserted under a document node. Parent node is ${parent.nodeName}.`); + throw new DOMException_1.HierarchyRequestError("A document type node can only be inserted under a document node. Parent node is " + parent.nodeName + "."); /** * 6. If parent is a document, and any of the statements below, switched on * node, are true, throw a "HierarchyRequestError" DOMException. @@ -19057,50 +19326,90 @@ function mutation_replace(child, node, parent) { */ if (parent._nodeType === interfaces_1.NodeType.Document) { if (node._nodeType === interfaces_1.NodeType.DocumentFragment) { - let eleCount = 0; - for (const childNode of node._children) { - if (childNode._nodeType === interfaces_1.NodeType.Element) - eleCount++; - else if (childNode._nodeType === interfaces_1.NodeType.Text) - throw new DOMException_1.HierarchyRequestError(`Cannot insert text a node as a child of a document node. Node is ${childNode.nodeName}.`); + var eleCount = 0; + try { + for (var _e = __values(node._children), _f = _e.next(); !_f.done; _f = _e.next()) { + var childNode = _f.value; + if (childNode._nodeType === interfaces_1.NodeType.Element) + eleCount++; + else if (childNode._nodeType === interfaces_1.NodeType.Text) + throw new DOMException_1.HierarchyRequestError("Cannot insert text a node as a child of a document node. Node is " + childNode.nodeName + "."); + } + } + catch (e_6_1) { e_6 = { error: e_6_1 }; } + finally { + try { + if (_f && !_f.done && (_a = _e.return)) _a.call(_e); + } + finally { if (e_6) throw e_6.error; } } if (eleCount > 1) { - throw new DOMException_1.HierarchyRequestError(`A document node can only have one document element node. Document fragment to be inserted has ${eleCount} element nodes.`); + throw new DOMException_1.HierarchyRequestError("A document node can only have one document element node. Document fragment to be inserted has " + eleCount + " element nodes."); } else if (eleCount === 1) { - for (const ele of parent._children) { - if (ele._nodeType === interfaces_1.NodeType.Element && ele !== child) - throw new DOMException_1.HierarchyRequestError(`The document node already has a document element node.`); + try { + for (var _g = __values(parent._children), _h = _g.next(); !_h.done; _h = _g.next()) { + var ele = _h.value; + if (ele._nodeType === interfaces_1.NodeType.Element && ele !== child) + throw new DOMException_1.HierarchyRequestError("The document node already has a document element node."); + } } - let doctypeChild = child._nextSibling; + catch (e_7_1) { e_7 = { error: e_7_1 }; } + finally { + try { + if (_h && !_h.done && (_b = _g.return)) _b.call(_g); + } + finally { if (e_7) throw e_7.error; } + } + var doctypeChild = child._nextSibling; while (doctypeChild) { if (doctypeChild._nodeType === interfaces_1.NodeType.DocumentType) - throw new DOMException_1.HierarchyRequestError(`Cannot insert an element node before a document type node.`); + throw new DOMException_1.HierarchyRequestError("Cannot insert an element node before a document type node."); doctypeChild = doctypeChild._nextSibling; } } } else if (node._nodeType === interfaces_1.NodeType.Element) { - for (const ele of parent._children) { - if (ele._nodeType === interfaces_1.NodeType.Element && ele !== child) - throw new DOMException_1.HierarchyRequestError(`Document already has a document element node. Node is ${node.nodeName}.`); + try { + for (var _j = __values(parent._children), _k = _j.next(); !_k.done; _k = _j.next()) { + var ele = _k.value; + if (ele._nodeType === interfaces_1.NodeType.Element && ele !== child) + throw new DOMException_1.HierarchyRequestError("Document already has a document element node. Node is " + node.nodeName + "."); + } } - let doctypeChild = child._nextSibling; + catch (e_8_1) { e_8 = { error: e_8_1 }; } + finally { + try { + if (_k && !_k.done && (_c = _j.return)) _c.call(_j); + } + finally { if (e_8) throw e_8.error; } + } + var doctypeChild = child._nextSibling; while (doctypeChild) { if (doctypeChild._nodeType === interfaces_1.NodeType.DocumentType) - throw new DOMException_1.HierarchyRequestError(`Cannot insert an element node before a document type node. Node is ${node.nodeName}.`); + throw new DOMException_1.HierarchyRequestError("Cannot insert an element node before a document type node. Node is " + node.nodeName + "."); doctypeChild = doctypeChild._nextSibling; } } else if (node._nodeType === interfaces_1.NodeType.DocumentType) { - for (const ele of parent._children) { - if (ele._nodeType === interfaces_1.NodeType.DocumentType && ele !== child) - throw new DOMException_1.HierarchyRequestError(`Document already has a document type node. Node is ${node.nodeName}.`); + try { + for (var _l = __values(parent._children), _m = _l.next(); !_m.done; _m = _l.next()) { + var ele = _m.value; + if (ele._nodeType === interfaces_1.NodeType.DocumentType && ele !== child) + throw new DOMException_1.HierarchyRequestError("Document already has a document type node. Node is " + node.nodeName + "."); + } } - let elementChild = child._previousSibling; + catch (e_9_1) { e_9 = { error: e_9_1 }; } + finally { + try { + if (_m && !_m.done && (_d = _l.return)) _d.call(_l); + } + finally { if (e_9) throw e_9.error; } + } + var elementChild = child._previousSibling; while (elementChild) { if (elementChild._nodeType === interfaces_1.NodeType.Element) - throw new DOMException_1.HierarchyRequestError(`Cannot insert a document type node before an element node. Node is ${node.nodeName}.`); + throw new DOMException_1.HierarchyRequestError("Cannot insert a document type node before an element node. Node is " + node.nodeName + "."); elementChild = elementChild._previousSibling; } } @@ -19110,16 +19419,16 @@ function mutation_replace(child, node, parent) { * 8. If reference child is node, set it to node’s next sibling. * 8. Let previousSibling be child’s previous sibling. */ - let referenceChild = child._nextSibling; + var referenceChild = child._nextSibling; if (referenceChild === node) referenceChild = node._nextSibling; - let previousSibling = child._previousSibling; + var previousSibling = child._previousSibling; /** * 10. Adopt node into parent’s node document. * 11. Let removedNodes be the empty list. */ - (0, DocumentAlgorithm_1.document_adopt)(node, parent._nodeDocument); - const removedNodes = []; + DocumentAlgorithm_1.document_adopt(node, parent._nodeDocument); + var removedNodes = []; /** * 12. If child’s parent is not null, then: */ @@ -19136,7 +19445,7 @@ function mutation_replace(child, node, parent) { * 13. Let nodes be node’s children if node is a DocumentFragment node; * otherwise [node]. */ - let nodes = []; + var nodes = []; if (node._nodeType === interfaces_1.NodeType.DocumentFragment) { nodes = Array.from(node._children); } @@ -19153,13 +19462,14 @@ function mutation_replace(child, node, parent) { * previousSibling, and reference child. */ if (DOMImpl_1.dom.features.mutationObservers) { - (0, MutationObserverAlgorithm_1.observer_queueTreeMutationRecord)(parent, nodes, removedNodes, previousSibling, referenceChild); + MutationObserverAlgorithm_1.observer_queueTreeMutationRecord(parent, nodes, removedNodes, previousSibling, referenceChild); } /** * 16. Return child. */ return child; } +exports.mutation_replace = mutation_replace; /** * Replaces all nodes of a parent with the given node. * @@ -19167,35 +19477,46 @@ function mutation_replace(child, node, parent) { * @param parent - parent node to receive node */ function mutation_replaceAll(node, parent) { + var e_10, _a; /** * 1. If node is not null, adopt node into parent’s node document. */ if (node !== null) { - (0, DocumentAlgorithm_1.document_adopt)(node, parent._nodeDocument); + DocumentAlgorithm_1.document_adopt(node, parent._nodeDocument); } /** * 2. Let removedNodes be parent’s children. */ - const removedNodes = Array.from(parent._children); + var removedNodes = Array.from(parent._children); /** * 3. Let addedNodes be the empty list. * 4. If node is DocumentFragment node, then set addedNodes to node’s * children. * 5. Otherwise, if node is non-null, set addedNodes to [node]. */ - let addedNodes = []; + var addedNodes = []; if (node && node._nodeType === interfaces_1.NodeType.DocumentFragment) { addedNodes = Array.from(node._children); } else if (node !== null) { addedNodes.push(node); } - /** - * 6. Remove all parent’s children, in tree order, with the suppress - * observers flag set. - */ - for (const childNode of removedNodes) { - mutation_remove(childNode, parent, true); + try { + /** + * 6. Remove all parent’s children, in tree order, with the suppress + * observers flag set. + */ + for (var removedNodes_1 = __values(removedNodes), removedNodes_1_1 = removedNodes_1.next(); !removedNodes_1_1.done; removedNodes_1_1 = removedNodes_1.next()) { + var childNode = removedNodes_1_1.value; + mutation_remove(childNode, parent, true); + } + } + catch (e_10_1) { e_10 = { error: e_10_1 }; } + finally { + try { + if (removedNodes_1_1 && !removedNodes_1_1.done && (_a = removedNodes_1.return)) _a.call(removedNodes_1); + } + finally { if (e_10) throw e_10.error; } } /** * 7. If node is not null, then insert node into parent before null with the @@ -19209,9 +19530,10 @@ function mutation_replaceAll(node, parent) { * null, and null. */ if (DOMImpl_1.dom.features.mutationObservers) { - (0, MutationObserverAlgorithm_1.observer_queueTreeMutationRecord)(parent, addedNodes, removedNodes, null, null); + MutationObserverAlgorithm_1.observer_queueTreeMutationRecord(parent, addedNodes, removedNodes, null, null); } } +exports.mutation_replaceAll = mutation_replaceAll; /** * Ensures pre-removal validity of a child node from a parent, then * removes it. @@ -19227,10 +19549,11 @@ function mutation_preRemove(child, parent) { * 3. Return child. */ if (child._parent !== parent) - throw new DOMException_1.NotFoundError(`The child node cannot be found under parent node. Child node is ${child.nodeName}, parent node is ${parent.nodeName}.`); + throw new DOMException_1.NotFoundError("The child node cannot be found under parent node. Child node is " + child.nodeName + ", parent node is " + parent.nodeName + "."); mutation_remove(child, parent); return child; } +exports.mutation_preRemove = mutation_preRemove; /** * Removes a child node from its parent. * @@ -19239,45 +19562,66 @@ function mutation_preRemove(child, parent) { * @param suppressObservers - whether to notify observers */ function mutation_remove(node, parent, suppressObservers) { + var e_11, _a, e_12, _b, e_13, _c, e_14, _d; if (DOMImpl_1.dom.rangeList.size !== 0) { /** * 1. Let index be node’s index. */ - const index = (0, TreeAlgorithm_1.tree_index)(node); - /** - * 2. For each live range whose start node is an inclusive descendant of - * node, set its start to (parent, index). - * 3. For each live range whose end node is an inclusive descendant of - * node, set its end to (parent, index). - */ - for (const range of DOMImpl_1.dom.rangeList) { - if ((0, TreeAlgorithm_1.tree_isDescendantOf)(node, range._start[0], true)) { - range._start = [parent, index]; - } - if ((0, TreeAlgorithm_1.tree_isDescendantOf)(node, range._end[0], true)) { - range._end = [parent, index]; - } - if (range._start[0] === parent && range._start[1] > index) { - range._start[1]--; - } - if (range._end[0] === parent && range._end[1] > index) { - range._end[1]--; + var index = TreeAlgorithm_1.tree_index(node); + try { + /** + * 2. For each live range whose start node is an inclusive descendant of + * node, set its start to (parent, index). + * 3. For each live range whose end node is an inclusive descendant of + * node, set its end to (parent, index). + */ + for (var _e = __values(DOMImpl_1.dom.rangeList), _f = _e.next(); !_f.done; _f = _e.next()) { + var range = _f.value; + if (TreeAlgorithm_1.tree_isDescendantOf(node, range._start[0], true)) { + range._start = [parent, index]; + } + if (TreeAlgorithm_1.tree_isDescendantOf(node, range._end[0], true)) { + range._end = [parent, index]; + } + if (range._start[0] === parent && range._start[1] > index) { + range._start[1]--; + } + if (range._end[0] === parent && range._end[1] > index) { + range._end[1]--; + } } } - /** - * 4. For each live range whose start node is parent and start offset is - * greater than index, decrease its start offset by 1. - * 5. For each live range whose end node is parent and end offset is greater - * than index, decrease its end offset by 1. - */ - for (const range of DOMImpl_1.dom.rangeList) { - if (range._start[0] === parent && range._start[1] > index) { - range._start[1] -= 1; + catch (e_11_1) { e_11 = { error: e_11_1 }; } + finally { + try { + if (_f && !_f.done && (_a = _e.return)) _a.call(_e); } - if (range._end[0] === parent && range._end[1] > index) { - range._end[1] -= 1; + finally { if (e_11) throw e_11.error; } + } + try { + /** + * 4. For each live range whose start node is parent and start offset is + * greater than index, decrease its start offset by 1. + * 5. For each live range whose end node is parent and end offset is greater + * than index, decrease its end offset by 1. + */ + for (var _g = __values(DOMImpl_1.dom.rangeList), _h = _g.next(); !_h.done; _h = _g.next()) { + var range = _h.value; + if (range._start[0] === parent && range._start[1] > index) { + range._start[1] -= 1; + } + if (range._end[0] === parent && range._end[1] > index) { + range._end[1] -= 1; + } } } + catch (e_12_1) { e_12 = { error: e_12_1 }; } + finally { + try { + if (_h && !_h.done && (_b = _g.return)) _b.call(_g); + } + finally { if (e_12) throw e_12.error; } + } } /** * 6. For each NodeIterator object iterator whose root’s node document is @@ -19285,18 +19629,28 @@ function mutation_remove(node, parent, suppressObservers) { * and iterator. */ if (DOMImpl_1.dom.features.steps) { - for (const iterator of (0, NodeIteratorAlgorithm_1.nodeIterator_iteratorList)()) { - if (iterator._root._nodeDocument === node._nodeDocument) { - (0, DOMAlgorithm_1.dom_runNodeIteratorPreRemovingSteps)(iterator, node); + try { + for (var _j = __values(NodeIteratorAlgorithm_1.nodeIterator_iteratorList()), _k = _j.next(); !_k.done; _k = _j.next()) { + var iterator = _k.value; + if (iterator._root._nodeDocument === node._nodeDocument) { + DOMAlgorithm_1.dom_runNodeIteratorPreRemovingSteps(iterator, node); + } } } + catch (e_13_1) { e_13 = { error: e_13_1 }; } + finally { + try { + if (_k && !_k.done && (_c = _j.return)) _c.call(_j); + } + finally { if (e_13) throw e_13.error; } + } } /** * 7. Let oldPreviousSibling be node’s previous sibling. * 8. Let oldNextSibling be node’s next sibling. */ - const oldPreviousSibling = node._previousSibling; - const oldNextSibling = node._nextSibling; + var oldPreviousSibling = node._previousSibling; + var oldNextSibling = node._nextSibling; // set document element node if (util_1.Guard.isDocumentNode(parent) && util_1.Guard.isElementNode(node)) { parent._documentElement = null; @@ -19307,8 +19661,8 @@ function mutation_remove(node, parent, suppressObservers) { node._parent = null; parent._children.delete(node); // assign siblings and children for quick lookups - const prev = node._previousSibling; - const next = node._nextSibling; + var prev = node._previousSibling; + var next = node._nextSibling; node._previousSibling = null; node._nextSibling = null; if (prev) @@ -19324,8 +19678,8 @@ function mutation_remove(node, parent, suppressObservers) { * slot. */ if (DOMImpl_1.dom.features.slots) { - if (util_1.Guard.isSlotable(node) && node._assignedSlot !== null && (0, ShadowTreeAlgorithm_1.shadowTree_isAssigned)(node)) { - (0, ShadowTreeAlgorithm_1.shadowTree_assignSlotables)(node._assignedSlot); + if (util_1.Guard.isSlotable(node) && node._assignedSlot !== null && ShadowTreeAlgorithm_1.shadowTree_isAssigned(node)) { + ShadowTreeAlgorithm_1.shadowTree_assignSlotables(node._assignedSlot); } } /** @@ -19334,9 +19688,9 @@ function mutation_remove(node, parent, suppressObservers) { * parent. */ if (DOMImpl_1.dom.features.slots) { - if (util_1.Guard.isShadowRoot((0, TreeAlgorithm_1.tree_rootNode)(parent)) && - util_1.Guard.isSlot(parent) && (0, util_2.isEmpty)(parent._assignedNodes)) { - (0, ShadowTreeAlgorithm_1.shadowTree_signalASlotChange)(parent); + if (util_1.Guard.isShadowRoot(TreeAlgorithm_1.tree_rootNode(parent)) && + util_1.Guard.isSlot(parent) && util_2.isEmpty(parent._assignedNodes)) { + ShadowTreeAlgorithm_1.shadowTree_signalASlotChange(parent); } } /** @@ -19345,17 +19699,17 @@ function mutation_remove(node, parent, suppressObservers) { * 12.2. Run assign slotables for a tree with node. */ if (DOMImpl_1.dom.features.slots) { - const descendant = (0, TreeAlgorithm_1.tree_getFirstDescendantNode)(node, true, false, (e) => util_1.Guard.isSlot(e)); - if (descendant !== null) { - (0, ShadowTreeAlgorithm_1.shadowTree_assignSlotablesForATree)((0, TreeAlgorithm_1.tree_rootNode)(parent)); - (0, ShadowTreeAlgorithm_1.shadowTree_assignSlotablesForATree)(node); + var descendant_1 = TreeAlgorithm_1.tree_getFirstDescendantNode(node, true, false, function (e) { return util_1.Guard.isSlot(e); }); + if (descendant_1 !== null) { + ShadowTreeAlgorithm_1.shadowTree_assignSlotablesForATree(TreeAlgorithm_1.tree_rootNode(parent)); + ShadowTreeAlgorithm_1.shadowTree_assignSlotablesForATree(node); } } /** * 13. Run the removing steps with node and parent. */ if (DOMImpl_1.dom.features.steps) { - (0, DOMAlgorithm_1.dom_runRemovingSteps)(node, parent); + DOMAlgorithm_1.dom_runRemovingSteps(node, parent); } /** * 14. If node is custom, then enqueue a custom element callback @@ -19364,20 +19718,20 @@ function mutation_remove(node, parent, suppressObservers) { */ if (DOMImpl_1.dom.features.customElements) { if (util_1.Guard.isCustomElementNode(node)) { - (0, CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction)(node, "disconnectedCallback", []); + CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(node, "disconnectedCallback", []); } } /** * 15. For each shadow-including descendant descendant of node, * in shadow-including tree order, then: */ - let descendant = (0, TreeAlgorithm_1.tree_getFirstDescendantNode)(node, false, true); + var descendant = TreeAlgorithm_1.tree_getFirstDescendantNode(node, false, true); while (descendant !== null) { /** * 15.1. Run the removing steps with descendant. */ if (DOMImpl_1.dom.features.steps) { - (0, DOMAlgorithm_1.dom_runRemovingSteps)(descendant, node); + DOMAlgorithm_1.dom_runRemovingSteps(descendant, node); } /** * 15.2. If descendant is custom, then enqueue a custom element @@ -19386,10 +19740,10 @@ function mutation_remove(node, parent, suppressObservers) { */ if (DOMImpl_1.dom.features.customElements) { if (util_1.Guard.isCustomElementNode(descendant)) { - (0, CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction)(descendant, "disconnectedCallback", []); + CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(descendant, "disconnectedCallback", []); } } - descendant = (0, TreeAlgorithm_1.tree_getNextDescendantNode)(node, descendant, false, true); + descendant = TreeAlgorithm_1.tree_getNextDescendantNode(node, descendant, false, true); } /** * 16. For each inclusive ancestor inclusiveAncestor of parent, and @@ -19401,18 +19755,28 @@ function mutation_remove(node, parent, suppressObservers) { * observer list. */ if (DOMImpl_1.dom.features.mutationObservers) { - let inclusiveAncestor = (0, TreeAlgorithm_1.tree_getFirstAncestorNode)(parent, true); + var inclusiveAncestor = TreeAlgorithm_1.tree_getFirstAncestorNode(parent, true); while (inclusiveAncestor !== null) { - for (const registered of inclusiveAncestor._registeredObserverList) { - if (registered.options.subtree) { - node._registeredObserverList.push({ - observer: registered.observer, - options: registered.options, - source: registered - }); + try { + for (var _l = (e_14 = void 0, __values(inclusiveAncestor._registeredObserverList)), _m = _l.next(); !_m.done; _m = _l.next()) { + var registered = _m.value; + if (registered.options.subtree) { + node._registeredObserverList.push({ + observer: registered.observer, + options: registered.options, + source: registered + }); + } } } - inclusiveAncestor = (0, TreeAlgorithm_1.tree_getNextAncestorNode)(parent, inclusiveAncestor, true); + catch (e_14_1) { e_14 = { error: e_14_1 }; } + finally { + try { + if (_m && !_m.done && (_d = _l.return)) _d.call(_l); + } + finally { if (e_14) throw e_14.error; } + } + inclusiveAncestor = TreeAlgorithm_1.tree_getNextAncestorNode(parent, inclusiveAncestor, true); } } /** @@ -19422,7 +19786,7 @@ function mutation_remove(node, parent, suppressObservers) { */ if (DOMImpl_1.dom.features.mutationObservers) { if (!suppressObservers) { - (0, MutationObserverAlgorithm_1.observer_queueTreeMutationRecord)(parent, [], [node], oldPreviousSibling, oldNextSibling); + MutationObserverAlgorithm_1.observer_queueTreeMutationRecord(parent, [], [node], oldPreviousSibling, oldNextSibling); } } /** @@ -19431,31 +19795,54 @@ function mutation_remove(node, parent, suppressObservers) { */ if (DOMImpl_1.dom.features.steps) { if (util_1.Guard.isTextNode(node)) { - (0, DOMAlgorithm_1.dom_runChildTextContentChangeSteps)(parent); + DOMAlgorithm_1.dom_runChildTextContentChangeSteps(parent); } } } +exports.mutation_remove = mutation_remove; //# sourceMappingURL=MutationAlgorithm.js.map /***/ }), /***/ 78157: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.observer_queueAMutationObserverMicrotask = observer_queueAMutationObserverMicrotask; -exports.observer_notifyMutationObservers = observer_notifyMutationObservers; -exports.observer_queueMutationRecord = observer_queueMutationRecord; -exports.observer_queueTreeMutationRecord = observer_queueTreeMutationRecord; -exports.observer_queueAttributeMutationRecord = observer_queueAttributeMutationRecord; -const DOMImpl_1 = __nccwpck_require__(14177); -const util_1 = __nccwpck_require__(65282); -const infra_1 = __nccwpck_require__(84251); -const CreateAlgorithm_1 = __nccwpck_require__(57339); -const TreeAlgorithm_1 = __nccwpck_require__(16620); -const EventAlgorithm_1 = __nccwpck_require__(28217); +var DOMImpl_1 = __nccwpck_require__(14177); +var util_1 = __nccwpck_require__(65282); +var infra_1 = __nccwpck_require__(84251); +var CreateAlgorithm_1 = __nccwpck_require__(57339); +var TreeAlgorithm_1 = __nccwpck_require__(16620); +var EventAlgorithm_1 = __nccwpck_require__(28217); /** * Queues a mutation observer microtask to the surrounding agent’s mutation * observers. @@ -19467,44 +19854,43 @@ function observer_queueAMutationObserverMicrotask() { * 2. Set the surrounding agent’s mutation observer microtask queued to true. * 3. Queue a microtask to notify mutation observers. */ - const window = DOMImpl_1.dom.window; + var window = DOMImpl_1.dom.window; if (window._mutationObserverMicrotaskQueued) return; window._mutationObserverMicrotaskQueued = true; - Promise.resolve().then(() => { observer_notifyMutationObservers(); }); + Promise.resolve().then(function () { observer_notifyMutationObservers(); }); } +exports.observer_queueAMutationObserverMicrotask = observer_queueAMutationObserverMicrotask; /** * Notifies the surrounding agent’s mutation observers. */ function observer_notifyMutationObservers() { + var e_1, _a, e_2, _b; /** * 1. Set the surrounding agent’s mutation observer microtask queued to false. * 2. Let notifySet be a clone of the surrounding agent’s mutation observers. * 3. Let signalSet be a clone of the surrounding agent’s signal slots. * 4. Empty the surrounding agent’s signal slots. */ - const window = DOMImpl_1.dom.window; + var window = DOMImpl_1.dom.window; window._mutationObserverMicrotaskQueued = false; - const notifySet = infra_1.set.clone(window._mutationObservers); - const signalSet = infra_1.set.clone(window._signalSlots); + var notifySet = infra_1.set.clone(window._mutationObservers); + var signalSet = infra_1.set.clone(window._signalSlots); infra_1.set.empty(window._signalSlots); - /** - * 5. For each mo of notifySet: - */ - for (const mo of notifySet) { + var _loop_1 = function (mo) { /** * 5.1. Let records be a clone of mo’s record queue. * 5.2. Empty mo’s record queue. */ - const records = infra_1.list.clone(mo._recordQueue); + var records = infra_1.list.clone(mo._recordQueue); infra_1.list.empty(mo._recordQueue); /** * 5.3. For each node of mo’s node list, remove all transient registered * observers whose observer is mo from node’s registered observer list. */ - for (let i = 0; i < mo._nodeList.length; i++) { - const node = mo._nodeList[i]; - infra_1.list.remove(node._registeredObserverList, (observer) => { + for (var i = 0; i < mo._nodeList.length; i++) { + var node = mo._nodeList[i]; + infra_1.list.remove(node._registeredObserverList, function (observer) { return util_1.Guard.isTransientRegisteredObserver(observer) && observer.observer === mo; }); } @@ -19520,17 +19906,44 @@ function observer_notifyMutationObservers() { // TODO: Report the exception } } + }; + try { + /** + * 5. For each mo of notifySet: + */ + for (var notifySet_1 = __values(notifySet), notifySet_1_1 = notifySet_1.next(); !notifySet_1_1.done; notifySet_1_1 = notifySet_1.next()) { + var mo = notifySet_1_1.value; + _loop_1(mo); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (notifySet_1_1 && !notifySet_1_1.done && (_a = notifySet_1.return)) _a.call(notifySet_1); + } + finally { if (e_1) throw e_1.error; } } /** * 6. For each slot of signalSet, fire an event named slotchange, with its * bubbles attribute set to true, at slot. */ if (DOMImpl_1.dom.features.slots) { - for (const slot of signalSet) { - (0, EventAlgorithm_1.event_fireAnEvent)("slotchange", slot, undefined, { bubbles: true }); + try { + for (var signalSet_1 = __values(signalSet), signalSet_1_1 = signalSet_1.next(); !signalSet_1_1.done; signalSet_1_1 = signalSet_1.next()) { + var slot = signalSet_1_1.value; + EventAlgorithm_1.event_fireAnEvent("slotchange", slot, undefined, { bubbles: true }); + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (signalSet_1_1 && !signalSet_1_1.done && (_b = signalSet_1.return)) _b.call(signalSet_1); + } + finally { if (e_2) throw e_2.error; } } } } +exports.observer_notifyMutationObservers = observer_notifyMutationObservers; /** * Queues a mutation record of the given type for target. * @@ -19545,17 +19958,18 @@ function observer_notifyMutationObservers() { * @param nextSibling - next sibling of target before mutation */ function observer_queueMutationRecord(type, target, name, namespace, oldValue, addedNodes, removedNodes, previousSibling, nextSibling) { + var e_3, _a; /** * 1. Let interestedObservers be an empty map. * 2. Let nodes be the inclusive ancestors of target. * 3. For each node in nodes, and then for each registered of node’s * registered observer list: */ - const interestedObservers = new Map(); - let node = (0, TreeAlgorithm_1.tree_getFirstAncestorNode)(target, true); + var interestedObservers = new Map(); + var node = TreeAlgorithm_1.tree_getFirstAncestorNode(target, true); while (node !== null) { - for (let i = 0; i < node._registeredObserverList.length; i++) { - const registered = node._registeredObserverList[i]; + for (var i = 0; i < node._registeredObserverList.length; i++) { + var registered = node._registeredObserverList[i]; /** * 3.1. Let options be registered’s options. * 3.2. If none of the following are true @@ -19567,7 +19981,7 @@ function observer_queueMutationRecord(type, target, name, namespace, oldValue, a * - type is "characterData" and options’s characterData is not true * - type is "childList" and options’s childList is false */ - const options = registered.options; + var options = registered.options; if (node !== target && !options.subtree) continue; if (type === "attributes" && !options.attributes) @@ -19589,7 +20003,7 @@ function observer_queueMutationRecord(type, target, name, namespace, oldValue, a * characterDataOldValue is true, then set interestedObservers[mo] * to oldValue. */ - const mo = registered.observer; + var mo = registered.observer; if (!interestedObservers.has(mo)) { interestedObservers.set(mo, null); } @@ -19598,30 +20012,41 @@ function observer_queueMutationRecord(type, target, name, namespace, oldValue, a interestedObservers.set(mo, oldValue); } } - node = (0, TreeAlgorithm_1.tree_getNextAncestorNode)(target, node, true); + node = TreeAlgorithm_1.tree_getNextAncestorNode(target, node, true); } - /** - * 4. For each observer → mappedOldValue of interestedObservers: - */ - for (const [observer, mappedOldValue] of interestedObservers) { + try { /** - * 4.1. Let record be a new MutationRecord object with its type set to - * type, target set to target, attributeName set to name, - * attributeNamespace set to namespace, oldValue set to mappedOldValue, - * addedNodes set to addedNodes, removedNodes set to removedNodes, - * previousSibling set to previousSibling, and nextSibling set to - * nextSibling. - * 4.2. Enqueue record to observer’s record queue. + * 4. For each observer → mappedOldValue of interestedObservers: */ - const record = (0, CreateAlgorithm_1.create_mutationRecord)(type, target, (0, CreateAlgorithm_1.create_nodeListStatic)(target, addedNodes), (0, CreateAlgorithm_1.create_nodeListStatic)(target, removedNodes), previousSibling, nextSibling, name, namespace, mappedOldValue); - const queue = observer._recordQueue; - queue.push(record); + for (var interestedObservers_1 = __values(interestedObservers), interestedObservers_1_1 = interestedObservers_1.next(); !interestedObservers_1_1.done; interestedObservers_1_1 = interestedObservers_1.next()) { + var _b = __read(interestedObservers_1_1.value, 2), observer = _b[0], mappedOldValue = _b[1]; + /** + * 4.1. Let record be a new MutationRecord object with its type set to + * type, target set to target, attributeName set to name, + * attributeNamespace set to namespace, oldValue set to mappedOldValue, + * addedNodes set to addedNodes, removedNodes set to removedNodes, + * previousSibling set to previousSibling, and nextSibling set to + * nextSibling. + * 4.2. Enqueue record to observer’s record queue. + */ + var record = CreateAlgorithm_1.create_mutationRecord(type, target, CreateAlgorithm_1.create_nodeListStatic(target, addedNodes), CreateAlgorithm_1.create_nodeListStatic(target, removedNodes), previousSibling, nextSibling, name, namespace, mappedOldValue); + var queue = observer._recordQueue; + queue.push(record); + } + } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (interestedObservers_1_1 && !interestedObservers_1_1.done && (_a = interestedObservers_1.return)) _a.call(interestedObservers_1); + } + finally { if (e_3) throw e_3.error; } } /** * 5. Queue a mutation observer microtask. */ observer_queueAMutationObserverMicrotask(); } +exports.observer_queueMutationRecord = observer_queueMutationRecord; /** * Queues a tree mutation record for target. * @@ -19640,6 +20065,7 @@ function observer_queueTreeMutationRecord(target, addedNodes, removedNodes, prev */ observer_queueMutationRecord("childList", target, null, null, null, addedNodes, removedNodes, previousSibling, nextSibling); } +exports.observer_queueTreeMutationRecord = observer_queueTreeMutationRecord; /** * Queues an attribute mutation record for target. * @@ -19656,6 +20082,7 @@ function observer_queueAttributeMutationRecord(target, name, namespace, oldValue */ observer_queueMutationRecord("attributes", target, name, namespace, oldValue, [], [], null, null); } +exports.observer_queueAttributeMutationRecord = observer_queueAttributeMutationRecord; //# sourceMappingURL=MutationObserverAlgorithm.js.map /***/ }), @@ -19666,12 +20093,9 @@ function observer_queueAttributeMutationRecord(target, name, namespace, oldValue "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.namespace_validate = namespace_validate; -exports.namespace_validateAndExtract = namespace_validateAndExtract; -exports.namespace_extractQName = namespace_extractQName; -const DOMException_1 = __nccwpck_require__(13166); -const infra_1 = __nccwpck_require__(84251); -const XMLAlgorithm_1 = __nccwpck_require__(57030); +var DOMException_1 = __nccwpck_require__(13166); +var infra_1 = __nccwpck_require__(84251); +var XMLAlgorithm_1 = __nccwpck_require__(57030); /** * Validates the given qualified name. * @@ -19683,11 +20107,12 @@ function namespace_validate(qualifiedName) { * DOMException if qualifiedName does not match the Name or QName * production. */ - if (!(0, XMLAlgorithm_1.xml_isName)(qualifiedName)) - throw new DOMException_1.InvalidCharacterError(`Invalid XML name: ${qualifiedName}`); - if (!(0, XMLAlgorithm_1.xml_isQName)(qualifiedName)) - throw new DOMException_1.InvalidCharacterError(`Invalid XML qualified name: ${qualifiedName}.`); + if (!XMLAlgorithm_1.xml_isName(qualifiedName)) + throw new DOMException_1.InvalidCharacterError("Invalid XML name: " + qualifiedName); + if (!XMLAlgorithm_1.xml_isQName(qualifiedName)) + throw new DOMException_1.InvalidCharacterError("Invalid XML qualified name: " + qualifiedName + "."); } +exports.namespace_validate = namespace_validate; /** * Validates and extracts a namespace, prefix and localName from the * given namespace and qualified name. @@ -19719,21 +20144,22 @@ function namespace_validateAndExtract(namespace, qualifiedName) { if (!namespace) namespace = null; namespace_validate(qualifiedName); - const parts = qualifiedName.split(':'); - const prefix = (parts.length === 2 ? parts[0] : null); - const localName = (parts.length === 2 ? parts[1] : qualifiedName); + var parts = qualifiedName.split(':'); + var prefix = (parts.length === 2 ? parts[0] : null); + var localName = (parts.length === 2 ? parts[1] : qualifiedName); if (prefix && namespace === null) throw new DOMException_1.NamespaceError("Qualified name includes a prefix but the namespace is null."); if (prefix === "xml" && namespace !== infra_1.namespace.XML) - throw new DOMException_1.NamespaceError(`Qualified name includes the "xml" prefix but the namespace is not the XML namespace.`); + throw new DOMException_1.NamespaceError("Qualified name includes the \"xml\" prefix but the namespace is not the XML namespace."); if (namespace !== infra_1.namespace.XMLNS && (prefix === "xmlns" || qualifiedName === "xmlns")) - throw new DOMException_1.NamespaceError(`Qualified name includes the "xmlns" prefix but the namespace is not the XMLNS namespace.`); + throw new DOMException_1.NamespaceError("Qualified name includes the \"xmlns\" prefix but the namespace is not the XMLNS namespace."); if (namespace === infra_1.namespace.XMLNS && (prefix !== "xmlns" && qualifiedName !== "xmlns")) - throw new DOMException_1.NamespaceError(`Qualified name does not include the "xmlns" prefix but the namespace is the XMLNS namespace.`); + throw new DOMException_1.NamespaceError("Qualified name does not include the \"xmlns\" prefix but the namespace is the XMLNS namespace."); return [namespace, prefix, localName]; } +exports.namespace_validateAndExtract = namespace_validateAndExtract; /** * Extracts a prefix and localName from the given qualified name. * @@ -19743,37 +20169,41 @@ function namespace_validateAndExtract(namespace, qualifiedName) { */ function namespace_extractQName(qualifiedName) { namespace_validate(qualifiedName); - const parts = qualifiedName.split(':'); - const prefix = (parts.length === 2 ? parts[0] : null); - const localName = (parts.length === 2 ? parts[1] : qualifiedName); + var parts = qualifiedName.split(':'); + var prefix = (parts.length === 2 ? parts[0] : null); + var localName = (parts.length === 2 ? parts[1] : qualifiedName); return [prefix, localName]; } +exports.namespace_extractQName = namespace_extractQName; //# sourceMappingURL=NamespaceAlgorithm.js.map /***/ }), /***/ 74924: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.node_stringReplaceAll = node_stringReplaceAll; -exports.node_clone = node_clone; -exports.node_equals = node_equals; -exports.node_listOfElementsWithQualifiedName = node_listOfElementsWithQualifiedName; -exports.node_listOfElementsWithNamespace = node_listOfElementsWithNamespace; -exports.node_listOfElementsWithClassNames = node_listOfElementsWithClassNames; -exports.node_locateANamespacePrefix = node_locateANamespacePrefix; -exports.node_locateANamespace = node_locateANamespace; -const DOMImpl_1 = __nccwpck_require__(14177); -const util_1 = __nccwpck_require__(65282); -const infra_1 = __nccwpck_require__(84251); -const CreateAlgorithm_1 = __nccwpck_require__(57339); -const OrderedSetAlgorithm_1 = __nccwpck_require__(53670); -const DOMAlgorithm_1 = __nccwpck_require__(9628); -const MutationAlgorithm_1 = __nccwpck_require__(45463); -const ElementAlgorithm_1 = __nccwpck_require__(51849); +var DOMImpl_1 = __nccwpck_require__(14177); +var util_1 = __nccwpck_require__(65282); +var infra_1 = __nccwpck_require__(84251); +var CreateAlgorithm_1 = __nccwpck_require__(57339); +var OrderedSetAlgorithm_1 = __nccwpck_require__(53670); +var DOMAlgorithm_1 = __nccwpck_require__(9628); +var MutationAlgorithm_1 = __nccwpck_require__(45463); +var ElementAlgorithm_1 = __nccwpck_require__(51849); /** * Replaces the contents of the given node with a single text node. * @@ -19787,12 +20217,13 @@ function node_stringReplaceAll(str, parent) { * whose data is string and node document is parent’s node document. * 3. Replace all with node within parent. */ - let node = null; + var node = null; if (str !== '') { - node = (0, CreateAlgorithm_1.create_text)(parent._nodeDocument, str); + node = CreateAlgorithm_1.create_text(parent._nodeDocument, str); } - (0, MutationAlgorithm_1.mutation_replaceAll)(node, parent); + MutationAlgorithm_1.mutation_replaceAll(node, parent); } +exports.node_stringReplaceAll = node_stringReplaceAll; /** * Clones a node. * @@ -19800,13 +20231,16 @@ function node_stringReplaceAll(str, parent) { * @param document - the document to own the cloned node * @param cloneChildrenFlag - whether to clone node's children */ -function node_clone(node, document = null, cloneChildrenFlag = false) { +function node_clone(node, document, cloneChildrenFlag) { + var e_1, _a, e_2, _b; + if (document === void 0) { document = null; } + if (cloneChildrenFlag === void 0) { cloneChildrenFlag = false; } /** * 1. If document is not given, let document be node’s node document. */ if (document === null) document = node._nodeDocument; - let copy; + var copy; if (util_1.Guard.isElementNode(node)) { /** * 2. If node is an element, then: @@ -19817,10 +20251,20 @@ function node_clone(node, document = null, cloneChildrenFlag = false) { * 2.2.1. Let copyAttribute be a clone of attribute. * 2.2.2. Append copyAttribute to copy. */ - copy = (0, ElementAlgorithm_1.element_createAnElement)(document, node._localName, node._namespace, node._namespacePrefix, node._is, false); - for (const attribute of node._attributeList) { - const copyAttribute = node_clone(attribute, document); - (0, ElementAlgorithm_1.element_append)(copyAttribute, copy); + copy = ElementAlgorithm_1.element_createAnElement(document, node._localName, node._namespace, node._namespacePrefix, node._is, false); + try { + for (var _c = __values(node._attributeList), _d = _c.next(); !_d.done; _d = _c.next()) { + var attribute = _d.value; + var copyAttribute = node_clone(attribute, document); + ElementAlgorithm_1.element_append(copyAttribute, copy); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_d && !_d.done && (_a = _c.return)) _a.call(_c); + } + finally { if (e_1) throw e_1.error; } } } else { @@ -19843,7 +20287,7 @@ function node_clone(node, document = null, cloneChildrenFlag = false) { * - Any other node */ if (util_1.Guard.isDocumentNode(node)) { - const doc = (0, CreateAlgorithm_1.create_document)(); + var doc = CreateAlgorithm_1.create_document(); doc._encoding = node._encoding; doc._contentType = node._contentType; doc._URL = node._URL; @@ -19853,30 +20297,30 @@ function node_clone(node, document = null, cloneChildrenFlag = false) { copy = doc; } else if (util_1.Guard.isDocumentTypeNode(node)) { - const doctype = (0, CreateAlgorithm_1.create_documentType)(document, node._name, node._publicId, node._systemId); + var doctype = CreateAlgorithm_1.create_documentType(document, node._name, node._publicId, node._systemId); copy = doctype; } else if (util_1.Guard.isAttrNode(node)) { - const attr = (0, CreateAlgorithm_1.create_attr)(document, node.localName); + var attr = CreateAlgorithm_1.create_attr(document, node.localName); attr._namespace = node._namespace; attr._namespacePrefix = node._namespacePrefix; attr._value = node._value; copy = attr; } else if (util_1.Guard.isExclusiveTextNode(node)) { - copy = (0, CreateAlgorithm_1.create_text)(document, node._data); + copy = CreateAlgorithm_1.create_text(document, node._data); } else if (util_1.Guard.isCDATASectionNode(node)) { - copy = (0, CreateAlgorithm_1.create_cdataSection)(document, node._data); + copy = CreateAlgorithm_1.create_cdataSection(document, node._data); } else if (util_1.Guard.isCommentNode(node)) { - copy = (0, CreateAlgorithm_1.create_comment)(document, node._data); + copy = CreateAlgorithm_1.create_comment(document, node._data); } else if (util_1.Guard.isProcessingInstructionNode(node)) { - copy = (0, CreateAlgorithm_1.create_processingInstruction)(document, node._target, node._data); + copy = CreateAlgorithm_1.create_processingInstruction(document, node._target, node._data); } else if (util_1.Guard.isDocumentFragmentNode(node)) { - copy = (0, CreateAlgorithm_1.create_documentFragment)(document); + copy = CreateAlgorithm_1.create_documentFragment(document); } else { copy = Object.create(node); @@ -19899,7 +20343,7 @@ function node_clone(node, document = null, cloneChildrenFlag = false) { * if set, as parameters. */ if (DOMImpl_1.dom.features.steps) { - (0, DOMAlgorithm_1.dom_runCloningSteps)(copy, node, document, cloneChildrenFlag); + DOMAlgorithm_1.dom_runCloningSteps(copy, node, document, cloneChildrenFlag); } /** * 6. If the clone children flag is set, clone all the children of node and @@ -19907,9 +20351,19 @@ function node_clone(node, document = null, cloneChildrenFlag = false) { * flag being set. */ if (cloneChildrenFlag) { - for (const child of node._children) { - const childCopy = node_clone(child, document, true); - (0, MutationAlgorithm_1.mutation_append)(childCopy, copy); + try { + for (var _e = __values(node._children), _f = _e.next(); !_f.done; _f = _e.next()) { + var child = _f.value; + var childCopy = node_clone(child, document, true); + MutationAlgorithm_1.mutation_append(childCopy, copy); + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_f && !_f.done && (_b = _e.return)) _b.call(_e); + } + finally { if (e_2) throw e_2.error; } } } /** @@ -19917,6 +20371,7 @@ function node_clone(node, document = null, cloneChildrenFlag = false) { */ return copy; } +exports.node_clone = node_clone; /** * Determines if two nodes can be considered equal. * @@ -19924,6 +20379,7 @@ function node_clone(node, document = null, cloneChildrenFlag = false) { * @param b - node to compare */ function node_equals(a, b) { + var e_3, _a, e_4, _b; /** * 1. A and B’s nodeType attribute value is identical. */ @@ -19972,16 +20428,36 @@ function node_equals(a, b) { * that equals an attribute in B’s attribute list. */ if (util_1.Guard.isElementNode(a) && util_1.Guard.isElementNode(b)) { - const attrMap = {}; - for (const attrA of a._attributeList) { - attrMap[attrA._localName] = attrA; + var attrMap = {}; + try { + for (var _c = __values(a._attributeList), _d = _c.next(); !_d.done; _d = _c.next()) { + var attrA = _d.value; + attrMap[attrA._localName] = attrA; + } } - for (const attrB of b._attributeList) { - const attrA = attrMap[attrB._localName]; - if (!attrA) - return false; - if (!node_equals(attrA, attrB)) - return false; + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (_d && !_d.done && (_a = _c.return)) _a.call(_c); + } + finally { if (e_3) throw e_3.error; } + } + try { + for (var _e = __values(b._attributeList), _f = _e.next(); !_f.done; _f = _e.next()) { + var attrB = _f.value; + var attrA = attrMap[attrB._localName]; + if (!attrA) + return false; + if (!node_equals(attrA, attrB)) + return false; + } + } + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (_f && !_f.done && (_b = _e.return)) _b.call(_e); + } + finally { if (e_4) throw e_4.error; } } } /** @@ -19990,13 +20466,13 @@ function node_equals(a, b) { */ if (a._children.size !== b._children.size) return false; - const itA = a._children[Symbol.iterator](); - const itB = b._children[Symbol.iterator](); - let resultA = itA.next(); - let resultB = itB.next(); + var itA = a._children[Symbol.iterator](); + var itB = b._children[Symbol.iterator](); + var resultA = itA.next(); + var resultB = itB.next(); while (!resultA.done && !resultB.done) { - const child1 = resultA.value; - const child2 = resultB.value; + var child1 = resultA.value; + var child2 = resultB.value; if (!node_equals(child1, child2)) return false; resultA = itA.next(); @@ -20004,6 +20480,7 @@ function node_equals(a, b) { } return true; } +exports.node_equals = node_equals; /** * Returns a collection of elements with the given qualified name which are * descendants of the given root node. @@ -20027,10 +20504,10 @@ function node_listOfElementsWithQualifiedName(qualifiedName, root) { * matches descendant elements whose qualified name is qualifiedName. */ if (qualifiedName === "*") { - return (0, CreateAlgorithm_1.create_htmlCollection)(root); + return CreateAlgorithm_1.create_htmlCollection(root); } else if (root._nodeDocument._type === "html") { - return (0, CreateAlgorithm_1.create_htmlCollection)(root, function (ele) { + return CreateAlgorithm_1.create_htmlCollection(root, function (ele) { if (ele._namespace === infra_1.namespace.HTML && ele._qualifiedName === qualifiedName.toLowerCase()) { return true; @@ -20045,11 +20522,12 @@ function node_listOfElementsWithQualifiedName(qualifiedName, root) { }); } else { - return (0, CreateAlgorithm_1.create_htmlCollection)(root, function (ele) { + return CreateAlgorithm_1.create_htmlCollection(root, function (ele) { return (ele._qualifiedName === qualifiedName); }); } } +exports.node_listOfElementsWithQualifiedName = node_listOfElementsWithQualifiedName; /** * Returns a collection of elements with the given namespace which are * descendants of the given root node. @@ -20077,24 +20555,25 @@ function node_listOfElementsWithNamespace(namespace, localName, root) { if (namespace === '') namespace = null; if (namespace === "*" && localName === "*") { - return (0, CreateAlgorithm_1.create_htmlCollection)(root); + return CreateAlgorithm_1.create_htmlCollection(root); } else if (namespace === "*") { - return (0, CreateAlgorithm_1.create_htmlCollection)(root, function (ele) { + return CreateAlgorithm_1.create_htmlCollection(root, function (ele) { return (ele._localName === localName); }); } else if (localName === "*") { - return (0, CreateAlgorithm_1.create_htmlCollection)(root, function (ele) { + return CreateAlgorithm_1.create_htmlCollection(root, function (ele) { return (ele._namespace === namespace); }); } else { - return (0, CreateAlgorithm_1.create_htmlCollection)(root, function (ele) { + return CreateAlgorithm_1.create_htmlCollection(root, function (ele) { return (ele._localName === localName && ele._namespace === namespace); }); } } +exports.node_listOfElementsWithNamespace = node_listOfElementsWithNamespace; /** * Returns a collection of elements with the given class names which are * descendants of the given root node. @@ -20115,16 +20594,17 @@ function node_listOfElementsWithClassNames(classNames, root) { * manner if root’s node document’s mode is "quirks", and in a * case-sensitive manner otherwise. */ - const classes = (0, OrderedSetAlgorithm_1.orderedSet_parse)(classNames); + var classes = OrderedSetAlgorithm_1.orderedSet_parse(classNames); if (classes.size === 0) { - return (0, CreateAlgorithm_1.create_htmlCollection)(root, () => false); + return CreateAlgorithm_1.create_htmlCollection(root, function () { return false; }); } - const caseSensitive = (root._nodeDocument._mode !== "quirks"); - return (0, CreateAlgorithm_1.create_htmlCollection)(root, function (ele) { - const eleClasses = ele.classList; - return (0, OrderedSetAlgorithm_1.orderedSet_contains)(eleClasses._tokenSet, classes, caseSensitive); + var caseSensitive = (root._nodeDocument._mode !== "quirks"); + return CreateAlgorithm_1.create_htmlCollection(root, function (ele) { + var eleClasses = ele.classList; + return OrderedSetAlgorithm_1.orderedSet_contains(eleClasses._tokenSet, classes, caseSensitive); }); } +exports.node_listOfElementsWithClassNames = node_listOfElementsWithClassNames; /** * Searches for a namespace prefix associated with the given namespace * starting from the given element through its ancestors. @@ -20145,8 +20625,8 @@ function node_locateANamespacePrefix(element, namespace) { * value is namespace, then return element’s first such attribute’s * local name. */ - for (let i = 0; i < element._attributeList.length; i++) { - const attr = element._attributeList[i]; + for (var i = 0; i < element._attributeList.length; i++) { + var attr = element._attributeList[i]; if (attr._namespacePrefix === "xmlns" && attr._value === namespace) { return attr._localName; } @@ -20163,6 +20643,7 @@ function node_locateANamespacePrefix(element, namespace) { */ return null; } +exports.node_locateANamespacePrefix = node_locateANamespacePrefix; /** * Searches for a namespace associated with the given namespace prefix * starting from the given node through its ancestors. @@ -20186,8 +20667,8 @@ function node_locateANamespace(node, prefix) { * namespace prefix is null, and local name is "xmlns", then return its * value if it is not the empty string, and null otherwise. */ - for (let i = 0; i < node._attributeList.length; i++) { - const attr = node._attributeList[i]; + for (var i = 0; i < node._attributeList.length; i++) { + var attr = node._attributeList[i]; if (attr._namespace === infra_1.namespace.XMLNS && attr._namespacePrefix === "xmlns" && attr._localName === prefix) { @@ -20243,6 +20724,7 @@ function node_locateANamespace(node, prefix) { return node_locateANamespace(node._parent, prefix); } } +exports.node_locateANamespace = node_locateANamespace; //# sourceMappingURL=NodeAlgorithm.js.map /***/ }), @@ -20253,12 +20735,10 @@ function node_locateANamespace(node, prefix) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.nodeIterator_traverse = nodeIterator_traverse; -exports.nodeIterator_iteratorList = nodeIterator_iteratorList; -const DOMImpl_1 = __nccwpck_require__(14177); -const interfaces_1 = __nccwpck_require__(27305); -const TraversalAlgorithm_1 = __nccwpck_require__(80998); -const TreeAlgorithm_1 = __nccwpck_require__(16620); +var DOMImpl_1 = __nccwpck_require__(14177); +var interfaces_1 = __nccwpck_require__(27305); +var TraversalAlgorithm_1 = __nccwpck_require__(80998); +var TreeAlgorithm_1 = __nccwpck_require__(16620); /** * Returns the next or previous node in the subtree, or `null` if * there are none. @@ -20272,8 +20752,8 @@ function nodeIterator_traverse(iterator, forward) { * 1. Let node be iterator’s reference. * 2. Let beforeNode be iterator’s pointer before reference. */ - let node = iterator._reference; - let beforeNode = iterator._pointerBeforeReference; + var node = iterator._reference; + var beforeNode = iterator._pointerBeforeReference; /** * 3. While true: */ @@ -20291,7 +20771,7 @@ function nodeIterator_traverse(iterator, forward) { * node in iterator’s iterator collection. If there is no such node, * then return null. */ - const nextNode = (0, TreeAlgorithm_1.tree_getFollowingNode)(iterator._root, node); + var nextNode = TreeAlgorithm_1.tree_getFollowingNode(iterator._root, node); if (nextNode) { node = nextNode; } @@ -20316,7 +20796,7 @@ function nodeIterator_traverse(iterator, forward) { * node in iterator’s iterator collection. If there is no such node, * then return null. */ - const prevNode = (0, TreeAlgorithm_1.tree_getPrecedingNode)(iterator.root, node); + var prevNode = TreeAlgorithm_1.tree_getPrecedingNode(iterator.root, node); if (prevNode) { node = prevNode; } @@ -20335,7 +20815,7 @@ function nodeIterator_traverse(iterator, forward) { * 3.2. Let result be the result of filtering node within iterator. * 3.3. If result is FILTER_ACCEPT, then break. */ - const result = (0, TraversalAlgorithm_1.traversal_filter)(iterator, node); + var result = TraversalAlgorithm_1.traversal_filter(iterator, node); if (result === interfaces_1.FilterResult.Accept) { break; } @@ -20349,27 +20829,56 @@ function nodeIterator_traverse(iterator, forward) { iterator._pointerBeforeReference = beforeNode; return node; } +exports.nodeIterator_traverse = nodeIterator_traverse; /** * Gets the global iterator list. */ function nodeIterator_iteratorList() { return DOMImpl_1.dom.window._iteratorList; } +exports.nodeIterator_iteratorList = nodeIterator_iteratorList; //# sourceMappingURL=NodeIteratorAlgorithm.js.map /***/ }), /***/ 53670: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __spread = (this && this.__spread) || function () { + for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); + return ar; +}; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.orderedSet_parse = orderedSet_parse; -exports.orderedSet_serialize = orderedSet_serialize; -exports.orderedSet_sanitize = orderedSet_sanitize; -exports.orderedSet_contains = orderedSet_contains; -const infra_1 = __nccwpck_require__(84251); +var infra_1 = __nccwpck_require__(84251); /** * Converts a whitespace separated string into an array of tokens. * @@ -20382,9 +20891,10 @@ function orderedSet_parse(value) { * 3. For each token in inputTokens, append token to tokens. * 4. Return tokens. */ - const inputTokens = infra_1.string.splitAStringOnASCIIWhitespace(value); + var inputTokens = infra_1.string.splitAStringOnASCIIWhitespace(value); return new Set(inputTokens); } +exports.orderedSet_parse = orderedSet_parse; /** * Converts an array of tokens into a space separated string. * @@ -20395,8 +20905,9 @@ function orderedSet_serialize(tokens) { * The ordered set serializer takes a set and returns the concatenation of * set using U+0020 SPACE. */ - return [...tokens].join(' '); + return __spread(tokens).join(' '); } +exports.orderedSet_serialize = orderedSet_serialize; /** * Removes duplicate tokens and convert all whitespace characters * to space. @@ -20406,6 +20917,7 @@ function orderedSet_serialize(tokens) { function orderedSet_sanitize(value) { return orderedSet_serialize(orderedSet_parse(value)); } +exports.orderedSet_sanitize = orderedSet_sanitize; /** * Determines whether a set contains the other. * @@ -20414,40 +20926,72 @@ function orderedSet_sanitize(value) { * @param caseSensitive - whether matches are case-sensitive */ function orderedSet_contains(set1, set2, caseSensitive) { - for (const val2 of set2) { - let found = false; - for (const val1 of set1) { - if (caseSensitive) { - if (val1 === val2) { - found = true; - break; + var e_1, _a, e_2, _b; + try { + for (var set2_1 = __values(set2), set2_1_1 = set2_1.next(); !set2_1_1.done; set2_1_1 = set2_1.next()) { + var val2 = set2_1_1.value; + var found = false; + try { + for (var set1_1 = (e_2 = void 0, __values(set1)), set1_1_1 = set1_1.next(); !set1_1_1.done; set1_1_1 = set1_1.next()) { + var val1 = set1_1_1.value; + if (caseSensitive) { + if (val1 === val2) { + found = true; + break; + } + } + else { + if (val1.toUpperCase() === val2.toUpperCase()) { + found = true; + break; + } + } } } - else { - if (val1.toUpperCase() === val2.toUpperCase()) { - found = true; - break; + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (set1_1_1 && !set1_1_1.done && (_b = set1_1.return)) _b.call(set1_1); } + finally { if (e_2) throw e_2.error; } } + if (!found) + return false; } - if (!found) - return false; + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (set2_1_1 && !set2_1_1.done && (_a = set2_1.return)) _a.call(set2_1); + } + finally { if (e_1) throw e_1.error; } } return true; } +exports.orderedSet_contains = orderedSet_contains; //# sourceMappingURL=OrderedSetAlgorithm.js.map /***/ }), /***/ 2328: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.parentNode_convertNodesIntoANode = parentNode_convertNodesIntoANode; -const util_1 = __nccwpck_require__(76195); -const CreateAlgorithm_1 = __nccwpck_require__(57339); +var util_1 = __nccwpck_require__(76195); +var CreateAlgorithm_1 = __nccwpck_require__(57339); /** * Converts the given nodes or strings into a node (if `nodes` has * only one element) or a document fragment. @@ -20456,16 +21000,17 @@ const CreateAlgorithm_1 = __nccwpck_require__(57339); * @param document - owner document */ function parentNode_convertNodesIntoANode(nodes, document) { + var e_1, _a; /** * 1. Let node be null. * 2. Replace each string in nodes with a new Text node whose data is the * string and node document is document. */ - let node = null; - for (let i = 0; i < nodes.length; i++) { - const item = nodes[i]; - if ((0, util_1.isString)(item)) { - const text = (0, CreateAlgorithm_1.create_text)(document, item); + var node = null; + for (var i = 0; i < nodes.length; i++) { + var item = nodes[i]; + if (util_1.isString(item)) { + var text = CreateAlgorithm_1.create_text(document, item); nodes[i] = text; } } @@ -20478,10 +21023,20 @@ function parentNode_convertNodesIntoANode(nodes, document) { node = nodes[0]; } else { - node = (0, CreateAlgorithm_1.create_documentFragment)(document); - const ns = node; - for (const item of nodes) { - ns.appendChild(item); + node = CreateAlgorithm_1.create_documentFragment(document); + var ns = node; + try { + for (var nodes_1 = __values(nodes), nodes_1_1 = nodes_1.next(); !nodes_1_1.done; nodes_1_1 = nodes_1.next()) { + var item = nodes_1_1.value; + ns.appendChild(item); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (nodes_1_1 && !nodes_1_1.done && (_a = nodes_1.return)) _a.call(nodes_1); + } + finally { if (e_1) throw e_1.error; } } } /** @@ -20489,38 +21044,58 @@ function parentNode_convertNodesIntoANode(nodes, document) { */ return node; } +exports.parentNode_convertNodesIntoANode = parentNode_convertNodesIntoANode; //# sourceMappingURL=ParentNodeAlgorithm.js.map /***/ }), /***/ 30457: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __spread = (this && this.__spread) || function () { + for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); + return ar; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.range_collapsed = range_collapsed; -exports.range_root = range_root; -exports.range_isContained = range_isContained; -exports.range_isPartiallyContained = range_isPartiallyContained; -exports.range_setTheStart = range_setTheStart; -exports.range_setTheEnd = range_setTheEnd; -exports.range_select = range_select; -exports.range_extract = range_extract; -exports.range_cloneTheContents = range_cloneTheContents; -exports.range_insert = range_insert; -exports.range_getContainedNodes = range_getContainedNodes; -exports.range_getPartiallyContainedNodes = range_getPartiallyContainedNodes; -const interfaces_1 = __nccwpck_require__(27305); -const DOMException_1 = __nccwpck_require__(13166); -const util_1 = __nccwpck_require__(65282); -const CreateAlgorithm_1 = __nccwpck_require__(57339); -const TreeAlgorithm_1 = __nccwpck_require__(16620); -const BoundaryPointAlgorithm_1 = __nccwpck_require__(81054); -const CharacterDataAlgorithm_1 = __nccwpck_require__(19461); -const NodeAlgorithm_1 = __nccwpck_require__(74924); -const MutationAlgorithm_1 = __nccwpck_require__(45463); -const TextAlgorithm_1 = __nccwpck_require__(13512); +var interfaces_1 = __nccwpck_require__(27305); +var DOMException_1 = __nccwpck_require__(13166); +var util_1 = __nccwpck_require__(65282); +var CreateAlgorithm_1 = __nccwpck_require__(57339); +var TreeAlgorithm_1 = __nccwpck_require__(16620); +var BoundaryPointAlgorithm_1 = __nccwpck_require__(81054); +var CharacterDataAlgorithm_1 = __nccwpck_require__(19461); +var NodeAlgorithm_1 = __nccwpck_require__(74924); +var MutationAlgorithm_1 = __nccwpck_require__(45463); +var TextAlgorithm_1 = __nccwpck_require__(13512); /** * Determines if the node's start boundary point is at its end boundary * point. @@ -20533,6 +21108,7 @@ function range_collapsed(range) { */ return (range._startNode === range._endNode && range._startOffset === range._endOffset); } +exports.range_collapsed = range_collapsed; /** * Gets the root node of a range. * @@ -20542,8 +21118,9 @@ function range_root(range) { /** * The root of a live range is the root of its start node. */ - return (0, TreeAlgorithm_1.tree_rootNode)(range._startNode); + return TreeAlgorithm_1.tree_rootNode(range._startNode); } +exports.range_root = range_root; /** * Determines if a node is fully contained in a range. * @@ -20556,10 +21133,11 @@ function range_isContained(node, range) { * root, and (node, 0) is after range’s start, and (node, node’s length) is * before range’s end. */ - return ((0, TreeAlgorithm_1.tree_rootNode)(node) === range_root(range) && - (0, BoundaryPointAlgorithm_1.boundaryPoint_position)([node, 0], range._start) === interfaces_1.BoundaryPosition.After && - (0, BoundaryPointAlgorithm_1.boundaryPoint_position)([node, (0, TreeAlgorithm_1.tree_nodeLength)(node)], range._end) === interfaces_1.BoundaryPosition.Before); + return (TreeAlgorithm_1.tree_rootNode(node) === range_root(range) && + BoundaryPointAlgorithm_1.boundaryPoint_position([node, 0], range._start) === interfaces_1.BoundaryPosition.After && + BoundaryPointAlgorithm_1.boundaryPoint_position([node, TreeAlgorithm_1.tree_nodeLength(node)], range._end) === interfaces_1.BoundaryPosition.Before); } +exports.range_isContained = range_isContained; /** * Determines if a node is partially contained in a range. * @@ -20572,10 +21150,11 @@ function range_isPartiallyContained(node, range) { * ancestor of the live range’s start node but not its end node, * or vice versa. */ - const startCheck = (0, TreeAlgorithm_1.tree_isAncestorOf)(range._startNode, node, true); - const endCheck = (0, TreeAlgorithm_1.tree_isAncestorOf)(range._endNode, node, true); + var startCheck = TreeAlgorithm_1.tree_isAncestorOf(range._startNode, node, true); + var endCheck = TreeAlgorithm_1.tree_isAncestorOf(range._endNode, node, true); return (startCheck && !endCheck) || (!startCheck && endCheck); } +exports.range_isPartiallyContained = range_isPartiallyContained; /** * Sets the start boundary point of a range. * @@ -20597,16 +21176,17 @@ function range_setTheStart(range, node, offset) { if (util_1.Guard.isDocumentTypeNode(node)) { throw new DOMException_1.InvalidNodeTypeError(); } - if (offset > (0, TreeAlgorithm_1.tree_nodeLength)(node)) { + if (offset > TreeAlgorithm_1.tree_nodeLength(node)) { throw new DOMException_1.IndexSizeError(); } - const bp = [node, offset]; - if (range_root(range) !== (0, TreeAlgorithm_1.tree_rootNode)(node) || - (0, BoundaryPointAlgorithm_1.boundaryPoint_position)(bp, range._end) === interfaces_1.BoundaryPosition.After) { + var bp = [node, offset]; + if (range_root(range) !== TreeAlgorithm_1.tree_rootNode(node) || + BoundaryPointAlgorithm_1.boundaryPoint_position(bp, range._end) === interfaces_1.BoundaryPosition.After) { range._end = bp; } range._start = bp; } +exports.range_setTheStart = range_setTheStart; /** * Sets the end boundary point of a range. * @@ -20628,16 +21208,17 @@ function range_setTheEnd(range, node, offset) { if (util_1.Guard.isDocumentTypeNode(node)) { throw new DOMException_1.InvalidNodeTypeError(); } - if (offset > (0, TreeAlgorithm_1.tree_nodeLength)(node)) { + if (offset > TreeAlgorithm_1.tree_nodeLength(node)) { throw new DOMException_1.IndexSizeError(); } - const bp = [node, offset]; - if (range_root(range) !== (0, TreeAlgorithm_1.tree_rootNode)(node) || - (0, BoundaryPointAlgorithm_1.boundaryPoint_position)(bp, range._start) === interfaces_1.BoundaryPosition.Before) { + var bp = [node, offset]; + if (range_root(range) !== TreeAlgorithm_1.tree_rootNode(node) || + BoundaryPointAlgorithm_1.boundaryPoint_position(bp, range._start) === interfaces_1.BoundaryPosition.Before) { range._start = bp; } range._end = bp; } +exports.range_setTheEnd = range_setTheEnd; /** * Selects a node. * @@ -20649,7 +21230,7 @@ function range_select(node, range) { * 1. Let parent be node’s parent. * 2. If parent is null, then throw an "InvalidNodeTypeError" DOMException. */ - const parent = node._parent; + var parent = node._parent; if (parent === null) throw new DOMException_1.InvalidNodeTypeError(); /** @@ -20657,22 +21238,24 @@ function range_select(node, range) { * 4. Set range’s start to boundary point (parent, index). * 5. Set range’s end to boundary point (parent, index plus 1). */ - const index = (0, TreeAlgorithm_1.tree_index)(node); + var index = TreeAlgorithm_1.tree_index(node); range._start = [parent, index]; range._end = [parent, index + 1]; } +exports.range_select = range_select; /** * EXtracts the contents of range as a document fragment. * * @param range - a range */ function range_extract(range) { + var e_1, _a, e_2, _b, e_3, _c; /** * 1. Let fragment be a new DocumentFragment node whose node document is * range’s start node’s node document. * 2. If range is collapsed, then return fragment. */ - const fragment = (0, CreateAlgorithm_1.create_documentFragment)(range._startNode._nodeDocument); + var fragment = CreateAlgorithm_1.create_documentFragment(range._startNode._nodeDocument); if (range_collapsed(range)) return fragment; /** @@ -20680,10 +21263,10 @@ function range_extract(range) { * and original end offset be range’s start node, start offset, end node, * and end offset, respectively. */ - const originalStartNode = range._startNode; - const originalStartOffset = range._startOffset; - const originalEndNode = range._endNode; - const originalEndOffset = range._endOffset; + var originalStartNode = range._startNode; + var originalStartOffset = range._startOffset; + var originalEndNode = range._endNode; + var originalEndOffset = range._endOffset; /** * 4. If original start node is original end node, and they are a Text, * ProcessingInstruction, or Comment node: @@ -20699,10 +21282,10 @@ function range_extract(range) { */ if (originalStartNode === originalEndNode && util_1.Guard.isCharacterDataNode(originalStartNode)) { - const clone = (0, NodeAlgorithm_1.node_clone)(originalStartNode); - clone._data = (0, CharacterDataAlgorithm_1.characterData_substringData)(originalStartNode, originalStartOffset, originalEndOffset - originalStartOffset); - (0, MutationAlgorithm_1.mutation_append)(clone, fragment); - (0, CharacterDataAlgorithm_1.characterData_replaceData)(originalStartNode, originalStartOffset, originalEndOffset - originalStartOffset, ''); + var clone = NodeAlgorithm_1.node_clone(originalStartNode); + clone._data = CharacterDataAlgorithm_1.characterData_substringData(originalStartNode, originalStartOffset, originalEndOffset - originalStartOffset); + MutationAlgorithm_1.mutation_append(clone, fragment); + CharacterDataAlgorithm_1.characterData_replaceData(originalStartNode, originalStartOffset, originalEndOffset - originalStartOffset, ''); return fragment; } /** @@ -20710,8 +21293,8 @@ function range_extract(range) { * 6. While common ancestor is not an inclusive ancestor of original end * node, set common ancestor to its own parent. */ - let commonAncestor = originalStartNode; - while (!(0, TreeAlgorithm_1.tree_isAncestorOf)(originalEndNode, commonAncestor, true)) { + var commonAncestor = originalStartNode; + while (!TreeAlgorithm_1.tree_isAncestorOf(originalEndNode, commonAncestor, true)) { if (commonAncestor._parent === null) { throw new Error("Parent node is null."); } @@ -20723,14 +21306,24 @@ function range_extract(range) { * node, set first partially contained child to the first child of common * ancestor that is partially contained in range. */ - let firstPartiallyContainedChild = null; - if (!(0, TreeAlgorithm_1.tree_isAncestorOf)(originalEndNode, originalStartNode, true)) { - for (const node of commonAncestor._children) { - if (range_isPartiallyContained(node, range)) { - firstPartiallyContainedChild = node; - break; + var firstPartiallyContainedChild = null; + if (!TreeAlgorithm_1.tree_isAncestorOf(originalEndNode, originalStartNode, true)) { + try { + for (var _d = __values(commonAncestor._children), _e = _d.next(); !_e.done; _e = _d.next()) { + var node = _e.value; + if (range_isPartiallyContained(node, range)) { + firstPartiallyContainedChild = node; + break; + } } } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_e && !_e.done && (_a = _d.return)) _a.call(_d); + } + finally { if (e_1) throw e_1.error; } + } } /** * 9. Let last partially contained child be null. @@ -20738,11 +21331,11 @@ function range_extract(range) { * node, set last partially contained child to the last child of common * ancestor that is partially contained in range. */ - let lastPartiallyContainedChild = null; - if (!(0, TreeAlgorithm_1.tree_isAncestorOf)(originalStartNode, originalEndNode, true)) { - const children = [...commonAncestor._children]; - for (let i = children.length - 1; i > 0; i--) { - const node = children[i]; + var lastPartiallyContainedChild = null; + if (!TreeAlgorithm_1.tree_isAncestorOf(originalStartNode, originalEndNode, true)) { + var children = __spread(commonAncestor._children); + for (var i = children.length - 1; i > 0; i--) { + var node = children[i]; if (range_isPartiallyContained(node, range)) { lastPartiallyContainedChild = node; break; @@ -20755,18 +21348,28 @@ function range_extract(range) { * 12. If any member of contained children is a doctype, then throw a * "HierarchyRequestError" DOMException. */ - const containedChildren = []; - for (const child of commonAncestor._children) { - if (range_isContained(child, range)) { - if (util_1.Guard.isDocumentTypeNode(child)) { - throw new DOMException_1.HierarchyRequestError(); + var containedChildren = []; + try { + for (var _f = __values(commonAncestor._children), _g = _f.next(); !_g.done; _g = _f.next()) { + var child = _g.value; + if (range_isContained(child, range)) { + if (util_1.Guard.isDocumentTypeNode(child)) { + throw new DOMException_1.HierarchyRequestError(); + } + containedChildren.push(child); } - containedChildren.push(child); } } - let newNode; - let newOffset; - if ((0, TreeAlgorithm_1.tree_isAncestorOf)(originalEndNode, originalStartNode, true)) { + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_g && !_g.done && (_b = _f.return)) _b.call(_f); + } + finally { if (e_2) throw e_2.error; } + } + var newNode; + var newOffset; + if (TreeAlgorithm_1.tree_isAncestorOf(originalEndNode, originalStartNode, true)) { /** * 13. If original start node is an inclusive ancestor of original end node, * set new node to original start node and new offset to original start @@ -20784,9 +21387,9 @@ function range_extract(range) { * 14.3. Set new node to the parent of reference node, and new offset to * one plus reference node’s index. */ - let referenceNode = originalStartNode; + var referenceNode = originalStartNode; while (referenceNode._parent !== null && - !(0, TreeAlgorithm_1.tree_isAncestorOf)(originalEndNode, referenceNode._parent)) { + !TreeAlgorithm_1.tree_isAncestorOf(originalEndNode, referenceNode._parent)) { referenceNode = referenceNode._parent; } /* istanbul ignore next */ @@ -20799,7 +21402,7 @@ function range_extract(range) { throw new Error("Parent node is null."); } newNode = referenceNode._parent; - newOffset = 1 + (0, TreeAlgorithm_1.tree_index)(referenceNode); + newOffset = 1 + TreeAlgorithm_1.tree_index(referenceNode); } if (util_1.Guard.isCharacterDataNode(firstPartiallyContainedChild)) { /** @@ -20814,10 +21417,10 @@ function range_extract(range) { * start offset, count original start node’s length minus original start * offset, and data the empty string. */ - const clone = (0, NodeAlgorithm_1.node_clone)(originalStartNode); - clone._data = (0, CharacterDataAlgorithm_1.characterData_substringData)(originalStartNode, originalStartOffset, (0, TreeAlgorithm_1.tree_nodeLength)(originalStartNode) - originalStartOffset); - (0, MutationAlgorithm_1.mutation_append)(clone, fragment); - (0, CharacterDataAlgorithm_1.characterData_replaceData)(originalStartNode, originalStartOffset, (0, TreeAlgorithm_1.tree_nodeLength)(originalStartNode) - originalStartOffset, ''); + var clone = NodeAlgorithm_1.node_clone(originalStartNode); + clone._data = CharacterDataAlgorithm_1.characterData_substringData(originalStartNode, originalStartOffset, TreeAlgorithm_1.tree_nodeLength(originalStartNode) - originalStartOffset); + MutationAlgorithm_1.mutation_append(clone, fragment); + CharacterDataAlgorithm_1.characterData_replaceData(originalStartNode, originalStartOffset, TreeAlgorithm_1.tree_nodeLength(originalStartNode) - originalStartOffset, ''); } else if (firstPartiallyContainedChild !== null) { /** @@ -20830,18 +21433,28 @@ function range_extract(range) { * 16.4. Let subfragment be the result of extracting subrange. * 16.5. Append subfragment to clone. */ - const clone = (0, NodeAlgorithm_1.node_clone)(firstPartiallyContainedChild); - (0, MutationAlgorithm_1.mutation_append)(clone, fragment); - const subrange = (0, CreateAlgorithm_1.create_range)([originalStartNode, originalStartOffset], [firstPartiallyContainedChild, (0, TreeAlgorithm_1.tree_nodeLength)(firstPartiallyContainedChild)]); - const subfragment = range_extract(subrange); - (0, MutationAlgorithm_1.mutation_append)(subfragment, clone); + var clone = NodeAlgorithm_1.node_clone(firstPartiallyContainedChild); + MutationAlgorithm_1.mutation_append(clone, fragment); + var subrange = CreateAlgorithm_1.create_range([originalStartNode, originalStartOffset], [firstPartiallyContainedChild, TreeAlgorithm_1.tree_nodeLength(firstPartiallyContainedChild)]); + var subfragment = range_extract(subrange); + MutationAlgorithm_1.mutation_append(subfragment, clone); } - /** - * 17. For each contained child in contained children, append contained - * child to fragment. - */ - for (const child of containedChildren) { - (0, MutationAlgorithm_1.mutation_append)(child, fragment); + try { + /** + * 17. For each contained child in contained children, append contained + * child to fragment. + */ + for (var containedChildren_1 = __values(containedChildren), containedChildren_1_1 = containedChildren_1.next(); !containedChildren_1_1.done; containedChildren_1_1 = containedChildren_1.next()) { + var child = containedChildren_1_1.value; + MutationAlgorithm_1.mutation_append(child, fragment); + } + } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (containedChildren_1_1 && !containedChildren_1_1.done && (_c = containedChildren_1.return)) _c.call(containedChildren_1); + } + finally { if (e_3) throw e_3.error; } } if (util_1.Guard.isCharacterDataNode(lastPartiallyContainedChild)) { /** @@ -20854,10 +21467,10 @@ function range_extract(range) { * 18.4. Replace data with node original end node, offset 0, count * original end offset, and data the empty string. */ - const clone = (0, NodeAlgorithm_1.node_clone)(originalEndNode); - clone._data = (0, CharacterDataAlgorithm_1.characterData_substringData)(originalEndNode, 0, originalEndOffset); - (0, MutationAlgorithm_1.mutation_append)(clone, fragment); - (0, CharacterDataAlgorithm_1.characterData_replaceData)(originalEndNode, 0, originalEndOffset, ''); + var clone = NodeAlgorithm_1.node_clone(originalEndNode); + clone._data = CharacterDataAlgorithm_1.characterData_substringData(originalEndNode, 0, originalEndOffset); + MutationAlgorithm_1.mutation_append(clone, fragment); + CharacterDataAlgorithm_1.characterData_replaceData(originalEndNode, 0, originalEndOffset, ''); } else if (lastPartiallyContainedChild !== null) { /** @@ -20870,11 +21483,11 @@ function range_extract(range) { * 19.4. Let subfragment be the result of extracting subrange. * 19.5. Append subfragment to clone. */ - const clone = (0, NodeAlgorithm_1.node_clone)(lastPartiallyContainedChild); - (0, MutationAlgorithm_1.mutation_append)(clone, fragment); - const subrange = (0, CreateAlgorithm_1.create_range)([lastPartiallyContainedChild, 0], [originalEndNode, originalEndOffset]); - const subfragment = range_extract(subrange); - (0, MutationAlgorithm_1.mutation_append)(subfragment, clone); + var clone = NodeAlgorithm_1.node_clone(lastPartiallyContainedChild); + MutationAlgorithm_1.mutation_append(clone, fragment); + var subrange = CreateAlgorithm_1.create_range([lastPartiallyContainedChild, 0], [originalEndNode, originalEndOffset]); + var subfragment = range_extract(subrange); + MutationAlgorithm_1.mutation_append(subfragment, clone); } /** * 20. Set range’s start and end to (new node, new offset). @@ -20886,18 +21499,20 @@ function range_extract(range) { */ return fragment; } +exports.range_extract = range_extract; /** * Clones the contents of range as a document fragment. * * @param range - a range */ function range_cloneTheContents(range) { + var e_4, _a, e_5, _b, e_6, _c; /** * 1. Let fragment be a new DocumentFragment node whose node document * is range’s start node’s node document. * 2. If range is collapsed, then return fragment. */ - const fragment = (0, CreateAlgorithm_1.create_documentFragment)(range._startNode._nodeDocument); + var fragment = CreateAlgorithm_1.create_documentFragment(range._startNode._nodeDocument); if (range_collapsed(range)) return fragment; /** @@ -20913,23 +21528,23 @@ function range_cloneTheContents(range) { * 4.3. Append clone to fragment. * 4.5. Return fragment. */ - const originalStartNode = range._startNode; - const originalStartOffset = range._startOffset; - const originalEndNode = range._endNode; - const originalEndOffset = range._endOffset; + var originalStartNode = range._startNode; + var originalStartOffset = range._startOffset; + var originalEndNode = range._endNode; + var originalEndOffset = range._endOffset; if (originalStartNode === originalEndNode && util_1.Guard.isCharacterDataNode(originalStartNode)) { - const clone = (0, NodeAlgorithm_1.node_clone)(originalStartNode); - clone._data = (0, CharacterDataAlgorithm_1.characterData_substringData)(originalStartNode, originalStartOffset, originalEndOffset - originalStartOffset); - (0, MutationAlgorithm_1.mutation_append)(clone, fragment); + var clone = NodeAlgorithm_1.node_clone(originalStartNode); + clone._data = CharacterDataAlgorithm_1.characterData_substringData(originalStartNode, originalStartOffset, originalEndOffset - originalStartOffset); + MutationAlgorithm_1.mutation_append(clone, fragment); } /** * 5. Let common ancestor be original start node. * 6. While common ancestor is not an inclusive ancestor of original end * node, set common ancestor to its own parent. */ - let commonAncestor = originalStartNode; - while (!(0, TreeAlgorithm_1.tree_isAncestorOf)(originalEndNode, commonAncestor, true)) { + var commonAncestor = originalStartNode; + while (!TreeAlgorithm_1.tree_isAncestorOf(originalEndNode, commonAncestor, true)) { if (commonAncestor._parent === null) { throw new Error("Parent node is null."); } @@ -20941,14 +21556,24 @@ function range_cloneTheContents(range) { * node, set first partially contained child to the first child of common * ancestor that is partially contained in range. */ - let firstPartiallyContainedChild = null; - if (!(0, TreeAlgorithm_1.tree_isAncestorOf)(originalEndNode, originalStartNode, true)) { - for (const node of commonAncestor._children) { - if (range_isPartiallyContained(node, range)) { - firstPartiallyContainedChild = node; - break; + var firstPartiallyContainedChild = null; + if (!TreeAlgorithm_1.tree_isAncestorOf(originalEndNode, originalStartNode, true)) { + try { + for (var _d = __values(commonAncestor._children), _e = _d.next(); !_e.done; _e = _d.next()) { + var node = _e.value; + if (range_isPartiallyContained(node, range)) { + firstPartiallyContainedChild = node; + break; + } } } + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (_e && !_e.done && (_a = _d.return)) _a.call(_d); + } + finally { if (e_4) throw e_4.error; } + } } /** * 9. Let last partially contained child be null. @@ -20956,11 +21581,11 @@ function range_cloneTheContents(range) { * node, set last partially contained child to the last child of common * ancestor that is partially contained in range. */ - let lastPartiallyContainedChild = null; - if (!(0, TreeAlgorithm_1.tree_isAncestorOf)(originalStartNode, originalEndNode, true)) { - const children = [...commonAncestor._children]; - for (let i = children.length - 1; i > 0; i--) { - const node = children[i]; + var lastPartiallyContainedChild = null; + if (!TreeAlgorithm_1.tree_isAncestorOf(originalStartNode, originalEndNode, true)) { + var children = __spread(commonAncestor._children); + for (var i = children.length - 1; i > 0; i--) { + var node = children[i]; if (range_isPartiallyContained(node, range)) { lastPartiallyContainedChild = node; break; @@ -20973,15 +21598,25 @@ function range_cloneTheContents(range) { * 12. If any member of contained children is a doctype, then throw a * "HierarchyRequestError" DOMException. */ - const containedChildren = []; - for (const child of commonAncestor._children) { - if (range_isContained(child, range)) { - if (util_1.Guard.isDocumentTypeNode(child)) { - throw new DOMException_1.HierarchyRequestError(); + var containedChildren = []; + try { + for (var _f = __values(commonAncestor._children), _g = _f.next(); !_g.done; _g = _f.next()) { + var child = _g.value; + if (range_isContained(child, range)) { + if (util_1.Guard.isDocumentTypeNode(child)) { + throw new DOMException_1.HierarchyRequestError(); + } + containedChildren.push(child); } - containedChildren.push(child); } } + catch (e_5_1) { e_5 = { error: e_5_1 }; } + finally { + try { + if (_g && !_g.done && (_b = _f.return)) _b.call(_f); + } + finally { if (e_5) throw e_5.error; } + } if (util_1.Guard.isCharacterDataNode(firstPartiallyContainedChild)) { /** * 13. If first partially contained child is a Text, ProcessingInstruction, @@ -20992,9 +21627,9 @@ function range_cloneTheContents(range) { * original start node’s length minus original start offset. * 13.3. Append clone to fragment. */ - const clone = (0, NodeAlgorithm_1.node_clone)(originalStartNode); - clone._data = (0, CharacterDataAlgorithm_1.characterData_substringData)(originalStartNode, originalStartOffset, (0, TreeAlgorithm_1.tree_nodeLength)(originalStartNode) - originalStartOffset); - (0, MutationAlgorithm_1.mutation_append)(clone, fragment); + var clone = NodeAlgorithm_1.node_clone(originalStartNode); + clone._data = CharacterDataAlgorithm_1.characterData_substringData(originalStartNode, originalStartOffset, TreeAlgorithm_1.tree_nodeLength(originalStartNode) - originalStartOffset); + MutationAlgorithm_1.mutation_append(clone, fragment); } else if (firstPartiallyContainedChild !== null) { /** @@ -21008,22 +21643,32 @@ function range_cloneTheContents(range) { * subrange. * 14.5. Append subfragment to clone. */ - const clone = (0, NodeAlgorithm_1.node_clone)(firstPartiallyContainedChild); - (0, MutationAlgorithm_1.mutation_append)(clone, fragment); - const subrange = (0, CreateAlgorithm_1.create_range)([originalStartNode, originalStartOffset], [firstPartiallyContainedChild, (0, TreeAlgorithm_1.tree_nodeLength)(firstPartiallyContainedChild)]); - const subfragment = range_cloneTheContents(subrange); - (0, MutationAlgorithm_1.mutation_append)(subfragment, clone); + var clone = NodeAlgorithm_1.node_clone(firstPartiallyContainedChild); + MutationAlgorithm_1.mutation_append(clone, fragment); + var subrange = CreateAlgorithm_1.create_range([originalStartNode, originalStartOffset], [firstPartiallyContainedChild, TreeAlgorithm_1.tree_nodeLength(firstPartiallyContainedChild)]); + var subfragment = range_cloneTheContents(subrange); + MutationAlgorithm_1.mutation_append(subfragment, clone); } - /** - * 15. For each contained child in contained children, append contained - * child to fragment. - * 15.1. Let clone be a clone of contained child with the clone children - * flag set. - * 15.2. Append clone to fragment. - */ - for (const child of containedChildren) { - const clone = (0, NodeAlgorithm_1.node_clone)(child); - (0, MutationAlgorithm_1.mutation_append)(clone, fragment); + try { + /** + * 15. For each contained child in contained children, append contained + * child to fragment. + * 15.1. Let clone be a clone of contained child with the clone children + * flag set. + * 15.2. Append clone to fragment. + */ + for (var containedChildren_2 = __values(containedChildren), containedChildren_2_1 = containedChildren_2.next(); !containedChildren_2_1.done; containedChildren_2_1 = containedChildren_2.next()) { + var child = containedChildren_2_1.value; + var clone = NodeAlgorithm_1.node_clone(child); + MutationAlgorithm_1.mutation_append(clone, fragment); + } + } + catch (e_6_1) { e_6 = { error: e_6_1 }; } + finally { + try { + if (containedChildren_2_1 && !containedChildren_2_1.done && (_c = containedChildren_2.return)) _c.call(containedChildren_2); + } + finally { if (e_6) throw e_6.error; } } if (util_1.Guard.isCharacterDataNode(lastPartiallyContainedChild)) { /** @@ -21034,9 +21679,9 @@ function range_cloneTheContents(range) { * node original end node, offset 0, and count original end offset. * 16.3. Append clone to fragment. */ - const clone = (0, NodeAlgorithm_1.node_clone)(originalEndNode); - clone._data = (0, CharacterDataAlgorithm_1.characterData_substringData)(originalEndNode, 0, originalEndOffset); - (0, MutationAlgorithm_1.mutation_append)(clone, fragment); + var clone = NodeAlgorithm_1.node_clone(originalEndNode); + clone._data = CharacterDataAlgorithm_1.characterData_substringData(originalEndNode, 0, originalEndOffset); + MutationAlgorithm_1.mutation_append(clone, fragment); } else if (lastPartiallyContainedChild !== null) { /** @@ -21049,17 +21694,18 @@ function range_cloneTheContents(range) { * 17.4. Let subfragment be the result of cloning the contents of subrange. * 17.5. Append subfragment to clone. */ - const clone = (0, NodeAlgorithm_1.node_clone)(lastPartiallyContainedChild); + var clone = NodeAlgorithm_1.node_clone(lastPartiallyContainedChild); fragment.append(clone); - const subrange = (0, CreateAlgorithm_1.create_range)([lastPartiallyContainedChild, 0], [originalEndNode, originalEndOffset]); - const subfragment = range_extract(subrange); - (0, MutationAlgorithm_1.mutation_append)(subfragment, clone); + var subrange = CreateAlgorithm_1.create_range([lastPartiallyContainedChild, 0], [originalEndNode, originalEndOffset]); + var subfragment = range_extract(subrange); + MutationAlgorithm_1.mutation_append(subfragment, clone); } /** * 18. Return fragment. */ return fragment; } +exports.range_cloneTheContents = range_cloneTheContents; /** * Inserts a node into a range at the start boundary point. * @@ -21067,6 +21713,7 @@ function range_cloneTheContents(range) { * @param range - a range */ function range_insert(node, range) { + var e_7, _a; /** * 1. If range’s start node is a ProcessingInstruction or Comment node, is a * Text node whose parent is null, or is node, then throw a @@ -21085,25 +21732,35 @@ function range_insert(node, range) { * 4. Otherwise, set referenceNode to the child of start node whose index is * start offset, and null if there is no such child. */ - let referenceNode = null; + var referenceNode = null; if (util_1.Guard.isTextNode(range._startNode)) { referenceNode = range._startNode; } else { - let index = 0; - for (const child of range._startNode._children) { - if (index === range._startOffset) { - referenceNode = child; - break; + var index = 0; + try { + for (var _b = __values(range._startNode._children), _c = _b.next(); !_c.done; _c = _b.next()) { + var child = _c.value; + if (index === range._startOffset) { + referenceNode = child; + break; + } + index++; } - index++; + } + catch (e_7_1) { e_7 = { error: e_7_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_7) throw e_7.error; } } } /** * 5. Let parent be range’s start node if referenceNode is null, and * referenceNode’s parent otherwise. */ - let parent; + var parent; if (referenceNode === null) { parent = range._startNode; } @@ -21116,13 +21773,13 @@ function range_insert(node, range) { /** * 6. Ensure pre-insertion validity of node into parent before referenceNode. */ - (0, MutationAlgorithm_1.mutation_ensurePreInsertionValidity)(node, parent, referenceNode); + MutationAlgorithm_1.mutation_ensurePreInsertionValidity(node, parent, referenceNode); /** * 7. If range’s start node is a Text node, set referenceNode to the result * of splitting it with offset range’s start offset. */ if (util_1.Guard.isTextNode(range._startNode)) { - referenceNode = (0, TextAlgorithm_1.text_split)(range._startNode, range._startOffset); + referenceNode = TextAlgorithm_1.text_split(range._startNode, range._startOffset); } /** * 8. If node is referenceNode, set referenceNode to its next sibling. @@ -21134,20 +21791,20 @@ function range_insert(node, range) { * 9. If node’s parent is not null, remove node from its parent. */ if (node._parent !== null) { - (0, MutationAlgorithm_1.mutation_remove)(node, node._parent); + MutationAlgorithm_1.mutation_remove(node, node._parent); } /** * 10. Let newOffset be parent’s length if referenceNode is null, and * referenceNode’s index otherwise. */ - let newOffset = (referenceNode === null ? - (0, TreeAlgorithm_1.tree_nodeLength)(parent) : (0, TreeAlgorithm_1.tree_index)(referenceNode)); + var newOffset = (referenceNode === null ? + TreeAlgorithm_1.tree_nodeLength(parent) : TreeAlgorithm_1.tree_index(referenceNode)); /** * 11. Increase newOffset by node’s length if node is a DocumentFragment * node, and one otherwise. */ if (util_1.Guard.isDocumentFragmentNode(node)) { - newOffset += (0, TreeAlgorithm_1.tree_nodeLength)(node); + newOffset += TreeAlgorithm_1.tree_nodeLength(node); } else { newOffset++; @@ -21155,7 +21812,7 @@ function range_insert(node, range) { /** * 12. Pre-insert node into parent before referenceNode. */ - (0, MutationAlgorithm_1.mutation_preInsert)(node, parent, referenceNode); + MutationAlgorithm_1.mutation_preInsert(node, parent, referenceNode); /** * 13. If range is collapsed, then set range’s end to (parent, newOffset). */ @@ -21163,62 +21820,67 @@ function range_insert(node, range) { range._end = [parent, newOffset]; } } +exports.range_insert = range_insert; /** * Traverses through all contained nodes of a range. * * @param range - a range */ function range_getContainedNodes(range) { - return { - [Symbol.iterator]: () => { - const container = range.commonAncestorContainer; - let currentNode = (0, TreeAlgorithm_1.tree_getFirstDescendantNode)(container); + var _a; + return _a = {}, + _a[Symbol.iterator] = function () { + var container = range.commonAncestorContainer; + var currentNode = TreeAlgorithm_1.tree_getFirstDescendantNode(container); return { - next: () => { + next: function () { while (currentNode && !range_isContained(currentNode, range)) { - currentNode = (0, TreeAlgorithm_1.tree_getNextDescendantNode)(container, currentNode); + currentNode = TreeAlgorithm_1.tree_getNextDescendantNode(container, currentNode); } if (currentNode === null) { return { done: true, value: null }; } else { - const result = { done: false, value: currentNode }; - currentNode = (0, TreeAlgorithm_1.tree_getNextDescendantNode)(container, currentNode); + var result = { done: false, value: currentNode }; + currentNode = TreeAlgorithm_1.tree_getNextDescendantNode(container, currentNode); return result; } } }; - } - }; + }, + _a; } +exports.range_getContainedNodes = range_getContainedNodes; /** * Traverses through all partially contained nodes of a range. * * @param range - a range */ function range_getPartiallyContainedNodes(range) { - return { - [Symbol.iterator]: () => { - const container = range.commonAncestorContainer; - let currentNode = (0, TreeAlgorithm_1.tree_getFirstDescendantNode)(container); + var _a; + return _a = {}, + _a[Symbol.iterator] = function () { + var container = range.commonAncestorContainer; + var currentNode = TreeAlgorithm_1.tree_getFirstDescendantNode(container); return { - next: () => { + next: function () { while (currentNode && !range_isPartiallyContained(currentNode, range)) { - currentNode = (0, TreeAlgorithm_1.tree_getNextDescendantNode)(container, currentNode); + currentNode = TreeAlgorithm_1.tree_getNextDescendantNode(container, currentNode); } if (currentNode === null) { return { done: true, value: null }; } else { - const result = { done: false, value: currentNode }; - currentNode = (0, TreeAlgorithm_1.tree_getNextDescendantNode)(container, currentNode); + var result = { done: false, value: currentNode }; + currentNode = TreeAlgorithm_1.tree_getNextDescendantNode(container, currentNode); return result; } } }; - } - }; + }, + _a; } +exports.range_getPartiallyContainedNodes = range_getPartiallyContainedNodes; //# sourceMappingURL=RangeAlgorithm.js.map /***/ }), @@ -21229,8 +21891,7 @@ function range_getPartiallyContainedNodes(range) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.selectors_scopeMatchASelectorsString = selectors_scopeMatchASelectorsString; -const DOMException_1 = __nccwpck_require__(13166); +var DOMException_1 = __nccwpck_require__(13166); /** * Matches elements with the given selectors. * @@ -21247,30 +21908,53 @@ function selectors_scopeMatchASelectorsString(selectors, node) { */ throw new DOMException_1.NotSupportedError(); } +exports.selectors_scopeMatchASelectorsString = selectors_scopeMatchASelectorsString; //# sourceMappingURL=SelectorsAlgorithm.js.map /***/ }), /***/ 68733: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __spread = (this && this.__spread) || function () { + for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); + return ar; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.shadowTree_signalASlotChange = shadowTree_signalASlotChange; -exports.shadowTree_isConnected = shadowTree_isConnected; -exports.shadowTree_isAssigned = shadowTree_isAssigned; -exports.shadowTree_findASlot = shadowTree_findASlot; -exports.shadowTree_findSlotables = shadowTree_findSlotables; -exports.shadowTree_findFlattenedSlotables = shadowTree_findFlattenedSlotables; -exports.shadowTree_assignSlotables = shadowTree_assignSlotables; -exports.shadowTree_assignSlotablesForATree = shadowTree_assignSlotablesForATree; -exports.shadowTree_assignASlot = shadowTree_assignASlot; -const DOMImpl_1 = __nccwpck_require__(14177); -const util_1 = __nccwpck_require__(65282); -const util_2 = __nccwpck_require__(76195); -const TreeAlgorithm_1 = __nccwpck_require__(16620); -const MutationObserverAlgorithm_1 = __nccwpck_require__(78157); +var DOMImpl_1 = __nccwpck_require__(14177); +var util_1 = __nccwpck_require__(65282); +var util_2 = __nccwpck_require__(76195); +var TreeAlgorithm_1 = __nccwpck_require__(16620); +var MutationObserverAlgorithm_1 = __nccwpck_require__(78157); /** * Signals a slot change to the given slot. * @@ -21281,10 +21965,11 @@ function shadowTree_signalASlotChange(slot) { * 1. Append slot to slot’s relevant agent’s signal slots. * 2. Queue a mutation observer microtask. */ - const window = DOMImpl_1.dom.window; + var window = DOMImpl_1.dom.window; window._signalSlots.add(slot); - (0, MutationObserverAlgorithm_1.observer_queueAMutationObserverMicrotask)(); + MutationObserverAlgorithm_1.observer_queueAMutationObserverMicrotask(); } +exports.shadowTree_signalASlotChange = shadowTree_signalASlotChange; /** * Determines whether a the shadow tree of the given element node is * connected to a document node. @@ -21295,8 +21980,9 @@ function shadowTree_isConnected(element) { /** * An element is connected if its shadow-including root is a document. */ - return util_1.Guard.isDocumentNode((0, TreeAlgorithm_1.tree_rootNode)(element, true)); + return util_1.Guard.isDocumentNode(TreeAlgorithm_1.tree_rootNode(element, true)); } +exports.shadowTree_isConnected = shadowTree_isConnected; /** * Determines whether a slotable is assigned. * @@ -21308,13 +21994,15 @@ function shadowTree_isAssigned(slotable) { */ return (slotable._assignedSlot !== null); } +exports.shadowTree_isAssigned = shadowTree_isAssigned; /** * Finds a slot for the given slotable. * * @param slotable - a slotable * @param openFlag - `true` to search open shadow tree's only */ -function shadowTree_findASlot(slotable, openFlag = false) { +function shadowTree_findASlot(slotable, openFlag) { + if (openFlag === void 0) { openFlag = false; } /** * 1. If slotable’s parent is null, then return null. * 2. Let shadow be slotable’s parent’s shadow root. @@ -21324,71 +22012,85 @@ function shadowTree_findASlot(slotable, openFlag = false) { * 5. Return the first slot in tree order in shadow’s descendants whose name * is slotable’s name, if any, and null otherwise. */ - const node = util_1.Cast.asNode(slotable); - const parent = node._parent; + var node = util_1.Cast.asNode(slotable); + var parent = node._parent; if (parent === null) return null; - const shadow = parent._shadowRoot || null; + var shadow = parent._shadowRoot || null; if (shadow === null) return null; if (openFlag && shadow._mode !== "open") return null; - let child = (0, TreeAlgorithm_1.tree_getFirstDescendantNode)(shadow, false, true, (e) => util_1.Guard.isSlot(e)); + var child = TreeAlgorithm_1.tree_getFirstDescendantNode(shadow, false, true, function (e) { return util_1.Guard.isSlot(e); }); while (child !== null) { if (child._name === slotable._name) return child; - child = (0, TreeAlgorithm_1.tree_getNextDescendantNode)(shadow, child, false, true, (e) => util_1.Guard.isSlot(e)); + child = TreeAlgorithm_1.tree_getNextDescendantNode(shadow, child, false, true, function (e) { return util_1.Guard.isSlot(e); }); } return null; } +exports.shadowTree_findASlot = shadowTree_findASlot; /** * Finds slotables for the given slot. * * @param slot - a slot */ function shadowTree_findSlotables(slot) { + var e_1, _a; /** * 1. Let result be an empty list. * 2. If slot’s root is not a shadow root, then return result. */ - const result = []; - const root = (0, TreeAlgorithm_1.tree_rootNode)(slot); + var result = []; + var root = TreeAlgorithm_1.tree_rootNode(slot); if (!util_1.Guard.isShadowRoot(root)) return result; /** * 3. Let host be slot’s root’s host. * 4. For each slotable child of host, slotable, in tree order: */ - const host = root._host; - for (const slotable of host._children) { - if (util_1.Guard.isSlotable(slotable)) { - /** - * 4.1. Let foundSlot be the result of finding a slot given slotable. - * 4.2. If foundSlot is slot, then append slotable to result. - */ - const foundSlot = shadowTree_findASlot(slotable); - if (foundSlot === slot) { - result.push(slotable); + var host = root._host; + try { + for (var _b = __values(host._children), _c = _b.next(); !_c.done; _c = _b.next()) { + var slotable = _c.value; + if (util_1.Guard.isSlotable(slotable)) { + /** + * 4.1. Let foundSlot be the result of finding a slot given slotable. + * 4.2. If foundSlot is slot, then append slotable to result. + */ + var foundSlot = shadowTree_findASlot(slotable); + if (foundSlot === slot) { + result.push(slotable); + } } } } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } + } /** * 5. Return result. */ return result; } +exports.shadowTree_findSlotables = shadowTree_findSlotables; /** * Finds slotables for the given slot. * * @param slot - a slot */ function shadowTree_findFlattenedSlotables(slot) { + var e_2, _a, e_3, _b; /** * 1. Let result be an empty list. * 2. If slot’s root is not a shadow root, then return result. */ - const result = []; - const root = (0, TreeAlgorithm_1.tree_rootNode)(slot); + var result = []; + var root = TreeAlgorithm_1.tree_rootNode(slot); if (!util_1.Guard.isShadowRoot(root)) return result; /** @@ -21396,56 +22098,78 @@ function shadowTree_findFlattenedSlotables(slot) { * 4. If slotables is the empty list, then append each slotable child of * slot, in tree order, to slotables. */ - const slotables = shadowTree_findSlotables(slot); - if ((0, util_2.isEmpty)(slotables)) { - for (const slotable of slot._children) { - if (util_1.Guard.isSlotable(slotable)) { - slotables.push(slotable); + var slotables = shadowTree_findSlotables(slot); + if (util_2.isEmpty(slotables)) { + try { + for (var _c = __values(slot._children), _d = _c.next(); !_d.done; _d = _c.next()) { + var slotable = _d.value; + if (util_1.Guard.isSlotable(slotable)) { + slotables.push(slotable); + } + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_d && !_d.done && (_a = _c.return)) _a.call(_c); + } + finally { if (e_2) throw e_2.error; } + } + } + try { + /** + * 5. For each node in slotables: + */ + for (var slotables_1 = __values(slotables), slotables_1_1 = slotables_1.next(); !slotables_1_1.done; slotables_1_1 = slotables_1.next()) { + var node = slotables_1_1.value; + /** + * 5.1. If node is a slot whose root is a shadow root, then: + */ + if (util_1.Guard.isSlot(node) && util_1.Guard.isShadowRoot(TreeAlgorithm_1.tree_rootNode(node))) { + /** + * 5.1.1. Let temporaryResult be the result of finding flattened slotables given node. + * 5.1.2. Append each slotable in temporaryResult, in order, to result. + */ + var temporaryResult = shadowTree_findFlattenedSlotables(node); + result.push.apply(result, __spread(temporaryResult)); + } + else { + /** + * 5.2. Otherwise, append node to result. + */ + result.push(node); } } } - /** - * 5. For each node in slotables: - */ - for (const node of slotables) { - /** - * 5.1. If node is a slot whose root is a shadow root, then: - */ - if (util_1.Guard.isSlot(node) && util_1.Guard.isShadowRoot((0, TreeAlgorithm_1.tree_rootNode)(node))) { - /** - * 5.1.1. Let temporaryResult be the result of finding flattened slotables given node. - * 5.1.2. Append each slotable in temporaryResult, in order, to result. - */ - const temporaryResult = shadowTree_findFlattenedSlotables(node); - result.push(...temporaryResult); - } - else { - /** - * 5.2. Otherwise, append node to result. - */ - result.push(node); + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (slotables_1_1 && !slotables_1_1.done && (_b = slotables_1.return)) _b.call(slotables_1); } + finally { if (e_3) throw e_3.error; } } /** * 6. Return result. */ return result; } +exports.shadowTree_findFlattenedSlotables = shadowTree_findFlattenedSlotables; /** * Assigns slotables to the given slot. * * @param slot - a slot */ function shadowTree_assignSlotables(slot) { + var e_4, _a; /** * 1. Let slotables be the result of finding slotables for slot. * 2. If slotables and slot’s assigned nodes are not identical, then run * signal a slot change for slot. */ - const slotables = shadowTree_findSlotables(slot); + var slotables = shadowTree_findSlotables(slot); if (slotables.length === slot._assignedNodes.length) { - let nodesIdentical = true; - for (let i = 0; i < slotables.length; i++) { + var nodesIdentical = true; + for (var i = 0; i < slotables.length; i++) { if (slotables[i] !== slot._assignedNodes[i]) { nodesIdentical = false; break; @@ -21460,10 +22184,21 @@ function shadowTree_assignSlotables(slot) { * 4. For each slotable in slotables, set slotable’s assigned slot to slot. */ slot._assignedNodes = slotables; - for (const slotable of slotables) { - slotable._assignedSlot = slot; + try { + for (var slotables_2 = __values(slotables), slotables_2_1 = slotables_2.next(); !slotables_2_1.done; slotables_2_1 = slotables_2.next()) { + var slotable = slotables_2_1.value; + slotable._assignedSlot = slot; + } + } + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (slotables_2_1 && !slotables_2_1.done && (_a = slotables_2.return)) _a.call(slotables_2); + } + finally { if (e_4) throw e_4.error; } } } +exports.shadowTree_assignSlotables = shadowTree_assignSlotables; /** * Assigns slotables to all nodes of a tree. * @@ -21474,12 +22209,13 @@ function shadowTree_assignSlotablesForATree(root) { * To assign slotables for a tree, given a node root, run assign slotables * for each slot slot in root’s inclusive descendants, in tree order. */ - let descendant = (0, TreeAlgorithm_1.tree_getFirstDescendantNode)(root, true, false, (e) => util_1.Guard.isSlot(e)); + var descendant = TreeAlgorithm_1.tree_getFirstDescendantNode(root, true, false, function (e) { return util_1.Guard.isSlot(e); }); while (descendant !== null) { shadowTree_assignSlotables(descendant); - descendant = (0, TreeAlgorithm_1.tree_getNextDescendantNode)(root, descendant, true, false, (e) => util_1.Guard.isSlot(e)); + descendant = TreeAlgorithm_1.tree_getNextDescendantNode(root, descendant, true, false, function (e) { return util_1.Guard.isSlot(e); }); } } +exports.shadowTree_assignSlotablesForATree = shadowTree_assignSlotablesForATree; /** * Assigns a slot to a slotables. * @@ -21490,53 +22226,63 @@ function shadowTree_assignASlot(slotable) { * 1. Let slot be the result of finding a slot with slotable. * 2. If slot is non-null, then run assign slotables for slot. */ - const slot = shadowTree_findASlot(slotable); + var slot = shadowTree_findASlot(slotable); if (slot !== null) { shadowTree_assignSlotables(slot); } } +exports.shadowTree_assignASlot = shadowTree_assignASlot; //# sourceMappingURL=ShadowTreeAlgorithm.js.map /***/ }), /***/ 13512: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.text_contiguousTextNodes = text_contiguousTextNodes; -exports.text_contiguousExclusiveTextNodes = text_contiguousExclusiveTextNodes; -exports.text_descendantTextContent = text_descendantTextContent; -exports.text_split = text_split; -const DOMImpl_1 = __nccwpck_require__(14177); -const util_1 = __nccwpck_require__(65282); -const DOMException_1 = __nccwpck_require__(13166); -const CreateAlgorithm_1 = __nccwpck_require__(57339); -const TreeAlgorithm_1 = __nccwpck_require__(16620); -const CharacterDataAlgorithm_1 = __nccwpck_require__(19461); -const MutationAlgorithm_1 = __nccwpck_require__(45463); +var DOMImpl_1 = __nccwpck_require__(14177); +var util_1 = __nccwpck_require__(65282); +var DOMException_1 = __nccwpck_require__(13166); +var CreateAlgorithm_1 = __nccwpck_require__(57339); +var TreeAlgorithm_1 = __nccwpck_require__(16620); +var CharacterDataAlgorithm_1 = __nccwpck_require__(19461); +var MutationAlgorithm_1 = __nccwpck_require__(45463); /** * Returns node with its adjacent text and cdata node siblings. * * @param node - a node * @param self - whether to include node itself */ -function text_contiguousTextNodes(node, self = false) { +function text_contiguousTextNodes(node, self) { + var _a; + if (self === void 0) { self = false; } /** * The contiguous Text nodes of a node node are node, node’s previous * sibling Text node, if any, and its contiguous Text nodes, and node’s next * sibling Text node, if any, and its contiguous Text nodes, avoiding any * duplicates. */ - return { - [Symbol.iterator]() { - let currentNode = node; + return _a = {}, + _a[Symbol.iterator] = function () { + var currentNode = node; while (currentNode && util_1.Guard.isTextNode(currentNode._previousSibling)) { currentNode = currentNode._previousSibling; } return { - next() { + next: function () { if (currentNode && (!self && currentNode === node)) { if (util_1.Guard.isTextNode(currentNode._nextSibling)) { currentNode = currentNode._nextSibling; @@ -21549,7 +22295,7 @@ function text_contiguousTextNodes(node, self = false) { return { done: true, value: null }; } else { - const result = { done: false, value: currentNode }; + var result = { done: false, value: currentNode }; if (util_1.Guard.isTextNode(currentNode._nextSibling)) { currentNode = currentNode._nextSibling; } @@ -21560,30 +22306,33 @@ function text_contiguousTextNodes(node, self = false) { } } }; - } - }; + }, + _a; } +exports.text_contiguousTextNodes = text_contiguousTextNodes; /** * Returns node with its adjacent text node siblings. * * @param node - a node * @param self - whether to include node itself */ -function text_contiguousExclusiveTextNodes(node, self = false) { +function text_contiguousExclusiveTextNodes(node, self) { + var _a; + if (self === void 0) { self = false; } /** * The contiguous exclusive Text nodes of a node node are node, node’s * previous sibling exclusive Text node, if any, and its contiguous * exclusive Text nodes, and node’s next sibling exclusive Text node, * if any, and its contiguous exclusive Text nodes, avoiding any duplicates. */ - return { - [Symbol.iterator]() { - let currentNode = node; + return _a = {}, + _a[Symbol.iterator] = function () { + var currentNode = node; while (currentNode && util_1.Guard.isExclusiveTextNode(currentNode._previousSibling)) { currentNode = currentNode._previousSibling; } return { - next() { + next: function () { if (currentNode && (!self && currentNode === node)) { if (util_1.Guard.isExclusiveTextNode(currentNode._nextSibling)) { currentNode = currentNode._nextSibling; @@ -21596,7 +22345,7 @@ function text_contiguousExclusiveTextNodes(node, self = false) { return { done: true, value: null }; } else { - const result = { done: false, value: currentNode }; + var result = { done: false, value: currentNode }; if (util_1.Guard.isExclusiveTextNode(currentNode._nextSibling)) { currentNode = currentNode._nextSibling; } @@ -21607,9 +22356,10 @@ function text_contiguousExclusiveTextNodes(node, self = false) { } } }; - } - }; + }, + _a; } +exports.text_contiguousExclusiveTextNodes = text_contiguousExclusiveTextNodes; /** * Returns the concatenation of the data of all the Text node descendants of * node, in tree order. @@ -21621,14 +22371,15 @@ function text_descendantTextContent(node) { * The descendant text content of a node node is the concatenation of the * data of all the Text node descendants of node, in tree order. */ - let contents = ''; - let text = (0, TreeAlgorithm_1.tree_getFirstDescendantNode)(node, false, false, (e) => util_1.Guard.isTextNode(e)); + var contents = ''; + var text = TreeAlgorithm_1.tree_getFirstDescendantNode(node, false, false, function (e) { return util_1.Guard.isTextNode(e); }); while (text !== null) { contents += text._data; - text = (0, TreeAlgorithm_1.tree_getNextDescendantNode)(node, text, false, false, (e) => util_1.Guard.isTextNode(e)); + text = TreeAlgorithm_1.tree_getNextDescendantNode(node, text, false, false, function (e) { return util_1.Guard.isTextNode(e); }); } return contents; } +exports.text_descendantTextContent = text_descendantTextContent; /** * Splits data at the given offset and returns the remainder as a text * node. @@ -21637,12 +22388,13 @@ function text_descendantTextContent(node) { * @param offset - the offset at which to split the nodes. */ function text_split(node, offset) { + var e_1, _a; /** * 1. Let length be node’s length. * 2. If offset is greater than length, then throw an "IndexSizeError" * DOMException. */ - const length = node._data.length; + var length = node._data.length; if (offset > length) { throw new DOMException_1.IndexSizeError(); } @@ -21655,43 +22407,53 @@ function text_split(node, offset) { * 6. Let parent be node’s parent. * 7. If parent is not null, then: */ - const count = length - offset; - const newData = (0, CharacterDataAlgorithm_1.characterData_substringData)(node, offset, count); - const newNode = (0, CreateAlgorithm_1.create_text)(node._nodeDocument, newData); - const parent = node._parent; + var count = length - offset; + var newData = CharacterDataAlgorithm_1.characterData_substringData(node, offset, count); + var newNode = CreateAlgorithm_1.create_text(node._nodeDocument, newData); + var parent = node._parent; if (parent !== null) { /** * 7.1. Insert new node into parent before node’s next sibling. */ - (0, MutationAlgorithm_1.mutation_insert)(newNode, parent, node._nextSibling); - /** - * 7.2. For each live range whose start node is node and start offset is - * greater than offset, set its start node to new node and decrease its - * start offset by offset. - * 7.3. For each live range whose end node is node and end offset is greater - * than offset, set its end node to new node and decrease its end offset - * by offset. - * 7.4. For each live range whose start node is parent and start offset is - * equal to the index of node plus 1, increase its start offset by 1. - * 7.5. For each live range whose end node is parent and end offset is equal - * to the index of node plus 1, increase its end offset by 1. - */ - for (const range of DOMImpl_1.dom.rangeList) { - if (range._start[0] === node && range._start[1] > offset) { - range._start[0] = newNode; - range._start[1] -= offset; + MutationAlgorithm_1.mutation_insert(newNode, parent, node._nextSibling); + try { + /** + * 7.2. For each live range whose start node is node and start offset is + * greater than offset, set its start node to new node and decrease its + * start offset by offset. + * 7.3. For each live range whose end node is node and end offset is greater + * than offset, set its end node to new node and decrease its end offset + * by offset. + * 7.4. For each live range whose start node is parent and start offset is + * equal to the index of node plus 1, increase its start offset by 1. + * 7.5. For each live range whose end node is parent and end offset is equal + * to the index of node plus 1, increase its end offset by 1. + */ + for (var _b = __values(DOMImpl_1.dom.rangeList), _c = _b.next(); !_c.done; _c = _b.next()) { + var range = _c.value; + if (range._start[0] === node && range._start[1] > offset) { + range._start[0] = newNode; + range._start[1] -= offset; + } + if (range._end[0] === node && range._end[1] > offset) { + range._end[0] = newNode; + range._end[1] -= offset; + } + var index = TreeAlgorithm_1.tree_index(node); + if (range._start[0] === parent && range._start[1] === index + 1) { + range._start[1]++; + } + if (range._end[0] === parent && range._end[1] === index + 1) { + range._end[1]++; + } } - if (range._end[0] === node && range._end[1] > offset) { - range._end[0] = newNode; - range._end[1] -= offset; - } - const index = (0, TreeAlgorithm_1.tree_index)(node); - if (range._start[0] === parent && range._start[1] === index + 1) { - range._start[1]++; - } - if (range._end[0] === parent && range._end[1] === index + 1) { - range._end[1]++; + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } + finally { if (e_1) throw e_1.error; } } } /** @@ -21699,9 +22461,10 @@ function text_split(node, offset) { * the empty string. * 9. Return new node. */ - (0, CharacterDataAlgorithm_1.characterData_replaceData)(node, offset, count, ''); + CharacterDataAlgorithm_1.characterData_replaceData(node, offset, count, ''); return newNode; } +exports.text_split = text_split; //# sourceMappingURL=TextAlgorithm.js.map /***/ }), @@ -21712,9 +22475,8 @@ function text_split(node, offset) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.traversal_filter = traversal_filter; -const interfaces_1 = __nccwpck_require__(27305); -const DOMException_1 = __nccwpck_require__(13166); +var interfaces_1 = __nccwpck_require__(27305); +var DOMException_1 = __nccwpck_require__(13166); /** * Applies the filter to the given node and returns the result. * @@ -21732,12 +22494,12 @@ function traversal_filter(traverser, node) { /** * 2. Let n be node’s nodeType attribute value − 1. */ - const n = node._nodeType - 1; + var n = node._nodeType - 1; /** * 3. If the nth bit (where 0 is the least significant bit) of traverser’s * whatToShow is not set, then return FILTER_SKIP. */ - const mask = 1 << n; + var mask = 1 << n; if ((traverser.whatToShow & mask) === 0) { return interfaces_1.FilterResult.Skip; } @@ -21756,7 +22518,7 @@ function traversal_filter(traverser, node) { * traverser’s filter, "acceptNode", and « node ». If this throws an * exception, then unset traverser’s active flag and rethrow the exception. */ - let result = interfaces_1.FilterResult.Reject; + var result = interfaces_1.FilterResult.Reject; try { result = traverser.filter.acceptNode(node); } @@ -21771,48 +22533,30 @@ function traversal_filter(traverser, node) { traverser._activeFlag = false; return result; } +exports.traversal_filter = traversal_filter; //# sourceMappingURL=TraversalAlgorithm.js.map /***/ }), /***/ 16620: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.tree_getFirstDescendantNode = tree_getFirstDescendantNode; -exports.tree_getNextDescendantNode = tree_getNextDescendantNode; -exports.tree_getDescendantNodes = tree_getDescendantNodes; -exports.tree_getDescendantElements = tree_getDescendantElements; -exports.tree_getSiblingNodes = tree_getSiblingNodes; -exports.tree_getFirstAncestorNode = tree_getFirstAncestorNode; -exports.tree_getNextAncestorNode = tree_getNextAncestorNode; -exports.tree_getAncestorNodes = tree_getAncestorNodes; -exports.tree_getCommonAncestor = tree_getCommonAncestor; -exports.tree_getFollowingNode = tree_getFollowingNode; -exports.tree_getPrecedingNode = tree_getPrecedingNode; -exports.tree_isConstrained = tree_isConstrained; -exports.tree_nodeLength = tree_nodeLength; -exports.tree_isEmpty = tree_isEmpty; -exports.tree_rootNode = tree_rootNode; -exports.tree_isDescendantOf = tree_isDescendantOf; -exports.tree_isAncestorOf = tree_isAncestorOf; -exports.tree_isHostIncludingAncestorOf = tree_isHostIncludingAncestorOf; -exports.tree_isSiblingOf = tree_isSiblingOf; -exports.tree_isPreceding = tree_isPreceding; -exports.tree_isFollowing = tree_isFollowing; -exports.tree_isParentOf = tree_isParentOf; -exports.tree_isChildOf = tree_isChildOf; -exports.tree_previousSibling = tree_previousSibling; -exports.tree_nextSibling = tree_nextSibling; -exports.tree_firstChild = tree_firstChild; -exports.tree_lastChild = tree_lastChild; -exports.tree_treePosition = tree_treePosition; -exports.tree_index = tree_index; -exports.tree_retarget = tree_retarget; -const util_1 = __nccwpck_require__(65282); -const interfaces_1 = __nccwpck_require__(27305); +var util_1 = __nccwpck_require__(65282); +var interfaces_1 = __nccwpck_require__(27305); /** * Gets the next descendant of the given node of the tree rooted at `root` * in depth-first pre-order. @@ -21821,7 +22565,8 @@ const interfaces_1 = __nccwpck_require__(27305); * @param node - a node * @param shadow - whether to visit shadow tree nodes */ -function _getNextDescendantNode(root, node, shadow = false) { +function _getNextDescendantNode(root, node, shadow) { + if (shadow === void 0) { shadow = false; } // traverse shadow tree if (shadow && util_1.Guard.isElementNode(node) && util_1.Guard.isShadowRoot(node.shadowRoot)) { if (node.shadowRoot._firstChild) @@ -21836,7 +22581,7 @@ function _getNextDescendantNode(root, node, shadow = false) { if (node._nextSibling) return node._nextSibling; // traverse parent's next sibling - let parent = node._parent; + var parent = node._parent; while (parent && parent !== root) { if (parent._nextSibling) return parent._nextSibling; @@ -21845,15 +22590,16 @@ function _getNextDescendantNode(root, node, shadow = false) { return null; } function _emptyIterator() { - return { - [Symbol.iterator]: () => { + var _a; + return _a = {}, + _a[Symbol.iterator] = function () { return { - next: () => { + next: function () { return { done: true, value: null }; } }; - } - }; + }, + _a; } /** * Returns the first descendant node of the tree rooted at `node` in @@ -21864,13 +22610,16 @@ function _emptyIterator() { * @param shadow - whether to visit shadow tree nodes * @param filter - a function to filter nodes */ -function tree_getFirstDescendantNode(node, self = false, shadow = false, filter) { - let firstNode = (self ? node : _getNextDescendantNode(node, node, shadow)); +function tree_getFirstDescendantNode(node, self, shadow, filter) { + if (self === void 0) { self = false; } + if (shadow === void 0) { shadow = false; } + var firstNode = (self ? node : _getNextDescendantNode(node, node, shadow)); while (firstNode && filter && !filter(firstNode)) { firstNode = _getNextDescendantNode(node, firstNode, shadow); } return firstNode; } +exports.tree_getFirstDescendantNode = tree_getFirstDescendantNode; /** * Returns the next descendant node of the tree rooted at `node` in * depth-first pre-order. @@ -21881,13 +22630,16 @@ function tree_getFirstDescendantNode(node, self = false, shadow = false, filter) * @param shadow - whether to visit shadow tree nodes * @param filter - a function to filter nodes */ -function tree_getNextDescendantNode(node, currentNode, self = false, shadow = false, filter) { - let nextNode = _getNextDescendantNode(node, currentNode, shadow); +function tree_getNextDescendantNode(node, currentNode, self, shadow, filter) { + if (self === void 0) { self = false; } + if (shadow === void 0) { shadow = false; } + var nextNode = _getNextDescendantNode(node, currentNode, shadow); while (nextNode && filter && !filter(nextNode)) { nextNode = _getNextDescendantNode(node, nextNode, shadow); } return nextNode; } +exports.tree_getNextDescendantNode = tree_getNextDescendantNode; /** * Traverses through all descendant nodes of the tree rooted at * `node` in depth-first pre-order. @@ -21897,15 +22649,18 @@ function tree_getNextDescendantNode(node, currentNode, self = false, shadow = fa * @param shadow - whether to visit shadow tree nodes * @param filter - a function to filter nodes */ -function tree_getDescendantNodes(node, self = false, shadow = false, filter) { +function tree_getDescendantNodes(node, self, shadow, filter) { + var _a; + if (self === void 0) { self = false; } + if (shadow === void 0) { shadow = false; } if (!self && node._children.size === 0) { return _emptyIterator(); } - return { - [Symbol.iterator]: () => { - let currentNode = (self ? node : _getNextDescendantNode(node, node, shadow)); + return _a = {}, + _a[Symbol.iterator] = function () { + var currentNode = (self ? node : _getNextDescendantNode(node, node, shadow)); return { - next: () => { + next: function () { while (currentNode && filter && !filter(currentNode)) { currentNode = _getNextDescendantNode(node, currentNode, shadow); } @@ -21913,15 +22668,16 @@ function tree_getDescendantNodes(node, self = false, shadow = false, filter) { return { done: true, value: null }; } else { - const result = { done: false, value: currentNode }; + var result = { done: false, value: currentNode }; currentNode = _getNextDescendantNode(node, currentNode, shadow); return result; } } }; - } - }; + }, + _a; } +exports.tree_getDescendantNodes = tree_getDescendantNodes; /** * Traverses through all descendant element nodes of the tree rooted at * `node` in depth-first preorder. @@ -21931,16 +22687,19 @@ function tree_getDescendantNodes(node, self = false, shadow = false, filter) { * @param shadow - whether to visit shadow tree nodes * @param filter - a function to filter nodes */ -function tree_getDescendantElements(node, self = false, shadow = false, filter) { +function tree_getDescendantElements(node, self, shadow, filter) { + var _a; + if (self === void 0) { self = false; } + if (shadow === void 0) { shadow = false; } if (!self && node._children.size === 0) { return _emptyIterator(); } - return { - [Symbol.iterator]: () => { - const it = tree_getDescendantNodes(node, self, shadow, (e) => util_1.Guard.isElementNode(e))[Symbol.iterator](); - let currentNode = it.next().value; + return _a = {}, + _a[Symbol.iterator] = function () { + var it = tree_getDescendantNodes(node, self, shadow, function (e) { return util_1.Guard.isElementNode(e); })[Symbol.iterator](); + var currentNode = it.next().value; return { - next() { + next: function () { while (currentNode && filter && !filter(currentNode)) { currentNode = it.next().value; } @@ -21948,15 +22707,16 @@ function tree_getDescendantElements(node, self = false, shadow = false, filter) return { done: true, value: null }; } else { - const result = { done: false, value: currentNode }; + var result = { done: false, value: currentNode }; currentNode = it.next().value; return result; } } }; - } - }; + }, + _a; } +exports.tree_getDescendantElements = tree_getDescendantElements; /** * Traverses through all sibling nodes of `node`. * @@ -21964,15 +22724,17 @@ function tree_getDescendantElements(node, self = false, shadow = false, filter) * @param self - whether to include `node` in traversal * @param filter - a function to filter nodes */ -function tree_getSiblingNodes(node, self = false, filter) { +function tree_getSiblingNodes(node, self, filter) { + var _a; + if (self === void 0) { self = false; } if (!node._parent || node._parent._children.size === 0) { return _emptyIterator(); } - return { - [Symbol.iterator]() { - let currentNode = node._parent ? node._parent._firstChild : null; + return _a = {}, + _a[Symbol.iterator] = function () { + var currentNode = node._parent ? node._parent._firstChild : null; return { - next() { + next: function () { while (currentNode && (filter && !filter(currentNode) || (!self && currentNode === node))) { currentNode = currentNode._nextSibling; } @@ -21980,15 +22742,16 @@ function tree_getSiblingNodes(node, self = false, filter) { return { done: true, value: null }; } else { - const result = { done: false, value: currentNode }; + var result = { done: false, value: currentNode }; currentNode = currentNode._nextSibling; return result; } } }; - } - }; + }, + _a; } +exports.tree_getSiblingNodes = tree_getSiblingNodes; /** * Gets the first ancestor of `node` in reverse tree order. * @@ -21996,13 +22759,15 @@ function tree_getSiblingNodes(node, self = false, filter) { * @param self - whether to include `node` in traversal * @param filter - a function to filter nodes */ -function tree_getFirstAncestorNode(node, self = false, filter) { - let firstNode = self ? node : node._parent; +function tree_getFirstAncestorNode(node, self, filter) { + if (self === void 0) { self = false; } + var firstNode = self ? node : node._parent; while (firstNode && filter && !filter(firstNode)) { firstNode = firstNode._parent; } return firstNode; } +exports.tree_getFirstAncestorNode = tree_getFirstAncestorNode; /** * Gets the first ancestor of `node` in reverse tree order. * @@ -22010,13 +22775,15 @@ function tree_getFirstAncestorNode(node, self = false, filter) { * @param self - whether to include `node` in traversal * @param filter - a function to filter nodes */ -function tree_getNextAncestorNode(node, currentNode, self = false, filter) { - let nextNode = currentNode._parent; +function tree_getNextAncestorNode(node, currentNode, self, filter) { + if (self === void 0) { self = false; } + var nextNode = currentNode._parent; while (nextNode && filter && !filter(nextNode)) { nextNode = nextNode._parent; } return nextNode; } +exports.tree_getNextAncestorNode = tree_getNextAncestorNode; /** * Traverses through all ancestor nodes `node` in reverse tree order. * @@ -22024,28 +22791,31 @@ function tree_getNextAncestorNode(node, currentNode, self = false, filter) { * @param self - whether to include `node` in traversal * @param filter - a function to filter nodes */ -function tree_getAncestorNodes(node, self = false, filter) { +function tree_getAncestorNodes(node, self, filter) { + var _a; + if (self === void 0) { self = false; } if (!self && !node._parent) { return _emptyIterator(); } - return { - [Symbol.iterator]() { - let currentNode = tree_getFirstAncestorNode(node, self, filter); + return _a = {}, + _a[Symbol.iterator] = function () { + var currentNode = tree_getFirstAncestorNode(node, self, filter); return { - next() { + next: function () { if (currentNode === null) { return { done: true, value: null }; } else { - const result = { done: false, value: currentNode }; + var result = { done: false, value: currentNode }; currentNode = tree_getNextAncestorNode(node, currentNode, self, filter); return result; } } }; - } - }; + }, + _a; } +exports.tree_getAncestorNodes = tree_getAncestorNodes; /** * Returns the common ancestor of the given nodes. * @@ -22057,25 +22827,25 @@ function tree_getCommonAncestor(nodeA, nodeB) { return nodeA._parent; } // lists of parent nodes - const parentsA = []; - const parentsB = []; - let pA = tree_getFirstAncestorNode(nodeA, true); + var parentsA = []; + var parentsB = []; + var pA = tree_getFirstAncestorNode(nodeA, true); while (pA !== null) { parentsA.push(pA); pA = tree_getNextAncestorNode(nodeA, pA, true); } - let pB = tree_getFirstAncestorNode(nodeB, true); + var pB = tree_getFirstAncestorNode(nodeB, true); while (pB !== null) { parentsB.push(pB); pB = tree_getNextAncestorNode(nodeB, pB, true); } // walk through parents backwards until they differ - let pos1 = parentsA.length; - let pos2 = parentsB.length; - let parent = null; - for (let i = Math.min(pos1, pos2); i > 0; i--) { - const parent1 = parentsA[--pos1]; - const parent2 = parentsB[--pos2]; + var pos1 = parentsA.length; + var pos2 = parentsB.length; + var parent = null; + for (var i = Math.min(pos1, pos2); i > 0; i--) { + var parent1 = parentsA[--pos1]; + var parent2 = parentsB[--pos2]; if (parent1 !== parent2) { break; } @@ -22083,6 +22853,7 @@ function tree_getCommonAncestor(nodeA, nodeB) { } return parent; } +exports.tree_getCommonAncestor = tree_getCommonAncestor; /** * Returns the node following `node` in depth-first preorder. * @@ -22098,7 +22869,7 @@ function tree_getFollowingNode(root, node) { } else { while (true) { - const parent = node._parent; + var parent = node._parent; if (parent === null || parent === root) { return null; } @@ -22111,6 +22882,7 @@ function tree_getFollowingNode(root, node) { } } } +exports.tree_getFollowingNode = tree_getFollowingNode; /** * Returns the node preceding `node` in depth-first preorder. * @@ -22134,6 +22906,7 @@ function tree_getPrecedingNode(root, node) { return node._parent; } } +exports.tree_getPrecedingNode = tree_getPrecedingNode; /** * Determines if the node tree is constrained. A node tree is * constrained as follows, expressed as a relationship between the @@ -22156,44 +22929,65 @@ function tree_getPrecedingNode(root, node) { * @param node - the root of the tree */ function tree_isConstrained(node) { + var e_1, _a, e_2, _b, e_3, _c; switch (node._nodeType) { case interfaces_1.NodeType.Document: - let hasDocType = false; - let hasElement = false; - for (const childNode of node._children) { - switch (childNode._nodeType) { - case interfaces_1.NodeType.ProcessingInstruction: - case interfaces_1.NodeType.Comment: - break; - case interfaces_1.NodeType.DocumentType: - if (hasDocType || hasElement) + var hasDocType = false; + var hasElement = false; + try { + for (var _d = __values(node._children), _e = _d.next(); !_e.done; _e = _d.next()) { + var childNode = _e.value; + switch (childNode._nodeType) { + case interfaces_1.NodeType.ProcessingInstruction: + case interfaces_1.NodeType.Comment: + break; + case interfaces_1.NodeType.DocumentType: + if (hasDocType || hasElement) + return false; + hasDocType = true; + break; + case interfaces_1.NodeType.Element: + if (hasElement) + return false; + hasElement = true; + break; + default: return false; - hasDocType = true; - break; - case interfaces_1.NodeType.Element: - if (hasElement) - return false; - hasElement = true; - break; - default: - return false; + } } } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_e && !_e.done && (_a = _d.return)) _a.call(_d); + } + finally { if (e_1) throw e_1.error; } + } break; case interfaces_1.NodeType.DocumentFragment: case interfaces_1.NodeType.Element: - for (const childNode of node._children) { - switch (childNode._nodeType) { - case interfaces_1.NodeType.Element: - case interfaces_1.NodeType.Text: - case interfaces_1.NodeType.ProcessingInstruction: - case interfaces_1.NodeType.CData: - case interfaces_1.NodeType.Comment: - break; - default: - return false; + try { + for (var _f = __values(node._children), _g = _f.next(); !_g.done; _g = _f.next()) { + var childNode = _g.value; + switch (childNode._nodeType) { + case interfaces_1.NodeType.Element: + case interfaces_1.NodeType.Text: + case interfaces_1.NodeType.ProcessingInstruction: + case interfaces_1.NodeType.CData: + case interfaces_1.NodeType.Comment: + break; + default: + return false; + } } } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_g && !_g.done && (_b = _f.return)) _b.call(_f); + } + finally { if (e_2) throw e_2.error; } + } break; case interfaces_1.NodeType.DocumentType: case interfaces_1.NodeType.Text: @@ -22202,13 +22996,24 @@ function tree_isConstrained(node) { case interfaces_1.NodeType.Comment: return (!node.hasChildNodes()); } - for (const childNode of node._children) { - // recursively check child nodes - if (!tree_isConstrained(childNode)) - return false; + try { + for (var _h = __values(node._children), _j = _h.next(); !_j.done; _j = _h.next()) { + var childNode = _j.value; + // recursively check child nodes + if (!tree_isConstrained(childNode)) + return false; + } + } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (_j && !_j.done && (_c = _h.return)) _c.call(_h); + } + finally { if (e_3) throw e_3.error; } } return true; } +exports.tree_isConstrained = tree_isConstrained; /** * Returns the length of a node. * @@ -22236,6 +23041,7 @@ function tree_nodeLength(node) { return node._children.size; } } +exports.tree_nodeLength = tree_nodeLength; /** * Determines if a node is empty. * @@ -22247,6 +23053,7 @@ function tree_isEmpty(node) { */ return (tree_nodeLength(node) === 0); } +exports.tree_isEmpty = tree_isEmpty; /** * Returns the root node of a tree. The root of an object is itself, * if its parent is `null`, or else it is the root of its parent. @@ -22257,14 +23064,15 @@ function tree_isEmpty(node) { * @param shadow - `true` to return shadow-including root, otherwise * `false` */ -function tree_rootNode(node, shadow = false) { +function tree_rootNode(node, shadow) { + if (shadow === void 0) { shadow = false; } /** * The root of an object is itself, if its parent is null, or else it is the * root of its parent. The root of a tree is any object participating in * that tree whose parent is null. */ if (shadow) { - const root = tree_rootNode(node, false); + var root = tree_rootNode(node, false); if (util_1.Guard.isShadowRoot(root)) return tree_rootNode(root._host, true); else @@ -22277,6 +23085,7 @@ function tree_rootNode(node, shadow = false) { return tree_rootNode(node._parent); } } +exports.tree_rootNode = tree_rootNode; /** * Determines whether `other` is a descendant of `node`. An object * A is called a descendant of an object B, if either A is a child @@ -22288,14 +23097,16 @@ function tree_rootNode(node, shadow = false) { * @param shadow - if `true`, traversal includes the * node's and its descendant's shadow trees as well. */ -function tree_isDescendantOf(node, other, self = false, shadow = false) { +function tree_isDescendantOf(node, other, self, shadow) { + if (self === void 0) { self = false; } + if (shadow === void 0) { shadow = false; } /** * An object A is called a descendant of an object B, if either A is a * child of B or A is a child of an object C that is a descendant of B. * * An inclusive descendant is an object or one of its descendants. */ - let child = tree_getFirstDescendantNode(node, self, shadow); + var child = tree_getFirstDescendantNode(node, self, shadow); while (child !== null) { if (child === other) { return true; @@ -22304,6 +23115,7 @@ function tree_isDescendantOf(node, other, self = false, shadow = false) { } return false; } +exports.tree_isDescendantOf = tree_isDescendantOf; /** * Determines whether `other` is an ancestor of `node`. An object A * is called an ancestor of an object B if and only if B is a @@ -22315,8 +23127,10 @@ function tree_isDescendantOf(node, other, self = false, shadow = false) { * @param shadow - if `true`, traversal includes the * node's and its descendant's shadow trees as well. */ -function tree_isAncestorOf(node, other, self = false, shadow = false) { - let ancestor = self ? node : shadow && util_1.Guard.isShadowRoot(node) ? +function tree_isAncestorOf(node, other, self, shadow) { + if (self === void 0) { self = false; } + if (shadow === void 0) { shadow = false; } + var ancestor = self ? node : shadow && util_1.Guard.isShadowRoot(node) ? node._host : node._parent; while (ancestor !== null) { if (ancestor === other) @@ -22326,6 +23140,7 @@ function tree_isAncestorOf(node, other, self = false, shadow = false) { } return false; } +exports.tree_isAncestorOf = tree_isAncestorOf; /** * Determines whether `other` is a host-including ancestor of `node`. An * object A is a host-including inclusive ancestor of an object B, if either @@ -22336,15 +23151,17 @@ function tree_isAncestorOf(node, other, self = false, shadow = false) { * @param other - the node to check * @param self - if `true`, traversal includes `node` itself */ -function tree_isHostIncludingAncestorOf(node, other, self = false) { +function tree_isHostIncludingAncestorOf(node, other, self) { + if (self === void 0) { self = false; } if (tree_isAncestorOf(node, other, self)) return true; - const root = tree_rootNode(node); + var root = tree_rootNode(node); if (util_1.Guard.isDocumentFragmentNode(root) && root._host !== null && tree_isHostIncludingAncestorOf(root._host, other, self)) return true; return false; } +exports.tree_isHostIncludingAncestorOf = tree_isHostIncludingAncestorOf; /** * Determines whether `other` is a sibling of `node`. An object A is * called a sibling of an object B, if and only if B and A share @@ -22354,7 +23171,8 @@ function tree_isHostIncludingAncestorOf(node, other, self = false) { * @param other - the node to check * @param self - if `true`, traversal includes `node` itself */ -function tree_isSiblingOf(node, other, self = false) { +function tree_isSiblingOf(node, other, self) { + if (self === void 0) { self = false; } /** * An object A is called a sibling of an object B, if and only if B and A * share the same non-null parent. @@ -22370,6 +23188,7 @@ function tree_isSiblingOf(node, other, self = false) { } return false; } +exports.tree_isSiblingOf = tree_isSiblingOf; /** * Determines whether `other` is preceding `node`. An object A is * preceding an object B if A and B are in the same tree and A comes @@ -22383,8 +23202,8 @@ function tree_isPreceding(node, other) { * An object A is preceding an object B if A and B are in the same tree and * A comes before B in tree order. */ - const nodePos = tree_treePosition(node); - const otherPos = tree_treePosition(other); + var nodePos = tree_treePosition(node); + var otherPos = tree_treePosition(other); if (nodePos === -1 || otherPos === -1) return false; else if (tree_rootNode(node) !== tree_rootNode(other)) @@ -22392,6 +23211,7 @@ function tree_isPreceding(node, other) { else return otherPos < nodePos; } +exports.tree_isPreceding = tree_isPreceding; /** * Determines whether `other` is following `node`. An object A is * following an object B if A and B are in the same tree and A comes @@ -22405,8 +23225,8 @@ function tree_isFollowing(node, other) { * An object A is following an object B if A and B are in the same tree and * A comes after B in tree order. */ - const nodePos = tree_treePosition(node); - const otherPos = tree_treePosition(other); + var nodePos = tree_treePosition(node); + var otherPos = tree_treePosition(other); if (nodePos === -1 || otherPos === -1) return false; else if (tree_rootNode(node) !== tree_rootNode(other)) @@ -22414,6 +23234,7 @@ function tree_isFollowing(node, other) { else return otherPos > nodePos; } +exports.tree_isFollowing = tree_isFollowing; /** * Determines whether `other` is the parent node of `node`. * @@ -22428,6 +23249,7 @@ function tree_isParentOf(node, other) { */ return (node._parent === other); } +exports.tree_isParentOf = tree_isParentOf; /** * Determines whether `other` is a child node of `node`. * @@ -22442,6 +23264,7 @@ function tree_isChildOf(node, other) { */ return (other._parent === node); } +exports.tree_isChildOf = tree_isChildOf; /** * Returns the previous sibling node of `node` or null if it has no * preceding sibling. @@ -22455,6 +23278,7 @@ function tree_previousSibling(node) { */ return node._previousSibling; } +exports.tree_previousSibling = tree_previousSibling; /** * Returns the next sibling node of `node` or null if it has no * following sibling. @@ -22468,6 +23292,7 @@ function tree_nextSibling(node) { */ return node._nextSibling; } +exports.tree_nextSibling = tree_nextSibling; /** * Returns the first child node of `node` or null if it has no * children. @@ -22481,6 +23306,7 @@ function tree_firstChild(node) { */ return node._firstChild; } +exports.tree_firstChild = tree_firstChild; /** * Returns the last child node of `node` or null if it has no * children. @@ -22494,6 +23320,7 @@ function tree_lastChild(node) { */ return node._lastChild; } +exports.tree_lastChild = tree_lastChild; /** * Returns the zero-based index of `node` when counted preorder in * the tree rooted at `root`. Returns `-1` if `node` is not in @@ -22502,9 +23329,9 @@ function tree_lastChild(node) { * @param node - the node to get the index of */ function tree_treePosition(node) { - const root = tree_rootNode(node); - let pos = 0; - let childNode = tree_getFirstDescendantNode(root); + var root = tree_rootNode(node); + var pos = 0; + var childNode = tree_getFirstDescendantNode(root); while (childNode !== null) { pos++; if (childNode === node) @@ -22513,6 +23340,7 @@ function tree_treePosition(node) { } return -1; } +exports.tree_treePosition = tree_treePosition; /** * Determines the index of `node`. The index of an object is its number of * preceding siblings, or 0 if it has none. @@ -22525,13 +23353,14 @@ function tree_index(node) { * The index of an object is its number of preceding siblings, or 0 if it * has none. */ - let n = 0; + var n = 0; while (node._previousSibling !== null) { n++; node = node._previousSibling; } return n; } +exports.tree_index = tree_index; /** * Retargets an object against another object. * @@ -22554,7 +23383,7 @@ function tree_retarget(a, b) { if (!a || !util_1.Guard.isNode(a)) { return a; } - const rootOfA = tree_rootNode(a); + var rootOfA = tree_rootNode(a); if (!util_1.Guard.isShadowRoot(rootOfA)) { return a; } @@ -22564,6 +23393,7 @@ function tree_retarget(a, b) { a = rootOfA.host; } } +exports.tree_retarget = tree_retarget; //# sourceMappingURL=TreeAlgorithm.js.map /***/ }), @@ -22574,10 +23404,8 @@ function tree_retarget(a, b) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.treeWalker_traverseChildren = treeWalker_traverseChildren; -exports.treeWalker_traverseSiblings = treeWalker_traverseSiblings; -const interfaces_1 = __nccwpck_require__(27305); -const TraversalAlgorithm_1 = __nccwpck_require__(80998); +var interfaces_1 = __nccwpck_require__(27305); +var TraversalAlgorithm_1 = __nccwpck_require__(80998); /** * Returns the first or last child node, or `null` if there are none. * @@ -22592,12 +23420,12 @@ function treeWalker_traverseChildren(walker, first) { * if type is last. * 3. While node is non-null: */ - let node = (first ? walker._current._firstChild : walker._current._lastChild); + var node = (first ? walker._current._firstChild : walker._current._lastChild); while (node !== null) { /** * 3.1. Let result be the result of filtering node within walker. */ - const result = (0, TraversalAlgorithm_1.traversal_filter)(walker, node); + var result = TraversalAlgorithm_1.traversal_filter(walker, node); if (result === interfaces_1.FilterResult.Accept) { /** * 3.2. If result is FILTER_ACCEPT, then set walker’s current to node and @@ -22613,7 +23441,7 @@ function treeWalker_traverseChildren(walker, first) { * last child if type is last. * 3.3.2. If child is non-null, then set node to child and continue. */ - const child = (first ? node._firstChild : node._lastChild); + var child = (first ? node._firstChild : node._lastChild); if (child !== null) { node = child; continue; @@ -22628,7 +23456,7 @@ function treeWalker_traverseChildren(walker, first) { * node’s previous sibling if type is last. * 3.4.2. If sibling is non-null, then set node to sibling and break. */ - const sibling = (first ? node._nextSibling : node._previousSibling); + var sibling = (first ? node._nextSibling : node._previousSibling); if (sibling !== null) { node = sibling; break; @@ -22638,7 +23466,7 @@ function treeWalker_traverseChildren(walker, first) { * 3.4.4. If parent is null, walker’s root, or walker’s current, then * return null. */ - const parent = node._parent; + var parent = node._parent; if (parent === null || parent === walker._root || parent === walker._current) { return null; } @@ -22653,6 +23481,7 @@ function treeWalker_traverseChildren(walker, first) { */ return null; } +exports.treeWalker_traverseChildren = treeWalker_traverseChildren; /** * Returns the next or previous sibling node, or `null` if there are none. * @@ -22666,7 +23495,7 @@ function treeWalker_traverseSiblings(walker, next) { * 2. If node is root, then return null. * 3. While node is non-null: */ - let node = walker._current; + var node = walker._current; if (node === walker._root) return null; while (true) { @@ -22675,7 +23504,7 @@ function treeWalker_traverseSiblings(walker, next) { * previous sibling if type is previous. * 3.2. While sibling is non-null: */ - let sibling = (next ? node._nextSibling : node._previousSibling); + var sibling = (next ? node._nextSibling : node._previousSibling); while (sibling !== null) { /** * 3.2.1. Set node to sibling. @@ -22684,7 +23513,7 @@ function treeWalker_traverseSiblings(walker, next) { * and return node. */ node = sibling; - const result = (0, TraversalAlgorithm_1.traversal_filter)(walker, node); + var result = TraversalAlgorithm_1.traversal_filter(walker, node); if (result === interfaces_1.FilterResult.Accept) { walker._current = node; return node; @@ -22713,11 +23542,12 @@ function treeWalker_traverseSiblings(walker, next) { * 3.5. If the return value of filtering node within walker is FILTER_ACCEPT, * then return null. */ - if ((0, TraversalAlgorithm_1.traversal_filter)(walker, node) === interfaces_1.FilterResult.Accept) { + if (TraversalAlgorithm_1.traversal_filter(walker, node) === interfaces_1.FilterResult.Accept) { return null; } } } +exports.treeWalker_traverseSiblings = treeWalker_traverseSiblings; //# sourceMappingURL=TreeWalkerAlgorithm.js.map /***/ }), @@ -22728,7 +23558,6 @@ function treeWalker_traverseSiblings(walker, next) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.idl_defineConst = idl_defineConst; /** * Defines a WebIDL `Const` property on the given object. * @@ -22739,6 +23568,7 @@ exports.idl_defineConst = idl_defineConst; function idl_defineConst(o, name, value) { Object.defineProperty(o, name, { writable: false, enumerable: true, configurable: false, value: value }); } +exports.idl_defineConst = idl_defineConst; //# sourceMappingURL=WebIDLAlgorithm.js.map /***/ }), @@ -22749,18 +23579,14 @@ function idl_defineConst(o, name, value) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.xml_isName = xml_isName; -exports.xml_isQName = xml_isQName; -exports.xml_isLegalChar = xml_isLegalChar; -exports.xml_isPubidChar = xml_isPubidChar; /** * Determines if the given string is valid for a `"Name"` construct. * * @param name - name string to test */ function xml_isName(name) { - for (let i = 0; i < name.length; i++) { - let n = name.charCodeAt(i); + for (var i = 0; i < name.length; i++) { + var n = name.charCodeAt(i); // NameStartChar if ((n >= 97 && n <= 122) || // [a-z] (n >= 65 && n <= 90) || // [A-Z] @@ -22787,7 +23613,7 @@ function xml_isName(name) { continue; } if (n >= 0xD800 && n <= 0xDBFF && i < name.length - 1) { - const n2 = name.charCodeAt(i + 1); + var n2 = name.charCodeAt(i + 1); if (n2 >= 0xDC00 && n2 <= 0xDFFF) { n = (n - 0xD800) * 0x400 + n2 - 0xDC00 + 0x10000; i++; @@ -22800,15 +23626,16 @@ function xml_isName(name) { } return true; } +exports.xml_isName = xml_isName; /** * Determines if the given string is valid for a `"QName"` construct. * * @param name - name string to test */ function xml_isQName(name) { - let colonFound = false; - for (let i = 0; i < name.length; i++) { - let n = name.charCodeAt(i); + var colonFound = false; + for (var i = 0; i < name.length; i++) { + var n = name.charCodeAt(i); // NameStartChar if ((n >= 97 && n <= 122) || // [a-z] (n >= 65 && n <= 90) || // [A-Z] @@ -22843,7 +23670,7 @@ function xml_isQName(name) { continue; } if (n >= 0xD800 && n <= 0xDBFF && i < name.length - 1) { - const n2 = name.charCodeAt(i + 1); + var n2 = name.charCodeAt(i + 1); if (n2 >= 0xDC00 && n2 <= 0xDFFF) { n = (n - 0xD800) * 0x400 + n2 - 0xDC00 + 0x10000; i++; @@ -22856,14 +23683,15 @@ function xml_isQName(name) { } return true; } +exports.xml_isQName = xml_isQName; /** * Determines if the given string contains legal characters. * * @param chars - sequence of characters to test */ function xml_isLegalChar(chars) { - for (let i = 0; i < chars.length; i++) { - let n = chars.charCodeAt(i); + for (var i = 0; i < chars.length; i++) { + var n = chars.charCodeAt(i); // #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] if (n === 0x9 || n === 0xA || n === 0xD || (n >= 0x20 && n <= 0xD7FF) || @@ -22871,7 +23699,7 @@ function xml_isLegalChar(chars) { continue; } if (n >= 0xD800 && n <= 0xDBFF && i < chars.length - 1) { - const n2 = chars.charCodeAt(i + 1); + var n2 = chars.charCodeAt(i + 1); if (n2 >= 0xDC00 && n2 <= 0xDFFF) { n = (n - 0xD800) * 0x400 + n2 - 0xDC00 + 0x10000; i++; @@ -22884,6 +23712,7 @@ function xml_isLegalChar(chars) { } return true; } +exports.xml_isLegalChar = xml_isLegalChar; /** * Determines if the given string contains legal characters for a public * identifier. @@ -22891,9 +23720,9 @@ function xml_isLegalChar(chars) { * @param chars - sequence of characters to test */ function xml_isPubidChar(chars) { - for (let i = 0; i < chars.length; i++) { + for (var i = 0; i < chars.length; i++) { // PubId chars are all in the ASCII range, no need to check surrogates - const n = chars.charCodeAt(i); + var n = chars.charCodeAt(i); // #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%] if ((n >= 97 && n <= 122) || // [a-z] (n >= 65 && n <= 90) || // [A-Z] @@ -22910,58 +23739,48 @@ function xml_isPubidChar(chars) { } return true; } +exports.xml_isPubidChar = xml_isPubidChar; //# sourceMappingURL=XMLAlgorithm.js.map /***/ }), /***/ 61: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; +function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +} Object.defineProperty(exports, "__esModule", ({ value: true })); -__exportStar(__nccwpck_require__(32206), exports); -__exportStar(__nccwpck_require__(84309), exports); -__exportStar(__nccwpck_require__(81054), exports); -__exportStar(__nccwpck_require__(19461), exports); -__exportStar(__nccwpck_require__(57339), exports); -__exportStar(__nccwpck_require__(35648), exports); -__exportStar(__nccwpck_require__(12793), exports); -__exportStar(__nccwpck_require__(9628), exports); -__exportStar(__nccwpck_require__(93261), exports); -__exportStar(__nccwpck_require__(51849), exports); -__exportStar(__nccwpck_require__(28217), exports); -__exportStar(__nccwpck_require__(21312), exports); -__exportStar(__nccwpck_require__(45463), exports); -__exportStar(__nccwpck_require__(78157), exports); -__exportStar(__nccwpck_require__(35856), exports); -__exportStar(__nccwpck_require__(74924), exports); -__exportStar(__nccwpck_require__(3973), exports); -__exportStar(__nccwpck_require__(53670), exports); -__exportStar(__nccwpck_require__(2328), exports); -__exportStar(__nccwpck_require__(30457), exports); -__exportStar(__nccwpck_require__(41853), exports); -__exportStar(__nccwpck_require__(68733), exports); -__exportStar(__nccwpck_require__(13512), exports); -__exportStar(__nccwpck_require__(80998), exports); -__exportStar(__nccwpck_require__(16620), exports); -__exportStar(__nccwpck_require__(94962), exports); -__exportStar(__nccwpck_require__(45457), exports); -__exportStar(__nccwpck_require__(57030), exports); +__export(__nccwpck_require__(32206)); +__export(__nccwpck_require__(84309)); +__export(__nccwpck_require__(81054)); +__export(__nccwpck_require__(19461)); +__export(__nccwpck_require__(57339)); +__export(__nccwpck_require__(35648)); +__export(__nccwpck_require__(12793)); +__export(__nccwpck_require__(9628)); +__export(__nccwpck_require__(93261)); +__export(__nccwpck_require__(51849)); +__export(__nccwpck_require__(28217)); +__export(__nccwpck_require__(21312)); +__export(__nccwpck_require__(45463)); +__export(__nccwpck_require__(78157)); +__export(__nccwpck_require__(35856)); +__export(__nccwpck_require__(74924)); +__export(__nccwpck_require__(3973)); +__export(__nccwpck_require__(53670)); +__export(__nccwpck_require__(2328)); +__export(__nccwpck_require__(30457)); +__export(__nccwpck_require__(41853)); +__export(__nccwpck_require__(68733)); +__export(__nccwpck_require__(13512)); +__export(__nccwpck_require__(80998)); +__export(__nccwpck_require__(16620)); +__export(__nccwpck_require__(94962)); +__export(__nccwpck_require__(45457)); +__export(__nccwpck_require__(57030)); //# sourceMappingURL=index.js.map /***/ }), @@ -22972,74 +23791,100 @@ __exportStar(__nccwpck_require__(57030), exports); "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.AbortControllerImpl = void 0; -const algorithm_1 = __nccwpck_require__(61); +var algorithm_1 = __nccwpck_require__(61); /** * Represents a controller that allows to abort DOM requests. */ -class AbortControllerImpl { - _signal; +var AbortControllerImpl = /** @class */ (function () { /** * Initializes a new instance of `AbortController`. */ - constructor() { + function AbortControllerImpl() { /** * 1. Let signal be a new AbortSignal object. * 2. Let controller be a new AbortController object whose signal is signal. * 3. Return controller. */ - this._signal = (0, algorithm_1.create_abortSignal)(); + this._signal = algorithm_1.create_abortSignal(); } + Object.defineProperty(AbortControllerImpl.prototype, "signal", { + /** @inheritdoc */ + get: function () { return this._signal; }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get signal() { return this._signal; } - /** @inheritdoc */ - abort() { - (0, algorithm_1.abort_signalAbort)(this._signal); - } -} + AbortControllerImpl.prototype.abort = function () { + algorithm_1.abort_signalAbort(this._signal); + }; + return AbortControllerImpl; +}()); exports.AbortControllerImpl = AbortControllerImpl; //# sourceMappingURL=AbortControllerImpl.js.map /***/ }), /***/ 10022: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.AbortSignalImpl = void 0; -const EventTargetImpl_1 = __nccwpck_require__(69968); -const algorithm_1 = __nccwpck_require__(61); +var EventTargetImpl_1 = __nccwpck_require__(69968); +var algorithm_1 = __nccwpck_require__(61); /** * Represents a signal object that communicates with a DOM request and abort * it through an AbortController. */ -class AbortSignalImpl extends EventTargetImpl_1.EventTargetImpl { - _abortedFlag = false; - _abortAlgorithms = new Set(); +var AbortSignalImpl = /** @class */ (function (_super) { + __extends(AbortSignalImpl, _super); /** * Initializes a new instance of `AbortSignal`. */ - constructor() { - super(); - } - /** @inheritdoc */ - get aborted() { return this._abortedFlag; } - /** @inheritdoc */ - get onabort() { - return (0, algorithm_1.event_getterEventHandlerIDLAttribute)(this, "onabort"); - } - set onabort(val) { - (0, algorithm_1.event_setterEventHandlerIDLAttribute)(this, "onabort", val); + function AbortSignalImpl() { + var _this = _super.call(this) || this; + _this._abortedFlag = false; + _this._abortAlgorithms = new Set(); + return _this; } + Object.defineProperty(AbortSignalImpl.prototype, "aborted", { + /** @inheritdoc */ + get: function () { return this._abortedFlag; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbortSignalImpl.prototype, "onabort", { + /** @inheritdoc */ + get: function () { + return algorithm_1.event_getterEventHandlerIDLAttribute(this, "onabort"); + }, + set: function (val) { + algorithm_1.event_setterEventHandlerIDLAttribute(this, "onabort", val); + }, + enumerable: true, + configurable: true + }); /** * Creates a new `AbortSignal`. */ - static _create() { + AbortSignalImpl._create = function () { return new AbortSignalImpl(); - } -} + }; + return AbortSignalImpl; +}(EventTargetImpl_1.EventTargetImpl)); exports.AbortSignalImpl = AbortSignalImpl; //# sourceMappingURL=AbortSignalImpl.js.map @@ -23051,143 +23896,236 @@ exports.AbortSignalImpl = AbortSignalImpl; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.AbstractRangeImpl = void 0; /** * Represents an abstract range with a start and end boundary point. */ -class AbstractRangeImpl { - get _startNode() { return this._start[0]; } - get _startOffset() { return this._start[1]; } - get _endNode() { return this._end[0]; } - get _endOffset() { return this._end[1]; } - get _collapsed() { - return (this._start[0] === this._end[0] && - this._start[1] === this._end[1]); +var AbstractRangeImpl = /** @class */ (function () { + function AbstractRangeImpl() { } - /** @inheritdoc */ - get startContainer() { return this._startNode; } - /** @inheritdoc */ - get startOffset() { return this._startOffset; } - /** @inheritdoc */ - get endContainer() { return this._endNode; } - /** @inheritdoc */ - get endOffset() { return this._endOffset; } - /** @inheritdoc */ - get collapsed() { return this._collapsed; } -} + Object.defineProperty(AbstractRangeImpl.prototype, "_startNode", { + get: function () { return this._start[0]; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractRangeImpl.prototype, "_startOffset", { + get: function () { return this._start[1]; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractRangeImpl.prototype, "_endNode", { + get: function () { return this._end[0]; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractRangeImpl.prototype, "_endOffset", { + get: function () { return this._end[1]; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractRangeImpl.prototype, "_collapsed", { + get: function () { + return (this._start[0] === this._end[0] && + this._start[1] === this._end[1]); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractRangeImpl.prototype, "startContainer", { + /** @inheritdoc */ + get: function () { return this._startNode; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractRangeImpl.prototype, "startOffset", { + /** @inheritdoc */ + get: function () { return this._startOffset; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractRangeImpl.prototype, "endContainer", { + /** @inheritdoc */ + get: function () { return this._endNode; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractRangeImpl.prototype, "endOffset", { + /** @inheritdoc */ + get: function () { return this._endOffset; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractRangeImpl.prototype, "collapsed", { + /** @inheritdoc */ + get: function () { return this._collapsed; }, + enumerable: true, + configurable: true + }); + return AbstractRangeImpl; +}()); exports.AbstractRangeImpl = AbstractRangeImpl; //# sourceMappingURL=AbstractRangeImpl.js.map /***/ }), /***/ 13717: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.AttrImpl = void 0; -const interfaces_1 = __nccwpck_require__(27305); -const NodeImpl_1 = __nccwpck_require__(91745); -const algorithm_1 = __nccwpck_require__(61); -const WebIDLAlgorithm_1 = __nccwpck_require__(45457); +var interfaces_1 = __nccwpck_require__(27305); +var NodeImpl_1 = __nccwpck_require__(91745); +var algorithm_1 = __nccwpck_require__(61); +var WebIDLAlgorithm_1 = __nccwpck_require__(45457); /** * Represents an attribute of an element node. */ -class AttrImpl extends NodeImpl_1.NodeImpl { - _nodeType = interfaces_1.NodeType.Attribute; - _localName; - _namespace = null; - _namespacePrefix = null; - _element = null; - _value = ''; +var AttrImpl = /** @class */ (function (_super) { + __extends(AttrImpl, _super); /** * Initializes a new instance of `Attr`. * * @param localName - local name */ - constructor(localName) { - super(); - this._localName = localName; + function AttrImpl(localName) { + var _this = _super.call(this) || this; + _this._namespace = null; + _this._namespacePrefix = null; + _this._element = null; + _this._value = ''; + _this._localName = localName; + return _this; } - /** @inheritdoc */ - specified; - /** @inheritdoc */ - get ownerElement() { return this._element; } - /** @inheritdoc */ - get namespaceURI() { return this._namespace; } - /** @inheritdoc */ - get prefix() { return this._namespacePrefix; } - /** @inheritdoc */ - get localName() { return this._localName; } - /** @inheritdoc */ - get name() { return this._qualifiedName; } - /** @inheritdoc */ - get value() { return this._value; } - set value(value) { + Object.defineProperty(AttrImpl.prototype, "ownerElement", { + /** @inheritdoc */ + get: function () { return this._element; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AttrImpl.prototype, "namespaceURI", { + /** @inheritdoc */ + get: function () { return this._namespace; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AttrImpl.prototype, "prefix", { + /** @inheritdoc */ + get: function () { return this._namespacePrefix; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AttrImpl.prototype, "localName", { + /** @inheritdoc */ + get: function () { return this._localName; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AttrImpl.prototype, "name", { + /** @inheritdoc */ + get: function () { return this._qualifiedName; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AttrImpl.prototype, "value", { + /** @inheritdoc */ + get: function () { return this._value; }, + set: function (value) { + /** + * The value attribute’s setter must set an existing attribute value with + * context object and the given value. + */ + algorithm_1.attr_setAnExistingAttributeValue(this, value); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AttrImpl.prototype, "_qualifiedName", { /** - * The value attribute’s setter must set an existing attribute value with - * context object and the given value. + * Returns the qualified name. */ - (0, algorithm_1.attr_setAnExistingAttributeValue)(this, value); - } - /** - * Returns the qualified name. - */ - get _qualifiedName() { - /** - * An attribute’s qualified name is its local name if its namespace prefix - * is null, and its namespace prefix, followed by ":", followed by its - * local name, otherwise. - */ - return (this._namespacePrefix !== null ? - this._namespacePrefix + ':' + this._localName : - this._localName); - } + get: function () { + /** + * An attribute’s qualified name is its local name if its namespace prefix + * is null, and its namespace prefix, followed by ":", followed by its + * local name, otherwise. + */ + return (this._namespacePrefix !== null ? + this._namespacePrefix + ':' + this._localName : + this._localName); + }, + enumerable: true, + configurable: true + }); /** * Creates an `Attr`. * * @param document - owner document * @param localName - local name */ - static _create(document, localName) { - const node = new AttrImpl(localName); + AttrImpl._create = function (document, localName) { + var node = new AttrImpl(localName); node._nodeDocument = document; return node; - } -} + }; + return AttrImpl; +}(NodeImpl_1.NodeImpl)); exports.AttrImpl = AttrImpl; /** * Initialize prototype properties */ -(0, WebIDLAlgorithm_1.idl_defineConst)(AttrImpl.prototype, "_nodeType", interfaces_1.NodeType.Attribute); -(0, WebIDLAlgorithm_1.idl_defineConst)(AttrImpl.prototype, "specified", true); +WebIDLAlgorithm_1.idl_defineConst(AttrImpl.prototype, "_nodeType", interfaces_1.NodeType.Attribute); +WebIDLAlgorithm_1.idl_defineConst(AttrImpl.prototype, "specified", true); //# sourceMappingURL=AttrImpl.js.map /***/ }), /***/ 23977: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.CDATASectionImpl = void 0; -const TextImpl_1 = __nccwpck_require__(42191); -const interfaces_1 = __nccwpck_require__(27305); -const WebIDLAlgorithm_1 = __nccwpck_require__(45457); +var TextImpl_1 = __nccwpck_require__(42191); +var interfaces_1 = __nccwpck_require__(27305); +var WebIDLAlgorithm_1 = __nccwpck_require__(45457); /** * Represents a CDATA node. */ -class CDATASectionImpl extends TextImpl_1.TextImpl { - _nodeType = interfaces_1.NodeType.CData; +var CDATASectionImpl = /** @class */ (function (_super) { + __extends(CDATASectionImpl, _super); /** * Initializes a new instance of `CDATASection`. * * @param data - node contents */ - constructor(data) { - super(data); + function CDATASectionImpl(data) { + return _super.call(this, data) || this; } /** * Creates a new `CDATASection`. @@ -23195,107 +24133,157 @@ class CDATASectionImpl extends TextImpl_1.TextImpl { * @param document - owner document * @param data - node contents */ - static _create(document, data = '') { - const node = new CDATASectionImpl(data); + CDATASectionImpl._create = function (document, data) { + if (data === void 0) { data = ''; } + var node = new CDATASectionImpl(data); node._nodeDocument = document; return node; - } -} + }; + return CDATASectionImpl; +}(TextImpl_1.TextImpl)); exports.CDATASectionImpl = CDATASectionImpl; /** * Initialize prototype properties */ -(0, WebIDLAlgorithm_1.idl_defineConst)(CDATASectionImpl.prototype, "_nodeType", interfaces_1.NodeType.CData); +WebIDLAlgorithm_1.idl_defineConst(CDATASectionImpl.prototype, "_nodeType", interfaces_1.NodeType.CData); //# sourceMappingURL=CDATASectionImpl.js.map /***/ }), /***/ 65330: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.CharacterDataImpl = void 0; -const NodeImpl_1 = __nccwpck_require__(91745); -const algorithm_1 = __nccwpck_require__(61); +var NodeImpl_1 = __nccwpck_require__(91745); +var algorithm_1 = __nccwpck_require__(61); /** * Represents a generic text node. */ -class CharacterDataImpl extends NodeImpl_1.NodeImpl { - _data; +var CharacterDataImpl = /** @class */ (function (_super) { + __extends(CharacterDataImpl, _super); /** * Initializes a new instance of `CharacterData`. * * @param data - the text content */ - constructor(data) { - super(); - this._data = data; + function CharacterDataImpl(data) { + var _this = _super.call(this) || this; + _this._data = data; + return _this; } + Object.defineProperty(CharacterDataImpl.prototype, "data", { + /** @inheritdoc */ + get: function () { return this._data; }, + set: function (value) { + algorithm_1.characterData_replaceData(this, 0, this._data.length, value); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(CharacterDataImpl.prototype, "length", { + /** @inheritdoc */ + get: function () { return this._data.length; }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get data() { return this._data; } - set data(value) { - (0, algorithm_1.characterData_replaceData)(this, 0, this._data.length, value); - } - /** @inheritdoc */ - get length() { return this._data.length; } - /** @inheritdoc */ - substringData(offset, count) { + CharacterDataImpl.prototype.substringData = function (offset, count) { /** * The substringData(offset, count) method, when invoked, must return the * result of running substring data with node context object, offset offset, and count count. */ - return (0, algorithm_1.characterData_substringData)(this, offset, count); - } + return algorithm_1.characterData_substringData(this, offset, count); + }; /** @inheritdoc */ - appendData(data) { + CharacterDataImpl.prototype.appendData = function (data) { /** * The appendData(data) method, when invoked, must replace data with node * context object, offset context object’s length, count 0, and data data. */ - return (0, algorithm_1.characterData_replaceData)(this, this._data.length, 0, data); - } + return algorithm_1.characterData_replaceData(this, this._data.length, 0, data); + }; /** @inheritdoc */ - insertData(offset, data) { + CharacterDataImpl.prototype.insertData = function (offset, data) { /** * The insertData(offset, data) method, when invoked, must replace data with * node context object, offset offset, count 0, and data data. */ - (0, algorithm_1.characterData_replaceData)(this, offset, 0, data); - } + algorithm_1.characterData_replaceData(this, offset, 0, data); + }; /** @inheritdoc */ - deleteData(offset, count) { + CharacterDataImpl.prototype.deleteData = function (offset, count) { /** * The deleteData(offset, count) method, when invoked, must replace data * with node context object, offset offset, count count, and data the * empty string. */ - (0, algorithm_1.characterData_replaceData)(this, offset, count, ''); - } + algorithm_1.characterData_replaceData(this, offset, count, ''); + }; /** @inheritdoc */ - replaceData(offset, count, data) { + CharacterDataImpl.prototype.replaceData = function (offset, count, data) { /** * The replaceData(offset, count, data) method, when invoked, must replace * data with node context object, offset offset, count count, and data data. */ - (0, algorithm_1.characterData_replaceData)(this, offset, count, data); - } - // MIXIN: NonDocumentTypeChildNode - /* istanbul ignore next */ - get previousElementSibling() { throw new Error("Mixin: NonDocumentTypeChildNode not implemented."); } - /* istanbul ignore next */ - get nextElementSibling() { throw new Error("Mixin: NonDocumentTypeChildNode not implemented."); } + algorithm_1.characterData_replaceData(this, offset, count, data); + }; + Object.defineProperty(CharacterDataImpl.prototype, "previousElementSibling", { + // MIXIN: NonDocumentTypeChildNode + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: NonDocumentTypeChildNode not implemented."); }, + enumerable: true, + configurable: true + }); + Object.defineProperty(CharacterDataImpl.prototype, "nextElementSibling", { + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: NonDocumentTypeChildNode not implemented."); }, + enumerable: true, + configurable: true + }); // MIXIN: ChildNode /* istanbul ignore next */ - before(...nodes) { throw new Error("Mixin: ChildNode not implemented."); } + CharacterDataImpl.prototype.before = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } + throw new Error("Mixin: ChildNode not implemented."); + }; /* istanbul ignore next */ - after(...nodes) { throw new Error("Mixin: ChildNode not implemented."); } + CharacterDataImpl.prototype.after = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } + throw new Error("Mixin: ChildNode not implemented."); + }; /* istanbul ignore next */ - replaceWith(...nodes) { throw new Error("Mixin: ChildNode not implemented."); } + CharacterDataImpl.prototype.replaceWith = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } + throw new Error("Mixin: ChildNode not implemented."); + }; /* istanbul ignore next */ - remove() { throw new Error("Mixin: ChildNode not implemented."); } -} + CharacterDataImpl.prototype.remove = function () { throw new Error("Mixin: ChildNode not implemented."); }; + return CharacterDataImpl; +}(NodeImpl_1.NodeImpl)); exports.CharacterDataImpl = CharacterDataImpl; //# sourceMappingURL=CharacterDataImpl.js.map @@ -23307,35 +24295,40 @@ exports.CharacterDataImpl = CharacterDataImpl; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ChildNodeImpl = void 0; -const util_1 = __nccwpck_require__(65282); -const algorithm_1 = __nccwpck_require__(61); +var util_1 = __nccwpck_require__(65282); +var algorithm_1 = __nccwpck_require__(61); /** * Represents a mixin that extends child nodes that can have siblings * including doctypes. This mixin is implemented by {@link Element}, * {@link CharacterData} and {@link DocumentType}. */ -class ChildNodeImpl { +var ChildNodeImpl = /** @class */ (function () { + function ChildNodeImpl() { + } /** @inheritdoc */ - before(...nodes) { + ChildNodeImpl.prototype.before = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } /** * 1. Let parent be context object’s parent. * 2. If parent is null, then return. */ - const context = util_1.Cast.asNode(this); - const parent = context._parent; + var context = util_1.Cast.asNode(this); + var parent = context._parent; if (parent === null) return; /** * 3. Let viablePreviousSibling be context object’s first preceding * sibling not in nodes, and null otherwise. */ - let viablePreviousSibling = context._previousSibling; - let flag = true; + var viablePreviousSibling = context._previousSibling; + var flag = true; while (flag && viablePreviousSibling) { flag = false; - for (let i = 0; i < nodes.length; i++) { - const child = nodes[i]; + for (var i = 0; i < nodes.length; i++) { + var child = nodes[i]; if (child === viablePreviousSibling) { viablePreviousSibling = viablePreviousSibling._previousSibling; flag = true; @@ -23347,7 +24340,7 @@ class ChildNodeImpl { * 4. Let node be the result of converting nodes into a node, given nodes * and context object’s node document. */ - const node = (0, algorithm_1.parentNode_convertNodesIntoANode)(nodes, context._nodeDocument); + var node = algorithm_1.parentNode_convertNodesIntoANode(nodes, context._nodeDocument); /** * 5. If viablePreviousSibling is null, set it to parent’s first child, * and to viablePreviousSibling’s next sibling otherwise. @@ -23359,28 +24352,32 @@ class ChildNodeImpl { /** * 6. Pre-insert node into parent before viablePreviousSibling. */ - (0, algorithm_1.mutation_preInsert)(node, parent, viablePreviousSibling); - } + algorithm_1.mutation_preInsert(node, parent, viablePreviousSibling); + }; /** @inheritdoc */ - after(...nodes) { + ChildNodeImpl.prototype.after = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } /** * 1. Let parent be context object’s parent. * 2. If parent is null, then return. */ - const context = util_1.Cast.asNode(this); - const parent = context._parent; + var context = util_1.Cast.asNode(this); + var parent = context._parent; if (!parent) return; /** * 3. Let viableNextSibling be context object’s first following sibling not * in nodes, and null otherwise. */ - let viableNextSibling = context._nextSibling; - let flag = true; + var viableNextSibling = context._nextSibling; + var flag = true; while (flag && viableNextSibling) { flag = false; - for (let i = 0; i < nodes.length; i++) { - const child = nodes[i]; + for (var i = 0; i < nodes.length; i++) { + var child = nodes[i]; if (child === viableNextSibling) { viableNextSibling = viableNextSibling._nextSibling; flag = true; @@ -23392,32 +24389,36 @@ class ChildNodeImpl { * 4. Let node be the result of converting nodes into a node, given nodes * and context object’s node document. */ - const node = (0, algorithm_1.parentNode_convertNodesIntoANode)(nodes, context._nodeDocument); + var node = algorithm_1.parentNode_convertNodesIntoANode(nodes, context._nodeDocument); /** * 5. Pre-insert node into parent before viableNextSibling. */ - (0, algorithm_1.mutation_preInsert)(node, parent, viableNextSibling); - } + algorithm_1.mutation_preInsert(node, parent, viableNextSibling); + }; /** @inheritdoc */ - replaceWith(...nodes) { + ChildNodeImpl.prototype.replaceWith = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } /** * 1. Let parent be context object’s parent. * 2. If parent is null, then return. */ - const context = util_1.Cast.asNode(this); - const parent = context._parent; + var context = util_1.Cast.asNode(this); + var parent = context._parent; if (!parent) return; /** * 3. Let viableNextSibling be context object’s first following sibling not * in nodes, and null otherwise. */ - let viableNextSibling = context._nextSibling; - let flag = true; + var viableNextSibling = context._nextSibling; + var flag = true; while (flag && viableNextSibling) { flag = false; - for (let i = 0; i < nodes.length; i++) { - const child = nodes[i]; + for (var i = 0; i < nodes.length; i++) { + var child = nodes[i]; if (child === viableNextSibling) { viableNextSibling = viableNextSibling._nextSibling; flag = true; @@ -23429,7 +24430,7 @@ class ChildNodeImpl { * 4. Let node be the result of converting nodes into a node, given nodes * and context object’s node document. */ - const node = (0, algorithm_1.parentNode_convertNodesIntoANode)(nodes, context._nodeDocument); + var node = algorithm_1.parentNode_convertNodesIntoANode(nodes, context._nodeDocument); /** * 5. If context object’s parent is parent, replace the context object with * node within parent. @@ -23437,50 +24438,64 @@ class ChildNodeImpl { * 6. Otherwise, pre-insert node into parent before viableNextSibling. */ if (context._parent === parent) - (0, algorithm_1.mutation_replace)(context, node, parent); + algorithm_1.mutation_replace(context, node, parent); else - (0, algorithm_1.mutation_preInsert)(node, parent, viableNextSibling); - } + algorithm_1.mutation_preInsert(node, parent, viableNextSibling); + }; /** @inheritdoc */ - remove() { + ChildNodeImpl.prototype.remove = function () { /** * 1. If context object’s parent is null, then return. * 2. Remove the context object from context object’s parent. */ - const context = util_1.Cast.asNode(this); - const parent = context._parent; + var context = util_1.Cast.asNode(this); + var parent = context._parent; if (!parent) return; - (0, algorithm_1.mutation_remove)(context, parent); - } -} + algorithm_1.mutation_remove(context, parent); + }; + return ChildNodeImpl; +}()); exports.ChildNodeImpl = ChildNodeImpl; //# sourceMappingURL=ChildNodeImpl.js.map /***/ }), /***/ 20930: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.CommentImpl = void 0; -const interfaces_1 = __nccwpck_require__(27305); -const CharacterDataImpl_1 = __nccwpck_require__(65330); -const WebIDLAlgorithm_1 = __nccwpck_require__(45457); +var interfaces_1 = __nccwpck_require__(27305); +var CharacterDataImpl_1 = __nccwpck_require__(65330); +var WebIDLAlgorithm_1 = __nccwpck_require__(45457); /** * Represents a comment node. */ -class CommentImpl extends CharacterDataImpl_1.CharacterDataImpl { - _nodeType = interfaces_1.NodeType.Comment; +var CommentImpl = /** @class */ (function (_super) { + __extends(CommentImpl, _super); /** * Initializes a new instance of `Comment`. * * @param data - the text content */ - constructor(data = '') { - super(data); + function CommentImpl(data) { + if (data === void 0) { data = ''; } + return _super.call(this, data) || this; } /** * Creates a new `Comment`. @@ -23488,46 +24503,69 @@ class CommentImpl extends CharacterDataImpl_1.CharacterDataImpl { * @param document - owner document * @param data - node contents */ - static _create(document, data = '') { - const node = new CommentImpl(data); + CommentImpl._create = function (document, data) { + if (data === void 0) { data = ''; } + var node = new CommentImpl(data); node._nodeDocument = document; return node; - } -} + }; + return CommentImpl; +}(CharacterDataImpl_1.CharacterDataImpl)); exports.CommentImpl = CommentImpl; /** * Initialize prototype properties */ -(0, WebIDLAlgorithm_1.idl_defineConst)(CommentImpl.prototype, "_nodeType", interfaces_1.NodeType.Comment); +WebIDLAlgorithm_1.idl_defineConst(CommentImpl.prototype, "_nodeType", interfaces_1.NodeType.Comment); //# sourceMappingURL=CommentImpl.js.map /***/ }), /***/ 59857: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.CustomEventImpl = void 0; -const EventImpl_1 = __nccwpck_require__(38245); -const algorithm_1 = __nccwpck_require__(61); +var EventImpl_1 = __nccwpck_require__(38245); +var algorithm_1 = __nccwpck_require__(61); /** * Represents and event that carries custom data. */ -class CustomEventImpl extends EventImpl_1.EventImpl { - _detail = null; +var CustomEventImpl = /** @class */ (function (_super) { + __extends(CustomEventImpl, _super); /** * Initializes a new instance of `CustomEvent`. */ - constructor(type, eventInit) { - super(type, eventInit); - this._detail = (eventInit && eventInit.detail) || null; + function CustomEventImpl(type, eventInit) { + var _this = _super.call(this, type, eventInit) || this; + _this._detail = null; + _this._detail = (eventInit && eventInit.detail) || null; + return _this; } + Object.defineProperty(CustomEventImpl.prototype, "detail", { + /** @inheritdoc */ + get: function () { return this._detail; }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get detail() { return this._detail; } - /** @inheritdoc */ - initCustomEvent(type, bubbles = false, cancelable = false, detail = null) { + CustomEventImpl.prototype.initCustomEvent = function (type, bubbles, cancelable, detail) { + if (bubbles === void 0) { bubbles = false; } + if (cancelable === void 0) { cancelable = false; } + if (detail === void 0) { detail = null; } /** * 1. If the context object’s dispatch flag is set, then return. */ @@ -23536,277 +24574,368 @@ class CustomEventImpl extends EventImpl_1.EventImpl { /** * 2. Initialize the context object with type, bubbles, and cancelable. */ - (0, algorithm_1.event_initialize)(this, type, bubbles, cancelable); + algorithm_1.event_initialize(this, type, bubbles, cancelable); /** * 3. Set the context object’s detail attribute to detail. */ this._detail = detail; - } -} + }; + return CustomEventImpl; +}(EventImpl_1.EventImpl)); exports.CustomEventImpl = CustomEventImpl; //# sourceMappingURL=CustomEventImpl.js.map /***/ }), /***/ 13166: -/***/ ((__unused_webpack_module, exports) => { +/***/ (function(__unused_webpack_module, exports) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.InvalidCharacterError = exports.SyntaxError = exports.IndexSizeError = exports.NotFoundError = exports.HierarchyRequestError = exports.NotImplementedError = exports.DataCloneError = exports.InvalidNodeTypeError = exports.TimeoutError = exports.QuotaExceededError = exports.URLMismatchError = exports.AbortError = exports.NetworkError = exports.SecurityError = exports.TypeMismatchError = exports.ValidationError = exports.InvalidAccessError = exports.NamespaceError = exports.InvalidModificationError = exports.InvalidStateError = exports.InUseAttributeError = exports.NotSupportedError = exports.NoModificationAllowedError = exports.NoDataAllowedError = exports.WrongDocumentError = exports.DOMStringSizeError = exports.DOMException = void 0; /** * Represents the base class of `Error` objects used by this module. */ -class DOMException extends Error { - /** - * Returns the name of the error message. - */ - name; +var DOMException = /** @class */ (function (_super) { + __extends(DOMException, _super); /** * * @param name - message name * @param message - error message */ - constructor(name, message = "") { - super(message); - this.name = name; + function DOMException(name, message) { + if (message === void 0) { message = ""; } + var _this = _super.call(this, message) || this; + _this.name = name; + return _this; } -} + return DOMException; +}(Error)); exports.DOMException = DOMException; -class DOMStringSizeError extends DOMException { +var DOMStringSizeError = /** @class */ (function (_super) { + __extends(DOMStringSizeError, _super); /** * @param message - error message */ - constructor(message = "") { - super("DOMStringSizeError", message); + function DOMStringSizeError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "DOMStringSizeError", message) || this; } -} + return DOMStringSizeError; +}(DOMException)); exports.DOMStringSizeError = DOMStringSizeError; -class WrongDocumentError extends DOMException { +var WrongDocumentError = /** @class */ (function (_super) { + __extends(WrongDocumentError, _super); /** * @param message - error message */ - constructor(message = "") { - super("WrongDocumentError", "The object is in the wrong document. " + message); + function WrongDocumentError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "WrongDocumentError", "The object is in the wrong document. " + message) || this; } -} + return WrongDocumentError; +}(DOMException)); exports.WrongDocumentError = WrongDocumentError; -class NoDataAllowedError extends DOMException { +var NoDataAllowedError = /** @class */ (function (_super) { + __extends(NoDataAllowedError, _super); /** * @param message - error message */ - constructor(message = "") { - super("NoDataAllowedError", message); + function NoDataAllowedError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "NoDataAllowedError", message) || this; } -} + return NoDataAllowedError; +}(DOMException)); exports.NoDataAllowedError = NoDataAllowedError; -class NoModificationAllowedError extends DOMException { +var NoModificationAllowedError = /** @class */ (function (_super) { + __extends(NoModificationAllowedError, _super); /** * @param message - error message */ - constructor(message = "") { - super("NoModificationAllowedError", "The object can not be modified. " + message); + function NoModificationAllowedError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "NoModificationAllowedError", "The object can not be modified. " + message) || this; } -} + return NoModificationAllowedError; +}(DOMException)); exports.NoModificationAllowedError = NoModificationAllowedError; -class NotSupportedError extends DOMException { +var NotSupportedError = /** @class */ (function (_super) { + __extends(NotSupportedError, _super); /** * @param message - error message */ - constructor(message = "") { - super("NotSupportedError", "The operation is not supported. " + message); + function NotSupportedError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "NotSupportedError", "The operation is not supported. " + message) || this; } -} + return NotSupportedError; +}(DOMException)); exports.NotSupportedError = NotSupportedError; -class InUseAttributeError extends DOMException { +var InUseAttributeError = /** @class */ (function (_super) { + __extends(InUseAttributeError, _super); /** * @param message - error message */ - constructor(message = "") { - super("InUseAttributeError", message); + function InUseAttributeError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "InUseAttributeError", message) || this; } -} + return InUseAttributeError; +}(DOMException)); exports.InUseAttributeError = InUseAttributeError; -class InvalidStateError extends DOMException { +var InvalidStateError = /** @class */ (function (_super) { + __extends(InvalidStateError, _super); /** * @param message - error message */ - constructor(message = "") { - super("InvalidStateError", "The object is in an invalid state. " + message); + function InvalidStateError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "InvalidStateError", "The object is in an invalid state. " + message) || this; } -} + return InvalidStateError; +}(DOMException)); exports.InvalidStateError = InvalidStateError; -class InvalidModificationError extends DOMException { +var InvalidModificationError = /** @class */ (function (_super) { + __extends(InvalidModificationError, _super); /** * @param message - error message */ - constructor(message = "") { - super("InvalidModificationError", "The object can not be modified in this way. " + message); + function InvalidModificationError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "InvalidModificationError", "The object can not be modified in this way. " + message) || this; } -} + return InvalidModificationError; +}(DOMException)); exports.InvalidModificationError = InvalidModificationError; -class NamespaceError extends DOMException { +var NamespaceError = /** @class */ (function (_super) { + __extends(NamespaceError, _super); /** * @param message - error message */ - constructor(message = "") { - super("NamespaceError", "The operation is not allowed by Namespaces in XML. [XMLNS] " + message); + function NamespaceError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "NamespaceError", "The operation is not allowed by Namespaces in XML. [XMLNS] " + message) || this; } -} + return NamespaceError; +}(DOMException)); exports.NamespaceError = NamespaceError; -class InvalidAccessError extends DOMException { +var InvalidAccessError = /** @class */ (function (_super) { + __extends(InvalidAccessError, _super); /** * @param message - error message */ - constructor(message = "") { - super("InvalidAccessError", "The object does not support the operation or argument. " + message); + function InvalidAccessError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "InvalidAccessError", "The object does not support the operation or argument. " + message) || this; } -} + return InvalidAccessError; +}(DOMException)); exports.InvalidAccessError = InvalidAccessError; -class ValidationError extends DOMException { +var ValidationError = /** @class */ (function (_super) { + __extends(ValidationError, _super); /** * @param message - error message */ - constructor(message = "") { - super("ValidationError", message); + function ValidationError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "ValidationError", message) || this; } -} + return ValidationError; +}(DOMException)); exports.ValidationError = ValidationError; -class TypeMismatchError extends DOMException { +var TypeMismatchError = /** @class */ (function (_super) { + __extends(TypeMismatchError, _super); /** * @param message - error message */ - constructor(message = "") { - super("TypeMismatchError", message); + function TypeMismatchError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "TypeMismatchError", message) || this; } -} + return TypeMismatchError; +}(DOMException)); exports.TypeMismatchError = TypeMismatchError; -class SecurityError extends DOMException { +var SecurityError = /** @class */ (function (_super) { + __extends(SecurityError, _super); /** * @param message - error message */ - constructor(message = "") { - super("SecurityError", "The operation is insecure. " + message); + function SecurityError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "SecurityError", "The operation is insecure. " + message) || this; } -} + return SecurityError; +}(DOMException)); exports.SecurityError = SecurityError; -class NetworkError extends DOMException { +var NetworkError = /** @class */ (function (_super) { + __extends(NetworkError, _super); /** * @param message - error message */ - constructor(message = "") { - super("NetworkError", "A network error occurred. " + message); + function NetworkError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "NetworkError", "A network error occurred. " + message) || this; } -} + return NetworkError; +}(DOMException)); exports.NetworkError = NetworkError; -class AbortError extends DOMException { +var AbortError = /** @class */ (function (_super) { + __extends(AbortError, _super); /** * @param message - error message */ - constructor(message = "") { - super("AbortError", "The operation was aborted. " + message); + function AbortError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "AbortError", "The operation was aborted. " + message) || this; } -} + return AbortError; +}(DOMException)); exports.AbortError = AbortError; -class URLMismatchError extends DOMException { +var URLMismatchError = /** @class */ (function (_super) { + __extends(URLMismatchError, _super); /** * @param message - error message */ - constructor(message = "") { - super("URLMismatchError", "The given URL does not match another URL. " + message); + function URLMismatchError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "URLMismatchError", "The given URL does not match another URL. " + message) || this; } -} + return URLMismatchError; +}(DOMException)); exports.URLMismatchError = URLMismatchError; -class QuotaExceededError extends DOMException { +var QuotaExceededError = /** @class */ (function (_super) { + __extends(QuotaExceededError, _super); /** * @param message - error message */ - constructor(message = "") { - super("QuotaExceededError", "The quota has been exceeded. " + message); + function QuotaExceededError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "QuotaExceededError", "The quota has been exceeded. " + message) || this; } -} + return QuotaExceededError; +}(DOMException)); exports.QuotaExceededError = QuotaExceededError; -class TimeoutError extends DOMException { +var TimeoutError = /** @class */ (function (_super) { + __extends(TimeoutError, _super); /** * @param message - error message */ - constructor(message = "") { - super("TimeoutError", "The operation timed out. " + message); + function TimeoutError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "TimeoutError", "The operation timed out. " + message) || this; } -} + return TimeoutError; +}(DOMException)); exports.TimeoutError = TimeoutError; -class InvalidNodeTypeError extends DOMException { +var InvalidNodeTypeError = /** @class */ (function (_super) { + __extends(InvalidNodeTypeError, _super); /** * @param message - error message */ - constructor(message = "") { - super("InvalidNodeTypeError", "The supplied node is incorrect or has an incorrect ancestor for this operation. " + message); + function InvalidNodeTypeError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "InvalidNodeTypeError", "The supplied node is incorrect or has an incorrect ancestor for this operation. " + message) || this; } -} + return InvalidNodeTypeError; +}(DOMException)); exports.InvalidNodeTypeError = InvalidNodeTypeError; -class DataCloneError extends DOMException { +var DataCloneError = /** @class */ (function (_super) { + __extends(DataCloneError, _super); /** * @param message - error message */ - constructor(message = "") { - super("DataCloneError", "The object can not be cloned. " + message); + function DataCloneError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "DataCloneError", "The object can not be cloned. " + message) || this; } -} + return DataCloneError; +}(DOMException)); exports.DataCloneError = DataCloneError; -class NotImplementedError extends DOMException { +var NotImplementedError = /** @class */ (function (_super) { + __extends(NotImplementedError, _super); /** * @param message - error message */ - constructor(message = "") { - super("NotImplementedError", "The DOM method is not implemented by this module. " + message); + function NotImplementedError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "NotImplementedError", "The DOM method is not implemented by this module. " + message) || this; } -} + return NotImplementedError; +}(DOMException)); exports.NotImplementedError = NotImplementedError; -class HierarchyRequestError extends DOMException { +var HierarchyRequestError = /** @class */ (function (_super) { + __extends(HierarchyRequestError, _super); /** * @param message - error message */ - constructor(message = "") { - super("HierarchyRequestError", "The operation would yield an incorrect node tree. " + message); + function HierarchyRequestError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "HierarchyRequestError", "The operation would yield an incorrect node tree. " + message) || this; } -} + return HierarchyRequestError; +}(DOMException)); exports.HierarchyRequestError = HierarchyRequestError; -class NotFoundError extends DOMException { +var NotFoundError = /** @class */ (function (_super) { + __extends(NotFoundError, _super); /** * @param message - error message */ - constructor(message = "") { - super("NotFoundError", "The object can not be found here. " + message); + function NotFoundError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "NotFoundError", "The object can not be found here. " + message) || this; } -} + return NotFoundError; +}(DOMException)); exports.NotFoundError = NotFoundError; -class IndexSizeError extends DOMException { +var IndexSizeError = /** @class */ (function (_super) { + __extends(IndexSizeError, _super); /** * @param message - error message */ - constructor(message = "") { - super("IndexSizeError", "The index is not in the allowed range. " + message); + function IndexSizeError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "IndexSizeError", "The index is not in the allowed range. " + message) || this; } -} + return IndexSizeError; +}(DOMException)); exports.IndexSizeError = IndexSizeError; -class SyntaxError extends DOMException { +var SyntaxError = /** @class */ (function (_super) { + __extends(SyntaxError, _super); /** * @param message - error message */ - constructor(message = "") { - super("SyntaxError", "The string did not match the expected pattern. " + message); + function SyntaxError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "SyntaxError", "The string did not match the expected pattern. " + message) || this; } -} + return SyntaxError; +}(DOMException)); exports.SyntaxError = SyntaxError; -class InvalidCharacterError extends DOMException { +var InvalidCharacterError = /** @class */ (function (_super) { + __extends(InvalidCharacterError, _super); /** * @param message - error message */ - constructor(message = "") { - super("InvalidCharacterError", "The string contains invalid characters. " + message); + function InvalidCharacterError(message) { + if (message === void 0) { message = ""; } + return _super.call(this, "InvalidCharacterError", "The string contains invalid characters. " + message) || this; } -} + return InvalidCharacterError; +}(DOMException)); exports.InvalidCharacterError = InvalidCharacterError; //# sourceMappingURL=DOMException.js.map @@ -23818,27 +24947,23 @@ exports.InvalidCharacterError = InvalidCharacterError; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.dom = void 0; -const util_1 = __nccwpck_require__(76195); -const CreateAlgorithm_1 = __nccwpck_require__(57339); +var util_1 = __nccwpck_require__(76195); +var CreateAlgorithm_1 = __nccwpck_require__(57339); /** * Represents an object implementing DOM algorithms. */ -class DOMImpl { - static _instance; - _features = { - mutationObservers: true, - customElements: true, - slots: true, - steps: true - }; - _window = null; - _compareCache; - _rangeList; +var DOMImpl = /** @class */ (function () { /** * Initializes a new instance of `DOM`. */ - constructor() { + function DOMImpl() { + this._features = { + mutationObservers: true, + customElements: true, + slots: true, + steps: true + }; + this._window = null; this._compareCache = new util_1.CompareCache(); this._rangeList = new util_1.FixedSizeSet(); } @@ -23848,52 +24973,73 @@ class DOMImpl { * @param features - DOM features supported by algorithms. All features are * enabled by default unless explicity disabled. */ - setFeatures(features) { + DOMImpl.prototype.setFeatures = function (features) { if (features === undefined) features = true; - if ((0, util_1.isObject)(features)) { - for (const key in features) { + if (util_1.isObject(features)) { + for (var key in features) { this._features[key] = features[key] || false; } } else { // enable/disable all features - for (const key in this._features) { + for (var key in this._features) { this._features[key] = features; } } - } - /** - * Gets DOM algorithm features. - */ - get features() { return this._features; } - /** - * Gets the DOM window. - */ - get window() { - if (this._window === null) { - this._window = (0, CreateAlgorithm_1.create_window)(); - } - return this._window; - } - /** - * Gets the global node compare cache. - */ - get compareCache() { return this._compareCache; } - /** - * Gets the global range list. - */ - get rangeList() { return this._rangeList; } - /** - * Returns the instance of `DOM`. - */ - static get instance() { - if (!DOMImpl._instance) { - DOMImpl._instance = new DOMImpl(); - } - return DOMImpl._instance; - } -} + }; + Object.defineProperty(DOMImpl.prototype, "features", { + /** + * Gets DOM algorithm features. + */ + get: function () { return this._features; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DOMImpl.prototype, "window", { + /** + * Gets the DOM window. + */ + get: function () { + if (this._window === null) { + this._window = CreateAlgorithm_1.create_window(); + } + return this._window; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DOMImpl.prototype, "compareCache", { + /** + * Gets the global node compare cache. + */ + get: function () { return this._compareCache; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DOMImpl.prototype, "rangeList", { + /** + * Gets the global range list. + */ + get: function () { return this._rangeList; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DOMImpl, "instance", { + /** + * Returns the instance of `DOM`. + */ + get: function () { + if (!DOMImpl._instance) { + DOMImpl._instance = new DOMImpl(); + } + return DOMImpl._instance; + }, + enumerable: true, + configurable: true + }); + return DOMImpl; +}()); /** * Represents an object implementing DOM algorithms. */ @@ -23908,52 +25054,50 @@ exports.dom = DOMImpl.instance; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.DOMImplementationImpl = void 0; -const DOMImpl_1 = __nccwpck_require__(14177); -const infra_1 = __nccwpck_require__(84251); -const algorithm_1 = __nccwpck_require__(61); -const WebIDLAlgorithm_1 = __nccwpck_require__(45457); +var DOMImpl_1 = __nccwpck_require__(14177); +var infra_1 = __nccwpck_require__(84251); +var algorithm_1 = __nccwpck_require__(61); +var WebIDLAlgorithm_1 = __nccwpck_require__(45457); /** * Represents an object providing methods which are not dependent on * any particular document. */ -class DOMImplementationImpl { - _ID = "@oozcitak/dom"; - _associatedDocument; +var DOMImplementationImpl = /** @class */ (function () { /** * Initializes a new instance of `DOMImplementation`. * * @param document - the associated document */ - constructor(document) { + function DOMImplementationImpl(document) { this._associatedDocument = document || DOMImpl_1.dom.window.document; } /** @inheritdoc */ - createDocumentType(qualifiedName, publicId, systemId) { + DOMImplementationImpl.prototype.createDocumentType = function (qualifiedName, publicId, systemId) { /** * 1. Validate qualifiedName. * 2. Return a new doctype, with qualifiedName as its name, publicId as its * public ID, and systemId as its system ID, and with its node document set * to the associated document of the context object. */ - (0, algorithm_1.namespace_validate)(qualifiedName); - return (0, algorithm_1.create_documentType)(this._associatedDocument, qualifiedName, publicId, systemId); - } + algorithm_1.namespace_validate(qualifiedName); + return algorithm_1.create_documentType(this._associatedDocument, qualifiedName, publicId, systemId); + }; /** @inheritdoc */ - createDocument(namespace, qualifiedName, doctype = null) { + DOMImplementationImpl.prototype.createDocument = function (namespace, qualifiedName, doctype) { + if (doctype === void 0) { doctype = null; } /** * 1. Let document be a new XMLDocument. */ - const document = (0, algorithm_1.create_xmlDocument)(); + var document = algorithm_1.create_xmlDocument(); /** * 2. Let element be null. * 3. If qualifiedName is not the empty string, then set element to * the result of running the internal createElementNS steps, given document, * namespace, qualifiedName, and an empty dictionary. */ - let element = null; + var element = null; if (qualifiedName) { - element = (0, algorithm_1.document_internalCreateElementNS)(document, namespace, qualifiedName); + element = algorithm_1.document_internalCreateElementNS(document, namespace, qualifiedName); } /** * 4. If doctype is non-null, append doctype to document. @@ -23986,32 +25130,32 @@ class DOMImplementationImpl { * 8. Return document. */ return document; - } + }; /** @inheritdoc */ - createHTMLDocument(title) { + DOMImplementationImpl.prototype.createHTMLDocument = function (title) { /** * 1. Let doc be a new document that is an HTML document. * 2. Set doc’s content type to "text/html". */ - const doc = (0, algorithm_1.create_document)(); + var doc = algorithm_1.create_document(); doc._type = "html"; doc._contentType = "text/html"; /** * 3. Append a new doctype, with "html" as its name and with its node * document set to doc, to doc. */ - doc.appendChild((0, algorithm_1.create_documentType)(doc, "html", "", "")); + doc.appendChild(algorithm_1.create_documentType(doc, "html", "", "")); /** * 4. Append the result of creating an element given doc, html, and the * HTML namespace, to doc. */ - const htmlElement = (0, algorithm_1.element_createAnElement)(doc, "html", infra_1.namespace.HTML); + var htmlElement = algorithm_1.element_createAnElement(doc, "html", infra_1.namespace.HTML); doc.appendChild(htmlElement); /** * 5. Append the result of creating an element given doc, head, and the * HTML namespace, to the html element created earlier. */ - const headElement = (0, algorithm_1.element_createAnElement)(doc, "head", infra_1.namespace.HTML); + var headElement = algorithm_1.element_createAnElement(doc, "head", infra_1.namespace.HTML); htmlElement.appendChild(headElement); /** * 6. If title is given: @@ -24022,16 +25166,16 @@ class DOMImplementationImpl { * element created earlier. */ if (title !== undefined) { - const titleElement = (0, algorithm_1.element_createAnElement)(doc, "title", infra_1.namespace.HTML); + var titleElement = algorithm_1.element_createAnElement(doc, "title", infra_1.namespace.HTML); headElement.appendChild(titleElement); - const textElement = (0, algorithm_1.create_text)(doc, title); + var textElement = algorithm_1.create_text(doc, title); titleElement.appendChild(textElement); } /** * 7. Append the result of creating an element given doc, body, and the * HTML namespace, to the html element created earlier. */ - const bodyElement = (0, algorithm_1.element_createAnElement)(doc, "body", infra_1.namespace.HTML); + var bodyElement = algorithm_1.element_createAnElement(doc, "body", infra_1.namespace.HTML); htmlElement.appendChild(bodyElement); /** * 8. doc’s origin is context object’s associated document’s origin. @@ -24041,49 +25185,57 @@ class DOMImplementationImpl { * 9. Return doc. */ return doc; - } + }; /** @inheritdoc */ - hasFeature() { return true; } + DOMImplementationImpl.prototype.hasFeature = function () { return true; }; /** * Creates a new `DOMImplementation`. * * @param document - owner document */ - static _create(document) { + DOMImplementationImpl._create = function (document) { return new DOMImplementationImpl(document); - } -} + }; + return DOMImplementationImpl; +}()); exports.DOMImplementationImpl = DOMImplementationImpl; -(0, WebIDLAlgorithm_1.idl_defineConst)(DOMImplementationImpl.prototype, "_ID", "@oozcitak/dom"); +WebIDLAlgorithm_1.idl_defineConst(DOMImplementationImpl.prototype, "_ID", "@oozcitak/dom"); //# sourceMappingURL=DOMImplementationImpl.js.map /***/ }), /***/ 65096: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.DOMTokenListImpl = void 0; -const DOMImpl_1 = __nccwpck_require__(14177); -const DOMException_1 = __nccwpck_require__(13166); -const infra_1 = __nccwpck_require__(84251); -const algorithm_1 = __nccwpck_require__(61); +var DOMImpl_1 = __nccwpck_require__(14177); +var DOMException_1 = __nccwpck_require__(13166); +var infra_1 = __nccwpck_require__(84251); +var algorithm_1 = __nccwpck_require__(61); /** * Represents a token set. */ -class DOMTokenListImpl { - _element; - _attribute; - _tokenSet; +var DOMTokenListImpl = /** @class */ (function () { /** * Initializes a new instance of `DOMTokenList`. * * @param element - associated element * @param attribute - associated attribute */ - constructor(element, attribute) { + function DOMTokenListImpl(element, attribute) { /** * 1. Let element be associated element. * 2. Let localName be associated attribute’s local name. @@ -24095,10 +25247,10 @@ class DOMTokenListImpl { this._element = element; this._attribute = attribute; this._tokenSet = new Set(); - const localName = attribute._localName; - const value = (0, algorithm_1.element_getAnAttributeValue)(element, localName); + var localName = attribute._localName; + var value = algorithm_1.element_getAnAttributeValue(element, localName); // define a closure to be called when the associated attribute's value changes - const thisObj = this; + var thisObj = this; function updateTokenSet(element, localName, oldValue, value, namespace) { /** * 1. If localName is associated attribute’s local name, namespace is null, @@ -24110,96 +25262,142 @@ class DOMTokenListImpl { if (!value) thisObj._tokenSet.clear(); else - thisObj._tokenSet = (0, algorithm_1.orderedSet_parse)(value); + thisObj._tokenSet = algorithm_1.orderedSet_parse(value); } } // add the closure to the associated element's attribute change steps this._element._attributeChangeSteps.push(updateTokenSet); if (DOMImpl_1.dom.features.steps) { - (0, algorithm_1.dom_runAttributeChangeSteps)(element, localName, value, value, null); + algorithm_1.dom_runAttributeChangeSteps(element, localName, value, value, null); } } + Object.defineProperty(DOMTokenListImpl.prototype, "length", { + /** @inheritdoc */ + get: function () { + /** + * The length attribute' getter must return context object’s token set’s + * size. + */ + return this._tokenSet.size; + }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get length() { - /** - * The length attribute' getter must return context object’s token set’s - * size. - */ - return this._tokenSet.size; - } - /** @inheritdoc */ - item(index) { + DOMTokenListImpl.prototype.item = function (index) { + var e_1, _a; /** * 1. If index is equal to or greater than context object’s token set’s * size, then return null. * 2. Return context object’s token set[index]. */ - let i = 0; - for (const token of this._tokenSet) { - if (i === index) - return token; - i++; + var i = 0; + try { + for (var _b = __values(this._tokenSet), _c = _b.next(); !_c.done; _c = _b.next()) { + var token = _c.value; + if (i === index) + return token; + i++; + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } } return null; - } + }; /** @inheritdoc */ - contains(token) { + DOMTokenListImpl.prototype.contains = function (token) { /** * The contains(token) method, when invoked, must return true if context * object’s token set[token] exists, and false otherwise. */ return this._tokenSet.has(token); - } + }; /** @inheritdoc */ - add(...tokens) { - /** - * 1. For each token in tokens: - * 1.1. If token is the empty string, then throw a "SyntaxError" - * DOMException. - * 1.2. If token contains any ASCII whitespace, then throw an - * "InvalidCharacterError" DOMException. - * 2. For each token in tokens, append token to context object’s token set. - * 3. Run the update steps. - */ - for (const token of tokens) { - if (token === '') { - throw new DOMException_1.SyntaxError("Cannot add an empty token."); - } - else if (infra_1.codePoint.ASCIIWhiteSpace.test(token)) { - throw new DOMException_1.InvalidCharacterError("Token cannot contain whitespace."); - } - else { - this._tokenSet.add(token); + DOMTokenListImpl.prototype.add = function () { + var e_2, _a; + var tokens = []; + for (var _i = 0; _i < arguments.length; _i++) { + tokens[_i] = arguments[_i]; + } + try { + /** + * 1. For each token in tokens: + * 1.1. If token is the empty string, then throw a "SyntaxError" + * DOMException. + * 1.2. If token contains any ASCII whitespace, then throw an + * "InvalidCharacterError" DOMException. + * 2. For each token in tokens, append token to context object’s token set. + * 3. Run the update steps. + */ + for (var tokens_1 = __values(tokens), tokens_1_1 = tokens_1.next(); !tokens_1_1.done; tokens_1_1 = tokens_1.next()) { + var token = tokens_1_1.value; + if (token === '') { + throw new DOMException_1.SyntaxError("Cannot add an empty token."); + } + else if (infra_1.codePoint.ASCIIWhiteSpace.test(token)) { + throw new DOMException_1.InvalidCharacterError("Token cannot contain whitespace."); + } + else { + this._tokenSet.add(token); + } } } - (0, algorithm_1.tokenList_updateSteps)(this); - } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (tokens_1_1 && !tokens_1_1.done && (_a = tokens_1.return)) _a.call(tokens_1); + } + finally { if (e_2) throw e_2.error; } + } + algorithm_1.tokenList_updateSteps(this); + }; /** @inheritdoc */ - remove(...tokens) { - /** - * 1. For each token in tokens: - * 1.1. If token is the empty string, then throw a "SyntaxError" - * DOMException. - * 1.2. If token contains any ASCII whitespace, then throw an - * "InvalidCharacterError" DOMException. - * 2. For each token in tokens, remove token from context object’s token set. - * 3. Run the update steps. - */ - for (const token of tokens) { - if (token === '') { - throw new DOMException_1.SyntaxError("Cannot remove an empty token."); - } - else if (infra_1.codePoint.ASCIIWhiteSpace.test(token)) { - throw new DOMException_1.InvalidCharacterError("Token cannot contain whitespace."); - } - else { - this._tokenSet.delete(token); + DOMTokenListImpl.prototype.remove = function () { + var e_3, _a; + var tokens = []; + for (var _i = 0; _i < arguments.length; _i++) { + tokens[_i] = arguments[_i]; + } + try { + /** + * 1. For each token in tokens: + * 1.1. If token is the empty string, then throw a "SyntaxError" + * DOMException. + * 1.2. If token contains any ASCII whitespace, then throw an + * "InvalidCharacterError" DOMException. + * 2. For each token in tokens, remove token from context object’s token set. + * 3. Run the update steps. + */ + for (var tokens_2 = __values(tokens), tokens_2_1 = tokens_2.next(); !tokens_2_1.done; tokens_2_1 = tokens_2.next()) { + var token = tokens_2_1.value; + if (token === '') { + throw new DOMException_1.SyntaxError("Cannot remove an empty token."); + } + else if (infra_1.codePoint.ASCIIWhiteSpace.test(token)) { + throw new DOMException_1.InvalidCharacterError("Token cannot contain whitespace."); + } + else { + this._tokenSet.delete(token); + } } } - (0, algorithm_1.tokenList_updateSteps)(this); - } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (tokens_2_1 && !tokens_2_1.done && (_a = tokens_2.return)) _a.call(tokens_2); + } + finally { if (e_3) throw e_3.error; } + } + algorithm_1.tokenList_updateSteps(this); + }; /** @inheritdoc */ - toggle(token, force = undefined) { + DOMTokenListImpl.prototype.toggle = function (token, force) { + if (force === void 0) { force = undefined; } /** * 1. If token is the empty string, then throw a "SyntaxError" DOMException. * 2. If token contains any ASCII whitespace, then throw an @@ -24222,7 +25420,7 @@ class DOMTokenListImpl { */ if (force === undefined || force === false) { this._tokenSet.delete(token); - (0, algorithm_1.tokenList_updateSteps)(this); + algorithm_1.tokenList_updateSteps(this); return false; } return true; @@ -24233,16 +25431,16 @@ class DOMTokenListImpl { */ if (force === undefined || force === true) { this._tokenSet.add(token); - (0, algorithm_1.tokenList_updateSteps)(this); + algorithm_1.tokenList_updateSteps(this); return true; } /** * 5. Return false. */ return false; - } + }; /** @inheritdoc */ - replace(token, newToken) { + DOMTokenListImpl.prototype.replace = function (token, newToken) { /** * 1. If either token or newToken is the empty string, then throw a * "SyntaxError" DOMException. @@ -24267,278 +25465,424 @@ class DOMTokenListImpl { * 6. Return true. */ infra_1.set.replace(this._tokenSet, token, newToken); - (0, algorithm_1.tokenList_updateSteps)(this); + algorithm_1.tokenList_updateSteps(this); return true; - } + }; /** @inheritdoc */ - supports(token) { + DOMTokenListImpl.prototype.supports = function (token) { /** * 1. Let result be the return value of validation steps called with token. * 2. Return result. */ - return (0, algorithm_1.tokenList_validationSteps)(this, token); - } - /** @inheritdoc */ - get value() { - /** - * The value attribute must return the result of running context object’s - * serialize steps. - */ - return (0, algorithm_1.tokenList_serializeSteps)(this); - } - set value(value) { - /** - * Setting the value attribute must set an attribute value for the - * associated element using associated attribute’s local name and the given - * value. - */ - (0, algorithm_1.element_setAnAttributeValue)(this._element, this._attribute._localName, value); - } + return algorithm_1.tokenList_validationSteps(this, token); + }; + Object.defineProperty(DOMTokenListImpl.prototype, "value", { + /** @inheritdoc */ + get: function () { + /** + * The value attribute must return the result of running context object’s + * serialize steps. + */ + return algorithm_1.tokenList_serializeSteps(this); + }, + set: function (value) { + /** + * Setting the value attribute must set an attribute value for the + * associated element using associated attribute’s local name and the given + * value. + */ + algorithm_1.element_setAnAttributeValue(this._element, this._attribute._localName, value); + }, + enumerable: true, + configurable: true + }); /** * Returns an iterator for the token set. */ - [Symbol.iterator]() { - const it = this._tokenSet[Symbol.iterator](); + DOMTokenListImpl.prototype[Symbol.iterator] = function () { + var it = this._tokenSet[Symbol.iterator](); return { - next() { + next: function () { return it.next(); } }; - } + }; /** * Creates a new `DOMTokenList`. * * @param element - associated element * @param attribute - associated attribute */ - static _create(element, attribute) { + DOMTokenListImpl._create = function (element, attribute) { return new DOMTokenListImpl(element, attribute); - } -} + }; + return DOMTokenListImpl; +}()); exports.DOMTokenListImpl = DOMTokenListImpl; //# sourceMappingURL=DOMTokenListImpl.js.map /***/ }), /***/ 12585: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.DocumentFragmentImpl = void 0; -const interfaces_1 = __nccwpck_require__(27305); -const NodeImpl_1 = __nccwpck_require__(91745); -const WebIDLAlgorithm_1 = __nccwpck_require__(45457); +var interfaces_1 = __nccwpck_require__(27305); +var NodeImpl_1 = __nccwpck_require__(91745); +var WebIDLAlgorithm_1 = __nccwpck_require__(45457); /** * Represents a document fragment in the XML tree. */ -class DocumentFragmentImpl extends NodeImpl_1.NodeImpl { - _nodeType = interfaces_1.NodeType.DocumentFragment; - _children = new Set(); - _host; +var DocumentFragmentImpl = /** @class */ (function (_super) { + __extends(DocumentFragmentImpl, _super); /** * Initializes a new instance of `DocumentFragment`. * * @param host - shadow root's host element */ - constructor(host = null) { - super(); - this._host = host; + function DocumentFragmentImpl(host) { + if (host === void 0) { host = null; } + var _this = _super.call(this) || this; + _this._children = new Set(); + _this._host = host; + return _this; } // MIXIN: NonElementParentNode /* istanbul ignore next */ - getElementById(elementId) { throw new Error("Mixin: NonElementParentNode not implemented."); } - // MIXIN: ParentNode + DocumentFragmentImpl.prototype.getElementById = function (elementId) { throw new Error("Mixin: NonElementParentNode not implemented."); }; + Object.defineProperty(DocumentFragmentImpl.prototype, "children", { + // MIXIN: ParentNode + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: ParentNode not implemented."); }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentFragmentImpl.prototype, "firstElementChild", { + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: ParentNode not implemented."); }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentFragmentImpl.prototype, "lastElementChild", { + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: ParentNode not implemented."); }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentFragmentImpl.prototype, "childElementCount", { + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: ParentNode not implemented."); }, + enumerable: true, + configurable: true + }); /* istanbul ignore next */ - get children() { throw new Error("Mixin: ParentNode not implemented."); } + DocumentFragmentImpl.prototype.prepend = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } + throw new Error("Mixin: ParentNode not implemented."); + }; /* istanbul ignore next */ - get firstElementChild() { throw new Error("Mixin: ParentNode not implemented."); } + DocumentFragmentImpl.prototype.append = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } + throw new Error("Mixin: ParentNode not implemented."); + }; /* istanbul ignore next */ - get lastElementChild() { throw new Error("Mixin: ParentNode not implemented."); } + DocumentFragmentImpl.prototype.querySelector = function (selectors) { throw new Error("Mixin: ParentNode not implemented."); }; /* istanbul ignore next */ - get childElementCount() { throw new Error("Mixin: ParentNode not implemented."); } - /* istanbul ignore next */ - prepend(...nodes) { throw new Error("Mixin: ParentNode not implemented."); } - /* istanbul ignore next */ - append(...nodes) { throw new Error("Mixin: ParentNode not implemented."); } - /* istanbul ignore next */ - querySelector(selectors) { throw new Error("Mixin: ParentNode not implemented."); } - /* istanbul ignore next */ - querySelectorAll(selectors) { throw new Error("Mixin: ParentNode not implemented."); } + DocumentFragmentImpl.prototype.querySelectorAll = function (selectors) { throw new Error("Mixin: ParentNode not implemented."); }; /** * Creates a new `DocumentFragment`. * * @param document - owner document * @param host - shadow root's host element */ - static _create(document, host = null) { - const node = new DocumentFragmentImpl(host); + DocumentFragmentImpl._create = function (document, host) { + if (host === void 0) { host = null; } + var node = new DocumentFragmentImpl(host); node._nodeDocument = document; return node; - } -} + }; + return DocumentFragmentImpl; +}(NodeImpl_1.NodeImpl)); exports.DocumentFragmentImpl = DocumentFragmentImpl; /** * Initialize prototype properties */ -(0, WebIDLAlgorithm_1.idl_defineConst)(DocumentFragmentImpl.prototype, "_nodeType", interfaces_1.NodeType.DocumentFragment); +WebIDLAlgorithm_1.idl_defineConst(DocumentFragmentImpl.prototype, "_nodeType", interfaces_1.NodeType.DocumentFragment); //# sourceMappingURL=DocumentFragmentImpl.js.map /***/ }), /***/ 14333: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.DocumentImpl = void 0; -const DOMImpl_1 = __nccwpck_require__(14177); -const interfaces_1 = __nccwpck_require__(27305); -const DOMException_1 = __nccwpck_require__(13166); -const NodeImpl_1 = __nccwpck_require__(91745); -const util_1 = __nccwpck_require__(65282); -const util_2 = __nccwpck_require__(76195); -const infra_1 = __nccwpck_require__(84251); -const URLAlgorithm_1 = __nccwpck_require__(53568); -const algorithm_1 = __nccwpck_require__(61); -const WebIDLAlgorithm_1 = __nccwpck_require__(45457); +var DOMImpl_1 = __nccwpck_require__(14177); +var interfaces_1 = __nccwpck_require__(27305); +var DOMException_1 = __nccwpck_require__(13166); +var NodeImpl_1 = __nccwpck_require__(91745); +var util_1 = __nccwpck_require__(65282); +var util_2 = __nccwpck_require__(76195); +var infra_1 = __nccwpck_require__(84251); +var URLAlgorithm_1 = __nccwpck_require__(53568); +var algorithm_1 = __nccwpck_require__(61); +var WebIDLAlgorithm_1 = __nccwpck_require__(45457); /** * Represents a document node. */ -class DocumentImpl extends NodeImpl_1.NodeImpl { - _nodeType = interfaces_1.NodeType.Document; - _children = new Set(); - _encoding = { - name: "UTF-8", - labels: ["unicode-1-1-utf-8", "utf-8", "utf8"] - }; - _contentType = 'application/xml'; - _URL = { - scheme: "about", - username: "", - password: "", - host: null, - port: null, - path: ["blank"], - query: null, - fragment: null, - _cannotBeABaseURLFlag: true, - _blobURLEntry: null - }; - _origin = null; - _type = "xml"; - _mode = "no-quirks"; - _implementation; - _documentElement = null; - _hasNamespaces = false; - _nodeDocumentOverwrite = null; - get _nodeDocument() { return this._nodeDocumentOverwrite || this; } - set _nodeDocument(val) { this._nodeDocumentOverwrite = val; } +var DocumentImpl = /** @class */ (function (_super) { + __extends(DocumentImpl, _super); /** * Initializes a new instance of `Document`. */ - constructor() { - super(); + function DocumentImpl() { + var _this = _super.call(this) || this; + _this._children = new Set(); + _this._encoding = { + name: "UTF-8", + labels: ["unicode-1-1-utf-8", "utf-8", "utf8"] + }; + _this._contentType = 'application/xml'; + _this._URL = { + scheme: "about", + username: "", + password: "", + host: null, + port: null, + path: ["blank"], + query: null, + fragment: null, + _cannotBeABaseURLFlag: true, + _blobURLEntry: null + }; + _this._origin = null; + _this._type = "xml"; + _this._mode = "no-quirks"; + _this._documentElement = null; + _this._hasNamespaces = false; + _this._nodeDocumentOverwrite = null; + return _this; } + Object.defineProperty(DocumentImpl.prototype, "_nodeDocument", { + get: function () { return this._nodeDocumentOverwrite || this; }, + set: function (val) { this._nodeDocumentOverwrite = val; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentImpl.prototype, "implementation", { + /** @inheritdoc */ + get: function () { + /** + * The implementation attribute’s getter must return the DOMImplementation + * object that is associated with the document. + */ + return this._implementation || (this._implementation = algorithm_1.create_domImplementation(this)); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentImpl.prototype, "URL", { + /** @inheritdoc */ + get: function () { + /** + * The URL attribute’s getter and documentURI attribute’s getter must return + * the URL, serialized. + * See: https://url.spec.whatwg.org/#concept-url-serializer + */ + return URLAlgorithm_1.urlSerializer(this._URL); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentImpl.prototype, "documentURI", { + /** @inheritdoc */ + get: function () { return this.URL; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentImpl.prototype, "origin", { + /** @inheritdoc */ + get: function () { + return "null"; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentImpl.prototype, "compatMode", { + /** @inheritdoc */ + get: function () { + /** + * The compatMode attribute’s getter must return "BackCompat" if context + * object’s mode is "quirks", and "CSS1Compat" otherwise. + */ + return this._mode === "quirks" ? "BackCompat" : "CSS1Compat"; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentImpl.prototype, "characterSet", { + /** @inheritdoc */ + get: function () { + /** + * The characterSet attribute’s getter, charset attribute’s getter, and + * inputEncoding attribute’s getter, must return context object’s + * encoding’s name. + */ + return this._encoding.name; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentImpl.prototype, "charset", { + /** @inheritdoc */ + get: function () { return this._encoding.name; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentImpl.prototype, "inputEncoding", { + /** @inheritdoc */ + get: function () { return this._encoding.name; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentImpl.prototype, "contentType", { + /** @inheritdoc */ + get: function () { + /** + * The contentType attribute’s getter must return the content type. + */ + return this._contentType; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentImpl.prototype, "doctype", { + /** @inheritdoc */ + get: function () { + var e_1, _a; + try { + /** + * The doctype attribute’s getter must return the child of the document + * that is a doctype, and null otherwise. + */ + for (var _b = __values(this._children), _c = _b.next(); !_c.done; _c = _b.next()) { + var child = _c.value; + if (util_1.Guard.isDocumentTypeNode(child)) + return child; + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } + } + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentImpl.prototype, "documentElement", { + /** @inheritdoc */ + get: function () { + /** + * The documentElement attribute’s getter must return the document element. + */ + return this._documentElement; + }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get implementation() { - /** - * The implementation attribute’s getter must return the DOMImplementation - * object that is associated with the document. - */ - return this._implementation || (this._implementation = (0, algorithm_1.create_domImplementation)(this)); - } - /** @inheritdoc */ - get URL() { - /** - * The URL attribute’s getter and documentURI attribute’s getter must return - * the URL, serialized. - * See: https://url.spec.whatwg.org/#concept-url-serializer - */ - return (0, URLAlgorithm_1.urlSerializer)(this._URL); - } - /** @inheritdoc */ - get documentURI() { return this.URL; } - /** @inheritdoc */ - get origin() { - return "null"; - } - /** @inheritdoc */ - get compatMode() { - /** - * The compatMode attribute’s getter must return "BackCompat" if context - * object’s mode is "quirks", and "CSS1Compat" otherwise. - */ - return this._mode === "quirks" ? "BackCompat" : "CSS1Compat"; - } - /** @inheritdoc */ - get characterSet() { - /** - * The characterSet attribute’s getter, charset attribute’s getter, and - * inputEncoding attribute’s getter, must return context object’s - * encoding’s name. - */ - return this._encoding.name; - } - /** @inheritdoc */ - get charset() { return this._encoding.name; } - /** @inheritdoc */ - get inputEncoding() { return this._encoding.name; } - /** @inheritdoc */ - get contentType() { - /** - * The contentType attribute’s getter must return the content type. - */ - return this._contentType; - } - /** @inheritdoc */ - get doctype() { - /** - * The doctype attribute’s getter must return the child of the document - * that is a doctype, and null otherwise. - */ - for (const child of this._children) { - if (util_1.Guard.isDocumentTypeNode(child)) - return child; - } - return null; - } - /** @inheritdoc */ - get documentElement() { - /** - * The documentElement attribute’s getter must return the document element. - */ - return this._documentElement; - } - /** @inheritdoc */ - getElementsByTagName(qualifiedName) { + DocumentImpl.prototype.getElementsByTagName = function (qualifiedName) { /** * The getElementsByTagName(qualifiedName) method, when invoked, must return * the list of elements with qualified name qualifiedName for the context object. */ - return (0, algorithm_1.node_listOfElementsWithQualifiedName)(qualifiedName, this); - } + return algorithm_1.node_listOfElementsWithQualifiedName(qualifiedName, this); + }; /** @inheritdoc */ - getElementsByTagNameNS(namespace, localName) { + DocumentImpl.prototype.getElementsByTagNameNS = function (namespace, localName) { /** * The getElementsByTagNameNS(namespace, localName) method, when invoked, * must return the list of elements with namespace namespace and local name * localName for the context object. */ - return (0, algorithm_1.node_listOfElementsWithNamespace)(namespace, localName, this); - } + return algorithm_1.node_listOfElementsWithNamespace(namespace, localName, this); + }; /** @inheritdoc */ - getElementsByClassName(classNames) { + DocumentImpl.prototype.getElementsByClassName = function (classNames) { /** * The getElementsByClassName(classNames) method, when invoked, must return * the list of elements with class names classNames for the context object. */ - return (0, algorithm_1.node_listOfElementsWithClassNames)(classNames, this); - } + return algorithm_1.node_listOfElementsWithClassNames(classNames, this); + }; /** @inheritdoc */ - createElement(localName, options) { + DocumentImpl.prototype.createElement = function (localName, options) { /** * 1. If localName does not match the Name production, then throw an * "InvalidCharacterError" DOMException. @@ -24554,50 +25898,50 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { * localName, namespace, null, is, and with the synchronous custom elements * flag set. */ - if (!(0, algorithm_1.xml_isName)(localName)) + if (!algorithm_1.xml_isName(localName)) throw new DOMException_1.InvalidCharacterError(); if (this._type === "html") localName = localName.toLowerCase(); - let is = null; + var is = null; if (options !== undefined) { - if ((0, util_2.isString)(options)) { + if (util_2.isString(options)) { is = options; } else { is = options.is; } } - const namespace = (this._type === "html" || this._contentType === "application/xhtml+xml") ? + var namespace = (this._type === "html" || this._contentType === "application/xhtml+xml") ? infra_1.namespace.HTML : null; - return (0, algorithm_1.element_createAnElement)(this, localName, namespace, null, is, true); - } + return algorithm_1.element_createAnElement(this, localName, namespace, null, is, true); + }; /** @inheritdoc */ - createElementNS(namespace, qualifiedName, options) { + DocumentImpl.prototype.createElementNS = function (namespace, qualifiedName, options) { /** * The createElementNS(namespace, qualifiedName, options) method, when * invoked, must return the result of running the internal createElementNS * steps, given context object, namespace, qualifiedName, and options. */ - return (0, algorithm_1.document_internalCreateElementNS)(this, namespace, qualifiedName, options); - } + return algorithm_1.document_internalCreateElementNS(this, namespace, qualifiedName, options); + }; /** @inheritdoc */ - createDocumentFragment() { + DocumentImpl.prototype.createDocumentFragment = function () { /** * The createDocumentFragment() method, when invoked, must return a new * DocumentFragment node with its node document set to the context object. */ - return (0, algorithm_1.create_documentFragment)(this); - } + return algorithm_1.create_documentFragment(this); + }; /** @inheritdoc */ - createTextNode(data) { + DocumentImpl.prototype.createTextNode = function (data) { /** * The createTextNode(data) method, when invoked, must return a new Text * node with its data set to data and node document set to the context object. */ - return (0, algorithm_1.create_text)(this, data); - } + return algorithm_1.create_text(this, data); + }; /** @inheritdoc */ - createCDATASection(data) { + DocumentImpl.prototype.createCDATASection = function (data) { /** * 1. If context object is an HTML document, then throw a * "NotSupportedError" DOMException. @@ -24610,18 +25954,18 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { throw new DOMException_1.NotSupportedError(); if (data.indexOf(']]>') !== -1) throw new DOMException_1.InvalidCharacterError(); - return (0, algorithm_1.create_cdataSection)(this, data); - } + return algorithm_1.create_cdataSection(this, data); + }; /** @inheritdoc */ - createComment(data) { + DocumentImpl.prototype.createComment = function (data) { /** * The createComment(data) method, when invoked, must return a new Comment * node with its data set to data and node document set to the context object. */ - return (0, algorithm_1.create_comment)(this, data); - } + return algorithm_1.create_comment(this, data); + }; /** @inheritdoc */ - createProcessingInstruction(target, data) { + DocumentImpl.prototype.createProcessingInstruction = function (target, data) { /** * 1. If target does not match the Name production, then throw an * "InvalidCharacterError" DOMException. @@ -24630,14 +25974,15 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { * 3. Return a new ProcessingInstruction node, with target set to target, * data set to data, and node document set to the context object. */ - if (!(0, algorithm_1.xml_isName)(target)) + if (!algorithm_1.xml_isName(target)) throw new DOMException_1.InvalidCharacterError(); if (data.indexOf("?>") !== -1) throw new DOMException_1.InvalidCharacterError(); - return (0, algorithm_1.create_processingInstruction)(this, target, data); - } + return algorithm_1.create_processingInstruction(this, target, data); + }; /** @inheritdoc */ - importNode(node, deep = false) { + DocumentImpl.prototype.importNode = function (node, deep) { + if (deep === void 0) { deep = false; } /** * 1. If node is a document or shadow root, then throw a "NotSupportedError" DOMException. */ @@ -24646,10 +25991,10 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { /** * 2. Return a clone of node, with context object and the clone children flag set if deep is true. */ - return (0, algorithm_1.node_clone)(node, this, deep); - } + return algorithm_1.node_clone(node, this, deep); + }; /** @inheritdoc */ - adoptNode(node) { + DocumentImpl.prototype.adoptNode = function (node) { /** * 1. If node is a document, then throw a "NotSupportedError" DOMException. */ @@ -24664,11 +26009,11 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { * 3. Adopt node into the context object. * 4. Return node. */ - (0, algorithm_1.document_adopt)(node, this); + algorithm_1.document_adopt(node, this); return node; - } + }; /** @inheritdoc */ - createAttribute(localName) { + DocumentImpl.prototype.createAttribute = function (localName) { /** * 1. If localName does not match the Name production in XML, then throw * an "InvalidCharacterError" DOMException. @@ -24677,45 +26022,47 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { * 3. Return a new attribute whose local name is localName and node document * is context object. */ - if (!(0, algorithm_1.xml_isName)(localName)) + if (!algorithm_1.xml_isName(localName)) throw new DOMException_1.InvalidCharacterError(); if (this._type === "html") { localName = localName.toLowerCase(); } - const attr = (0, algorithm_1.create_attr)(this, localName); + var attr = algorithm_1.create_attr(this, localName); return attr; - } + }; /** @inheritdoc */ - createAttributeNS(namespace, qualifiedName) { + DocumentImpl.prototype.createAttributeNS = function (namespace, qualifiedName) { /** * 1. Let namespace, prefix, and localName be the result of passing * namespace and qualifiedName to validate and extract. * 2. Return a new attribute whose namespace is namespace, namespace prefix * is prefix, local name is localName, and node document is context object. */ - const [ns, prefix, localName] = (0, algorithm_1.namespace_validateAndExtract)(namespace, qualifiedName); - const attr = (0, algorithm_1.create_attr)(this, localName); + var _a = __read(algorithm_1.namespace_validateAndExtract(namespace, qualifiedName), 3), ns = _a[0], prefix = _a[1], localName = _a[2]; + var attr = algorithm_1.create_attr(this, localName); attr._namespace = ns; attr._namespacePrefix = prefix; return attr; - } + }; /** @inheritdoc */ - createEvent(eventInterface) { - return (0, algorithm_1.event_createLegacyEvent)(eventInterface); - } + DocumentImpl.prototype.createEvent = function (eventInterface) { + return algorithm_1.event_createLegacyEvent(eventInterface); + }; /** @inheritdoc */ - createRange() { + DocumentImpl.prototype.createRange = function () { /** * The createRange() method, when invoked, must return a new live range * with (context object, 0) as its start and end. */ - const range = (0, algorithm_1.create_range)(); + var range = algorithm_1.create_range(); range._start = [this, 0]; range._end = [this, 0]; return range; - } + }; /** @inheritdoc */ - createNodeIterator(root, whatToShow = interfaces_1.WhatToShow.All, filter = null) { + DocumentImpl.prototype.createNodeIterator = function (root, whatToShow, filter) { + if (whatToShow === void 0) { whatToShow = interfaces_1.WhatToShow.All; } + if (filter === void 0) { filter = null; } /** * 1. Let iterator be a new NodeIterator object. * 2. Set iterator’s root and iterator’s reference to root. @@ -24724,20 +26071,22 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { * 5. Set iterator’s filter to filter. * 6. Return iterator. */ - const iterator = (0, algorithm_1.create_nodeIterator)(root, root, true); + var iterator = algorithm_1.create_nodeIterator(root, root, true); iterator._whatToShow = whatToShow; - iterator._iteratorCollection = (0, algorithm_1.create_nodeList)(root); - if ((0, util_2.isFunction)(filter)) { - iterator._filter = (0, algorithm_1.create_nodeFilter)(); + iterator._iteratorCollection = algorithm_1.create_nodeList(root); + if (util_2.isFunction(filter)) { + iterator._filter = algorithm_1.create_nodeFilter(); iterator._filter.acceptNode = filter; } else { iterator._filter = filter; } return iterator; - } + }; /** @inheritdoc */ - createTreeWalker(root, whatToShow = interfaces_1.WhatToShow.All, filter = null) { + DocumentImpl.prototype.createTreeWalker = function (root, whatToShow, filter) { + if (whatToShow === void 0) { whatToShow = interfaces_1.WhatToShow.All; } + if (filter === void 0) { filter = null; } /** * 1. Let walker be a new TreeWalker object. * 2. Set walker’s root and walker’s current to root. @@ -24745,23 +26094,23 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { * 4. Set walker’s filter to filter. * 5. Return walker. */ - const walker = (0, algorithm_1.create_treeWalker)(root, root); + var walker = algorithm_1.create_treeWalker(root, root); walker._whatToShow = whatToShow; - if ((0, util_2.isFunction)(filter)) { - walker._filter = (0, algorithm_1.create_nodeFilter)(); + if (util_2.isFunction(filter)) { + walker._filter = algorithm_1.create_nodeFilter(); walker._filter.acceptNode = filter; } else { walker._filter = filter; } return walker; - } + }; /** * Gets the parent event target for the given event. * * @param event - an event */ - _getTheParent(event) { + DocumentImpl.prototype._getTheParent = function (event) { /** * TODO: Implement realms * A document’s get the parent algorithm, given an event, returns null if @@ -24774,35 +26123,64 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { else { return DOMImpl_1.dom.window; } - } + }; // MIXIN: NonElementParentNode /* istanbul ignore next */ - getElementById(elementId) { throw new Error("Mixin: NonElementParentNode not implemented."); } - // MIXIN: DocumentOrShadowRoot - // No elements - // MIXIN: ParentNode + DocumentImpl.prototype.getElementById = function (elementId) { throw new Error("Mixin: NonElementParentNode not implemented."); }; + Object.defineProperty(DocumentImpl.prototype, "children", { + // MIXIN: DocumentOrShadowRoot + // No elements + // MIXIN: ParentNode + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: ParentNode not implemented."); }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentImpl.prototype, "firstElementChild", { + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: ParentNode not implemented."); }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentImpl.prototype, "lastElementChild", { + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: ParentNode not implemented."); }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentImpl.prototype, "childElementCount", { + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: ParentNode not implemented."); }, + enumerable: true, + configurable: true + }); /* istanbul ignore next */ - get children() { throw new Error("Mixin: ParentNode not implemented."); } + DocumentImpl.prototype.prepend = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } + throw new Error("Mixin: ParentNode not implemented."); + }; /* istanbul ignore next */ - get firstElementChild() { throw new Error("Mixin: ParentNode not implemented."); } + DocumentImpl.prototype.append = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } + throw new Error("Mixin: ParentNode not implemented."); + }; /* istanbul ignore next */ - get lastElementChild() { throw new Error("Mixin: ParentNode not implemented."); } + DocumentImpl.prototype.querySelector = function (selectors) { throw new Error("Mixin: ParentNode not implemented."); }; /* istanbul ignore next */ - get childElementCount() { throw new Error("Mixin: ParentNode not implemented."); } - /* istanbul ignore next */ - prepend(...nodes) { throw new Error("Mixin: ParentNode not implemented."); } - /* istanbul ignore next */ - append(...nodes) { throw new Error("Mixin: ParentNode not implemented."); } - /* istanbul ignore next */ - querySelector(selectors) { throw new Error("Mixin: ParentNode not implemented."); } - /* istanbul ignore next */ - querySelectorAll(selectors) { throw new Error("Mixin: ParentNode not implemented."); } -} + DocumentImpl.prototype.querySelectorAll = function (selectors) { throw new Error("Mixin: ParentNode not implemented."); }; + return DocumentImpl; +}(NodeImpl_1.NodeImpl)); exports.DocumentImpl = DocumentImpl; /** * Initialize prototype properties */ -(0, WebIDLAlgorithm_1.idl_defineConst)(DocumentImpl.prototype, "_nodeType", interfaces_1.NodeType.Document); +WebIDLAlgorithm_1.idl_defineConst(DocumentImpl.prototype, "_nodeType", interfaces_1.NodeType.Document); //# sourceMappingURL=DocumentImpl.js.map /***/ }), @@ -24813,7 +26191,6 @@ exports.DocumentImpl = DocumentImpl; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.DocumentOrShadowRootImpl = void 0; /** * Represents a mixin for an interface to be used to share APIs between * documents and shadow roots. This mixin is implemented by @@ -24822,32 +26199,44 @@ exports.DocumentOrShadowRootImpl = void 0; * _Note:_ The DocumentOrShadowRoot mixin is expected to be used by other * standards that want to define APIs shared between documents and shadow roots. */ -class DocumentOrShadowRootImpl { -} +var DocumentOrShadowRootImpl = /** @class */ (function () { + function DocumentOrShadowRootImpl() { + } + return DocumentOrShadowRootImpl; +}()); exports.DocumentOrShadowRootImpl = DocumentOrShadowRootImpl; //# sourceMappingURL=DocumentOrShadowRootImpl.js.map /***/ }), /***/ 3173: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.DocumentTypeImpl = void 0; -const interfaces_1 = __nccwpck_require__(27305); -const NodeImpl_1 = __nccwpck_require__(91745); -const WebIDLAlgorithm_1 = __nccwpck_require__(45457); +var interfaces_1 = __nccwpck_require__(27305); +var NodeImpl_1 = __nccwpck_require__(91745); +var WebIDLAlgorithm_1 = __nccwpck_require__(45457); /** * Represents an object providing methods which are not dependent on * any particular document */ -class DocumentTypeImpl extends NodeImpl_1.NodeImpl { - _nodeType = interfaces_1.NodeType.DocumentType; - _name = ''; - _publicId = ''; - _systemId = ''; +var DocumentTypeImpl = /** @class */ (function (_super) { + __extends(DocumentTypeImpl, _super); /** * Initializes a new instance of `DocumentType`. * @@ -24855,27 +26244,61 @@ class DocumentTypeImpl extends NodeImpl_1.NodeImpl { * @param publicId - `PUBLIC` identifier * @param systemId - `SYSTEM` identifier */ - constructor(name, publicId, systemId) { - super(); - this._name = name; - this._publicId = publicId; - this._systemId = systemId; + function DocumentTypeImpl(name, publicId, systemId) { + var _this = _super.call(this) || this; + _this._name = ''; + _this._publicId = ''; + _this._systemId = ''; + _this._name = name; + _this._publicId = publicId; + _this._systemId = systemId; + return _this; } - /** @inheritdoc */ - get name() { return this._name; } - /** @inheritdoc */ - get publicId() { return this._publicId; } - /** @inheritdoc */ - get systemId() { return this._systemId; } + Object.defineProperty(DocumentTypeImpl.prototype, "name", { + /** @inheritdoc */ + get: function () { return this._name; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentTypeImpl.prototype, "publicId", { + /** @inheritdoc */ + get: function () { return this._publicId; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DocumentTypeImpl.prototype, "systemId", { + /** @inheritdoc */ + get: function () { return this._systemId; }, + enumerable: true, + configurable: true + }); // MIXIN: ChildNode /* istanbul ignore next */ - before(...nodes) { throw new Error("Mixin: ChildNode not implemented."); } + DocumentTypeImpl.prototype.before = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } + throw new Error("Mixin: ChildNode not implemented."); + }; /* istanbul ignore next */ - after(...nodes) { throw new Error("Mixin: ChildNode not implemented."); } + DocumentTypeImpl.prototype.after = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } + throw new Error("Mixin: ChildNode not implemented."); + }; /* istanbul ignore next */ - replaceWith(...nodes) { throw new Error("Mixin: ChildNode not implemented."); } + DocumentTypeImpl.prototype.replaceWith = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } + throw new Error("Mixin: ChildNode not implemented."); + }; /* istanbul ignore next */ - remove() { throw new Error("Mixin: ChildNode not implemented."); } + DocumentTypeImpl.prototype.remove = function () { throw new Error("Mixin: ChildNode not implemented."); }; /** * Creates a new `DocumentType`. * @@ -24884,143 +26307,232 @@ class DocumentTypeImpl extends NodeImpl_1.NodeImpl { * @param publicId - `PUBLIC` identifier * @param systemId - `SYSTEM` identifier */ - static _create(document, name, publicId = '', systemId = '') { - const node = new DocumentTypeImpl(name, publicId, systemId); + DocumentTypeImpl._create = function (document, name, publicId, systemId) { + if (publicId === void 0) { publicId = ''; } + if (systemId === void 0) { systemId = ''; } + var node = new DocumentTypeImpl(name, publicId, systemId); node._nodeDocument = document; return node; - } -} + }; + return DocumentTypeImpl; +}(NodeImpl_1.NodeImpl)); exports.DocumentTypeImpl = DocumentTypeImpl; /** * Initialize prototype properties */ -(0, WebIDLAlgorithm_1.idl_defineConst)(DocumentTypeImpl.prototype, "_nodeType", interfaces_1.NodeType.DocumentType); +WebIDLAlgorithm_1.idl_defineConst(DocumentTypeImpl.prototype, "_nodeType", interfaces_1.NodeType.DocumentType); //# sourceMappingURL=DocumentTypeImpl.js.map /***/ }), /***/ 35975: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ElementImpl = void 0; -const interfaces_1 = __nccwpck_require__(27305); -const NodeImpl_1 = __nccwpck_require__(91745); -const DOMException_1 = __nccwpck_require__(13166); -const infra_1 = __nccwpck_require__(84251); -const algorithm_1 = __nccwpck_require__(61); -const WebIDLAlgorithm_1 = __nccwpck_require__(45457); +var interfaces_1 = __nccwpck_require__(27305); +var NodeImpl_1 = __nccwpck_require__(91745); +var DOMException_1 = __nccwpck_require__(13166); +var infra_1 = __nccwpck_require__(84251); +var algorithm_1 = __nccwpck_require__(61); +var WebIDLAlgorithm_1 = __nccwpck_require__(45457); /** * Represents an element node. */ -class ElementImpl extends NodeImpl_1.NodeImpl { - _nodeType = interfaces_1.NodeType.Element; - _children = new Set(); - _namespace = null; - _namespacePrefix = null; - _localName = ""; - _customElementState = "undefined"; - _customElementDefinition = null; - _is = null; - _shadowRoot = null; - _attributeList = (0, algorithm_1.create_namedNodeMap)(this); - _uniqueIdentifier; - _attributeChangeSteps = []; - _name = ''; - _assignedSlot = null; +var ElementImpl = /** @class */ (function (_super) { + __extends(ElementImpl, _super); /** * Initializes a new instance of `Element`. */ - constructor() { - super(); + function ElementImpl() { + var _this = _super.call(this) || this; + _this._children = new Set(); + _this._namespace = null; + _this._namespacePrefix = null; + _this._localName = ""; + _this._customElementState = "undefined"; + _this._customElementDefinition = null; + _this._is = null; + _this._shadowRoot = null; + _this._attributeList = algorithm_1.create_namedNodeMap(_this); + _this._attributeChangeSteps = []; + _this._name = ''; + _this._assignedSlot = null; + return _this; } + Object.defineProperty(ElementImpl.prototype, "namespaceURI", { + /** @inheritdoc */ + get: function () { return this._namespace; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ElementImpl.prototype, "prefix", { + /** @inheritdoc */ + get: function () { return this._namespacePrefix; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ElementImpl.prototype, "localName", { + /** @inheritdoc */ + get: function () { return this._localName; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ElementImpl.prototype, "tagName", { + /** @inheritdoc */ + get: function () { return this._htmlUppercasedQualifiedName; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ElementImpl.prototype, "id", { + /** @inheritdoc */ + get: function () { + return algorithm_1.element_getAnAttributeValue(this, "id"); + }, + set: function (value) { + algorithm_1.element_setAnAttributeValue(this, "id", value); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ElementImpl.prototype, "className", { + /** @inheritdoc */ + get: function () { + return algorithm_1.element_getAnAttributeValue(this, "class"); + }, + set: function (value) { + algorithm_1.element_setAnAttributeValue(this, "class", value); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ElementImpl.prototype, "classList", { + /** @inheritdoc */ + get: function () { + var attr = algorithm_1.element_getAnAttributeByName("class", this); + if (attr === null) { + attr = algorithm_1.create_attr(this._nodeDocument, "class"); + } + return algorithm_1.create_domTokenList(this, attr); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ElementImpl.prototype, "slot", { + /** @inheritdoc */ + get: function () { + return algorithm_1.element_getAnAttributeValue(this, "slot"); + }, + set: function (value) { + algorithm_1.element_setAnAttributeValue(this, "slot", value); + }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get namespaceURI() { return this._namespace; } - /** @inheritdoc */ - get prefix() { return this._namespacePrefix; } - /** @inheritdoc */ - get localName() { return this._localName; } - /** @inheritdoc */ - get tagName() { return this._htmlUppercasedQualifiedName; } - /** @inheritdoc */ - get id() { - return (0, algorithm_1.element_getAnAttributeValue)(this, "id"); - } - set id(value) { - (0, algorithm_1.element_setAnAttributeValue)(this, "id", value); - } - /** @inheritdoc */ - get className() { - return (0, algorithm_1.element_getAnAttributeValue)(this, "class"); - } - set className(value) { - (0, algorithm_1.element_setAnAttributeValue)(this, "class", value); - } - /** @inheritdoc */ - get classList() { - let attr = (0, algorithm_1.element_getAnAttributeByName)("class", this); - if (attr === null) { - attr = (0, algorithm_1.create_attr)(this._nodeDocument, "class"); - } - return (0, algorithm_1.create_domTokenList)(this, attr); - } - /** @inheritdoc */ - get slot() { - return (0, algorithm_1.element_getAnAttributeValue)(this, "slot"); - } - set slot(value) { - (0, algorithm_1.element_setAnAttributeValue)(this, "slot", value); - } - /** @inheritdoc */ - hasAttributes() { + ElementImpl.prototype.hasAttributes = function () { return this._attributeList.length !== 0; - } + }; + Object.defineProperty(ElementImpl.prototype, "attributes", { + /** @inheritdoc */ + get: function () { return this._attributeList; }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get attributes() { return this._attributeList; } - /** @inheritdoc */ - getAttributeNames() { + ElementImpl.prototype.getAttributeNames = function () { + var e_1, _a; /** * The getAttributeNames() method, when invoked, must return the qualified * names of the attributes in context object’s attribute list, in order, * and a new list otherwise. */ - const names = []; - for (const attr of this._attributeList) { - names.push(attr._qualifiedName); + var names = []; + try { + for (var _b = __values(this._attributeList), _c = _b.next(); !_c.done; _c = _b.next()) { + var attr = _c.value; + names.push(attr._qualifiedName); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } } return names; - } + }; /** @inheritdoc */ - getAttribute(qualifiedName) { + ElementImpl.prototype.getAttribute = function (qualifiedName) { /** * 1. Let attr be the result of getting an attribute given qualifiedName * and the context object. * 2. If attr is null, return null. * 3. Return attr’s value. */ - const attr = (0, algorithm_1.element_getAnAttributeByName)(qualifiedName, this); + var attr = algorithm_1.element_getAnAttributeByName(qualifiedName, this); return (attr ? attr._value : null); - } + }; /** @inheritdoc */ - getAttributeNS(namespace, localName) { + ElementImpl.prototype.getAttributeNS = function (namespace, localName) { /** * 1. Let attr be the result of getting an attribute given namespace, * localName, and the context object. * 2. If attr is null, return null. * 3. Return attr’s value. */ - const attr = (0, algorithm_1.element_getAnAttributeByNamespaceAndLocalName)(namespace, localName, this); + var attr = algorithm_1.element_getAnAttributeByNamespaceAndLocalName(namespace, localName, this); return (attr ? attr._value : null); - } + }; /** @inheritdoc */ - setAttribute(qualifiedName, value) { + ElementImpl.prototype.setAttribute = function (qualifiedName, value) { /** * 1. If qualifiedName does not match the Name production in XML, then * throw an "InvalidCharacterError" DOMException. */ - if (!(0, algorithm_1.xml_isName)(qualifiedName)) + if (!algorithm_1.xml_isName(qualifiedName)) throw new DOMException_1.InvalidCharacterError(); /** * 2. If the context object is in the HTML namespace and its node document @@ -25034,9 +26546,9 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * 3. Let attribute be the first attribute in context object’s attribute * list whose qualified name is qualifiedName, and null otherwise. */ - let attribute = null; - for (let i = 0; i < this._attributeList.length; i++) { - const attr = this._attributeList[i]; + var attribute = null; + for (var i = 0; i < this._attributeList.length; i++) { + var attr = this._attributeList[i]; if (attr._qualifiedName === qualifiedName) { attribute = attr; break; @@ -25049,47 +26561,47 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * then return. */ if (attribute === null) { - attribute = (0, algorithm_1.create_attr)(this._nodeDocument, qualifiedName); + attribute = algorithm_1.create_attr(this._nodeDocument, qualifiedName); attribute._value = value; - (0, algorithm_1.element_append)(attribute, this); + algorithm_1.element_append(attribute, this); return; } /** * 5. Change attribute from context object to value. */ - (0, algorithm_1.element_change)(attribute, this, value); - } + algorithm_1.element_change(attribute, this, value); + }; /** @inheritdoc */ - setAttributeNS(namespace, qualifiedName, value) { + ElementImpl.prototype.setAttributeNS = function (namespace, qualifiedName, value) { /** * 1. Let namespace, prefix, and localName be the result of passing * namespace and qualifiedName to validate and extract. * 2. Set an attribute value for the context object using localName, value, * and also prefix and namespace. */ - const [ns, prefix, localName] = (0, algorithm_1.namespace_validateAndExtract)(namespace, qualifiedName); - (0, algorithm_1.element_setAnAttributeValue)(this, localName, value, prefix, ns); - } + var _a = __read(algorithm_1.namespace_validateAndExtract(namespace, qualifiedName), 3), ns = _a[0], prefix = _a[1], localName = _a[2]; + algorithm_1.element_setAnAttributeValue(this, localName, value, prefix, ns); + }; /** @inheritdoc */ - removeAttribute(qualifiedName) { + ElementImpl.prototype.removeAttribute = function (qualifiedName) { /** * The removeAttribute(qualifiedName) method, when invoked, must remove an * attribute given qualifiedName and the context object, and then return * undefined. */ - (0, algorithm_1.element_removeAnAttributeByName)(qualifiedName, this); - } + algorithm_1.element_removeAnAttributeByName(qualifiedName, this); + }; /** @inheritdoc */ - removeAttributeNS(namespace, localName) { + ElementImpl.prototype.removeAttributeNS = function (namespace, localName) { /** * The removeAttributeNS(namespace, localName) method, when invoked, must * remove an attribute given namespace, localName, and context object, and * then return undefined. */ - (0, algorithm_1.element_removeAnAttributeByNamespaceAndLocalName)(namespace, localName, this); - } + algorithm_1.element_removeAnAttributeByNamespaceAndLocalName(namespace, localName, this); + }; /** @inheritdoc */ - hasAttribute(qualifiedName) { + ElementImpl.prototype.hasAttribute = function (qualifiedName) { /** * 1. If the context object is in the HTML namespace and its node document * is an HTML document, then set qualifiedName to qualifiedName in ASCII @@ -25100,21 +26612,21 @@ class ElementImpl extends NodeImpl_1.NodeImpl { if (this._namespace === infra_1.namespace.HTML && this._nodeDocument._type === "html") { qualifiedName = qualifiedName.toLowerCase(); } - for (let i = 0; i < this._attributeList.length; i++) { - const attr = this._attributeList[i]; + for (var i = 0; i < this._attributeList.length; i++) { + var attr = this._attributeList[i]; if (attr._qualifiedName === qualifiedName) { return true; } } return false; - } + }; /** @inheritdoc */ - toggleAttribute(qualifiedName, force) { + ElementImpl.prototype.toggleAttribute = function (qualifiedName, force) { /** * 1. If qualifiedName does not match the Name production in XML, then * throw an "InvalidCharacterError" DOMException. */ - if (!(0, algorithm_1.xml_isName)(qualifiedName)) + if (!algorithm_1.xml_isName(qualifiedName)) throw new DOMException_1.InvalidCharacterError(); /** * 2. If the context object is in the HTML namespace and its node document @@ -25128,9 +26640,9 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * 3. Let attribute be the first attribute in the context object’s attribute * list whose qualified name is qualifiedName, and null otherwise. */ - let attribute = null; - for (let i = 0; i < this._attributeList.length; i++) { - const attr = this._attributeList[i]; + var attribute = null; + for (var i = 0; i < this._attributeList.length; i++) { + var attr = this._attributeList[i]; if (attr._qualifiedName === qualifiedName) { attribute = attr; break; @@ -25146,9 +26658,9 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * 4.2. Return false. */ if (force === undefined || force === true) { - attribute = (0, algorithm_1.create_attr)(this._nodeDocument, qualifiedName); + attribute = algorithm_1.create_attr(this._nodeDocument, qualifiedName); attribute._value = ''; - (0, algorithm_1.element_append)(attribute, this); + algorithm_1.element_append(attribute, this); return true; } return false; @@ -25158,71 +26670,71 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * 5. Otherwise, if force is not given or is false, remove an attribute * given qualifiedName and the context object, and then return false. */ - (0, algorithm_1.element_removeAnAttributeByName)(qualifiedName, this); + algorithm_1.element_removeAnAttributeByName(qualifiedName, this); return false; } /** * 6. Return true. */ return true; - } + }; /** @inheritdoc */ - hasAttributeNS(namespace, localName) { + ElementImpl.prototype.hasAttributeNS = function (namespace, localName) { /** * 1. If namespace is the empty string, set it to null. * 2. Return true if the context object has an attribute whose namespace is * namespace and local name is localName, and false otherwise. */ - const ns = namespace || null; - for (let i = 0; i < this._attributeList.length; i++) { - const attr = this._attributeList[i]; + var ns = namespace || null; + for (var i = 0; i < this._attributeList.length; i++) { + var attr = this._attributeList[i]; if (attr._namespace === ns && attr._localName === localName) { return true; } } return false; - } + }; /** @inheritdoc */ - getAttributeNode(qualifiedName) { + ElementImpl.prototype.getAttributeNode = function (qualifiedName) { /** * The getAttributeNode(qualifiedName) method, when invoked, must return the * result of getting an attribute given qualifiedName and context object. */ - return (0, algorithm_1.element_getAnAttributeByName)(qualifiedName, this); - } + return algorithm_1.element_getAnAttributeByName(qualifiedName, this); + }; /** @inheritdoc */ - getAttributeNodeNS(namespace, localName) { + ElementImpl.prototype.getAttributeNodeNS = function (namespace, localName) { /** * The getAttributeNodeNS(namespace, localName) method, when invoked, must * return the result of getting an attribute given namespace, localName, and * the context object. */ - return (0, algorithm_1.element_getAnAttributeByNamespaceAndLocalName)(namespace, localName, this); - } + return algorithm_1.element_getAnAttributeByNamespaceAndLocalName(namespace, localName, this); + }; /** @inheritdoc */ - setAttributeNode(attr) { + ElementImpl.prototype.setAttributeNode = function (attr) { /** * The setAttributeNode(attr) and setAttributeNodeNS(attr) methods, when * invoked, must return the result of setting an attribute given attr and * the context object. */ - return (0, algorithm_1.element_setAnAttribute)(attr, this); - } + return algorithm_1.element_setAnAttribute(attr, this); + }; /** @inheritdoc */ - setAttributeNodeNS(attr) { - return (0, algorithm_1.element_setAnAttribute)(attr, this); - } + ElementImpl.prototype.setAttributeNodeNS = function (attr) { + return algorithm_1.element_setAnAttribute(attr, this); + }; /** @inheritdoc */ - removeAttributeNode(attr) { + ElementImpl.prototype.removeAttributeNode = function (attr) { /** * 1. If context object’s attribute list does not contain attr, then throw * a "NotFoundError" DOMException. * 2. Remove attr from context object. * 3. Return attr. */ - let found = false; - for (let i = 0; i < this._attributeList.length; i++) { - const attribute = this._attributeList[i]; + var found = false; + for (var i = 0; i < this._attributeList.length; i++) { + var attribute = this._attributeList[i]; if (attribute === attr) { found = true; break; @@ -25230,11 +26742,11 @@ class ElementImpl extends NodeImpl_1.NodeImpl { } if (!found) throw new DOMException_1.NotFoundError(); - (0, algorithm_1.element_remove)(attr, this); + algorithm_1.element_remove(attr, this); return attr; - } + }; /** @inheritdoc */ - attachShadow(init) { + ElementImpl.prototype.attachShadow = function (init) { /** * 1. If context object’s namespace is not the HTML namespace, then throw a * "NotSupportedError" DOMException. @@ -25247,8 +26759,8 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * "h3", "h4", "h5", "h6", "header", "main" "nav", "p", "section", * or "span", then throw a "NotSupportedError" DOMException. */ - if (!(0, algorithm_1.customElement_isValidCustomElementName)(this._localName) && - !(0, algorithm_1.customElement_isValidShadowHostName)(this._localName)) + if (!algorithm_1.customElement_isValidCustomElementName(this._localName) && + !algorithm_1.customElement_isValidShadowHostName(this._localName)) throw new DOMException_1.NotSupportedError(); /** * 3. If context object’s local name is a valid custom element name, @@ -25259,8 +26771,8 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * 3.2. If definition is not null and definition’s disable shadow is true, * then throw a "NotSupportedError" DOMException. */ - if ((0, algorithm_1.customElement_isValidCustomElementName)(this._localName) || this._is !== null) { - const definition = (0, algorithm_1.customElement_lookUpACustomElementDefinition)(this._nodeDocument, this._namespace, this._localName, this._is); + if (algorithm_1.customElement_isValidCustomElementName(this._localName) || this._is !== null) { + var definition = algorithm_1.customElement_lookUpACustomElementDefinition(this._nodeDocument, this._namespace, this._localName, this._is); if (definition !== null && definition.disableShadow === true) { throw new DOMException_1.NotSupportedError(); } @@ -25277,26 +26789,30 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * 6. Set context object’s shadow root to shadow. * 7. Return shadow. */ - const shadow = (0, algorithm_1.create_shadowRoot)(this._nodeDocument, this); + var shadow = algorithm_1.create_shadowRoot(this._nodeDocument, this); shadow._mode = init.mode; this._shadowRoot = shadow; return shadow; - } + }; + Object.defineProperty(ElementImpl.prototype, "shadowRoot", { + /** @inheritdoc */ + get: function () { + /** + * 1. Let shadow be context object’s shadow root. + * 2. If shadow is null or its mode is "closed", then return null. + * 3. Return shadow. + */ + var shadow = this._shadowRoot; + if (shadow === null || shadow.mode === "closed") + return null; + else + return shadow; + }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get shadowRoot() { - /** - * 1. Let shadow be context object’s shadow root. - * 2. If shadow is null or its mode is "closed", then return null. - * 3. Return shadow. - */ - const shadow = this._shadowRoot; - if (shadow === null || shadow.mode === "closed") - return null; - else - return shadow; - } - /** @inheritdoc */ - closest(selectors) { + ElementImpl.prototype.closest = function (selectors) { /** * TODO: Selectors * 1. Let s be the result of parse a selector from selectors. [SELECTORS4] @@ -25309,9 +26825,9 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * 5. Return null. */ throw new DOMException_1.NotImplementedError(); - } + }; /** @inheritdoc */ - matches(selectors) { + ElementImpl.prototype.matches = function (selectors) { /** * TODO: Selectors * 1. Let s be the result of parse a selector from selectors. [SELECTORS4] @@ -25321,120 +26837,186 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * and false otherwise. [SELECTORS4] */ throw new DOMException_1.NotImplementedError(); - } + }; /** @inheritdoc */ - webkitMatchesSelector(selectors) { + ElementImpl.prototype.webkitMatchesSelector = function (selectors) { return this.matches(selectors); - } + }; /** @inheritdoc */ - getElementsByTagName(qualifiedName) { + ElementImpl.prototype.getElementsByTagName = function (qualifiedName) { /** * The getElementsByTagName(qualifiedName) method, when invoked, must return * the list of elements with qualified name qualifiedName for context * object. */ - return (0, algorithm_1.node_listOfElementsWithQualifiedName)(qualifiedName, this); - } + return algorithm_1.node_listOfElementsWithQualifiedName(qualifiedName, this); + }; /** @inheritdoc */ - getElementsByTagNameNS(namespace, localName) { + ElementImpl.prototype.getElementsByTagNameNS = function (namespace, localName) { /** * The getElementsByTagNameNS(namespace, localName) method, when invoked, * must return the list of elements with namespace namespace and local name * localName for context object. */ - return (0, algorithm_1.node_listOfElementsWithNamespace)(namespace, localName, this); - } + return algorithm_1.node_listOfElementsWithNamespace(namespace, localName, this); + }; /** @inheritdoc */ - getElementsByClassName(classNames) { + ElementImpl.prototype.getElementsByClassName = function (classNames) { /** * The getElementsByClassName(classNames) method, when invoked, must return * the list of elements with class names classNames for context object. */ - return (0, algorithm_1.node_listOfElementsWithClassNames)(classNames, this); - } + return algorithm_1.node_listOfElementsWithClassNames(classNames, this); + }; /** @inheritdoc */ - insertAdjacentElement(where, element) { + ElementImpl.prototype.insertAdjacentElement = function (where, element) { /** * The insertAdjacentElement(where, element) method, when invoked, must * return the result of running insert adjacent, given context object, * where, and element. */ - return (0, algorithm_1.element_insertAdjacent)(this, where, element); - } + return algorithm_1.element_insertAdjacent(this, where, element); + }; /** @inheritdoc */ - insertAdjacentText(where, data) { + ElementImpl.prototype.insertAdjacentText = function (where, data) { /** * 1. Let text be a new Text node whose data is data and node document is * context object’s node document. * 2. Run insert adjacent, given context object, where, and text. */ - const text = (0, algorithm_1.create_text)(this._nodeDocument, data); - (0, algorithm_1.element_insertAdjacent)(this, where, text); - } - /** - * Returns the qualified name. - */ - get _qualifiedName() { + var text = algorithm_1.create_text(this._nodeDocument, data); + algorithm_1.element_insertAdjacent(this, where, text); + }; + Object.defineProperty(ElementImpl.prototype, "_qualifiedName", { /** - * An element’s qualified name is its local name if its namespace prefix is - * null, and its namespace prefix, followed by ":", followed by its - * local name, otherwise. + * Returns the qualified name. */ - return (this._namespacePrefix ? - this._namespacePrefix + ':' + this._localName : - this._localName); - } - /** - * Returns the upper-cased qualified name for a html element. - */ - get _htmlUppercasedQualifiedName() { + get: function () { + /** + * An element’s qualified name is its local name if its namespace prefix is + * null, and its namespace prefix, followed by ":", followed by its + * local name, otherwise. + */ + return (this._namespacePrefix ? + this._namespacePrefix + ':' + this._localName : + this._localName); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ElementImpl.prototype, "_htmlUppercasedQualifiedName", { /** - * 1. Let qualifiedName be context object’s qualified name. - * 2. If the context object is in the HTML namespace and its node document - * is an HTML document, then set qualifiedName to qualifiedName in ASCII - * uppercase. - * 3. Return qualifiedName. + * Returns the upper-cased qualified name for a html element. */ - let qualifiedName = this._qualifiedName; - if (this._namespace === infra_1.namespace.HTML && this._nodeDocument._type === "html") { - qualifiedName = qualifiedName.toUpperCase(); + get: function () { + /** + * 1. Let qualifiedName be context object’s qualified name. + * 2. If the context object is in the HTML namespace and its node document + * is an HTML document, then set qualifiedName to qualifiedName in ASCII + * uppercase. + * 3. Return qualifiedName. + */ + var qualifiedName = this._qualifiedName; + if (this._namespace === infra_1.namespace.HTML && this._nodeDocument._type === "html") { + qualifiedName = qualifiedName.toUpperCase(); + } + return qualifiedName; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ElementImpl.prototype, "children", { + // MIXIN: ParentNode + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: ParentNode not implemented."); }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ElementImpl.prototype, "firstElementChild", { + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: ParentNode not implemented."); }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ElementImpl.prototype, "lastElementChild", { + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: ParentNode not implemented."); }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ElementImpl.prototype, "childElementCount", { + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: ParentNode not implemented."); }, + enumerable: true, + configurable: true + }); + /* istanbul ignore next */ + ElementImpl.prototype.prepend = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; } - return qualifiedName; - } - // MIXIN: ParentNode + throw new Error("Mixin: ParentNode not implemented."); + }; /* istanbul ignore next */ - get children() { throw new Error("Mixin: ParentNode not implemented."); } + ElementImpl.prototype.append = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } + throw new Error("Mixin: ParentNode not implemented."); + }; /* istanbul ignore next */ - get firstElementChild() { throw new Error("Mixin: ParentNode not implemented."); } + ElementImpl.prototype.querySelector = function (selectors) { throw new Error("Mixin: ParentNode not implemented."); }; /* istanbul ignore next */ - get lastElementChild() { throw new Error("Mixin: ParentNode not implemented."); } - /* istanbul ignore next */ - get childElementCount() { throw new Error("Mixin: ParentNode not implemented."); } - /* istanbul ignore next */ - prepend(...nodes) { throw new Error("Mixin: ParentNode not implemented."); } - /* istanbul ignore next */ - append(...nodes) { throw new Error("Mixin: ParentNode not implemented."); } - /* istanbul ignore next */ - querySelector(selectors) { throw new Error("Mixin: ParentNode not implemented."); } - /* istanbul ignore next */ - querySelectorAll(selectors) { throw new Error("Mixin: ParentNode not implemented."); } - // MIXIN: NonDocumentTypeChildNode - /* istanbul ignore next */ - get previousElementSibling() { throw new Error("Mixin: NonDocumentTypeChildNode not implemented."); } - /* istanbul ignore next */ - get nextElementSibling() { throw new Error("Mixin: NonDocumentTypeChildNode not implemented."); } + ElementImpl.prototype.querySelectorAll = function (selectors) { throw new Error("Mixin: ParentNode not implemented."); }; + Object.defineProperty(ElementImpl.prototype, "previousElementSibling", { + // MIXIN: NonDocumentTypeChildNode + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: NonDocumentTypeChildNode not implemented."); }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ElementImpl.prototype, "nextElementSibling", { + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: NonDocumentTypeChildNode not implemented."); }, + enumerable: true, + configurable: true + }); // MIXIN: ChildNode /* istanbul ignore next */ - before(...nodes) { throw new Error("Mixin: ChildNode not implemented."); } + ElementImpl.prototype.before = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } + throw new Error("Mixin: ChildNode not implemented."); + }; /* istanbul ignore next */ - after(...nodes) { throw new Error("Mixin: ChildNode not implemented."); } + ElementImpl.prototype.after = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } + throw new Error("Mixin: ChildNode not implemented."); + }; /* istanbul ignore next */ - replaceWith(...nodes) { throw new Error("Mixin: ChildNode not implemented."); } + ElementImpl.prototype.replaceWith = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } + throw new Error("Mixin: ChildNode not implemented."); + }; /* istanbul ignore next */ - remove() { throw new Error("Mixin: ChildNode not implemented."); } - // MIXIN: Slotable - /* istanbul ignore next */ - get assignedSlot() { throw new Error("Mixin: Slotable not implemented."); } + ElementImpl.prototype.remove = function () { throw new Error("Mixin: ChildNode not implemented."); }; + Object.defineProperty(ElementImpl.prototype, "assignedSlot", { + // MIXIN: Slotable + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: Slotable not implemented."); }, + enumerable: true, + configurable: true + }); /** * Creates a new `Element`. * @@ -25443,20 +27025,23 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * @param namespace - namespace * @param prefix - namespace prefix */ - static _create(document, localName, namespace = null, namespacePrefix = null) { - const node = new ElementImpl(); + ElementImpl._create = function (document, localName, namespace, namespacePrefix) { + if (namespace === void 0) { namespace = null; } + if (namespacePrefix === void 0) { namespacePrefix = null; } + var node = new ElementImpl(); node._localName = localName; node._namespace = namespace; node._namespacePrefix = namespacePrefix; node._nodeDocument = document; return node; - } -} + }; + return ElementImpl; +}(NodeImpl_1.NodeImpl)); exports.ElementImpl = ElementImpl; /** * Initialize prototype properties */ -(0, WebIDLAlgorithm_1.idl_defineConst)(ElementImpl.prototype, "_nodeType", interfaces_1.NodeType.Element); +WebIDLAlgorithm_1.idl_defineConst(ElementImpl.prototype, "_nodeType", interfaces_1.NodeType.Element); //# sourceMappingURL=ElementImpl.js.map /***/ }), @@ -25467,44 +27052,33 @@ exports.ElementImpl = ElementImpl; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.EventImpl = void 0; -const interfaces_1 = __nccwpck_require__(27305); -const algorithm_1 = __nccwpck_require__(61); -const WebIDLAlgorithm_1 = __nccwpck_require__(45457); +var interfaces_1 = __nccwpck_require__(27305); +var algorithm_1 = __nccwpck_require__(61); +var WebIDLAlgorithm_1 = __nccwpck_require__(45457); /** * Represents a DOM event. */ -class EventImpl { - static NONE = 0; - static CAPTURING_PHASE = 1; - static AT_TARGET = 2; - static BUBBLING_PHASE = 3; - NONE = 0; - CAPTURING_PHASE = 1; - AT_TARGET = 2; - BUBBLING_PHASE = 3; - _target = null; - _relatedTarget = null; - _touchTargetList = []; - _path = []; - _currentTarget = null; - _eventPhase = interfaces_1.EventPhase.None; - _stopPropagationFlag = false; - _stopImmediatePropagationFlag = false; - _canceledFlag = false; - _inPassiveListenerFlag = false; - _composedFlag = false; - _initializedFlag = false; - _dispatchFlag = false; - _isTrusted = false; - _type; - _bubbles = false; - _cancelable = false; - _timeStamp; +var EventImpl = /** @class */ (function () { /** * Initializes a new instance of `Event`. */ - constructor(type, eventInit) { + function EventImpl(type, eventInit) { + this._target = null; + this._relatedTarget = null; + this._touchTargetList = []; + this._path = []; + this._currentTarget = null; + this._eventPhase = interfaces_1.EventPhase.None; + this._stopPropagationFlag = false; + this._stopImmediatePropagationFlag = false; + this._canceledFlag = false; + this._inPassiveListenerFlag = false; + this._composedFlag = false; + this._initializedFlag = false; + this._dispatchFlag = false; + this._isTrusted = false; + this._bubbles = false; + this._cancelable = false; /** * When a constructor of the Event interface, or of an interface that * inherits from the Event interface, is invoked, these steps must be run, @@ -25523,16 +27097,32 @@ class EventImpl { this._initializedFlag = true; this._timeStamp = new Date().getTime(); } + Object.defineProperty(EventImpl.prototype, "type", { + /** @inheritdoc */ + get: function () { return this._type; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(EventImpl.prototype, "target", { + /** @inheritdoc */ + get: function () { return this._target; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(EventImpl.prototype, "srcElement", { + /** @inheritdoc */ + get: function () { return this._target; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(EventImpl.prototype, "currentTarget", { + /** @inheritdoc */ + get: function () { return this._currentTarget; }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get type() { return this._type; } - /** @inheritdoc */ - get target() { return this._target; } - /** @inheritdoc */ - get srcElement() { return this._target; } - /** @inheritdoc */ - get currentTarget() { return this._currentTarget; } - /** @inheritdoc */ - composedPath() { + EventImpl.prototype.composedPath = function () { /** * 1. Let composedPath be an empty list. * 2. Let path be the context object’s path. @@ -25543,22 +27133,22 @@ class EventImpl { * 6. Let currentTargetIndex be 0. * 7. Let currentTargetHiddenSubtreeLevel be 0. */ - const composedPath = []; - const path = this._path; + var composedPath = []; + var path = this._path; if (path.length === 0) return composedPath; - const currentTarget = this._currentTarget; + var currentTarget = this._currentTarget; if (currentTarget === null) { throw new Error("Event currentTarget is null."); } composedPath.push(currentTarget); - let currentTargetIndex = 0; - let currentTargetHiddenSubtreeLevel = 0; + var currentTargetIndex = 0; + var currentTargetHiddenSubtreeLevel = 0; /** * 8. Let index be path’s size − 1. * 9. While index is greater than or equal to 0: */ - let index = path.length - 1; + var index = path.length - 1; while (index >= 0) { /** * 9.1. If path[index]'s root-of-closed-tree is true, then increase @@ -25585,8 +27175,8 @@ class EventImpl { * 10. Let currentHiddenLevel and maxHiddenLevel be * currentTargetHiddenSubtreeLevel. */ - let currentHiddenLevel = currentTargetHiddenSubtreeLevel; - let maxHiddenLevel = currentTargetHiddenSubtreeLevel; + var currentHiddenLevel = currentTargetHiddenSubtreeLevel; + var maxHiddenLevel = currentTargetHiddenSubtreeLevel; /** * 11. Set index to currentTargetIndex − 1. * 12. While index is greater than or equal to 0: @@ -25671,45 +27261,83 @@ class EventImpl { * 16. Return composedPath. */ return composedPath; - } + }; + Object.defineProperty(EventImpl.prototype, "eventPhase", { + /** @inheritdoc */ + get: function () { return this._eventPhase; }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get eventPhase() { return this._eventPhase; } + EventImpl.prototype.stopPropagation = function () { this._stopPropagationFlag = true; }; + Object.defineProperty(EventImpl.prototype, "cancelBubble", { + /** @inheritdoc */ + get: function () { return this._stopPropagationFlag; }, + set: function (value) { if (value) + this.stopPropagation(); }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - stopPropagation() { this._stopPropagationFlag = true; } - /** @inheritdoc */ - get cancelBubble() { return this._stopPropagationFlag; } - set cancelBubble(value) { if (value) - this.stopPropagation(); } - /** @inheritdoc */ - stopImmediatePropagation() { + EventImpl.prototype.stopImmediatePropagation = function () { this._stopPropagationFlag = true; this._stopImmediatePropagationFlag = true; - } + }; + Object.defineProperty(EventImpl.prototype, "bubbles", { + /** @inheritdoc */ + get: function () { return this._bubbles; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(EventImpl.prototype, "cancelable", { + /** @inheritdoc */ + get: function () { return this._cancelable; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(EventImpl.prototype, "returnValue", { + /** @inheritdoc */ + get: function () { return !this._canceledFlag; }, + set: function (value) { + if (!value) { + algorithm_1.event_setTheCanceledFlag(this); + } + }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get bubbles() { return this._bubbles; } + EventImpl.prototype.preventDefault = function () { + algorithm_1.event_setTheCanceledFlag(this); + }; + Object.defineProperty(EventImpl.prototype, "defaultPrevented", { + /** @inheritdoc */ + get: function () { return this._canceledFlag; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(EventImpl.prototype, "composed", { + /** @inheritdoc */ + get: function () { return this._composedFlag; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(EventImpl.prototype, "isTrusted", { + /** @inheritdoc */ + get: function () { return this._isTrusted; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(EventImpl.prototype, "timeStamp", { + /** @inheritdoc */ + get: function () { return this._timeStamp; }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get cancelable() { return this._cancelable; } - /** @inheritdoc */ - get returnValue() { return !this._canceledFlag; } - set returnValue(value) { - if (!value) { - (0, algorithm_1.event_setTheCanceledFlag)(this); - } - } - /** @inheritdoc */ - preventDefault() { - (0, algorithm_1.event_setTheCanceledFlag)(this); - } - /** @inheritdoc */ - get defaultPrevented() { return this._canceledFlag; } - /** @inheritdoc */ - get composed() { return this._composedFlag; } - /** @inheritdoc */ - get isTrusted() { return this._isTrusted; } - /** @inheritdoc */ - get timeStamp() { return this._timeStamp; } - /** @inheritdoc */ - initEvent(type, bubbles = false, cancelable = false) { + EventImpl.prototype.initEvent = function (type, bubbles, cancelable) { + if (bubbles === void 0) { bubbles = false; } + if (cancelable === void 0) { cancelable = false; } /** * 1. If the context object’s dispatch flag is set, then return. */ @@ -25718,55 +27346,83 @@ class EventImpl { /** * 2. Initialize the context object with type, bubbles, and cancelable. */ - (0, algorithm_1.event_initialize)(this, type, bubbles, cancelable); - } -} + algorithm_1.event_initialize(this, type, bubbles, cancelable); + }; + EventImpl.NONE = 0; + EventImpl.CAPTURING_PHASE = 1; + EventImpl.AT_TARGET = 2; + EventImpl.BUBBLING_PHASE = 3; + return EventImpl; +}()); exports.EventImpl = EventImpl; /** * Define constants on prototype. */ -(0, WebIDLAlgorithm_1.idl_defineConst)(EventImpl.prototype, "NONE", 0); -(0, WebIDLAlgorithm_1.idl_defineConst)(EventImpl.prototype, "CAPTURING_PHASE", 1); -(0, WebIDLAlgorithm_1.idl_defineConst)(EventImpl.prototype, "AT_TARGET", 2); -(0, WebIDLAlgorithm_1.idl_defineConst)(EventImpl.prototype, "BUBBLING_PHASE", 3); +WebIDLAlgorithm_1.idl_defineConst(EventImpl.prototype, "NONE", 0); +WebIDLAlgorithm_1.idl_defineConst(EventImpl.prototype, "CAPTURING_PHASE", 1); +WebIDLAlgorithm_1.idl_defineConst(EventImpl.prototype, "AT_TARGET", 2); +WebIDLAlgorithm_1.idl_defineConst(EventImpl.prototype, "BUBBLING_PHASE", 3); //# sourceMappingURL=EventImpl.js.map /***/ }), /***/ 69968: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.EventTargetImpl = void 0; -const DOMException_1 = __nccwpck_require__(13166); -const util_1 = __nccwpck_require__(65282); -const algorithm_1 = __nccwpck_require__(61); +var DOMException_1 = __nccwpck_require__(13166); +var util_1 = __nccwpck_require__(65282); +var algorithm_1 = __nccwpck_require__(61); /** * Represents a target to which an event can be dispatched. */ -class EventTargetImpl { - __eventListenerList; - get _eventListenerList() { - return this.__eventListenerList || (this.__eventListenerList = []); - } - __eventHandlerMap; - get _eventHandlerMap() { - return this.__eventHandlerMap || (this.__eventHandlerMap = {}); - } +var EventTargetImpl = /** @class */ (function () { /** * Initializes a new instance of `EventTarget`. */ - constructor() { } + function EventTargetImpl() { + } + Object.defineProperty(EventTargetImpl.prototype, "_eventListenerList", { + get: function () { + return this.__eventListenerList || (this.__eventListenerList = []); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(EventTargetImpl.prototype, "_eventHandlerMap", { + get: function () { + return this.__eventHandlerMap || (this.__eventHandlerMap = {}); + }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - addEventListener(type, callback, options = { passive: false, once: false, capture: false }) { + EventTargetImpl.prototype.addEventListener = function (type, callback, options) { + if (options === void 0) { options = { passive: false, once: false, capture: false }; } /** * 1. Let capture, passive, and once be the result of flattening more options. */ - const [capture, passive, once] = (0, algorithm_1.eventTarget_flattenMore)(options); + var _a = __read(algorithm_1.eventTarget_flattenMore(options), 3), capture = _a[0], passive = _a[1], once = _a[2]; // convert callback function to EventListener, return if null - let listenerCallback; + var listenerCallback; if (!callback) { return; } @@ -25781,7 +27437,7 @@ class EventTargetImpl { * whose type is type, callback is callback, capture is capture, passive is * passive, and once is once. */ - (0, algorithm_1.eventTarget_addEventListener)(this, { + algorithm_1.eventTarget_addEventListener(this, { type: type, callback: listenerCallback, capture: capture, @@ -25789,9 +27445,9 @@ class EventTargetImpl { once: once, removed: false }); - } + }; /** @inheritdoc */ - removeEventListener(type, callback, options = { capture: false }) { + EventTargetImpl.prototype.removeEventListener = function (type, callback, options) { /** * TODO: Implement realms * 1. If the context object’s relevant global object is a @@ -25799,10 +27455,11 @@ class EventTargetImpl { * script resource’s has ever been evaluated flag is set, then throw * a TypeError. [SERVICE-WORKERS] */ + if (options === void 0) { options = { capture: false }; } /** * 2. Let capture be the result of flattening options. */ - const capture = (0, algorithm_1.eventTarget_flatten)(options); + var capture = algorithm_1.eventTarget_flatten(options); if (!callback) return; /** @@ -25810,22 +27467,22 @@ class EventTargetImpl { * whose type is type, callback is callback, and capture is capture, then * remove an event listener with the context object and that event listener. */ - for (let i = 0; i < this._eventListenerList.length; i++) { - const entry = this._eventListenerList[i]; + for (var i = 0; i < this._eventListenerList.length; i++) { + var entry = this._eventListenerList[i]; if (entry.type !== type || entry.capture !== capture) continue; if (util_1.Guard.isEventListener(callback) && entry.callback === callback) { - (0, algorithm_1.eventTarget_removeEventListener)(this, entry, i); + algorithm_1.eventTarget_removeEventListener(this, entry, i); break; } else if (callback && entry.callback.handleEvent === callback) { - (0, algorithm_1.eventTarget_removeEventListener)(this, entry, i); + algorithm_1.eventTarget_removeEventListener(this, entry, i); break; } } - } + }; /** @inheritdoc */ - dispatchEvent(event) { + EventTargetImpl.prototype.dispatchEvent = function (event) { /** * 1. If event’s dispatch flag is set, or if its initialized flag is not * set, then throw an "InvalidStateError" DOMException. @@ -25836,13 +27493,14 @@ class EventTargetImpl { throw new DOMException_1.InvalidStateError(); } event._isTrusted = false; - return (0, algorithm_1.event_dispatch)(event, this); - } + return algorithm_1.event_dispatch(event, this); + }; /** @inheritdoc */ - _getTheParent(event) { + EventTargetImpl.prototype._getTheParent = function (event) { return null; - } -} + }; + return EventTargetImpl; +}()); exports.EventTargetImpl = EventTargetImpl; //# sourceMappingURL=EventTargetImpl.js.map @@ -25854,65 +27512,67 @@ exports.EventTargetImpl = EventTargetImpl; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.HTMLCollectionImpl = void 0; -const infra_1 = __nccwpck_require__(84251); -const algorithm_1 = __nccwpck_require__(61); -const util_1 = __nccwpck_require__(65282); -const util_2 = __nccwpck_require__(76195); +var infra_1 = __nccwpck_require__(84251); +var algorithm_1 = __nccwpck_require__(61); +var util_1 = __nccwpck_require__(65282); +var util_2 = __nccwpck_require__(76195); /** * Represents a collection of elements. */ -class HTMLCollectionImpl { - _live = true; - _root; - _filter; - static reservedNames = ['_root', '_live', '_filter', 'length', - 'item', 'namedItem', 'get', 'set']; +var HTMLCollectionImpl = /** @class */ (function () { /** * Initializes a new instance of `HTMLCollection`. * * @param root - root node * @param filter - node filter */ - constructor(root, filter) { + function HTMLCollectionImpl(root, filter) { + this._live = true; this._root = root; this._filter = filter; return new Proxy(this, this); } + Object.defineProperty(HTMLCollectionImpl.prototype, "length", { + /** @inheritdoc */ + get: function () { + var _this = this; + /** + * The length attribute’s getter must return the number of nodes + * represented by the collection. + */ + var count = 0; + var node = algorithm_1.tree_getFirstDescendantNode(this._root, false, false, function (e) { return util_1.Guard.isElementNode(e) && _this._filter(e); }); + while (node !== null) { + count++; + node = algorithm_1.tree_getNextDescendantNode(this._root, node, false, false, function (e) { return util_1.Guard.isElementNode(e) && _this._filter(e); }); + } + return count; + }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get length() { - /** - * The length attribute’s getter must return the number of nodes - * represented by the collection. - */ - let count = 0; - let node = (0, algorithm_1.tree_getFirstDescendantNode)(this._root, false, false, (e) => util_1.Guard.isElementNode(e) && this._filter(e)); - while (node !== null) { - count++; - node = (0, algorithm_1.tree_getNextDescendantNode)(this._root, node, false, false, (e) => util_1.Guard.isElementNode(e) && this._filter(e)); - } - return count; - } - /** @inheritdoc */ - item(index) { + HTMLCollectionImpl.prototype.item = function (index) { + var _this = this; /** * The item(index) method, when invoked, must return the indexth element * in the collection. If there is no indexth element in the collection, * then the method must return null. */ - let i = 0; - let node = (0, algorithm_1.tree_getFirstDescendantNode)(this._root, false, false, (e) => util_1.Guard.isElementNode(e) && this._filter(e)); + var i = 0; + var node = algorithm_1.tree_getFirstDescendantNode(this._root, false, false, function (e) { return util_1.Guard.isElementNode(e) && _this._filter(e); }); while (node !== null) { if (i === index) return node; else i++; - node = (0, algorithm_1.tree_getNextDescendantNode)(this._root, node, false, false, (e) => util_1.Guard.isElementNode(e) && this._filter(e)); + node = algorithm_1.tree_getNextDescendantNode(this._root, node, false, false, function (e) { return util_1.Guard.isElementNode(e) && _this._filter(e); }); } return null; - } + }; /** @inheritdoc */ - namedItem(key) { + HTMLCollectionImpl.prototype.namedItem = function (key) { + var _this = this; /** * 1. If key is the empty string, return null. * 2. Return the first element in the collection for which at least one of @@ -25923,124 +27583,138 @@ class HTMLCollectionImpl { */ if (key === '') return null; - let ele = (0, algorithm_1.tree_getFirstDescendantNode)(this._root, false, false, (e) => util_1.Guard.isElementNode(e) && this._filter(e)); + var ele = algorithm_1.tree_getFirstDescendantNode(this._root, false, false, function (e) { return util_1.Guard.isElementNode(e) && _this._filter(e); }); while (ele != null) { if (ele._uniqueIdentifier === key) { return ele; } else if (ele._namespace === infra_1.namespace.HTML) { - for (let i = 0; i < ele._attributeList.length; i++) { - const attr = ele._attributeList[i]; + for (var i = 0; i < ele._attributeList.length; i++) { + var attr = ele._attributeList[i]; if (attr._localName === "name" && attr._namespace === null && attr._namespacePrefix === null && attr._value === key) return ele; } } - ele = (0, algorithm_1.tree_getNextDescendantNode)(this._root, ele, false, false, (e) => util_1.Guard.isElementNode(e) && this._filter(e)); + ele = algorithm_1.tree_getNextDescendantNode(this._root, ele, false, false, function (e) { return util_1.Guard.isElementNode(e) && _this._filter(e); }); } return null; - } + }; /** @inheritdoc */ - [Symbol.iterator]() { - const root = this._root; - const filter = this._filter; - let currentNode = (0, algorithm_1.tree_getFirstDescendantNode)(root, false, false, (e) => util_1.Guard.isElementNode(e) && filter(e)); + HTMLCollectionImpl.prototype[Symbol.iterator] = function () { + var root = this._root; + var filter = this._filter; + var currentNode = algorithm_1.tree_getFirstDescendantNode(root, false, false, function (e) { return util_1.Guard.isElementNode(e) && filter(e); }); return { - next() { + next: function () { if (currentNode === null) { return { done: true, value: null }; } else { - const result = { done: false, value: currentNode }; - currentNode = (0, algorithm_1.tree_getNextDescendantNode)(root, currentNode, false, false, (e) => util_1.Guard.isElementNode(e) && filter(e)); + var result = { done: false, value: currentNode }; + currentNode = algorithm_1.tree_getNextDescendantNode(root, currentNode, false, false, function (e) { return util_1.Guard.isElementNode(e) && filter(e); }); return result; } } }; - } + }; /** * Implements a proxy get trap to provide array-like access. */ - get(target, key, receiver) { - if (!(0, util_2.isString)(key) || HTMLCollectionImpl.reservedNames.indexOf(key) !== -1) { + HTMLCollectionImpl.prototype.get = function (target, key, receiver) { + if (!util_2.isString(key) || HTMLCollectionImpl.reservedNames.indexOf(key) !== -1) { return Reflect.get(target, key, receiver); } - const index = Number(key); + var index = Number(key); if (isNaN(index)) { return target.namedItem(key) || undefined; } else { return target.item(index) || undefined; } - } + }; /** * Implements a proxy set trap to provide array-like access. */ - set(target, key, value, receiver) { - if (!(0, util_2.isString)(key) || HTMLCollectionImpl.reservedNames.indexOf(key) !== -1) { + HTMLCollectionImpl.prototype.set = function (target, key, value, receiver) { + if (!util_2.isString(key) || HTMLCollectionImpl.reservedNames.indexOf(key) !== -1) { return Reflect.set(target, key, value, receiver); } - const index = Number(key); - const node = isNaN(index) ? + var index = Number(key); + var node = isNaN(index) ? target.namedItem(key) || undefined : target.item(index) || undefined; if (node && node._parent) { - (0, algorithm_1.mutation_replace)(node, value, node._parent); + algorithm_1.mutation_replace(node, value, node._parent); return true; } else { return false; } - } + }; /** * Creates a new `HTMLCollection`. * * @param root - root node * @param filter - node filter */ - static _create(root, filter = (() => true)) { + HTMLCollectionImpl._create = function (root, filter) { + if (filter === void 0) { filter = (function () { return true; }); } return new HTMLCollectionImpl(root, filter); - } -} + }; + HTMLCollectionImpl.reservedNames = ['_root', '_live', '_filter', 'length', + 'item', 'namedItem', 'get', 'set']; + return HTMLCollectionImpl; +}()); exports.HTMLCollectionImpl = HTMLCollectionImpl; //# sourceMappingURL=HTMLCollectionImpl.js.map /***/ }), /***/ 89616: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.MutationObserverImpl = void 0; -const DOMImpl_1 = __nccwpck_require__(14177); -const util_1 = __nccwpck_require__(65282); -const infra_1 = __nccwpck_require__(84251); +var DOMImpl_1 = __nccwpck_require__(14177); +var util_1 = __nccwpck_require__(65282); +var infra_1 = __nccwpck_require__(84251); /** * Represents an object that can be used to observe mutations to the tree of * nodes. */ -class MutationObserverImpl { - _callback; - _nodeList = []; - _recordQueue = []; +var MutationObserverImpl = /** @class */ (function () { /** * Initializes a new instance of `MutationObserver`. * * @param callback - the callback function */ - constructor(callback) { + function MutationObserverImpl(callback) { + this._nodeList = []; + this._recordQueue = []; /** * 1. Let mo be a new MutationObserver object whose callback is callback. * 2. Append mo to mo’s relevant agent’s mutation observers. * 3. Return mo. */ this._callback = callback; - const window = DOMImpl_1.dom.window; + var window = DOMImpl_1.dom.window; infra_1.set.append(window._mutationObservers, this); } /** @inheritdoc */ - observe(target, options) { + MutationObserverImpl.prototype.observe = function (target, options) { + var e_1, _a; options = options || { childList: false, subtree: false @@ -26083,24 +27757,51 @@ class MutationObserverImpl { * 7. For each registered of target’s registered observer list, if * registered’s observer is the context object: */ - let isRegistered = false; - const coptions = options; - for (const registered of target._registeredObserverList) { - if (registered.observer === this) { + var isRegistered = false; + var coptions = options; + var _loop_1 = function (registered) { + var e_2, _a; + if (registered.observer === this_1) { isRegistered = true; - /** - * 7.1. For each node of the context object’s node list, remove all - * transient registered observers whose source is registered from node’s - * registered observer list. - */ - for (const node of this._nodeList) { - infra_1.list.remove(node._registeredObserverList, (ob) => util_1.Guard.isTransientRegisteredObserver(ob) && ob.source === registered); + try { + /** + * 7.1. For each node of the context object’s node list, remove all + * transient registered observers whose source is registered from node’s + * registered observer list. + */ + for (var _b = (e_2 = void 0, __values(this_1._nodeList)), _c = _b.next(); !_c.done; _c = _b.next()) { + var node = _c.value; + infra_1.list.remove(node._registeredObserverList, function (ob) { + return util_1.Guard.isTransientRegisteredObserver(ob) && ob.source === registered; + }); + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_2) throw e_2.error; } } /** * 7.2. Set registered’s options to options. */ registered.options = coptions; } + }; + var this_1 = this; + try { + for (var _b = __values(target._registeredObserverList), _c = _b.next(); !_c.done; _c = _b.next()) { + var registered = _c.value; + _loop_1(registered); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } } /** * 8. Otherwise: @@ -26112,34 +27813,49 @@ class MutationObserverImpl { target._registeredObserverList.push({ observer: this, options: options }); this._nodeList.push(target); } - } + }; /** @inheritdoc */ - disconnect() { - /** - * 1. For each node of the context object’s node list, remove any - * registered observer from node’s registered observer list for which the - * context object is the observer. - */ - for (const node of this._nodeList) { - infra_1.list.remove((node)._registeredObserverList, (ob) => ob.observer === this); + MutationObserverImpl.prototype.disconnect = function () { + var e_3, _a; + var _this = this; + try { + /** + * 1. For each node of the context object’s node list, remove any + * registered observer from node’s registered observer list for which the + * context object is the observer. + */ + for (var _b = __values(this._nodeList), _c = _b.next(); !_c.done; _c = _b.next()) { + var node = _c.value; + infra_1.list.remove((node)._registeredObserverList, function (ob) { + return ob.observer === _this; + }); + } + } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_3) throw e_3.error; } } /** * 2. Empty the context object’s record queue. */ this._recordQueue = []; - } + }; /** @inheritdoc */ - takeRecords() { + MutationObserverImpl.prototype.takeRecords = function () { /** * 1. Let records be a clone of the context object’s record queue. * 2. Empty the context object’s record queue. * 3. Return records. */ - const records = this._recordQueue; + var records = this._recordQueue; this._recordQueue = []; return records; - } -} + }; + return MutationObserverImpl; +}()); exports.MutationObserverImpl = MutationObserverImpl; //# sourceMappingURL=MutationObserverImpl.js.map @@ -26151,20 +27867,10 @@ exports.MutationObserverImpl = MutationObserverImpl; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.MutationRecordImpl = void 0; /** * Represents a mutation record. */ -class MutationRecordImpl { - _type; - _target; - _addedNodes; - _removedNodes; - _previousSibling; - _nextSibling; - _attributeName; - _attributeNamespace; - _oldValue; +var MutationRecordImpl = /** @class */ (function () { /** * Initializes a new instance of `MutationRecord`. * @@ -26184,7 +27890,7 @@ class MutationRecordImpl { * mutation, node `data` for a mutation to a CharacterData node and `null` * for a mutation to the tree of nodes. */ - constructor(type, target, addedNodes, removedNodes, previousSibling, nextSibling, attributeName, attributeNamespace, oldValue) { + function MutationRecordImpl(type, target, addedNodes, removedNodes, previousSibling, nextSibling, attributeName, attributeNamespace, oldValue) { this._type = type; this._target = target; this._addedNodes = addedNodes; @@ -26195,24 +27901,60 @@ class MutationRecordImpl { this._attributeNamespace = attributeNamespace; this._oldValue = oldValue; } - /** @inheritdoc */ - get type() { return this._type; } - /** @inheritdoc */ - get target() { return this._target; } - /** @inheritdoc */ - get addedNodes() { return this._addedNodes; } - /** @inheritdoc */ - get removedNodes() { return this._removedNodes; } - /** @inheritdoc */ - get previousSibling() { return this._previousSibling; } - /** @inheritdoc */ - get nextSibling() { return this._nextSibling; } - /** @inheritdoc */ - get attributeName() { return this._attributeName; } - /** @inheritdoc */ - get attributeNamespace() { return this._attributeNamespace; } - /** @inheritdoc */ - get oldValue() { return this._oldValue; } + Object.defineProperty(MutationRecordImpl.prototype, "type", { + /** @inheritdoc */ + get: function () { return this._type; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(MutationRecordImpl.prototype, "target", { + /** @inheritdoc */ + get: function () { return this._target; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(MutationRecordImpl.prototype, "addedNodes", { + /** @inheritdoc */ + get: function () { return this._addedNodes; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(MutationRecordImpl.prototype, "removedNodes", { + /** @inheritdoc */ + get: function () { return this._removedNodes; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(MutationRecordImpl.prototype, "previousSibling", { + /** @inheritdoc */ + get: function () { return this._previousSibling; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(MutationRecordImpl.prototype, "nextSibling", { + /** @inheritdoc */ + get: function () { return this._nextSibling; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(MutationRecordImpl.prototype, "attributeName", { + /** @inheritdoc */ + get: function () { return this._attributeName; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(MutationRecordImpl.prototype, "attributeNamespace", { + /** @inheritdoc */ + get: function () { return this._attributeNamespace; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(MutationRecordImpl.prototype, "oldValue", { + /** @inheritdoc */ + get: function () { return this._oldValue; }, + enumerable: true, + configurable: true + }); /** * Creates a new `MutationRecord`. * @@ -26232,43 +27974,57 @@ class MutationRecordImpl { * mutation, node `data` for a mutation to a CharacterData node and `null` * for a mutation to the tree of nodes. */ - static _create(type, target, addedNodes, removedNodes, previousSibling, nextSibling, attributeName, attributeNamespace, oldValue) { + MutationRecordImpl._create = function (type, target, addedNodes, removedNodes, previousSibling, nextSibling, attributeName, attributeNamespace, oldValue) { return new MutationRecordImpl(type, target, addedNodes, removedNodes, previousSibling, nextSibling, attributeName, attributeNamespace, oldValue); - } -} + }; + return MutationRecordImpl; +}()); exports.MutationRecordImpl = MutationRecordImpl; //# sourceMappingURL=MutationRecordImpl.js.map /***/ }), /***/ 57206: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.NamedNodeMapImpl = void 0; -const DOMException_1 = __nccwpck_require__(13166); -const algorithm_1 = __nccwpck_require__(61); +var DOMException_1 = __nccwpck_require__(13166); +var algorithm_1 = __nccwpck_require__(61); /** * Represents a collection of attributes. */ -class NamedNodeMapImpl extends Array { - _element; +var NamedNodeMapImpl = /** @class */ (function (_super) { + __extends(NamedNodeMapImpl, _super); /** * Initializes a new instance of `NamedNodeMap`. * * @param element - parent element */ - constructor(element) { - super(); - this._element = element; + function NamedNodeMapImpl(element) { + var _this = _super.call(this) || this; + _this._element = element; // TODO: This workaround is needed to extend Array in ES5 - Object.setPrototypeOf(this, NamedNodeMapImpl.prototype); + Object.setPrototypeOf(_this, NamedNodeMapImpl.prototype); + return _this; } - _asArray() { return this; } + NamedNodeMapImpl.prototype._asArray = function () { return this; }; /** @inheritdoc */ - item(index) { + NamedNodeMapImpl.prototype.item = function (index) { /** * 1. If index is equal to or greater than context object’s attribute list’s * size, then return null. @@ -26276,71 +28032,72 @@ class NamedNodeMapImpl extends Array { * */ return this[index] || null; - } + }; /** @inheritdoc */ - getNamedItem(qualifiedName) { + NamedNodeMapImpl.prototype.getNamedItem = function (qualifiedName) { /** * The getNamedItem(qualifiedName) method, when invoked, must return the * result of getting an attribute given qualifiedName and element. */ - return (0, algorithm_1.element_getAnAttributeByName)(qualifiedName, this._element); - } + return algorithm_1.element_getAnAttributeByName(qualifiedName, this._element); + }; /** @inheritdoc */ - getNamedItemNS(namespace, localName) { + NamedNodeMapImpl.prototype.getNamedItemNS = function (namespace, localName) { /** * The getNamedItemNS(namespace, localName) method, when invoked, must * return the result of getting an attribute given namespace, localName, * and element. */ - return (0, algorithm_1.element_getAnAttributeByNamespaceAndLocalName)(namespace || '', localName, this._element); - } + return algorithm_1.element_getAnAttributeByNamespaceAndLocalName(namespace || '', localName, this._element); + }; /** @inheritdoc */ - setNamedItem(attr) { + NamedNodeMapImpl.prototype.setNamedItem = function (attr) { /** * The setNamedItem(attr) and setNamedItemNS(attr) methods, when invoked, * must return the result of setting an attribute given attr and element. */ - return (0, algorithm_1.element_setAnAttribute)(attr, this._element); - } + return algorithm_1.element_setAnAttribute(attr, this._element); + }; /** @inheritdoc */ - setNamedItemNS(attr) { - return (0, algorithm_1.element_setAnAttribute)(attr, this._element); - } + NamedNodeMapImpl.prototype.setNamedItemNS = function (attr) { + return algorithm_1.element_setAnAttribute(attr, this._element); + }; /** @inheritdoc */ - removeNamedItem(qualifiedName) { + NamedNodeMapImpl.prototype.removeNamedItem = function (qualifiedName) { /** * 1. Let attr be the result of removing an attribute given qualifiedName * and element. * 2. If attr is null, then throw a "NotFoundError" DOMException. * 3. Return attr. */ - const attr = (0, algorithm_1.element_removeAnAttributeByName)(qualifiedName, this._element); + var attr = algorithm_1.element_removeAnAttributeByName(qualifiedName, this._element); if (attr === null) throw new DOMException_1.NotFoundError(); return attr; - } + }; /** @inheritdoc */ - removeNamedItemNS(namespace, localName) { + NamedNodeMapImpl.prototype.removeNamedItemNS = function (namespace, localName) { /** * 1. Let attr be the result of removing an attribute given namespace, * localName, and element. * 2. If attr is null, then throw a "NotFoundError" DOMException. * 3. Return attr. */ - const attr = (0, algorithm_1.element_removeAnAttributeByNamespaceAndLocalName)(namespace || '', localName, this._element); + var attr = algorithm_1.element_removeAnAttributeByNamespaceAndLocalName(namespace || '', localName, this._element); if (attr === null) throw new DOMException_1.NotFoundError(); return attr; - } + }; /** * Creates a new `NamedNodeMap`. * * @param element - parent element */ - static _create(element) { + NamedNodeMapImpl._create = function (element) { return new NamedNodeMapImpl(element); - } -} + }; + return NamedNodeMapImpl; +}(Array)); exports.NamedNodeMapImpl = NamedNodeMapImpl; //# sourceMappingURL=NamedNodeMapImpl.js.map @@ -26352,239 +28109,240 @@ exports.NamedNodeMapImpl = NamedNodeMapImpl; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.NodeFilterImpl = void 0; -const interfaces_1 = __nccwpck_require__(27305); -const WebIDLAlgorithm_1 = __nccwpck_require__(45457); +var interfaces_1 = __nccwpck_require__(27305); +var WebIDLAlgorithm_1 = __nccwpck_require__(45457); /** * Represents a node filter. */ -class NodeFilterImpl { - static FILTER_ACCEPT = 1; - static FILTER_REJECT = 2; - static FILTER_SKIP = 3; - static SHOW_ALL = 0xffffffff; - static SHOW_ELEMENT = 0x1; - static SHOW_ATTRIBUTE = 0x2; - static SHOW_TEXT = 0x4; - static SHOW_CDATA_SECTION = 0x8; - static SHOW_ENTITY_REFERENCE = 0x10; - static SHOW_ENTITY = 0x20; - static SHOW_PROCESSING_INSTRUCTION = 0x40; - static SHOW_COMMENT = 0x80; - static SHOW_DOCUMENT = 0x100; - static SHOW_DOCUMENT_TYPE = 0x200; - static SHOW_DOCUMENT_FRAGMENT = 0x400; - static SHOW_NOTATION = 0x800; - FILTER_ACCEPT = 1; - FILTER_REJECT = 2; - FILTER_SKIP = 3; - SHOW_ALL = 0xffffffff; - SHOW_ELEMENT = 0x1; - SHOW_ATTRIBUTE = 0x2; - SHOW_TEXT = 0x4; - SHOW_CDATA_SECTION = 0x8; - SHOW_ENTITY_REFERENCE = 0x10; - SHOW_ENTITY = 0x20; - SHOW_PROCESSING_INSTRUCTION = 0x40; - SHOW_COMMENT = 0x80; - SHOW_DOCUMENT = 0x100; - SHOW_DOCUMENT_TYPE = 0x200; - SHOW_DOCUMENT_FRAGMENT = 0x400; - SHOW_NOTATION = 0x800; +var NodeFilterImpl = /** @class */ (function () { /** * Initializes a new instance of `NodeFilter`. */ - constructor() { + function NodeFilterImpl() { } /** * Callback function. */ - acceptNode(node) { + NodeFilterImpl.prototype.acceptNode = function (node) { return interfaces_1.FilterResult.Accept; - } + }; /** * Creates a new `NodeFilter`. */ - static _create() { + NodeFilterImpl._create = function () { return new NodeFilterImpl(); - } -} + }; + NodeFilterImpl.FILTER_ACCEPT = 1; + NodeFilterImpl.FILTER_REJECT = 2; + NodeFilterImpl.FILTER_SKIP = 3; + NodeFilterImpl.SHOW_ALL = 0xffffffff; + NodeFilterImpl.SHOW_ELEMENT = 0x1; + NodeFilterImpl.SHOW_ATTRIBUTE = 0x2; + NodeFilterImpl.SHOW_TEXT = 0x4; + NodeFilterImpl.SHOW_CDATA_SECTION = 0x8; + NodeFilterImpl.SHOW_ENTITY_REFERENCE = 0x10; + NodeFilterImpl.SHOW_ENTITY = 0x20; + NodeFilterImpl.SHOW_PROCESSING_INSTRUCTION = 0x40; + NodeFilterImpl.SHOW_COMMENT = 0x80; + NodeFilterImpl.SHOW_DOCUMENT = 0x100; + NodeFilterImpl.SHOW_DOCUMENT_TYPE = 0x200; + NodeFilterImpl.SHOW_DOCUMENT_FRAGMENT = 0x400; + NodeFilterImpl.SHOW_NOTATION = 0x800; + return NodeFilterImpl; +}()); exports.NodeFilterImpl = NodeFilterImpl; /** * Define constants on prototype. */ -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "FILTER_ACCEPT", 1); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "FILTER_REJECT", 2); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "FILTER_SKIP", 3); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "SHOW_ALL", 0xffffffff); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "SHOW_ELEMENT", 0x1); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "SHOW_ATTRIBUTE", 0x2); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "SHOW_TEXT", 0x4); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "SHOW_CDATA_SECTION", 0x8); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "SHOW_ENTITY_REFERENCE", 0x10); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "SHOW_ENTITY", 0x20); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "SHOW_PROCESSING_INSTRUCTION", 0x40); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "SHOW_COMMENT", 0x80); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "SHOW_DOCUMENT", 0x100); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "SHOW_DOCUMENT_TYPE", 0x200); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "SHOW_DOCUMENT_FRAGMENT", 0x400); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeFilterImpl.prototype, "SHOW_NOTATION", 0x800); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "FILTER_ACCEPT", 1); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "FILTER_REJECT", 2); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "FILTER_SKIP", 3); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "SHOW_ALL", 0xffffffff); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "SHOW_ELEMENT", 0x1); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "SHOW_ATTRIBUTE", 0x2); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "SHOW_TEXT", 0x4); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "SHOW_CDATA_SECTION", 0x8); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "SHOW_ENTITY_REFERENCE", 0x10); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "SHOW_ENTITY", 0x20); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "SHOW_PROCESSING_INSTRUCTION", 0x40); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "SHOW_COMMENT", 0x80); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "SHOW_DOCUMENT", 0x100); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "SHOW_DOCUMENT_TYPE", 0x200); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "SHOW_DOCUMENT_FRAGMENT", 0x400); +WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "SHOW_NOTATION", 0x800); //# sourceMappingURL=NodeFilterImpl.js.map /***/ }), /***/ 91745: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.NodeImpl = void 0; -const DOMImpl_1 = __nccwpck_require__(14177); -const interfaces_1 = __nccwpck_require__(27305); -const EventTargetImpl_1 = __nccwpck_require__(69968); -const util_1 = __nccwpck_require__(65282); -const DOMException_1 = __nccwpck_require__(13166); -const algorithm_1 = __nccwpck_require__(61); -const URLAlgorithm_1 = __nccwpck_require__(53568); -const WebIDLAlgorithm_1 = __nccwpck_require__(45457); +var DOMImpl_1 = __nccwpck_require__(14177); +var interfaces_1 = __nccwpck_require__(27305); +var EventTargetImpl_1 = __nccwpck_require__(69968); +var util_1 = __nccwpck_require__(65282); +var DOMException_1 = __nccwpck_require__(13166); +var algorithm_1 = __nccwpck_require__(61); +var URLAlgorithm_1 = __nccwpck_require__(53568); +var WebIDLAlgorithm_1 = __nccwpck_require__(45457); /** * Represents a generic XML node. */ -class NodeImpl extends EventTargetImpl_1.EventTargetImpl { - static ELEMENT_NODE = 1; - static ATTRIBUTE_NODE = 2; - static TEXT_NODE = 3; - static CDATA_SECTION_NODE = 4; - static ENTITY_REFERENCE_NODE = 5; - static ENTITY_NODE = 6; - static PROCESSING_INSTRUCTION_NODE = 7; - static COMMENT_NODE = 8; - static DOCUMENT_NODE = 9; - static DOCUMENT_TYPE_NODE = 10; - static DOCUMENT_FRAGMENT_NODE = 11; - static NOTATION_NODE = 12; - static DOCUMENT_POSITION_DISCONNECTED = 0x01; - static DOCUMENT_POSITION_PRECEDING = 0x02; - static DOCUMENT_POSITION_FOLLOWING = 0x04; - static DOCUMENT_POSITION_CONTAINS = 0x08; - static DOCUMENT_POSITION_CONTAINED_BY = 0x10; - static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20; - ELEMENT_NODE = 1; - ATTRIBUTE_NODE = 2; - TEXT_NODE = 3; - CDATA_SECTION_NODE = 4; - ENTITY_REFERENCE_NODE = 5; - ENTITY_NODE = 6; - PROCESSING_INSTRUCTION_NODE = 7; - COMMENT_NODE = 8; - DOCUMENT_NODE = 9; - DOCUMENT_TYPE_NODE = 10; - DOCUMENT_FRAGMENT_NODE = 11; - NOTATION_NODE = 12; - DOCUMENT_POSITION_DISCONNECTED = 0x01; - DOCUMENT_POSITION_PRECEDING = 0x02; - DOCUMENT_POSITION_FOLLOWING = 0x04; - DOCUMENT_POSITION_CONTAINS = 0x08; - DOCUMENT_POSITION_CONTAINED_BY = 0x10; - DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20; - __childNodes; - get _childNodes() { - return this.__childNodes || (this.__childNodes = (0, algorithm_1.create_nodeList)(this)); - } - _nodeDocumentOverride; - get _nodeDocument() { return this._nodeDocumentOverride || DOMImpl_1.dom.window._associatedDocument; } - set _nodeDocument(val) { this._nodeDocumentOverride = val; } - __registeredObserverList; - get _registeredObserverList() { - return this.__registeredObserverList || (this.__registeredObserverList = []); - } - _parent = null; - _children = new util_1.EmptySet; - _firstChild = null; - _lastChild = null; - _previousSibling = null; - _nextSibling = null; +var NodeImpl = /** @class */ (function (_super) { + __extends(NodeImpl, _super); /** * Initializes a new instance of `Node`. */ - constructor() { - super(); + function NodeImpl() { + var _this = _super.call(this) || this; + _this._parent = null; + _this._firstChild = null; + _this._lastChild = null; + _this._previousSibling = null; + _this._nextSibling = null; + return _this; } - /** @inheritdoc */ - get nodeType() { return this._nodeType; } - /** - * Returns a string appropriate for the type of node. - */ - get nodeName() { - if (util_1.Guard.isElementNode(this)) { - return this._htmlUppercasedQualifiedName; - } - else if (util_1.Guard.isAttrNode(this)) { - return this._qualifiedName; - } - else if (util_1.Guard.isExclusiveTextNode(this)) { - return "#text"; - } - else if (util_1.Guard.isCDATASectionNode(this)) { - return "#cdata-section"; - } - else if (util_1.Guard.isProcessingInstructionNode(this)) { - return this._target; - } - else if (util_1.Guard.isCommentNode(this)) { - return "#comment"; - } - else if (util_1.Guard.isDocumentNode(this)) { - return "#document"; - } - else if (util_1.Guard.isDocumentTypeNode(this)) { - return this._name; - } - else if (util_1.Guard.isDocumentFragmentNode(this)) { - return "#document-fragment"; - } - else { - return ""; - } - } - /** - * Gets the absolute base URL of the node. - */ - get baseURI() { + Object.defineProperty(NodeImpl.prototype, "_childNodes", { + get: function () { + return this.__childNodes || (this.__childNodes = algorithm_1.create_nodeList(this)); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeImpl.prototype, "_nodeDocument", { + get: function () { return this._nodeDocumentOverride || DOMImpl_1.dom.window._associatedDocument; }, + set: function (val) { this._nodeDocumentOverride = val; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeImpl.prototype, "_registeredObserverList", { + get: function () { + return this.__registeredObserverList || (this.__registeredObserverList = []); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeImpl.prototype, "nodeType", { + /** @inheritdoc */ + get: function () { return this._nodeType; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeImpl.prototype, "nodeName", { /** - * The baseURI attribute’s getter must return node document’s document - * base URL, serialized. - * TODO: Implement in HTML DOM - * https://html.spec.whatwg.org/multipage/urls-and-fetching.html#document-base-url + * Returns a string appropriate for the type of node. */ - return (0, URLAlgorithm_1.urlSerializer)(this._nodeDocument._URL); - } - /** - * Returns whether the node is rooted to a document node. - */ - get isConnected() { + get: function () { + if (util_1.Guard.isElementNode(this)) { + return this._htmlUppercasedQualifiedName; + } + else if (util_1.Guard.isAttrNode(this)) { + return this._qualifiedName; + } + else if (util_1.Guard.isExclusiveTextNode(this)) { + return "#text"; + } + else if (util_1.Guard.isCDATASectionNode(this)) { + return "#cdata-section"; + } + else if (util_1.Guard.isProcessingInstructionNode(this)) { + return this._target; + } + else if (util_1.Guard.isCommentNode(this)) { + return "#comment"; + } + else if (util_1.Guard.isDocumentNode(this)) { + return "#document"; + } + else if (util_1.Guard.isDocumentTypeNode(this)) { + return this._name; + } + else if (util_1.Guard.isDocumentFragmentNode(this)) { + return "#document-fragment"; + } + else { + return ""; + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeImpl.prototype, "baseURI", { /** - * The isConnected attribute’s getter must return true, if context object - * is connected, and false otherwise. + * Gets the absolute base URL of the node. */ - return util_1.Guard.isElementNode(this) && (0, algorithm_1.shadowTree_isConnected)(this); - } - /** - * Returns the parent document. - */ - get ownerDocument() { + get: function () { + /** + * The baseURI attribute’s getter must return node document’s document + * base URL, serialized. + * TODO: Implement in HTML DOM + * https://html.spec.whatwg.org/multipage/urls-and-fetching.html#document-base-url + */ + return URLAlgorithm_1.urlSerializer(this._nodeDocument._URL); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeImpl.prototype, "isConnected", { /** - * The ownerDocument attribute’s getter must return null, if the context - * object is a document, and the context object’s node document otherwise. - * _Note:_ The node document of a document is that document itself. All - * nodes have a node document at all times. + * Returns whether the node is rooted to a document node. */ - if (this._nodeType === interfaces_1.NodeType.Document) - return null; - else - return this._nodeDocument; - } + get: function () { + /** + * The isConnected attribute’s getter must return true, if context object + * is connected, and false otherwise. + */ + return util_1.Guard.isElementNode(this) && algorithm_1.shadowTree_isConnected(this); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeImpl.prototype, "ownerDocument", { + /** + * Returns the parent document. + */ + get: function () { + /** + * The ownerDocument attribute’s getter must return null, if the context + * object is a document, and the context object’s node document otherwise. + * _Note:_ The node document of a document is that document itself. All + * nodes have a node document at all times. + */ + if (this._nodeType === interfaces_1.NodeType.Document) + return null; + else + return this._nodeDocument; + }, + enumerable: true, + configurable: true + }); /** * Returns the root node. * @@ -26592,164 +28350,200 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * returns the node's shadow-including root, otherwise it returns * the node's root node. */ - getRootNode(options) { + NodeImpl.prototype.getRootNode = function (options) { /** * The getRootNode(options) method, when invoked, must return context * object’s shadow-including root if options’s composed is true, * and context object’s root otherwise. */ - return (0, algorithm_1.tree_rootNode)(this, !!options && options.composed); - } - /** - * Returns the parent node. - */ - get parentNode() { + return algorithm_1.tree_rootNode(this, !!options && options.composed); + }; + Object.defineProperty(NodeImpl.prototype, "parentNode", { /** - * The parentNode attribute’s getter must return the context object’s parent. - * _Note:_ An Attr node has no parent. + * Returns the parent node. */ - if (this._nodeType === interfaces_1.NodeType.Attribute) { - return null; - } - else { - return this._parent; - } - } - /** - * Returns the parent element. - */ - get parentElement() { + get: function () { + /** + * The parentNode attribute’s getter must return the context object’s parent. + * _Note:_ An Attr node has no parent. + */ + if (this._nodeType === interfaces_1.NodeType.Attribute) { + return null; + } + else { + return this._parent; + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeImpl.prototype, "parentElement", { /** - * The parentElement attribute’s getter must return the context object’s - * parent element. + * Returns the parent element. */ - if (this._parent && util_1.Guard.isElementNode(this._parent)) { - return this._parent; - } - else { - return null; - } - } + get: function () { + /** + * The parentElement attribute’s getter must return the context object’s + * parent element. + */ + if (this._parent && util_1.Guard.isElementNode(this._parent)) { + return this._parent; + } + else { + return null; + } + }, + enumerable: true, + configurable: true + }); /** * Determines whether a node has any children. */ - hasChildNodes() { + NodeImpl.prototype.hasChildNodes = function () { /** * The hasChildNodes() method, when invoked, must return true if the context * object has children, and false otherwise. */ return (this._firstChild !== null); - } - /** - * Returns a {@link NodeList} of child nodes. - */ - get childNodes() { + }; + Object.defineProperty(NodeImpl.prototype, "childNodes", { /** - * The childNodes attribute’s getter must return a NodeList rooted at the - * context object matching only children. + * Returns a {@link NodeList} of child nodes. */ - return this._childNodes; - } - /** - * Returns the first child node. - */ - get firstChild() { + get: function () { + /** + * The childNodes attribute’s getter must return a NodeList rooted at the + * context object matching only children. + */ + return this._childNodes; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeImpl.prototype, "firstChild", { /** - * The firstChild attribute’s getter must return the context object’s first - * child. + * Returns the first child node. */ - return this._firstChild; - } - /** - * Returns the last child node. - */ - get lastChild() { + get: function () { + /** + * The firstChild attribute’s getter must return the context object’s first + * child. + */ + return this._firstChild; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeImpl.prototype, "lastChild", { /** - * The lastChild attribute’s getter must return the context object’s last - * child. + * Returns the last child node. */ - return this._lastChild; - } - /** - * Returns the previous sibling node. - */ - get previousSibling() { + get: function () { + /** + * The lastChild attribute’s getter must return the context object’s last + * child. + */ + return this._lastChild; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeImpl.prototype, "previousSibling", { /** - * The previousSibling attribute’s getter must return the context object’s - * previous sibling. - * _Note:_ An Attr node has no siblings. + * Returns the previous sibling node. */ - return this._previousSibling; - } - /** - * Returns the next sibling node. - */ - get nextSibling() { + get: function () { + /** + * The previousSibling attribute’s getter must return the context object’s + * previous sibling. + * _Note:_ An Attr node has no siblings. + */ + return this._previousSibling; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeImpl.prototype, "nextSibling", { /** - * The nextSibling attribute’s getter must return the context object’s - * next sibling. + * Returns the next sibling node. */ - return this._nextSibling; - } - /** - * Gets or sets the data associated with a {@link CharacterData} node or the - * value of an {@link @Attr} node. For other node types returns `null`. - */ - get nodeValue() { - if (util_1.Guard.isAttrNode(this)) { - return this._value; - } - else if (util_1.Guard.isCharacterDataNode(this)) { - return this._data; - } - else { - return null; - } - } - set nodeValue(value) { - if (value === null) { - value = ''; - } - if (util_1.Guard.isAttrNode(this)) { - (0, algorithm_1.attr_setAnExistingAttributeValue)(this, value); - } - else if (util_1.Guard.isCharacterDataNode(this)) { - (0, algorithm_1.characterData_replaceData)(this, 0, this._data.length, value); - } - } - /** - * Returns the concatenation of data of all the {@link Text} - * node descendants in tree order. When set, replaces the text - * contents of the node with the given value. - */ - get textContent() { - if (util_1.Guard.isDocumentFragmentNode(this) || util_1.Guard.isElementNode(this)) { - return (0, algorithm_1.text_descendantTextContent)(this); - } - else if (util_1.Guard.isAttrNode(this)) { - return this._value; - } - else if (util_1.Guard.isCharacterDataNode(this)) { - return this._data; - } - else { - return null; - } - } - set textContent(value) { - if (value === null) { - value = ''; - } - if (util_1.Guard.isDocumentFragmentNode(this) || util_1.Guard.isElementNode(this)) { - (0, algorithm_1.node_stringReplaceAll)(value, this); - } - else if (util_1.Guard.isAttrNode(this)) { - (0, algorithm_1.attr_setAnExistingAttributeValue)(this, value); - } - else if (util_1.Guard.isCharacterDataNode(this)) { - (0, algorithm_1.characterData_replaceData)(this, 0, (0, algorithm_1.tree_nodeLength)(this), value); - } - } + get: function () { + /** + * The nextSibling attribute’s getter must return the context object’s + * next sibling. + */ + return this._nextSibling; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeImpl.prototype, "nodeValue", { + /** + * Gets or sets the data associated with a {@link CharacterData} node or the + * value of an {@link @Attr} node. For other node types returns `null`. + */ + get: function () { + if (util_1.Guard.isAttrNode(this)) { + return this._value; + } + else if (util_1.Guard.isCharacterDataNode(this)) { + return this._data; + } + else { + return null; + } + }, + set: function (value) { + if (value === null) { + value = ''; + } + if (util_1.Guard.isAttrNode(this)) { + algorithm_1.attr_setAnExistingAttributeValue(this, value); + } + else if (util_1.Guard.isCharacterDataNode(this)) { + algorithm_1.characterData_replaceData(this, 0, this._data.length, value); + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeImpl.prototype, "textContent", { + /** + * Returns the concatenation of data of all the {@link Text} + * node descendants in tree order. When set, replaces the text + * contents of the node with the given value. + */ + get: function () { + if (util_1.Guard.isDocumentFragmentNode(this) || util_1.Guard.isElementNode(this)) { + return algorithm_1.text_descendantTextContent(this); + } + else if (util_1.Guard.isAttrNode(this)) { + return this._value; + } + else if (util_1.Guard.isCharacterDataNode(this)) { + return this._data; + } + else { + return null; + } + }, + set: function (value) { + if (value === null) { + value = ''; + } + if (util_1.Guard.isDocumentFragmentNode(this) || util_1.Guard.isElementNode(this)) { + algorithm_1.node_stringReplaceAll(value, this); + } + else if (util_1.Guard.isAttrNode(this)) { + algorithm_1.attr_setAnExistingAttributeValue(this, value); + } + else if (util_1.Guard.isCharacterDataNode(this)) { + algorithm_1.characterData_replaceData(this, 0, algorithm_1.tree_nodeLength(this), value); + } + }, + enumerable: true, + configurable: true + }); /** * Puts all {@link Text} nodes in the full depth of the sub-tree * underneath this node into a "normal" form where only markup @@ -26757,51 +28551,62 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * and entity references) separates {@link Text} nodes, i.e., there * are no adjacent Text nodes. */ - normalize() { + NodeImpl.prototype.normalize = function () { + var e_1, _a, e_2, _b; /** * The normalize() method, when invoked, must run these steps for each * descendant exclusive Text node node of context object: */ - const descendantNodes = []; - let node = (0, algorithm_1.tree_getFirstDescendantNode)(this, false, false, (e) => util_1.Guard.isExclusiveTextNode(e)); + var descendantNodes = []; + var node = algorithm_1.tree_getFirstDescendantNode(this, false, false, function (e) { return util_1.Guard.isExclusiveTextNode(e); }); while (node !== null) { descendantNodes.push(node); - node = (0, algorithm_1.tree_getNextDescendantNode)(this, node, false, false, (e) => util_1.Guard.isExclusiveTextNode(e)); + node = algorithm_1.tree_getNextDescendantNode(this, node, false, false, function (e) { return util_1.Guard.isExclusiveTextNode(e); }); } - for (let i = 0; i < descendantNodes.length; i++) { - const node = descendantNodes[i]; - if (node._parent === null) + for (var i = 0; i < descendantNodes.length; i++) { + var node_1 = descendantNodes[i]; + if (node_1._parent === null) continue; /** * 1. Let length be node’s length. * 2. If length is zero, then remove node and continue with the next * exclusive Text node, if any. */ - let length = (0, algorithm_1.tree_nodeLength)(node); + var length = algorithm_1.tree_nodeLength(node_1); if (length === 0) { - (0, algorithm_1.mutation_remove)(node, node._parent); + algorithm_1.mutation_remove(node_1, node_1._parent); continue; } /** * 3. Let data be the concatenation of the data of node’s contiguous * exclusive Text nodes (excluding itself), in tree order. */ - const textSiblings = []; - let data = ''; - for (const sibling of (0, algorithm_1.text_contiguousExclusiveTextNodes)(node)) { - textSiblings.push(sibling); - data += sibling._data; + var textSiblings = []; + var data = ''; + try { + for (var _c = (e_1 = void 0, __values(algorithm_1.text_contiguousExclusiveTextNodes(node_1))), _d = _c.next(); !_d.done; _d = _c.next()) { + var sibling = _d.value; + textSiblings.push(sibling); + data += sibling._data; + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_d && !_d.done && (_a = _c.return)) _a.call(_c); + } + finally { if (e_1) throw e_1.error; } } /** * 4. Replace data with node node, offset length, count 0, and data data. */ - (0, algorithm_1.characterData_replaceData)(node, length, 0, data); + algorithm_1.characterData_replaceData(node_1, length, 0, data); /** * 5. Let currentNode be node’s next sibling. * 6. While currentNode is an exclusive Text node: */ if (DOMImpl_1.dom.rangeList.size !== 0) { - let currentNode = node._nextSibling; + var currentNode = node_1._nextSibling; while (currentNode !== null && util_1.Guard.isExclusiveTextNode(currentNode)) { /** * 6.1. For each live range whose start node is currentNode, add length @@ -26815,31 +28620,41 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * end offset is currentNode’s index, set its end node to node and its * end offset to length. */ - const cn = currentNode; - const index = (0, algorithm_1.tree_index)(cn); - for (const range of DOMImpl_1.dom.rangeList) { - if (range._start[0] === cn) { - range._start[0] = node; - range._start[1] += length; + var cn = currentNode; + var index = algorithm_1.tree_index(cn); + try { + for (var _e = (e_2 = void 0, __values(DOMImpl_1.dom.rangeList)), _f = _e.next(); !_f.done; _f = _e.next()) { + var range = _f.value; + if (range._start[0] === cn) { + range._start[0] = node_1; + range._start[1] += length; + } + if (range._end[0] === cn) { + range._end[0] = node_1; + range._end[1] += length; + } + if (range._start[0] === cn._parent && range._start[1] === index) { + range._start[0] = node_1; + range._start[1] = length; + } + if (range._end[0] === cn._parent && range._end[1] === index) { + range._end[0] = node_1; + range._end[1] = length; + } } - if (range._end[0] === cn) { - range._end[0] = node; - range._end[1] += length; - } - if (range._start[0] === cn._parent && range._start[1] === index) { - range._start[0] = node; - range._start[1] = length; - } - if (range._end[0] === cn._parent && range._end[1] === index) { - range._end[0] = node; - range._end[1] = length; + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_f && !_f.done && (_b = _e.return)) _b.call(_e); } + finally { if (e_2) throw e_2.error; } } /** * 6.5. Add currentNode’s length to length. * 6.6. Set currentNode to its next sibling. */ - length += (0, algorithm_1.tree_nodeLength)(currentNode); + length += algorithm_1.tree_nodeLength(currentNode); currentNode = currentNode._nextSibling; } } @@ -26847,14 +28662,14 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * 7. Remove node’s contiguous exclusive Text nodes (excluding itself), * in tree order. */ - for (let i = 0; i < textSiblings.length; i++) { - const sibling = textSiblings[i]; + for (var i_1 = 0; i_1 < textSiblings.length; i_1++) { + var sibling = textSiblings[i_1]; if (sibling._parent === null) continue; - (0, algorithm_1.mutation_remove)(sibling, sibling._parent); + algorithm_1.mutation_remove(sibling, sibling._parent); } } - } + }; /** * Returns a duplicate of this node, i.e., serves as a generic copy * constructor for nodes. The duplicate node has no parent @@ -26864,7 +28679,8 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * specified node. If `false`, clone only the node itself (and its * attributes, if it is an {@link Element}). */ - cloneNode(deep = false) { + NodeImpl.prototype.cloneNode = function (deep) { + if (deep === void 0) { deep = false; } /** * 1. If context object is a shadow root, then throw a "NotSupportedError" * DOMException. @@ -26873,38 +28689,40 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { */ if (util_1.Guard.isShadowRoot(this)) throw new DOMException_1.NotSupportedError(); - return (0, algorithm_1.node_clone)(this, null, deep); - } + return algorithm_1.node_clone(this, null, deep); + }; /** * Determines if the given node is equal to this one. * * @param node - the node to compare with */ - isEqualNode(node = null) { + NodeImpl.prototype.isEqualNode = function (node) { + if (node === void 0) { node = null; } /** * The isEqualNode(otherNode) method, when invoked, must return true if * otherNode is non-null and context object equals otherNode, and false * otherwise. */ - return (node !== null && (0, algorithm_1.node_equals)(this, node)); - } + return (node !== null && algorithm_1.node_equals(this, node)); + }; /** * Determines if the given node is reference equal to this one. * * @param node - the node to compare with */ - isSameNode(node = null) { + NodeImpl.prototype.isSameNode = function (node) { + if (node === void 0) { node = null; } /** * The isSameNode(otherNode) method, when invoked, must return true if * otherNode is context object, and false otherwise. */ return (this === node); - } + }; /** * Returns a bitmask indicating the position of the given `node` * relative to this node. */ - compareDocumentPosition(other) { + NodeImpl.prototype.compareDocumentPosition = function (other) { /** * 1. If context object is other, then return zero. * 2. Let node1 be other and node2 be context object. @@ -26912,11 +28730,11 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * attr1’s element. */ if (other === this) - return interfaces_1.Position.SameNode; - let node1 = other; - let node2 = this; - let attr1 = null; - let attr2 = null; + return 0; + var node1 = other; + var node2 = this; + var attr1 = null; + var attr2 = null; /** * 4. If node1 is an attribute, then set attr1 to node1 and node1 to * attr1’s element. @@ -26941,8 +28759,8 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { /** * 5.2. For each attr in node2’s attribute list: */ - for (let i = 0; i < node2._attributeList.length; i++) { - const attr = node2._attributeList[i]; + for (var i = 0; i < node2._attributeList.length; i++) { + var attr = node2._attributeList[i]; /** * 5.2.1. If attr equals attr1, then return the result of adding * DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC and @@ -26951,10 +28769,10 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC and * DOCUMENT_POSITION_FOLLOWING. */ - if ((0, algorithm_1.node_equals)(attr, attr1)) { + if (algorithm_1.node_equals(attr, attr1)) { return interfaces_1.Position.ImplementationSpecific | interfaces_1.Position.Preceding; } - else if ((0, algorithm_1.node_equals)(attr, attr2)) { + else if (algorithm_1.node_equals(attr, attr2)) { return interfaces_1.Position.ImplementationSpecific | interfaces_1.Position.Following; } } @@ -26968,7 +28786,7 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * with the constraint that this is to be consistent, together. */ if (node1 === null || node2 === null || - (0, algorithm_1.tree_rootNode)(node1) !== (0, algorithm_1.tree_rootNode)(node2)) { + algorithm_1.tree_rootNode(node1) !== algorithm_1.tree_rootNode(node2)) { // nodes are disconnected // return a random result but cache the value for consistency return interfaces_1.Position.Disconnected | interfaces_1.Position.ImplementationSpecific | @@ -26979,7 +28797,7 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * and attr2 is non-null, then return the result of adding * DOCUMENT_POSITION_CONTAINS to DOCUMENT_POSITION_PRECEDING. */ - if ((!attr1 && (0, algorithm_1.tree_isAncestorOf)(node2, node1)) || + if ((!attr1 && algorithm_1.tree_isAncestorOf(node2, node1)) || (attr2 && (node1 === node2))) { return interfaces_1.Position.Contains | interfaces_1.Position.Preceding; } @@ -26988,27 +28806,27 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * and attr1 is non-null, then return the result of adding * DOCUMENT_POSITION_CONTAINED_BY to DOCUMENT_POSITION_FOLLOWING. */ - if ((!attr2 && (0, algorithm_1.tree_isDescendantOf)(node2, node1)) || + if ((!attr2 && algorithm_1.tree_isDescendantOf(node2, node1)) || (attr1 && (node1 === node2))) { return interfaces_1.Position.ContainedBy | interfaces_1.Position.Following; } /** * 9. If node1 is preceding node2, then return DOCUMENT_POSITION_PRECEDING. */ - if ((0, algorithm_1.tree_isPreceding)(node2, node1)) + if (algorithm_1.tree_isPreceding(node2, node1)) return interfaces_1.Position.Preceding; /** * 10. Return DOCUMENT_POSITION_FOLLOWING. */ return interfaces_1.Position.Following; - } + }; /** * Returns `true` if given node is an inclusive descendant of this * node, and `false` otherwise (including when other node is `null`). * * @param other - the node to check */ - contains(other) { + NodeImpl.prototype.contains = function (other) { /** * The contains(other) method, when invoked, must return true if other is an * inclusive descendant of context object, and false otherwise (including @@ -27016,15 +28834,15 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { */ if (other === null) return false; - return (0, algorithm_1.tree_isDescendantOf)(this, other, true); - } + return algorithm_1.tree_isDescendantOf(this, other, true); + }; /** * Returns the prefix for a given namespace URI, if present, and * `null` if not. * * @param namespace - the namespace to search */ - lookupPrefix(namespace) { + NodeImpl.prototype.lookupPrefix = function (namespace) { /** * 1. If namespace is null or the empty string, then return null. * 2. Switch on the context object: @@ -27036,7 +28854,7 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * Return the result of locating a namespace prefix for it using * namespace. */ - return (0, algorithm_1.node_locateANamespacePrefix)(this, namespace); + return algorithm_1.node_locateANamespacePrefix(this, namespace); } else if (util_1.Guard.isDocumentNode(this)) { /** @@ -27047,7 +28865,7 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { return null; } else { - return (0, algorithm_1.node_locateANamespacePrefix)(this.documentElement, namespace); + return algorithm_1.node_locateANamespacePrefix(this.documentElement, namespace); } } else if (util_1.Guard.isDocumentTypeNode(this) || util_1.Guard.isDocumentFragmentNode(this)) { @@ -27062,7 +28880,7 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { return null; } else { - return (0, algorithm_1.node_locateANamespacePrefix)(this._element, namespace); + return algorithm_1.node_locateANamespacePrefix(this._element, namespace); } } else { @@ -27071,34 +28889,34 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * element, if its parent element is non-null, and null otherwise. */ if (this._parent !== null && util_1.Guard.isElementNode(this._parent)) { - return (0, algorithm_1.node_locateANamespacePrefix)(this._parent, namespace); + return algorithm_1.node_locateANamespacePrefix(this._parent, namespace); } else { return null; } } - } + }; /** * Returns the namespace URI for a given prefix if present, and `null` * if not. * * @param prefix - the prefix to search */ - lookupNamespaceURI(prefix) { + NodeImpl.prototype.lookupNamespaceURI = function (prefix) { /** * 1. If prefix is the empty string, then set it to null. * 2. Return the result of running locate a namespace for the context object * using prefix. */ - return (0, algorithm_1.node_locateANamespace)(this, prefix || null); - } + return algorithm_1.node_locateANamespace(this, prefix || null); + }; /** * Returns `true` if the namespace is the default namespace on this * node or `false` if not. * * @param namespace - the namespace to check */ - isDefaultNamespace(namespace) { + NodeImpl.prototype.isDefaultNamespace = function (namespace) { /** * 1. If namespace is the empty string, then set it to null. * 2. Let defaultNamespace be the result of running locate a namespace for @@ -27107,9 +28925,9 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { */ if (!namespace) namespace = null; - const defaultNamespace = (0, algorithm_1.node_locateANamespace)(this, null); + var defaultNamespace = algorithm_1.node_locateANamespace(this, null); return (defaultNamespace === namespace); - } + }; /** * Inserts the node `newChild` before the existing child node * `refChild`. If `refChild` is `null`, inserts `newChild` at the end @@ -27126,13 +28944,13 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * * @returns the newly inserted child node */ - insertBefore(newChild, refChild) { + NodeImpl.prototype.insertBefore = function (newChild, refChild) { /** * The insertBefore(node, child) method, when invoked, must return the * result of pre-inserting node into context object before child. */ - return (0, algorithm_1.mutation_preInsert)(newChild, this, refChild); - } + return algorithm_1.mutation_preInsert(newChild, this, refChild); + }; /** * Adds the node `newChild` to the end of the list of children of this * node, and returns it. If `newChild` is already in the tree, it is @@ -27146,13 +28964,13 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * * @returns the newly inserted child node */ - appendChild(newChild) { + NodeImpl.prototype.appendChild = function (newChild) { /** * The appendChild(node) method, when invoked, must return the result of * appending node to context object. */ - return (0, algorithm_1.mutation_append)(newChild, this); - } + return algorithm_1.mutation_append(newChild, this); + }; /** * Replaces the child node `oldChild` with `newChild` in the list of * children, and returns the `oldChild` node. If `newChild` is already @@ -27163,13 +28981,13 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * * @returns the removed child node */ - replaceChild(newChild, oldChild) { + NodeImpl.prototype.replaceChild = function (newChild, oldChild) { /** * The replaceChild(node, child) method, when invoked, must return the * result of replacing child with node within context object. */ - return (0, algorithm_1.mutation_replace)(oldChild, newChild, this); - } + return algorithm_1.mutation_replace(oldChild, newChild, this); + }; /** * Removes the child node indicated by `oldChild` from the list of * children, and returns it. @@ -27178,31 +28996,50 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * * @returns the removed child node */ - removeChild(oldChild) { + NodeImpl.prototype.removeChild = function (oldChild) { /** * The removeChild(child) method, when invoked, must return the result of * pre-removing child from context object. */ - return (0, algorithm_1.mutation_preRemove)(oldChild, this); - } + return algorithm_1.mutation_preRemove(oldChild, this); + }; /** * Gets the parent event target for the given event. * * @param event - an event */ - _getTheParent(event) { + NodeImpl.prototype._getTheParent = function (event) { /** * A node’s get the parent algorithm, given an event, returns the node’s * assigned slot, if node is assigned, and node’s parent otherwise. */ - if (util_1.Guard.isSlotable(this) && (0, algorithm_1.shadowTree_isAssigned)(this)) { + if (util_1.Guard.isSlotable(this) && algorithm_1.shadowTree_isAssigned(this)) { return this._assignedSlot; } else { return this._parent; } - } -} + }; + NodeImpl.ELEMENT_NODE = 1; + NodeImpl.ATTRIBUTE_NODE = 2; + NodeImpl.TEXT_NODE = 3; + NodeImpl.CDATA_SECTION_NODE = 4; + NodeImpl.ENTITY_REFERENCE_NODE = 5; + NodeImpl.ENTITY_NODE = 6; + NodeImpl.PROCESSING_INSTRUCTION_NODE = 7; + NodeImpl.COMMENT_NODE = 8; + NodeImpl.DOCUMENT_NODE = 9; + NodeImpl.DOCUMENT_TYPE_NODE = 10; + NodeImpl.DOCUMENT_FRAGMENT_NODE = 11; + NodeImpl.NOTATION_NODE = 12; + NodeImpl.DOCUMENT_POSITION_DISCONNECTED = 0x01; + NodeImpl.DOCUMENT_POSITION_PRECEDING = 0x02; + NodeImpl.DOCUMENT_POSITION_FOLLOWING = 0x04; + NodeImpl.DOCUMENT_POSITION_CONTAINS = 0x08; + NodeImpl.DOCUMENT_POSITION_CONTAINED_BY = 0x10; + NodeImpl.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20; + return NodeImpl; +}(EventTargetImpl_1.EventTargetImpl)); exports.NodeImpl = NodeImpl; /** * A performance tweak to share an empty set between all node classes. This will @@ -27213,84 +29050,103 @@ NodeImpl.prototype._children = new util_1.EmptySet(); /** * Define constants on prototype. */ -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "ELEMENT_NODE", 1); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "ATTRIBUTE_NODE", 2); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "TEXT_NODE", 3); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "CDATA_SECTION_NODE", 4); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "ENTITY_REFERENCE_NODE", 5); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "ENTITY_NODE", 6); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "PROCESSING_INSTRUCTION_NODE", 7); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "COMMENT_NODE", 8); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "DOCUMENT_NODE", 9); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "DOCUMENT_TYPE_NODE", 10); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "DOCUMENT_FRAGMENT_NODE", 11); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "NOTATION_NODE", 12); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "DOCUMENT_POSITION_DISCONNECTED", 0x01); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "DOCUMENT_POSITION_PRECEDING", 0x02); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "DOCUMENT_POSITION_FOLLOWING", 0x04); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "DOCUMENT_POSITION_CONTAINS", 0x08); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "DOCUMENT_POSITION_CONTAINED_BY", 0x10); -(0, WebIDLAlgorithm_1.idl_defineConst)(NodeImpl.prototype, "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC", 0x20); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "ELEMENT_NODE", 1); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "ATTRIBUTE_NODE", 2); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "TEXT_NODE", 3); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "CDATA_SECTION_NODE", 4); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "ENTITY_REFERENCE_NODE", 5); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "ENTITY_NODE", 6); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "PROCESSING_INSTRUCTION_NODE", 7); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "COMMENT_NODE", 8); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "DOCUMENT_NODE", 9); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "DOCUMENT_TYPE_NODE", 10); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "DOCUMENT_FRAGMENT_NODE", 11); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "NOTATION_NODE", 12); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "DOCUMENT_POSITION_DISCONNECTED", 0x01); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "DOCUMENT_POSITION_PRECEDING", 0x02); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "DOCUMENT_POSITION_FOLLOWING", 0x04); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "DOCUMENT_POSITION_CONTAINS", 0x08); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "DOCUMENT_POSITION_CONTAINED_BY", 0x10); +WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC", 0x20); //# sourceMappingURL=NodeImpl.js.map /***/ }), /***/ 61997: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.NodeIteratorImpl = void 0; -const TraverserImpl_1 = __nccwpck_require__(39782); -const algorithm_1 = __nccwpck_require__(61); +var TraverserImpl_1 = __nccwpck_require__(39782); +var algorithm_1 = __nccwpck_require__(61); /** * Represents an object which can be used to iterate through the nodes * of a subtree. */ -class NodeIteratorImpl extends TraverserImpl_1.TraverserImpl { - _iteratorCollection; - _reference; - _pointerBeforeReference; +var NodeIteratorImpl = /** @class */ (function (_super) { + __extends(NodeIteratorImpl, _super); /** * Initializes a new instance of `NodeIterator`. */ - constructor(root, reference, pointerBeforeReference) { - super(root); - this._iteratorCollection = undefined; - this._reference = reference; - this._pointerBeforeReference = pointerBeforeReference; - (0, algorithm_1.nodeIterator_iteratorList)().add(this); + function NodeIteratorImpl(root, reference, pointerBeforeReference) { + var _this = _super.call(this, root) || this; + _this._iteratorCollection = undefined; + _this._reference = reference; + _this._pointerBeforeReference = pointerBeforeReference; + algorithm_1.nodeIterator_iteratorList().add(_this); + return _this; } + Object.defineProperty(NodeIteratorImpl.prototype, "referenceNode", { + /** @inheritdoc */ + get: function () { return this._reference; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NodeIteratorImpl.prototype, "pointerBeforeReferenceNode", { + /** @inheritdoc */ + get: function () { return this._pointerBeforeReference; }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get referenceNode() { return this._reference; } - /** @inheritdoc */ - get pointerBeforeReferenceNode() { return this._pointerBeforeReference; } - /** @inheritdoc */ - nextNode() { + NodeIteratorImpl.prototype.nextNode = function () { /** * The nextNode() method, when invoked, must return the result of * traversing with the context object and next. */ - return (0, algorithm_1.nodeIterator_traverse)(this, true); - } + return algorithm_1.nodeIterator_traverse(this, true); + }; /** @inheritdoc */ - previousNode() { + NodeIteratorImpl.prototype.previousNode = function () { /** * The previousNode() method, when invoked, must return the result of * traversing with the context object and previous. */ - return (0, algorithm_1.nodeIterator_traverse)(this, false); - } + return algorithm_1.nodeIterator_traverse(this, false); + }; /** @inheritdoc */ - detach() { + NodeIteratorImpl.prototype.detach = function () { /** * The detach() method, when invoked, must do nothing. * * since JS lacks weak references, we still use detach */ - (0, algorithm_1.nodeIterator_iteratorList)().delete(this); - } + algorithm_1.nodeIterator_iteratorList().delete(this); + }; /** * Creates a new `NodeIterator`. * @@ -27299,52 +29155,66 @@ class NodeIteratorImpl extends TraverserImpl_1.TraverserImpl { * @param pointerBeforeReference - whether the iterator is before or after the * reference node */ - static _create(root, reference, pointerBeforeReference) { + NodeIteratorImpl._create = function (root, reference, pointerBeforeReference) { return new NodeIteratorImpl(root, reference, pointerBeforeReference); - } -} + }; + return NodeIteratorImpl; +}(TraverserImpl_1.TraverserImpl)); exports.NodeIteratorImpl = NodeIteratorImpl; //# sourceMappingURL=NodeIteratorImpl.js.map /***/ }), /***/ 43728: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.NodeListImpl = void 0; -const DOMImpl_1 = __nccwpck_require__(14177); -const util_1 = __nccwpck_require__(76195); -const algorithm_1 = __nccwpck_require__(61); +var DOMImpl_1 = __nccwpck_require__(14177); +var util_1 = __nccwpck_require__(76195); +var algorithm_1 = __nccwpck_require__(61); /** * Represents an ordered set of nodes. */ -class NodeListImpl { - _live = true; - _root; - _filter = null; - _length = 0; +var NodeListImpl = /** @class */ (function () { /** * Initializes a new instance of `NodeList`. * * @param root - root node */ - constructor(root) { + function NodeListImpl(root) { + this._live = true; + this._filter = null; + this._length = 0; this._root = root; return new Proxy(this, this); } + Object.defineProperty(NodeListImpl.prototype, "length", { + /** @inheritdoc */ + get: function () { + /** + * The length attribute must return the number of nodes represented + * by the collection. + */ + return this._root._children.size; + }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get length() { - /** - * The length attribute must return the number of nodes represented - * by the collection. - */ - return this._root._children.size; - } - /** @inheritdoc */ - item(index) { + NodeListImpl.prototype.item = function (index) { /** * The item(index) method must return the indexth node in the collection. * If there is no indexth node in the collection, then the method must @@ -27353,8 +29223,8 @@ class NodeListImpl { if (index < 0 || index > this.length - 1) return null; if (index < this.length / 2) { - let i = 0; - let node = this._root._firstChild; + var i = 0; + var node = this._root._firstChild; while (node !== null && i !== index) { node = node._nextSibling; i++; @@ -27362,20 +29232,21 @@ class NodeListImpl { return node; } else { - let i = this.length - 1; - let node = this._root._lastChild; + var i = this.length - 1; + var node = this._root._lastChild; while (node !== null && i !== index) { node = node._previousSibling; i--; } return node; } - } + }; /** @inheritdoc */ - keys() { - return { - [Symbol.iterator]: function () { - let index = 0; + NodeListImpl.prototype.keys = function () { + var _a; + return _a = {}, + _a[Symbol.iterator] = function () { + var index = 0; return { next: function () { if (index === this.length) { @@ -27386,31 +29257,33 @@ class NodeListImpl { } }.bind(this) }; - }.bind(this) - }; - } + }.bind(this), + _a; + }; /** @inheritdoc */ - values() { - return { - [Symbol.iterator]: function () { - const it = this[Symbol.iterator](); + NodeListImpl.prototype.values = function () { + var _a; + return _a = {}, + _a[Symbol.iterator] = function () { + var it = this[Symbol.iterator](); return { - next() { + next: function () { return it.next(); } }; - }.bind(this) - }; - } + }.bind(this), + _a; + }; /** @inheritdoc */ - entries() { - return { - [Symbol.iterator]: function () { - const it = this[Symbol.iterator](); - let index = 0; + NodeListImpl.prototype.entries = function () { + var _a; + return _a = {}, + _a[Symbol.iterator] = function () { + var it = this[Symbol.iterator](); + var index = 0; return { - next() { - const itResult = it.next(); + next: function () { + var itResult = it.next(); if (itResult.done) { return { done: true, value: null }; } @@ -27419,112 +29292,136 @@ class NodeListImpl { } } }; - }.bind(this) - }; - } + }.bind(this), + _a; + }; /** @inheritdoc */ - [Symbol.iterator]() { + NodeListImpl.prototype[Symbol.iterator] = function () { return this._root._children[Symbol.iterator](); - } + }; /** @inheritdoc */ - forEach(callback, thisArg) { + NodeListImpl.prototype.forEach = function (callback, thisArg) { + var e_1, _a; if (thisArg === undefined) { thisArg = DOMImpl_1.dom.window; } - let index = 0; - for (const node of this._root._children) { - callback.call(thisArg, node, index++, this); + var index = 0; + try { + for (var _b = __values(this._root._children), _c = _b.next(); !_c.done; _c = _b.next()) { + var node = _c.value; + callback.call(thisArg, node, index++, this); + } } - } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } + } + }; /** * Implements a proxy get trap to provide array-like access. */ - get(target, key, receiver) { - if (!(0, util_1.isString)(key)) { + NodeListImpl.prototype.get = function (target, key, receiver) { + if (!util_1.isString(key)) { return Reflect.get(target, key, receiver); } - const index = Number(key); + var index = Number(key); if (isNaN(index)) { return Reflect.get(target, key, receiver); } return target.item(index) || undefined; - } + }; /** * Implements a proxy set trap to provide array-like access. */ - set(target, key, value, receiver) { - if (!(0, util_1.isString)(key)) { + NodeListImpl.prototype.set = function (target, key, value, receiver) { + if (!util_1.isString(key)) { return Reflect.set(target, key, value, receiver); } - const index = Number(key); + var index = Number(key); if (isNaN(index)) { return Reflect.set(target, key, value, receiver); } - const node = target.item(index) || undefined; + var node = target.item(index) || undefined; if (!node) return false; if (node._parent) { - (0, algorithm_1.mutation_replace)(node, value, node._parent); + algorithm_1.mutation_replace(node, value, node._parent); return true; } else { return false; } - } + }; /** * Creates a new `NodeList`. * * @param root - root node */ - static _create(root) { + NodeListImpl._create = function (root) { return new NodeListImpl(root); - } -} + }; + return NodeListImpl; +}()); exports.NodeListImpl = NodeListImpl; //# sourceMappingURL=NodeListImpl.js.map /***/ }), /***/ 65306: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.NodeListStaticImpl = void 0; -const DOMImpl_1 = __nccwpck_require__(14177); -const util_1 = __nccwpck_require__(76195); +var DOMImpl_1 = __nccwpck_require__(14177); +var util_1 = __nccwpck_require__(76195); /** * Represents an ordered list of nodes. * This is a static implementation of `NodeList`. */ -class NodeListStaticImpl { - _live = false; - _root; - _filter; - _items = []; - _length = 0; +var NodeListStaticImpl = /** @class */ (function () { /** * Initializes a new instance of `NodeList`. * * @param root - root node */ - constructor(root) { + function NodeListStaticImpl(root) { + this._live = false; + this._items = []; + this._length = 0; this._root = root; this._items = []; this._filter = function (node) { return true; }; return new Proxy(this, this); } + Object.defineProperty(NodeListStaticImpl.prototype, "length", { + /** @inheritdoc */ + get: function () { + /** + * The length attribute must return the number of nodes represented by + * the collection. + */ + return this._items.length; + }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get length() { - /** - * The length attribute must return the number of nodes represented by - * the collection. - */ - return this._items.length; - } - /** @inheritdoc */ - item(index) { + NodeListStaticImpl.prototype.item = function (index) { /** * The item(index) method must return the indexth node in the collection. * If there is no indexth node in the collection, then the method must @@ -27533,12 +29430,13 @@ class NodeListStaticImpl { if (index < 0 || index > this.length - 1) return null; return this._items[index]; - } + }; /** @inheritdoc */ - keys() { - return { - [Symbol.iterator]: function () { - let index = 0; + NodeListStaticImpl.prototype.keys = function () { + var _a; + return _a = {}, + _a[Symbol.iterator] = function () { + var index = 0; return { next: function () { if (index === this.length) { @@ -27549,31 +29447,33 @@ class NodeListStaticImpl { } }.bind(this) }; - }.bind(this) - }; - } + }.bind(this), + _a; + }; /** @inheritdoc */ - values() { - return { - [Symbol.iterator]: function () { - const it = this[Symbol.iterator](); + NodeListStaticImpl.prototype.values = function () { + var _a; + return _a = {}, + _a[Symbol.iterator] = function () { + var it = this[Symbol.iterator](); return { - next() { + next: function () { return it.next(); } }; - }.bind(this) - }; - } + }.bind(this), + _a; + }; /** @inheritdoc */ - entries() { - return { - [Symbol.iterator]: function () { - const it = this[Symbol.iterator](); - let index = 0; + NodeListStaticImpl.prototype.entries = function () { + var _a; + return _a = {}, + _a[Symbol.iterator] = function () { + var it = this[Symbol.iterator](); + var index = 0; return { - next() { - const itResult = it.next(); + next: function () { + var itResult = it.next(); if (itResult.done) { return { done: true, value: null }; } @@ -27582,49 +29482,60 @@ class NodeListStaticImpl { } } }; - }.bind(this) - }; - } + }.bind(this), + _a; + }; /** @inheritdoc */ - [Symbol.iterator]() { - const it = this._items[Symbol.iterator](); + NodeListStaticImpl.prototype[Symbol.iterator] = function () { + var it = this._items[Symbol.iterator](); return { - next() { + next: function () { return it.next(); } }; - } + }; /** @inheritdoc */ - forEach(callback, thisArg) { + NodeListStaticImpl.prototype.forEach = function (callback, thisArg) { + var e_1, _a; if (thisArg === undefined) { thisArg = DOMImpl_1.dom.window; } - let index = 0; - for (const node of this._items) { - callback.call(thisArg, node, index++, this); + var index = 0; + try { + for (var _b = __values(this._items), _c = _b.next(); !_c.done; _c = _b.next()) { + var node = _c.value; + callback.call(thisArg, node, index++, this); + } } - } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } + } + }; /** * Implements a proxy get trap to provide array-like access. */ - get(target, key, receiver) { - if (!(0, util_1.isString)(key)) { + NodeListStaticImpl.prototype.get = function (target, key, receiver) { + if (!util_1.isString(key)) { return Reflect.get(target, key, receiver); } - const index = Number(key); + var index = Number(key); if (isNaN(index)) { return Reflect.get(target, key, receiver); } return target._items[index] || undefined; - } + }; /** * Implements a proxy set trap to provide array-like access. */ - set(target, key, value, receiver) { - if (!(0, util_1.isString)(key)) { + NodeListStaticImpl.prototype.set = function (target, key, value, receiver) { + if (!util_1.isString(key)) { return Reflect.set(target, key, value, receiver); } - const index = Number(key); + var index = Number(key); if (isNaN(index)) { return Reflect.set(target, key, value, receiver); } @@ -27635,19 +29546,20 @@ class NodeListStaticImpl { else { return false; } - } + }; /** * Creates a new `NodeList`. * * @param root - root node * @param items - a list of items to initialize the list */ - static _create(root, items) { - const list = new NodeListStaticImpl(root); + NodeListStaticImpl._create = function (root, items) { + var list = new NodeListStaticImpl(root); list._items = items; return list; - } -} + }; + return NodeListStaticImpl; +}()); exports.NodeListStaticImpl = NodeListStaticImpl; //# sourceMappingURL=NodeListStaticImpl.js.map @@ -27659,45 +29571,55 @@ exports.NodeListStaticImpl = NodeListStaticImpl; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.NonDocumentTypeChildNodeImpl = void 0; -const util_1 = __nccwpck_require__(65282); +var util_1 = __nccwpck_require__(65282); /** * Represents a mixin that extends child nodes that can have siblings * other than doctypes. This mixin is implemented by {@link Element} and * {@link CharacterData}. */ -class NonDocumentTypeChildNodeImpl { - /** @inheritdoc */ - get previousElementSibling() { - /** - * The previousElementSibling attribute’s getter must return the first - * preceding sibling that is an element, and null otherwise. - */ - let node = util_1.Cast.asNode(this)._previousSibling; - while (node) { - if (util_1.Guard.isElementNode(node)) - return node; - else - node = node._previousSibling; - } - return null; +var NonDocumentTypeChildNodeImpl = /** @class */ (function () { + function NonDocumentTypeChildNodeImpl() { } - /** @inheritdoc */ - get nextElementSibling() { - /** - * The nextElementSibling attribute’s getter must return the first - * following sibling that is an element, and null otherwise. - */ - let node = util_1.Cast.asNode(this)._nextSibling; - while (node) { - if (util_1.Guard.isElementNode(node)) - return node; - else - node = node._nextSibling; - } - return null; - } -} + Object.defineProperty(NonDocumentTypeChildNodeImpl.prototype, "previousElementSibling", { + /** @inheritdoc */ + get: function () { + /** + * The previousElementSibling attribute’s getter must return the first + * preceding sibling that is an element, and null otherwise. + */ + var node = util_1.Cast.asNode(this)._previousSibling; + while (node) { + if (util_1.Guard.isElementNode(node)) + return node; + else + node = node._previousSibling; + } + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NonDocumentTypeChildNodeImpl.prototype, "nextElementSibling", { + /** @inheritdoc */ + get: function () { + /** + * The nextElementSibling attribute’s getter must return the first + * following sibling that is an element, and null otherwise. + */ + var node = util_1.Cast.asNode(this)._nextSibling; + while (node) { + if (util_1.Guard.isElementNode(node)) + return node; + else + node = node._nextSibling; + } + return null; + }, + enumerable: true, + configurable: true + }); + return NonDocumentTypeChildNodeImpl; +}()); exports.NonDocumentTypeChildNodeImpl = NonDocumentTypeChildNodeImpl; //# sourceMappingURL=NonDocumentTypeChildNodeImpl.js.map @@ -27709,180 +29631,246 @@ exports.NonDocumentTypeChildNodeImpl = NonDocumentTypeChildNodeImpl; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.NonElementParentNodeImpl = void 0; -const util_1 = __nccwpck_require__(65282); -const algorithm_1 = __nccwpck_require__(61); +var util_1 = __nccwpck_require__(65282); +var algorithm_1 = __nccwpck_require__(61); /** * Represents a mixin that extends non-element parent nodes. This mixin * is implemented by {@link Document} and {@link DocumentFragment}. */ -class NonElementParentNodeImpl { +var NonElementParentNodeImpl = /** @class */ (function () { + function NonElementParentNodeImpl() { + } /** @inheritdoc */ - getElementById(id) { + NonElementParentNodeImpl.prototype.getElementById = function (id) { /** * The getElementById(elementId) method, when invoked, must return the first * element, in tree order, within the context object’s descendants, * whose ID is elementId, and null if there is no such element otherwise. */ - let ele = (0, algorithm_1.tree_getFirstDescendantNode)(util_1.Cast.asNode(this), false, false, (e) => util_1.Guard.isElementNode(e)); + var ele = algorithm_1.tree_getFirstDescendantNode(util_1.Cast.asNode(this), false, false, function (e) { return util_1.Guard.isElementNode(e); }); while (ele !== null) { if (ele._uniqueIdentifier === id) { return ele; } - ele = (0, algorithm_1.tree_getNextDescendantNode)(util_1.Cast.asNode(this), ele, false, false, (e) => util_1.Guard.isElementNode(e)); + ele = algorithm_1.tree_getNextDescendantNode(util_1.Cast.asNode(this), ele, false, false, function (e) { return util_1.Guard.isElementNode(e); }); } return null; - } -} + }; + return NonElementParentNodeImpl; +}()); exports.NonElementParentNodeImpl = NonElementParentNodeImpl; //# sourceMappingURL=NonElementParentNodeImpl.js.map /***/ }), /***/ 85988: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ParentNodeImpl = void 0; -const util_1 = __nccwpck_require__(65282); -const algorithm_1 = __nccwpck_require__(61); +var util_1 = __nccwpck_require__(65282); +var algorithm_1 = __nccwpck_require__(61); /** * Represents a mixin that extends parent nodes that can have children. * This mixin is implemented by {@link Element}, {@link Document} and * {@link DocumentFragment}. */ -class ParentNodeImpl { - /** @inheritdoc */ - get children() { - /** - * The children attribute’s getter must return an HTMLCollection collection - * rooted at context object matching only element children. - */ - return (0, algorithm_1.create_htmlCollection)(util_1.Cast.asNode(this)); +var ParentNodeImpl = /** @class */ (function () { + function ParentNodeImpl() { } + Object.defineProperty(ParentNodeImpl.prototype, "children", { + /** @inheritdoc */ + get: function () { + /** + * The children attribute’s getter must return an HTMLCollection collection + * rooted at context object matching only element children. + */ + return algorithm_1.create_htmlCollection(util_1.Cast.asNode(this)); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ParentNodeImpl.prototype, "firstElementChild", { + /** @inheritdoc */ + get: function () { + /** + * The firstElementChild attribute’s getter must return the first child + * that is an element, and null otherwise. + */ + var node = util_1.Cast.asNode(this)._firstChild; + while (node) { + if (util_1.Guard.isElementNode(node)) + return node; + else + node = node._nextSibling; + } + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ParentNodeImpl.prototype, "lastElementChild", { + /** @inheritdoc */ + get: function () { + /** + * The lastElementChild attribute’s getter must return the last child that + * is an element, and null otherwise. + */ + var node = util_1.Cast.asNode(this)._lastChild; + while (node) { + if (util_1.Guard.isElementNode(node)) + return node; + else + node = node._previousSibling; + } + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ParentNodeImpl.prototype, "childElementCount", { + /** @inheritdoc */ + get: function () { + var e_1, _a; + /** + * The childElementCount attribute’s getter must return the number of + * children of context object that are elements. + */ + var count = 0; + try { + for (var _b = __values(util_1.Cast.asNode(this)._children), _c = _b.next(); !_c.done; _c = _b.next()) { + var childNode = _c.value; + if (util_1.Guard.isElementNode(childNode)) + count++; + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } + } + return count; + }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get firstElementChild() { - /** - * The firstElementChild attribute’s getter must return the first child - * that is an element, and null otherwise. - */ - let node = util_1.Cast.asNode(this)._firstChild; - while (node) { - if (util_1.Guard.isElementNode(node)) - return node; - else - node = node._nextSibling; + ParentNodeImpl.prototype.prepend = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; } - return null; - } - /** @inheritdoc */ - get lastElementChild() { - /** - * The lastElementChild attribute’s getter must return the last child that - * is an element, and null otherwise. - */ - let node = util_1.Cast.asNode(this)._lastChild; - while (node) { - if (util_1.Guard.isElementNode(node)) - return node; - else - node = node._previousSibling; - } - return null; - } - /** @inheritdoc */ - get childElementCount() { - /** - * The childElementCount attribute’s getter must return the number of - * children of context object that are elements. - */ - let count = 0; - for (const childNode of util_1.Cast.asNode(this)._children) { - if (util_1.Guard.isElementNode(childNode)) - count++; - } - return count; - } - /** @inheritdoc */ - prepend(...nodes) { /** * 1. Let node be the result of converting nodes into a node given nodes * and context object’s node document. * 2. Pre-insert node into context object before the context object’s first * child. */ - const node = util_1.Cast.asNode(this); - const childNode = (0, algorithm_1.parentNode_convertNodesIntoANode)(nodes, node._nodeDocument); - (0, algorithm_1.mutation_preInsert)(childNode, node, node._firstChild); - } + var node = util_1.Cast.asNode(this); + var childNode = algorithm_1.parentNode_convertNodesIntoANode(nodes, node._nodeDocument); + algorithm_1.mutation_preInsert(childNode, node, node._firstChild); + }; /** @inheritdoc */ - append(...nodes) { + ParentNodeImpl.prototype.append = function () { + var nodes = []; + for (var _i = 0; _i < arguments.length; _i++) { + nodes[_i] = arguments[_i]; + } /** * 1. Let node be the result of converting nodes into a node given nodes * and context object’s node document. * 2. Append node to context object. */ - const node = util_1.Cast.asNode(this); - const childNode = (0, algorithm_1.parentNode_convertNodesIntoANode)(nodes, node._nodeDocument); - (0, algorithm_1.mutation_append)(childNode, node); - } + var node = util_1.Cast.asNode(this); + var childNode = algorithm_1.parentNode_convertNodesIntoANode(nodes, node._nodeDocument); + algorithm_1.mutation_append(childNode, node); + }; /** @inheritdoc */ - querySelector(selectors) { + ParentNodeImpl.prototype.querySelector = function (selectors) { /** * The querySelector(selectors) method, when invoked, must return the first * result of running scope-match a selectors string selectors against * context object, if the result is not an empty list, and null otherwise. */ - const node = util_1.Cast.asNode(this); - const result = (0, algorithm_1.selectors_scopeMatchASelectorsString)(selectors, node); + var node = util_1.Cast.asNode(this); + var result = algorithm_1.selectors_scopeMatchASelectorsString(selectors, node); return (result.length === 0 ? null : result[0]); - } + }; /** @inheritdoc */ - querySelectorAll(selectors) { + ParentNodeImpl.prototype.querySelectorAll = function (selectors) { /** * The querySelectorAll(selectors) method, when invoked, must return the * static result of running scope-match a selectors string selectors against * context object. */ - const node = util_1.Cast.asNode(this); - const result = (0, algorithm_1.selectors_scopeMatchASelectorsString)(selectors, node); - return (0, algorithm_1.create_nodeListStatic)(node, result); - } -} + var node = util_1.Cast.asNode(this); + var result = algorithm_1.selectors_scopeMatchASelectorsString(selectors, node); + return algorithm_1.create_nodeListStatic(node, result); + }; + return ParentNodeImpl; +}()); exports.ParentNodeImpl = ParentNodeImpl; //# sourceMappingURL=ParentNodeImpl.js.map /***/ }), /***/ 99430: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ProcessingInstructionImpl = void 0; -const interfaces_1 = __nccwpck_require__(27305); -const CharacterDataImpl_1 = __nccwpck_require__(65330); -const WebIDLAlgorithm_1 = __nccwpck_require__(45457); +var interfaces_1 = __nccwpck_require__(27305); +var CharacterDataImpl_1 = __nccwpck_require__(65330); +var WebIDLAlgorithm_1 = __nccwpck_require__(45457); /** * Represents a processing instruction node. */ -class ProcessingInstructionImpl extends CharacterDataImpl_1.CharacterDataImpl { - _nodeType = interfaces_1.NodeType.ProcessingInstruction; - _target; +var ProcessingInstructionImpl = /** @class */ (function (_super) { + __extends(ProcessingInstructionImpl, _super); /** * Initializes a new instance of `ProcessingInstruction`. */ - constructor(target, data) { - super(data); - this._target = target; + function ProcessingInstructionImpl(target, data) { + var _this = _super.call(this, data) || this; + _this._target = target; + return _this; } - /** - * Gets the target of the {@link ProcessingInstruction} node. - */ - get target() { return this._target; } + Object.defineProperty(ProcessingInstructionImpl.prototype, "target", { + /** + * Gets the target of the {@link ProcessingInstruction} node. + */ + get: function () { return this._target; }, + enumerable: true, + configurable: true + }); /** * Creates a new `ProcessingInstruction`. * @@ -27890,150 +29878,170 @@ class ProcessingInstructionImpl extends CharacterDataImpl_1.CharacterDataImpl { * @param target - instruction target * @param data - node contents */ - static _create(document, target, data) { - const node = new ProcessingInstructionImpl(target, data); + ProcessingInstructionImpl._create = function (document, target, data) { + var node = new ProcessingInstructionImpl(target, data); node._nodeDocument = document; return node; - } -} + }; + return ProcessingInstructionImpl; +}(CharacterDataImpl_1.CharacterDataImpl)); exports.ProcessingInstructionImpl = ProcessingInstructionImpl; /** * Initialize prototype properties */ -(0, WebIDLAlgorithm_1.idl_defineConst)(ProcessingInstructionImpl.prototype, "_nodeType", interfaces_1.NodeType.ProcessingInstruction); +WebIDLAlgorithm_1.idl_defineConst(ProcessingInstructionImpl.prototype, "_nodeType", interfaces_1.NodeType.ProcessingInstruction); //# sourceMappingURL=ProcessingInstructionImpl.js.map /***/ }), /***/ 50166: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.RangeImpl = void 0; -const DOMImpl_1 = __nccwpck_require__(14177); -const interfaces_1 = __nccwpck_require__(27305); -const AbstractRangeImpl_1 = __nccwpck_require__(57126); -const DOMException_1 = __nccwpck_require__(13166); -const algorithm_1 = __nccwpck_require__(61); -const WebIDLAlgorithm_1 = __nccwpck_require__(45457); -const util_1 = __nccwpck_require__(65282); +var DOMImpl_1 = __nccwpck_require__(14177); +var interfaces_1 = __nccwpck_require__(27305); +var AbstractRangeImpl_1 = __nccwpck_require__(57126); +var DOMException_1 = __nccwpck_require__(13166); +var algorithm_1 = __nccwpck_require__(61); +var WebIDLAlgorithm_1 = __nccwpck_require__(45457); +var util_1 = __nccwpck_require__(65282); /** * Represents a live range. */ -class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { - static START_TO_START = 0; - static START_TO_END = 1; - static END_TO_END = 2; - static END_TO_START = 3; - START_TO_START = 0; - START_TO_END = 1; - END_TO_END = 2; - END_TO_START = 3; - _start; - _end; +var RangeImpl = /** @class */ (function (_super) { + __extends(RangeImpl, _super); /** * Initializes a new instance of `Range`. */ - constructor() { - super(); + function RangeImpl() { + var _this = _super.call(this) || this; /** * The Range() constructor, when invoked, must return a new live range with * (current global object’s associated Document, 0) as its start and end. */ - const doc = DOMImpl_1.dom.window._associatedDocument; - this._start = [doc, 0]; - this._end = [doc, 0]; - DOMImpl_1.dom.rangeList.add(this); + var doc = DOMImpl_1.dom.window._associatedDocument; + _this._start = [doc, 0]; + _this._end = [doc, 0]; + DOMImpl_1.dom.rangeList.add(_this); + return _this; } - /** @inheritdoc */ - get commonAncestorContainer() { - /** - * 1. Let container be start node. - * 2. While container is not an inclusive ancestor of end node, let - * container be container’s parent. - * 3. Return container. - */ - let container = this._start[0]; - while (!(0, algorithm_1.tree_isAncestorOf)(this._end[0], container, true)) { - if (container._parent === null) { - throw new Error("Parent node is null."); + Object.defineProperty(RangeImpl.prototype, "commonAncestorContainer", { + /** @inheritdoc */ + get: function () { + /** + * 1. Let container be start node. + * 2. While container is not an inclusive ancestor of end node, let + * container be container’s parent. + * 3. Return container. + */ + var container = this._start[0]; + while (!algorithm_1.tree_isAncestorOf(this._end[0], container, true)) { + if (container._parent === null) { + throw new Error("Parent node is null."); + } + container = container._parent; } - container = container._parent; - } - return container; - } + return container; + }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - setStart(node, offset) { + RangeImpl.prototype.setStart = function (node, offset) { /** * The setStart(node, offset) method, when invoked, must set the start of * context object to boundary point (node, offset). */ - (0, algorithm_1.range_setTheStart)(this, node, offset); - } + algorithm_1.range_setTheStart(this, node, offset); + }; /** @inheritdoc */ - setEnd(node, offset) { + RangeImpl.prototype.setEnd = function (node, offset) { /** * The setEnd(node, offset) method, when invoked, must set the end of * context object to boundary point (node, offset). */ - (0, algorithm_1.range_setTheEnd)(this, node, offset); - } + algorithm_1.range_setTheEnd(this, node, offset); + }; /** @inheritdoc */ - setStartBefore(node) { + RangeImpl.prototype.setStartBefore = function (node) { /** * 1. Let parent be node’s parent. * 2. If parent is null, then throw an "InvalidNodeTypeError" DOMException. * 3. Set the start of the context object to boundary point * (parent, node’s index). */ - let parent = node._parent; + var parent = node._parent; if (parent === null) throw new DOMException_1.InvalidNodeTypeError(); - (0, algorithm_1.range_setTheStart)(this, parent, (0, algorithm_1.tree_index)(node)); - } + algorithm_1.range_setTheStart(this, parent, algorithm_1.tree_index(node)); + }; /** @inheritdoc */ - setStartAfter(node) { + RangeImpl.prototype.setStartAfter = function (node) { /** * 1. Let parent be node’s parent. * 2. If parent is null, then throw an "InvalidNodeTypeError" DOMException. * 3. Set the start of the context object to boundary point * (parent, node’s index plus 1). */ - let parent = node._parent; + var parent = node._parent; if (parent === null) throw new DOMException_1.InvalidNodeTypeError(); - (0, algorithm_1.range_setTheStart)(this, parent, (0, algorithm_1.tree_index)(node) + 1); - } + algorithm_1.range_setTheStart(this, parent, algorithm_1.tree_index(node) + 1); + }; /** @inheritdoc */ - setEndBefore(node) { + RangeImpl.prototype.setEndBefore = function (node) { /** * 1. Let parent be node’s parent. * 2. If parent is null, then throw an "InvalidNodeTypeError" DOMException. * 3. Set the end of the context object to boundary point * (parent, node’s index). */ - let parent = node._parent; + var parent = node._parent; if (parent === null) throw new DOMException_1.InvalidNodeTypeError(); - (0, algorithm_1.range_setTheEnd)(this, parent, (0, algorithm_1.tree_index)(node)); - } + algorithm_1.range_setTheEnd(this, parent, algorithm_1.tree_index(node)); + }; /** @inheritdoc */ - setEndAfter(node) { + RangeImpl.prototype.setEndAfter = function (node) { /** * 1. Let parent be node’s parent. * 2. If parent is null, then throw an "InvalidNodeTypeError" DOMException. * 3. Set the end of the context object to boundary point * (parent, node’s index plus 1). */ - let parent = node._parent; + var parent = node._parent; if (parent === null) throw new DOMException_1.InvalidNodeTypeError(); - (0, algorithm_1.range_setTheEnd)(this, parent, (0, algorithm_1.tree_index)(node) + 1); - } + algorithm_1.range_setTheEnd(this, parent, algorithm_1.tree_index(node) + 1); + }; /** @inheritdoc */ - collapse(toStart) { + RangeImpl.prototype.collapse = function (toStart) { /** * The collapse(toStart) method, when invoked, must if toStart is true, * set end to start, and set start to end otherwise. @@ -28044,17 +30052,17 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { else { this._start = this._end; } - } + }; /** @inheritdoc */ - selectNode(node) { + RangeImpl.prototype.selectNode = function (node) { /** * The selectNode(node) method, when invoked, must select node within * context object. */ - (0, algorithm_1.range_select)(node, this); - } + algorithm_1.range_select(node, this); + }; /** @inheritdoc */ - selectNodeContents(node) { + RangeImpl.prototype.selectNodeContents = function (node) { /** * 1. If node is a doctype, throw an "InvalidNodeTypeError" DOMException. * 2. Let length be the length of node. @@ -28063,12 +30071,12 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { */ if (util_1.Guard.isDocumentTypeNode(node)) throw new DOMException_1.InvalidNodeTypeError(); - const length = (0, algorithm_1.tree_nodeLength)(node); + var length = algorithm_1.tree_nodeLength(node); this._start = [node, 0]; this._end = [node, length]; - } + }; /** @inheritdoc */ - compareBoundaryPoints(how, sourceRange) { + RangeImpl.prototype.compareBoundaryPoints = function (how, sourceRange) { /** * 1. If how is not one of * - START_TO_START, @@ -28084,7 +30092,7 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { * 2. If context object’s root is not the same as sourceRange’s root, * then throw a "WrongDocumentError" DOMException. */ - if ((0, algorithm_1.range_root)(this) !== (0, algorithm_1.range_root)(sourceRange)) + if (algorithm_1.range_root(this) !== algorithm_1.range_root(sourceRange)) throw new DOMException_1.WrongDocumentError(); /** * 3. If how is: @@ -28101,8 +30109,8 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { * Let this point be the context object’s start. Let other point be * sourceRange’s end. */ - let thisPoint; - let otherPoint; + var thisPoint; + var otherPoint; switch (how) { case interfaces_1.HowToCompare.StartToStart: thisPoint = this._start; @@ -28133,7 +30141,7 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { * - after * Return 1. */ - const position = (0, algorithm_1.boundaryPoint_position)(thisPoint, otherPoint); + var position = algorithm_1.boundaryPoint_position(thisPoint, otherPoint); if (position === interfaces_1.BoundaryPosition.Before) { return -1; } @@ -28143,21 +30151,22 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { else { return 0; } - } + }; /** @inheritdoc */ - deleteContents() { + RangeImpl.prototype.deleteContents = function () { + var e_1, _a, e_2, _b; /** * 1. If the context object is collapsed, then return. * 2. Let original start node, original start offset, original end node, * and original end offset be the context object’s start node, * start offset, end node, and end offset, respectively. */ - if ((0, algorithm_1.range_collapsed)(this)) + if (algorithm_1.range_collapsed(this)) return; - const originalStartNode = this._startNode; - const originalStartOffset = this._startOffset; - const originalEndNode = this._endNode; - const originalEndOffset = this._endOffset; + var originalStartNode = this._startNode; + var originalStartOffset = this._startOffset; + var originalEndNode = this._endNode; + var originalEndOffset = this._endOffset; /** * 3. If original start node and original end node are the same, and they * are a Text, ProcessingInstruction, or Comment node, replace data with @@ -28167,7 +30176,7 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { */ if (originalStartNode === originalEndNode && util_1.Guard.isCharacterDataNode(originalStartNode)) { - (0, algorithm_1.characterData_replaceData)(originalStartNode, originalStartOffset, originalEndOffset - originalStartOffset, ''); + algorithm_1.characterData_replaceData(originalStartNode, originalStartOffset, originalEndOffset - originalStartOffset, ''); return; } /** @@ -28175,17 +30184,27 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { * the context object, in tree order, omitting any node whose parent is also * contained in the context object. */ - const nodesToRemove = []; - for (const node of (0, algorithm_1.range_getContainedNodes)(this)) { - const parent = node._parent; - if (parent !== null && (0, algorithm_1.range_isContained)(parent, this)) { - continue; + var nodesToRemove = []; + try { + for (var _c = __values(algorithm_1.range_getContainedNodes(this)), _d = _c.next(); !_d.done; _d = _c.next()) { + var node = _d.value; + var parent = node._parent; + if (parent !== null && algorithm_1.range_isContained(parent, this)) { + continue; + } + nodesToRemove.push(node); } - nodesToRemove.push(node); } - let newNode; - let newOffset; - if ((0, algorithm_1.tree_isAncestorOf)(originalEndNode, originalStartNode, true)) { + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_d && !_d.done && (_a = _c.return)) _a.call(_c); + } + finally { if (e_1) throw e_1.error; } + } + var newNode; + var newOffset; + if (algorithm_1.tree_isAncestorOf(originalEndNode, originalStartNode, true)) { /** * 5. If original start node is an inclusive ancestor of original end * node, set new node to original start node and new offset to original @@ -28203,9 +30222,9 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { * 6.3. Set new node to the parent of reference node, and new offset to * one plus the index of reference node. */ - let referenceNode = originalStartNode; + var referenceNode = originalStartNode; while (referenceNode._parent !== null && - !(0, algorithm_1.tree_isAncestorOf)(originalEndNode, referenceNode._parent, true)) { + !algorithm_1.tree_isAncestorOf(originalEndNode, referenceNode._parent, true)) { referenceNode = referenceNode._parent; } /* istanbul ignore next */ @@ -28213,7 +30232,7 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { throw new Error("Parent node is null."); } newNode = referenceNode._parent; - newOffset = (0, algorithm_1.tree_index)(referenceNode) + 1; + newOffset = algorithm_1.tree_index(referenceNode) + 1; } /** * 7. If original start node is a Text, ProcessingInstruction, or Comment @@ -28222,67 +30241,88 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { * data the empty string. */ if (util_1.Guard.isCharacterDataNode(originalStartNode)) { - (0, algorithm_1.characterData_replaceData)(originalStartNode, originalStartOffset, (0, algorithm_1.tree_nodeLength)(originalStartNode) - originalStartOffset, ''); + algorithm_1.characterData_replaceData(originalStartNode, originalStartOffset, algorithm_1.tree_nodeLength(originalStartNode) - originalStartOffset, ''); } - /** - * 8. For each node in nodes to remove, in tree order, remove node from its - * parent. - */ - for (const node of nodesToRemove) { - /* istanbul ignore else */ - if (node._parent) { - (0, algorithm_1.mutation_remove)(node, node._parent); + try { + /** + * 8. For each node in nodes to remove, in tree order, remove node from its + * parent. + */ + for (var nodesToRemove_1 = __values(nodesToRemove), nodesToRemove_1_1 = nodesToRemove_1.next(); !nodesToRemove_1_1.done; nodesToRemove_1_1 = nodesToRemove_1.next()) { + var node = nodesToRemove_1_1.value; + /* istanbul ignore else */ + if (node._parent) { + algorithm_1.mutation_remove(node, node._parent); + } } } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (nodesToRemove_1_1 && !nodesToRemove_1_1.done && (_b = nodesToRemove_1.return)) _b.call(nodesToRemove_1); + } + finally { if (e_2) throw e_2.error; } + } /** * 9. If original end node is a Text, ProcessingInstruction, or Comment * node, replace data with node original end node, offset 0, count original * end offset and data the empty string. */ if (util_1.Guard.isCharacterDataNode(originalEndNode)) { - (0, algorithm_1.characterData_replaceData)(originalEndNode, 0, originalEndOffset, ''); + algorithm_1.characterData_replaceData(originalEndNode, 0, originalEndOffset, ''); } /** * 10. Set start and end to (new node, new offset). */ this._start = [newNode, newOffset]; this._end = [newNode, newOffset]; - } + }; /** @inheritdoc */ - extractContents() { + RangeImpl.prototype.extractContents = function () { /** * The extractContents() method, when invoked, must return the result of * extracting the context object. */ - return (0, algorithm_1.range_extract)(this); - } + return algorithm_1.range_extract(this); + }; /** @inheritdoc */ - cloneContents() { + RangeImpl.prototype.cloneContents = function () { /** * The cloneContents() method, when invoked, must return the result of * cloning the contents of the context object. */ - return (0, algorithm_1.range_cloneTheContents)(this); - } + return algorithm_1.range_cloneTheContents(this); + }; /** @inheritdoc */ - insertNode(node) { + RangeImpl.prototype.insertNode = function (node) { /** * The insertNode(node) method, when invoked, must insert node into the * context object. */ - return (0, algorithm_1.range_insert)(node, this); - } + return algorithm_1.range_insert(node, this); + }; /** @inheritdoc */ - surroundContents(newParent) { - /** - * 1. If a non-Text node is partially contained in the context object, then - * throw an "InvalidStateError" DOMException. - */ - for (const node of (0, algorithm_1.range_getPartiallyContainedNodes)(this)) { - if (!util_1.Guard.isTextNode(node)) { - throw new DOMException_1.InvalidStateError(); + RangeImpl.prototype.surroundContents = function (newParent) { + var e_3, _a; + try { + /** + * 1. If a non-Text node is partially contained in the context object, then + * throw an "InvalidStateError" DOMException. + */ + for (var _b = __values(algorithm_1.range_getPartiallyContainedNodes(this)), _c = _b.next(); !_c.done; _c = _b.next()) { + var node = _c.value; + if (!util_1.Guard.isTextNode(node)) { + throw new DOMException_1.InvalidStateError(); + } } } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_3) throw e_3.error; } + } /** * 2. If newParent is a Document, DocumentType, or DocumentFragment node, * then throw an "InvalidNodeTypeError" DOMException. @@ -28295,47 +30335,47 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { /** * 3. Let fragment be the result of extracting the context object. */ - const fragment = (0, algorithm_1.range_extract)(this); + var fragment = algorithm_1.range_extract(this); /** * 4. If newParent has children, then replace all with null within newParent. */ if ((newParent)._children.size !== 0) { - (0, algorithm_1.mutation_replaceAll)(null, newParent); + algorithm_1.mutation_replaceAll(null, newParent); } /** * 5. Insert newParent into the context object. * 6. Append fragment to newParent. */ - (0, algorithm_1.range_insert)(newParent, this); - (0, algorithm_1.mutation_append)(fragment, newParent); + algorithm_1.range_insert(newParent, this); + algorithm_1.mutation_append(fragment, newParent); /** * 7. Select newParent within the context object. */ - (0, algorithm_1.range_select)(newParent, this); - } + algorithm_1.range_select(newParent, this); + }; /** @inheritdoc */ - cloneRange() { + RangeImpl.prototype.cloneRange = function () { /** * The cloneRange() method, when invoked, must return a new live range with * the same start and end as the context object. */ - return (0, algorithm_1.create_range)(this._start, this._end); - } + return algorithm_1.create_range(this._start, this._end); + }; /** @inheritdoc */ - detach() { + RangeImpl.prototype.detach = function () { /** * The detach() method, when invoked, must do nothing. * * since JS lacks weak references, we still use detach */ DOMImpl_1.dom.rangeList.delete(this); - } + }; /** @inheritdoc */ - isPointInRange(node, offset) { + RangeImpl.prototype.isPointInRange = function (node, offset) { /** * 1. If node’s root is different from the context object’s root, return false. */ - if ((0, algorithm_1.tree_rootNode)(node) !== (0, algorithm_1.range_root)(this)) { + if (algorithm_1.tree_rootNode(node) !== algorithm_1.range_root(this)) { return false; } /** @@ -28345,23 +30385,23 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { */ if (util_1.Guard.isDocumentTypeNode(node)) throw new DOMException_1.InvalidNodeTypeError(); - if (offset > (0, algorithm_1.tree_nodeLength)(node)) + if (offset > algorithm_1.tree_nodeLength(node)) throw new DOMException_1.IndexSizeError(); /** * 4. If (node, offset) is before start or after end, return false. */ - const bp = [node, offset]; - if ((0, algorithm_1.boundaryPoint_position)(bp, this._start) === interfaces_1.BoundaryPosition.Before || - (0, algorithm_1.boundaryPoint_position)(bp, this._end) === interfaces_1.BoundaryPosition.After) { + var bp = [node, offset]; + if (algorithm_1.boundaryPoint_position(bp, this._start) === interfaces_1.BoundaryPosition.Before || + algorithm_1.boundaryPoint_position(bp, this._end) === interfaces_1.BoundaryPosition.After) { return false; } /** * 5. Return true. */ return true; - } + }; /** @inheritdoc */ - comparePoint(node, offset) { + RangeImpl.prototype.comparePoint = function (node, offset) { /** * 1. If node’s root is different from the context object’s root, then throw * a "WrongDocumentError" DOMException. @@ -28369,65 +30409,66 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { * 3. If offset is greater than node’s length, then throw an * "IndexSizeError" DOMException. */ - if ((0, algorithm_1.tree_rootNode)(node) !== (0, algorithm_1.range_root)(this)) + if (algorithm_1.tree_rootNode(node) !== algorithm_1.range_root(this)) throw new DOMException_1.WrongDocumentError(); if (util_1.Guard.isDocumentTypeNode(node)) throw new DOMException_1.InvalidNodeTypeError(); - if (offset > (0, algorithm_1.tree_nodeLength)(node)) + if (offset > algorithm_1.tree_nodeLength(node)) throw new DOMException_1.IndexSizeError(); /** * 4. If (node, offset) is before start, return −1. * 5. If (node, offset) is after end, return 1. * 6. Return 0. */ - const bp = [node, offset]; - if ((0, algorithm_1.boundaryPoint_position)(bp, this._start) === interfaces_1.BoundaryPosition.Before) { + var bp = [node, offset]; + if (algorithm_1.boundaryPoint_position(bp, this._start) === interfaces_1.BoundaryPosition.Before) { return -1; } - else if ((0, algorithm_1.boundaryPoint_position)(bp, this._end) === interfaces_1.BoundaryPosition.After) { + else if (algorithm_1.boundaryPoint_position(bp, this._end) === interfaces_1.BoundaryPosition.After) { return 1; } else { return 0; } - } + }; /** @inheritdoc */ - intersectsNode(node) { + RangeImpl.prototype.intersectsNode = function (node) { /** * 1. If node’s root is different from the context object’s root, return false. */ - if ((0, algorithm_1.tree_rootNode)(node) !== (0, algorithm_1.range_root)(this)) { + if (algorithm_1.tree_rootNode(node) !== algorithm_1.range_root(this)) { return false; } /** * 2. Let parent be node’s parent. * 3. If parent is null, return true. */ - const parent = node._parent; + var parent = node._parent; if (parent === null) return true; /** * 4. Let offset be node’s index. */ - const offset = (0, algorithm_1.tree_index)(node); + var offset = algorithm_1.tree_index(node); /** * 5. If (parent, offset) is before end and (parent, offset plus 1) is * after start, return true. */ - if ((0, algorithm_1.boundaryPoint_position)([parent, offset], this._end) === interfaces_1.BoundaryPosition.Before && - (0, algorithm_1.boundaryPoint_position)([parent, offset + 1], this._start) === interfaces_1.BoundaryPosition.After) { + if (algorithm_1.boundaryPoint_position([parent, offset], this._end) === interfaces_1.BoundaryPosition.Before && + algorithm_1.boundaryPoint_position([parent, offset + 1], this._start) === interfaces_1.BoundaryPosition.After) { return true; } /** * 6. Return false. */ return false; - } - toString() { + }; + RangeImpl.prototype.toString = function () { + var e_4, _a; /** * 1. Let s be the empty string. */ - let s = ''; + var s = ''; /** * 2. If the context object’s start node is the context object’s end node * and it is a Text node, then return the substring of that Text node’s data @@ -28445,15 +30486,25 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { if (util_1.Guard.isTextNode(this._startNode)) { s += this._startNode._data.substring(this._startOffset); } - /** - * 4. Append the concatenation of the data of all Text nodes that are - * contained in the context object, in tree order, to s. - */ - for (const child of (0, algorithm_1.range_getContainedNodes)(this)) { - if (util_1.Guard.isTextNode(child)) { - s += child._data; + try { + /** + * 4. Append the concatenation of the data of all Text nodes that are + * contained in the context object, in tree order, to s. + */ + for (var _b = __values(algorithm_1.range_getContainedNodes(this)), _c = _b.next(); !_c.done; _c = _b.next()) { + var child = _c.value; + if (util_1.Guard.isTextNode(child)) { + s += child._data; + } } } + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_4) throw e_4.error; } + } /** * 5. If the context object’s end node is a Text node, then append the * substring of that node’s data from its start until the context object’s @@ -28466,85 +30517,110 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { * 6. Return s. */ return s; - } + }; /** * Creates a new `Range`. * * @param start - start point * @param end - end point */ - static _create(start, end) { - const range = new RangeImpl(); + RangeImpl._create = function (start, end) { + var range = new RangeImpl(); if (start) range._start = start; if (end) range._end = end; return range; - } -} + }; + RangeImpl.START_TO_START = 0; + RangeImpl.START_TO_END = 1; + RangeImpl.END_TO_END = 2; + RangeImpl.END_TO_START = 3; + return RangeImpl; +}(AbstractRangeImpl_1.AbstractRangeImpl)); exports.RangeImpl = RangeImpl; /** * Define constants on prototype. */ -(0, WebIDLAlgorithm_1.idl_defineConst)(RangeImpl.prototype, "START_TO_START", 0); -(0, WebIDLAlgorithm_1.idl_defineConst)(RangeImpl.prototype, "START_TO_END", 1); -(0, WebIDLAlgorithm_1.idl_defineConst)(RangeImpl.prototype, "END_TO_END", 2); -(0, WebIDLAlgorithm_1.idl_defineConst)(RangeImpl.prototype, "END_TO_START", 3); +WebIDLAlgorithm_1.idl_defineConst(RangeImpl.prototype, "START_TO_START", 0); +WebIDLAlgorithm_1.idl_defineConst(RangeImpl.prototype, "START_TO_END", 1); +WebIDLAlgorithm_1.idl_defineConst(RangeImpl.prototype, "END_TO_END", 2); +WebIDLAlgorithm_1.idl_defineConst(RangeImpl.prototype, "END_TO_START", 3); //# sourceMappingURL=RangeImpl.js.map /***/ }), /***/ 61911: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ShadowRootImpl = void 0; -const DocumentFragmentImpl_1 = __nccwpck_require__(12585); -const util_1 = __nccwpck_require__(76195); -const algorithm_1 = __nccwpck_require__(61); +var DocumentFragmentImpl_1 = __nccwpck_require__(12585); +var util_1 = __nccwpck_require__(76195); +var algorithm_1 = __nccwpck_require__(61); /** * Represents a shadow root. */ -class ShadowRootImpl extends DocumentFragmentImpl_1.DocumentFragmentImpl { - _host; - _mode; +var ShadowRootImpl = /** @class */ (function (_super) { + __extends(ShadowRootImpl, _super); /** * Initializes a new instance of `ShadowRoot`. * * @param host - shadow root's host element * @param mode - shadow root's mode */ - constructor(host, mode) { - super(); - this._host = host; - this._mode = mode; + function ShadowRootImpl(host, mode) { + var _this = _super.call(this) || this; + _this._host = host; + _this._mode = mode; + return _this; } - /** @inheritdoc */ - get mode() { return this._mode; } - /** @inheritdoc */ - get host() { return this._host; } + Object.defineProperty(ShadowRootImpl.prototype, "mode", { + /** @inheritdoc */ + get: function () { return this._mode; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ShadowRootImpl.prototype, "host", { + /** @inheritdoc */ + get: function () { return this._host; }, + enumerable: true, + configurable: true + }); /** * Gets the parent event target for the given event. * * @param event - an event */ - _getTheParent(event) { + ShadowRootImpl.prototype._getTheParent = function (event) { /** * A shadow root’s get the parent algorithm, given an event, returns null * if event’s composed flag is unset and shadow root is the root of * event’s path’s first struct’s invocation target, and shadow root’s host * otherwise. */ - if (!event._composedFlag && !(0, util_1.isEmpty)(event._path) && - (0, algorithm_1.tree_rootNode)(event._path[0].invocationTarget) === this) { + if (!event._composedFlag && !util_1.isEmpty(event._path) && + algorithm_1.tree_rootNode(event._path[0].invocationTarget) === this) { return null; } else { return this._host; } - } + }; // MIXIN: DocumentOrShadowRoot // No elements /** @@ -28553,10 +30629,11 @@ class ShadowRootImpl extends DocumentFragmentImpl_1.DocumentFragmentImpl { * @param document - owner document * @param host - shadow root's host element */ - static _create(document, host) { + ShadowRootImpl._create = function (document, host) { return new ShadowRootImpl(host, "closed"); - } -} + }; + return ShadowRootImpl; +}(DocumentFragmentImpl_1.DocumentFragmentImpl)); exports.ShadowRootImpl = ShadowRootImpl; //# sourceMappingURL=ShadowRootImpl.js.map @@ -28568,51 +30645,74 @@ exports.ShadowRootImpl = ShadowRootImpl; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.SlotableImpl = void 0; -const algorithm_1 = __nccwpck_require__(61); +var algorithm_1 = __nccwpck_require__(61); /** * Represents a mixin that allows nodes to become the contents of * a element. This mixin is implemented by {@link Element} and * {@link Text}. */ -class SlotableImpl { - __name; - __assignedSlot; - get _name() { return this.__name || ''; } - set _name(val) { this.__name = val; } - get _assignedSlot() { return this.__assignedSlot || null; } - set _assignedSlot(val) { this.__assignedSlot = val; } - /** @inheritdoc */ - get assignedSlot() { - return (0, algorithm_1.shadowTree_findASlot)(this, true); +var SlotableImpl = /** @class */ (function () { + function SlotableImpl() { } -} + Object.defineProperty(SlotableImpl.prototype, "_name", { + get: function () { return this.__name || ''; }, + set: function (val) { this.__name = val; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SlotableImpl.prototype, "_assignedSlot", { + get: function () { return this.__assignedSlot || null; }, + set: function (val) { this.__assignedSlot = val; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SlotableImpl.prototype, "assignedSlot", { + /** @inheritdoc */ + get: function () { + return algorithm_1.shadowTree_findASlot(this, true); + }, + enumerable: true, + configurable: true + }); + return SlotableImpl; +}()); exports.SlotableImpl = SlotableImpl; //# sourceMappingURL=SlotableImpl.js.map /***/ }), /***/ 86357: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.StaticRangeImpl = void 0; -const AbstractRangeImpl_1 = __nccwpck_require__(57126); -const DOMException_1 = __nccwpck_require__(13166); -const util_1 = __nccwpck_require__(65282); +var AbstractRangeImpl_1 = __nccwpck_require__(57126); +var DOMException_1 = __nccwpck_require__(13166); +var util_1 = __nccwpck_require__(65282); /** * Represents a static range. */ -class StaticRangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { - _start; - _end; +var StaticRangeImpl = /** @class */ (function (_super) { + __extends(StaticRangeImpl, _super); /** * Initializes a new instance of `StaticRange`. */ - constructor(init) { - super(); + function StaticRangeImpl(init) { + var _this = _super.call(this) || this; /** * 1. If init’s startContainer or endContainer is a DocumentType or Attr * node, then throw an "InvalidNodeTypeError" DOMException. @@ -28625,81 +30725,129 @@ class StaticRangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { util_1.Guard.isDocumentTypeNode(init.endContainer) || util_1.Guard.isAttrNode(init.endContainer)) { throw new DOMException_1.InvalidNodeTypeError(); } - this._start = [init.startContainer, init.startOffset]; - this._end = [init.endContainer, init.endOffset]; + _this._start = [init.startContainer, init.startOffset]; + _this._end = [init.endContainer, init.endOffset]; + return _this; } -} + return StaticRangeImpl; +}(AbstractRangeImpl_1.AbstractRangeImpl)); exports.StaticRangeImpl = StaticRangeImpl; //# sourceMappingURL=StaticRangeImpl.js.map /***/ }), /***/ 42191: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.TextImpl = void 0; -const interfaces_1 = __nccwpck_require__(27305); -const CharacterDataImpl_1 = __nccwpck_require__(65330); -const algorithm_1 = __nccwpck_require__(61); -const WebIDLAlgorithm_1 = __nccwpck_require__(45457); +var interfaces_1 = __nccwpck_require__(27305); +var CharacterDataImpl_1 = __nccwpck_require__(65330); +var algorithm_1 = __nccwpck_require__(61); +var WebIDLAlgorithm_1 = __nccwpck_require__(45457); /** * Represents a text node. */ -class TextImpl extends CharacterDataImpl_1.CharacterDataImpl { - _nodeType = interfaces_1.NodeType.Text; - _name = ''; - _assignedSlot = null; +var TextImpl = /** @class */ (function (_super) { + __extends(TextImpl, _super); /** * Initializes a new instance of `Text`. * * @param data - the text content */ - constructor(data = '') { - super(data); + function TextImpl(data) { + if (data === void 0) { data = ''; } + var _this = _super.call(this, data) || this; + _this._name = ''; + _this._assignedSlot = null; + return _this; } + Object.defineProperty(TextImpl.prototype, "wholeText", { + /** @inheritdoc */ + get: function () { + var e_1, _a; + /** + * The wholeText attribute’s getter must return the concatenation of the + * data of the contiguous Text nodes of the context object, in tree order. + */ + var text = ''; + try { + for (var _b = __values(algorithm_1.text_contiguousTextNodes(this, true)), _c = _b.next(); !_c.done; _c = _b.next()) { + var node = _c.value; + text = text + node._data; + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } + } + return text; + }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get wholeText() { - /** - * The wholeText attribute’s getter must return the concatenation of the - * data of the contiguous Text nodes of the context object, in tree order. - */ - let text = ''; - for (const node of (0, algorithm_1.text_contiguousTextNodes)(this, true)) { - text = text + node._data; - } - return text; - } - /** @inheritdoc */ - splitText(offset) { + TextImpl.prototype.splitText = function (offset) { /** * The splitText(offset) method, when invoked, must split context object * with offset offset. */ - return (0, algorithm_1.text_split)(this, offset); - } - // MIXIN: Slotable - /* istanbul ignore next */ - get assignedSlot() { throw new Error("Mixin: Slotable not implemented."); } + return algorithm_1.text_split(this, offset); + }; + Object.defineProperty(TextImpl.prototype, "assignedSlot", { + // MIXIN: Slotable + /* istanbul ignore next */ + get: function () { throw new Error("Mixin: Slotable not implemented."); }, + enumerable: true, + configurable: true + }); /** * Creates a `Text`. * * @param document - owner document * @param data - the text content */ - static _create(document, data = '') { - const node = new TextImpl(data); + TextImpl._create = function (document, data) { + if (data === void 0) { data = ''; } + var node = new TextImpl(data); node._nodeDocument = document; return node; - } -} + }; + return TextImpl; +}(CharacterDataImpl_1.CharacterDataImpl)); exports.TextImpl = TextImpl; /** * Initialize prototype properties */ -(0, WebIDLAlgorithm_1.idl_defineConst)(TextImpl.prototype, "_nodeType", interfaces_1.NodeType.Text); +WebIDLAlgorithm_1.idl_defineConst(TextImpl.prototype, "_nodeType", interfaces_1.NodeType.Text); //# sourceMappingURL=TextImpl.js.map /***/ }), @@ -28710,72 +30858,97 @@ exports.TextImpl = TextImpl; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.TraverserImpl = void 0; -const interfaces_1 = __nccwpck_require__(27305); +var interfaces_1 = __nccwpck_require__(27305); /** * Represents an object which can be used to iterate through the nodes * of a subtree. */ -class TraverserImpl { - _activeFlag; - _root; - _whatToShow; - _filter; +var TraverserImpl = /** @class */ (function () { /** * Initializes a new instance of `Traverser`. * * @param root - root node */ - constructor(root) { + function TraverserImpl(root) { this._activeFlag = false; this._root = root; this._whatToShow = interfaces_1.WhatToShow.All; this._filter = null; } - /** @inheritdoc */ - get root() { return this._root; } - /** @inheritdoc */ - get whatToShow() { return this._whatToShow; } - /** @inheritdoc */ - get filter() { return this._filter; } -} + Object.defineProperty(TraverserImpl.prototype, "root", { + /** @inheritdoc */ + get: function () { return this._root; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(TraverserImpl.prototype, "whatToShow", { + /** @inheritdoc */ + get: function () { return this._whatToShow; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(TraverserImpl.prototype, "filter", { + /** @inheritdoc */ + get: function () { return this._filter; }, + enumerable: true, + configurable: true + }); + return TraverserImpl; +}()); exports.TraverserImpl = TraverserImpl; //# sourceMappingURL=TraverserImpl.js.map /***/ }), /***/ 89261: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.TreeWalkerImpl = void 0; -const interfaces_1 = __nccwpck_require__(27305); -const TraverserImpl_1 = __nccwpck_require__(39782); -const algorithm_1 = __nccwpck_require__(61); +var interfaces_1 = __nccwpck_require__(27305); +var TraverserImpl_1 = __nccwpck_require__(39782); +var algorithm_1 = __nccwpck_require__(61); /** * Represents the nodes of a subtree and a position within them. */ -class TreeWalkerImpl extends TraverserImpl_1.TraverserImpl { - _current; +var TreeWalkerImpl = /** @class */ (function (_super) { + __extends(TreeWalkerImpl, _super); /** * Initializes a new instance of `TreeWalker`. */ - constructor(root, current) { - super(root); - this._current = current; + function TreeWalkerImpl(root, current) { + var _this = _super.call(this, root) || this; + _this._current = current; + return _this; } + Object.defineProperty(TreeWalkerImpl.prototype, "currentNode", { + /** @inheritdoc */ + get: function () { return this._current; }, + set: function (value) { this._current = value; }, + enumerable: true, + configurable: true + }); /** @inheritdoc */ - get currentNode() { return this._current; } - set currentNode(value) { this._current = value; } - /** @inheritdoc */ - parentNode() { + TreeWalkerImpl.prototype.parentNode = function () { /** * 1. Let node be the context object’s current. * 2. While node is non-null and is not the context object’s root: */ - let node = this._current; + var node = this._current; while (node !== null && node !== this._root) { /** * 2.1. Set node to node’s parent. @@ -28785,7 +30958,7 @@ class TreeWalkerImpl extends TraverserImpl_1.TraverserImpl { */ node = node._parent; if (node !== null && - (0, algorithm_1.traversal_filter)(this, node) === interfaces_1.FilterResult.Accept) { + algorithm_1.traversal_filter(this, node) === interfaces_1.FilterResult.Accept) { this._current = node; return node; } @@ -28794,44 +30967,44 @@ class TreeWalkerImpl extends TraverserImpl_1.TraverserImpl { * 3. Return null. */ return null; - } + }; /** @inheritdoc */ - firstChild() { + TreeWalkerImpl.prototype.firstChild = function () { /** * The firstChild() method, when invoked, must traverse children with the * context object and first. */ - return (0, algorithm_1.treeWalker_traverseChildren)(this, true); - } + return algorithm_1.treeWalker_traverseChildren(this, true); + }; /** @inheritdoc */ - lastChild() { + TreeWalkerImpl.prototype.lastChild = function () { /** * The lastChild() method, when invoked, must traverse children with the * context object and last. */ - return (0, algorithm_1.treeWalker_traverseChildren)(this, false); - } + return algorithm_1.treeWalker_traverseChildren(this, false); + }; /** @inheritdoc */ - nextSibling() { + TreeWalkerImpl.prototype.nextSibling = function () { /** * The nextSibling() method, when invoked, must traverse siblings with the * context object and next. */ - return (0, algorithm_1.treeWalker_traverseSiblings)(this, true); - } + return algorithm_1.treeWalker_traverseSiblings(this, true); + }; /** @inheritdoc */ - previousNode() { + TreeWalkerImpl.prototype.previousNode = function () { /** * 1. Let node be the context object’s current. * 2. While node is not the context object’s root: */ - let node = this._current; + var node = this._current; while (node !== this._root) { /** * 2.1. Let sibling be node’s previous sibling. * 2.2. While sibling is non-null: */ - let sibling = node._previousSibling; + var sibling = node._previousSibling; while (sibling) { /** * 2.2.1. Set node to sibling. @@ -28839,7 +31012,7 @@ class TreeWalkerImpl extends TraverserImpl_1.TraverserImpl { * object. */ node = sibling; - let result = (0, algorithm_1.traversal_filter)(this, node); + var result = algorithm_1.traversal_filter(this, node); /** * 2.2.3. While result is not FILTER_REJECT and node has a child: */ @@ -28850,7 +31023,7 @@ class TreeWalkerImpl extends TraverserImpl_1.TraverserImpl { * context object. */ node = node._lastChild; - result = (0, algorithm_1.traversal_filter)(this, node); + result = algorithm_1.traversal_filter(this, node); } /** * 2.2.4. If result is FILTER_ACCEPT, then set the context object’s @@ -28881,7 +31054,7 @@ class TreeWalkerImpl extends TraverserImpl_1.TraverserImpl { * FILTER_ACCEPT, then set the context object’s current to node and * return node. */ - if ((0, algorithm_1.traversal_filter)(this, node) === interfaces_1.FilterResult.Accept) { + if (algorithm_1.traversal_filter(this, node) === interfaces_1.FilterResult.Accept) { this._current = node; return node; } @@ -28890,24 +31063,24 @@ class TreeWalkerImpl extends TraverserImpl_1.TraverserImpl { * 3. Return null. */ return null; - } + }; /** @inheritdoc */ - previousSibling() { + TreeWalkerImpl.prototype.previousSibling = function () { /** * The previousSibling() method, when invoked, must traverse siblings with * the context object and previous. */ - return (0, algorithm_1.treeWalker_traverseSiblings)(this, false); - } + return algorithm_1.treeWalker_traverseSiblings(this, false); + }; /** @inheritdoc */ - nextNode() { + TreeWalkerImpl.prototype.nextNode = function () { /** * 1. Let node be the context object’s current. * 2. Let result be FILTER_ACCEPT. * 3. While true: */ - let node = this._current; - let result = interfaces_1.FilterResult.Accept; + var node = this._current; + var result = interfaces_1.FilterResult.Accept; while (true) { /** * 3.1. While result is not FILTER_REJECT and node has a child: @@ -28921,7 +31094,7 @@ class TreeWalkerImpl extends TraverserImpl_1.TraverserImpl { * current to node and return node. */ node = node._firstChild; - result = (0, algorithm_1.traversal_filter)(this, node); + result = algorithm_1.traversal_filter(this, node); if (result === interfaces_1.FilterResult.Accept) { this._current = node; return node; @@ -28932,8 +31105,8 @@ class TreeWalkerImpl extends TraverserImpl_1.TraverserImpl { * 3.3. Let temporary be node. * 3.4. While temporary is non-null: */ - let sibling = null; - let temporary = node; + var sibling = null; + var temporary = node; while (temporary !== null) { /** * 3.4.1. If temporary is the context object’s root, then return null. @@ -28960,90 +31133,126 @@ class TreeWalkerImpl extends TraverserImpl_1.TraverserImpl { * 3.6. If result is FILTER_ACCEPT, then set the context object’s current * to node and return node. */ - result = (0, algorithm_1.traversal_filter)(this, node); + result = algorithm_1.traversal_filter(this, node); if (result === interfaces_1.FilterResult.Accept) { this._current = node; return node; } } - } + }; /** * Creates a new `TreeWalker`. * * @param root - iterator's root node * @param current - current node */ - static _create(root, current) { + TreeWalkerImpl._create = function (root, current) { return new TreeWalkerImpl(root, current); - } -} + }; + return TreeWalkerImpl; +}(TraverserImpl_1.TraverserImpl)); exports.TreeWalkerImpl = TreeWalkerImpl; //# sourceMappingURL=TreeWalkerImpl.js.map /***/ }), /***/ 69067: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.WindowImpl = void 0; -const EventTargetImpl_1 = __nccwpck_require__(69968); -const util_1 = __nccwpck_require__(76195); -const algorithm_1 = __nccwpck_require__(61); +var EventTargetImpl_1 = __nccwpck_require__(69968); +var util_1 = __nccwpck_require__(76195); +var algorithm_1 = __nccwpck_require__(61); /** * Represents a window containing a DOM document. */ -class WindowImpl extends EventTargetImpl_1.EventTargetImpl { - _currentEvent; - _signalSlots = new Set(); - _mutationObserverMicrotaskQueued = false; - _mutationObservers = new Set(); - _associatedDocument; - _iteratorList = new util_1.FixedSizeSet(); +var WindowImpl = /** @class */ (function (_super) { + __extends(WindowImpl, _super); /** * Initializes a new instance of `Window`. */ - constructor() { - super(); - this._associatedDocument = (0, algorithm_1.create_document)(); + function WindowImpl() { + var _this = _super.call(this) || this; + _this._signalSlots = new Set(); + _this._mutationObserverMicrotaskQueued = false; + _this._mutationObservers = new Set(); + _this._iteratorList = new util_1.FixedSizeSet(); + _this._associatedDocument = algorithm_1.create_document(); + return _this; } - /** @inheritdoc */ - get document() { return this._associatedDocument; } - /** @inheritdoc */ - get event() { return this._currentEvent; } + Object.defineProperty(WindowImpl.prototype, "document", { + /** @inheritdoc */ + get: function () { return this._associatedDocument; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(WindowImpl.prototype, "event", { + /** @inheritdoc */ + get: function () { return this._currentEvent; }, + enumerable: true, + configurable: true + }); /** * Creates a new window with a blank document. */ - static _create() { + WindowImpl._create = function () { return new WindowImpl(); - } -} + }; + return WindowImpl; +}(EventTargetImpl_1.EventTargetImpl)); exports.WindowImpl = WindowImpl; //# sourceMappingURL=WindowImpl.js.map /***/ }), /***/ 21685: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.XMLDocumentImpl = void 0; -const DocumentImpl_1 = __nccwpck_require__(14333); +var DocumentImpl_1 = __nccwpck_require__(14333); /** * Represents an XML document. */ -class XMLDocumentImpl extends DocumentImpl_1.DocumentImpl { +var XMLDocumentImpl = /** @class */ (function (_super) { + __extends(XMLDocumentImpl, _super); /** * Initializes a new instance of `XMLDocument`. */ - constructor() { - super(); + function XMLDocumentImpl() { + return _super.call(this) || this; } -} + return XMLDocumentImpl; +}(DocumentImpl_1.DocumentImpl)); exports.XMLDocumentImpl = XMLDocumentImpl; //# sourceMappingURL=XMLDocumentImpl.js.map @@ -29055,106 +31264,105 @@ exports.XMLDocumentImpl = XMLDocumentImpl; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.XMLDocument = exports.Window = exports.TreeWalker = exports.Traverser = exports.Text = exports.StaticRange = exports.ShadowRoot = exports.Range = exports.ProcessingInstruction = exports.NodeListStatic = exports.NodeList = exports.NodeIterator = exports.Node = exports.NodeFilter = exports.NamedNodeMap = exports.MutationRecord = exports.MutationObserver = exports.HTMLCollection = exports.EventTarget = exports.Event = exports.Element = exports.DOMTokenList = exports.DOMImplementation = exports.dom = exports.DocumentType = exports.Document = exports.DocumentFragment = exports.CustomEvent = exports.Comment = exports.CharacterData = exports.CDATASection = exports.Attr = exports.AbstractRange = exports.AbortSignal = exports.AbortController = void 0; -const util_1 = __nccwpck_require__(76195); +var util_1 = __nccwpck_require__(76195); // Import implementation classes -const AbortControllerImpl_1 = __nccwpck_require__(66461); -Object.defineProperty(exports, "AbortController", ({ enumerable: true, get: function () { return AbortControllerImpl_1.AbortControllerImpl; } })); -const AbortSignalImpl_1 = __nccwpck_require__(10022); -Object.defineProperty(exports, "AbortSignal", ({ enumerable: true, get: function () { return AbortSignalImpl_1.AbortSignalImpl; } })); -const AbstractRangeImpl_1 = __nccwpck_require__(57126); -Object.defineProperty(exports, "AbstractRange", ({ enumerable: true, get: function () { return AbstractRangeImpl_1.AbstractRangeImpl; } })); -const AttrImpl_1 = __nccwpck_require__(13717); -Object.defineProperty(exports, "Attr", ({ enumerable: true, get: function () { return AttrImpl_1.AttrImpl; } })); -const CDATASectionImpl_1 = __nccwpck_require__(23977); -Object.defineProperty(exports, "CDATASection", ({ enumerable: true, get: function () { return CDATASectionImpl_1.CDATASectionImpl; } })); -const CharacterDataImpl_1 = __nccwpck_require__(65330); -Object.defineProperty(exports, "CharacterData", ({ enumerable: true, get: function () { return CharacterDataImpl_1.CharacterDataImpl; } })); -const ChildNodeImpl_1 = __nccwpck_require__(88264); -const CommentImpl_1 = __nccwpck_require__(20930); -Object.defineProperty(exports, "Comment", ({ enumerable: true, get: function () { return CommentImpl_1.CommentImpl; } })); -const CustomEventImpl_1 = __nccwpck_require__(59857); -Object.defineProperty(exports, "CustomEvent", ({ enumerable: true, get: function () { return CustomEventImpl_1.CustomEventImpl; } })); -const DocumentFragmentImpl_1 = __nccwpck_require__(12585); -Object.defineProperty(exports, "DocumentFragment", ({ enumerable: true, get: function () { return DocumentFragmentImpl_1.DocumentFragmentImpl; } })); -const DocumentImpl_1 = __nccwpck_require__(14333); -Object.defineProperty(exports, "Document", ({ enumerable: true, get: function () { return DocumentImpl_1.DocumentImpl; } })); -const DocumentOrShadowRootImpl_1 = __nccwpck_require__(65274); -const DocumentTypeImpl_1 = __nccwpck_require__(3173); -Object.defineProperty(exports, "DocumentType", ({ enumerable: true, get: function () { return DocumentTypeImpl_1.DocumentTypeImpl; } })); -const DOMImpl_1 = __nccwpck_require__(14177); -Object.defineProperty(exports, "dom", ({ enumerable: true, get: function () { return DOMImpl_1.dom; } })); -const DOMImplementationImpl_1 = __nccwpck_require__(42197); -Object.defineProperty(exports, "DOMImplementation", ({ enumerable: true, get: function () { return DOMImplementationImpl_1.DOMImplementationImpl; } })); -const DOMTokenListImpl_1 = __nccwpck_require__(65096); -Object.defineProperty(exports, "DOMTokenList", ({ enumerable: true, get: function () { return DOMTokenListImpl_1.DOMTokenListImpl; } })); -const ElementImpl_1 = __nccwpck_require__(35975); -Object.defineProperty(exports, "Element", ({ enumerable: true, get: function () { return ElementImpl_1.ElementImpl; } })); -const EventImpl_1 = __nccwpck_require__(38245); -Object.defineProperty(exports, "Event", ({ enumerable: true, get: function () { return EventImpl_1.EventImpl; } })); -const EventTargetImpl_1 = __nccwpck_require__(69968); -Object.defineProperty(exports, "EventTarget", ({ enumerable: true, get: function () { return EventTargetImpl_1.EventTargetImpl; } })); -const HTMLCollectionImpl_1 = __nccwpck_require__(93969); -Object.defineProperty(exports, "HTMLCollection", ({ enumerable: true, get: function () { return HTMLCollectionImpl_1.HTMLCollectionImpl; } })); -const MutationObserverImpl_1 = __nccwpck_require__(89616); -Object.defineProperty(exports, "MutationObserver", ({ enumerable: true, get: function () { return MutationObserverImpl_1.MutationObserverImpl; } })); -const MutationRecordImpl_1 = __nccwpck_require__(6219); -Object.defineProperty(exports, "MutationRecord", ({ enumerable: true, get: function () { return MutationRecordImpl_1.MutationRecordImpl; } })); -const NamedNodeMapImpl_1 = __nccwpck_require__(57206); -Object.defineProperty(exports, "NamedNodeMap", ({ enumerable: true, get: function () { return NamedNodeMapImpl_1.NamedNodeMapImpl; } })); -const NodeFilterImpl_1 = __nccwpck_require__(12355); -Object.defineProperty(exports, "NodeFilter", ({ enumerable: true, get: function () { return NodeFilterImpl_1.NodeFilterImpl; } })); -const NodeImpl_1 = __nccwpck_require__(91745); -Object.defineProperty(exports, "Node", ({ enumerable: true, get: function () { return NodeImpl_1.NodeImpl; } })); -const NodeIteratorImpl_1 = __nccwpck_require__(61997); -Object.defineProperty(exports, "NodeIterator", ({ enumerable: true, get: function () { return NodeIteratorImpl_1.NodeIteratorImpl; } })); -const NodeListImpl_1 = __nccwpck_require__(43728); -Object.defineProperty(exports, "NodeList", ({ enumerable: true, get: function () { return NodeListImpl_1.NodeListImpl; } })); -const NodeListStaticImpl_1 = __nccwpck_require__(65306); -Object.defineProperty(exports, "NodeListStatic", ({ enumerable: true, get: function () { return NodeListStaticImpl_1.NodeListStaticImpl; } })); -const NonDocumentTypeChildNodeImpl_1 = __nccwpck_require__(71032); -const NonElementParentNodeImpl_1 = __nccwpck_require__(90733); -const ParentNodeImpl_1 = __nccwpck_require__(85988); -const ProcessingInstructionImpl_1 = __nccwpck_require__(99430); -Object.defineProperty(exports, "ProcessingInstruction", ({ enumerable: true, get: function () { return ProcessingInstructionImpl_1.ProcessingInstructionImpl; } })); -const RangeImpl_1 = __nccwpck_require__(50166); -Object.defineProperty(exports, "Range", ({ enumerable: true, get: function () { return RangeImpl_1.RangeImpl; } })); -const ShadowRootImpl_1 = __nccwpck_require__(61911); -Object.defineProperty(exports, "ShadowRoot", ({ enumerable: true, get: function () { return ShadowRootImpl_1.ShadowRootImpl; } })); -const SlotableImpl_1 = __nccwpck_require__(21964); -const StaticRangeImpl_1 = __nccwpck_require__(86357); -Object.defineProperty(exports, "StaticRange", ({ enumerable: true, get: function () { return StaticRangeImpl_1.StaticRangeImpl; } })); -const TextImpl_1 = __nccwpck_require__(42191); -Object.defineProperty(exports, "Text", ({ enumerable: true, get: function () { return TextImpl_1.TextImpl; } })); -const TraverserImpl_1 = __nccwpck_require__(39782); -Object.defineProperty(exports, "Traverser", ({ enumerable: true, get: function () { return TraverserImpl_1.TraverserImpl; } })); -const TreeWalkerImpl_1 = __nccwpck_require__(89261); -Object.defineProperty(exports, "TreeWalker", ({ enumerable: true, get: function () { return TreeWalkerImpl_1.TreeWalkerImpl; } })); -const WindowImpl_1 = __nccwpck_require__(69067); -Object.defineProperty(exports, "Window", ({ enumerable: true, get: function () { return WindowImpl_1.WindowImpl; } })); -const XMLDocumentImpl_1 = __nccwpck_require__(21685); -Object.defineProperty(exports, "XMLDocument", ({ enumerable: true, get: function () { return XMLDocumentImpl_1.XMLDocumentImpl; } })); +var AbortControllerImpl_1 = __nccwpck_require__(66461); +exports.AbortController = AbortControllerImpl_1.AbortControllerImpl; +var AbortSignalImpl_1 = __nccwpck_require__(10022); +exports.AbortSignal = AbortSignalImpl_1.AbortSignalImpl; +var AbstractRangeImpl_1 = __nccwpck_require__(57126); +exports.AbstractRange = AbstractRangeImpl_1.AbstractRangeImpl; +var AttrImpl_1 = __nccwpck_require__(13717); +exports.Attr = AttrImpl_1.AttrImpl; +var CDATASectionImpl_1 = __nccwpck_require__(23977); +exports.CDATASection = CDATASectionImpl_1.CDATASectionImpl; +var CharacterDataImpl_1 = __nccwpck_require__(65330); +exports.CharacterData = CharacterDataImpl_1.CharacterDataImpl; +var ChildNodeImpl_1 = __nccwpck_require__(88264); +var CommentImpl_1 = __nccwpck_require__(20930); +exports.Comment = CommentImpl_1.CommentImpl; +var CustomEventImpl_1 = __nccwpck_require__(59857); +exports.CustomEvent = CustomEventImpl_1.CustomEventImpl; +var DocumentFragmentImpl_1 = __nccwpck_require__(12585); +exports.DocumentFragment = DocumentFragmentImpl_1.DocumentFragmentImpl; +var DocumentImpl_1 = __nccwpck_require__(14333); +exports.Document = DocumentImpl_1.DocumentImpl; +var DocumentOrShadowRootImpl_1 = __nccwpck_require__(65274); +var DocumentTypeImpl_1 = __nccwpck_require__(3173); +exports.DocumentType = DocumentTypeImpl_1.DocumentTypeImpl; +var DOMImpl_1 = __nccwpck_require__(14177); +exports.dom = DOMImpl_1.dom; +var DOMImplementationImpl_1 = __nccwpck_require__(42197); +exports.DOMImplementation = DOMImplementationImpl_1.DOMImplementationImpl; +var DOMTokenListImpl_1 = __nccwpck_require__(65096); +exports.DOMTokenList = DOMTokenListImpl_1.DOMTokenListImpl; +var ElementImpl_1 = __nccwpck_require__(35975); +exports.Element = ElementImpl_1.ElementImpl; +var EventImpl_1 = __nccwpck_require__(38245); +exports.Event = EventImpl_1.EventImpl; +var EventTargetImpl_1 = __nccwpck_require__(69968); +exports.EventTarget = EventTargetImpl_1.EventTargetImpl; +var HTMLCollectionImpl_1 = __nccwpck_require__(93969); +exports.HTMLCollection = HTMLCollectionImpl_1.HTMLCollectionImpl; +var MutationObserverImpl_1 = __nccwpck_require__(89616); +exports.MutationObserver = MutationObserverImpl_1.MutationObserverImpl; +var MutationRecordImpl_1 = __nccwpck_require__(6219); +exports.MutationRecord = MutationRecordImpl_1.MutationRecordImpl; +var NamedNodeMapImpl_1 = __nccwpck_require__(57206); +exports.NamedNodeMap = NamedNodeMapImpl_1.NamedNodeMapImpl; +var NodeFilterImpl_1 = __nccwpck_require__(12355); +exports.NodeFilter = NodeFilterImpl_1.NodeFilterImpl; +var NodeImpl_1 = __nccwpck_require__(91745); +exports.Node = NodeImpl_1.NodeImpl; +var NodeIteratorImpl_1 = __nccwpck_require__(61997); +exports.NodeIterator = NodeIteratorImpl_1.NodeIteratorImpl; +var NodeListImpl_1 = __nccwpck_require__(43728); +exports.NodeList = NodeListImpl_1.NodeListImpl; +var NodeListStaticImpl_1 = __nccwpck_require__(65306); +exports.NodeListStatic = NodeListStaticImpl_1.NodeListStaticImpl; +var NonDocumentTypeChildNodeImpl_1 = __nccwpck_require__(71032); +var NonElementParentNodeImpl_1 = __nccwpck_require__(90733); +var ParentNodeImpl_1 = __nccwpck_require__(85988); +var ProcessingInstructionImpl_1 = __nccwpck_require__(99430); +exports.ProcessingInstruction = ProcessingInstructionImpl_1.ProcessingInstructionImpl; +var RangeImpl_1 = __nccwpck_require__(50166); +exports.Range = RangeImpl_1.RangeImpl; +var ShadowRootImpl_1 = __nccwpck_require__(61911); +exports.ShadowRoot = ShadowRootImpl_1.ShadowRootImpl; +var SlotableImpl_1 = __nccwpck_require__(21964); +var StaticRangeImpl_1 = __nccwpck_require__(86357); +exports.StaticRange = StaticRangeImpl_1.StaticRangeImpl; +var TextImpl_1 = __nccwpck_require__(42191); +exports.Text = TextImpl_1.TextImpl; +var TraverserImpl_1 = __nccwpck_require__(39782); +exports.Traverser = TraverserImpl_1.TraverserImpl; +var TreeWalkerImpl_1 = __nccwpck_require__(89261); +exports.TreeWalker = TreeWalkerImpl_1.TreeWalkerImpl; +var WindowImpl_1 = __nccwpck_require__(69067); +exports.Window = WindowImpl_1.WindowImpl; +var XMLDocumentImpl_1 = __nccwpck_require__(21685); +exports.XMLDocument = XMLDocumentImpl_1.XMLDocumentImpl; // Apply mixins // ChildNode -(0, util_1.applyMixin)(ElementImpl_1.ElementImpl, ChildNodeImpl_1.ChildNodeImpl); -(0, util_1.applyMixin)(CharacterDataImpl_1.CharacterDataImpl, ChildNodeImpl_1.ChildNodeImpl); -(0, util_1.applyMixin)(DocumentTypeImpl_1.DocumentTypeImpl, ChildNodeImpl_1.ChildNodeImpl); +util_1.applyMixin(ElementImpl_1.ElementImpl, ChildNodeImpl_1.ChildNodeImpl); +util_1.applyMixin(CharacterDataImpl_1.CharacterDataImpl, ChildNodeImpl_1.ChildNodeImpl); +util_1.applyMixin(DocumentTypeImpl_1.DocumentTypeImpl, ChildNodeImpl_1.ChildNodeImpl); // DocumentOrShadowRoot -(0, util_1.applyMixin)(DocumentImpl_1.DocumentImpl, DocumentOrShadowRootImpl_1.DocumentOrShadowRootImpl); -(0, util_1.applyMixin)(ShadowRootImpl_1.ShadowRootImpl, DocumentOrShadowRootImpl_1.DocumentOrShadowRootImpl); +util_1.applyMixin(DocumentImpl_1.DocumentImpl, DocumentOrShadowRootImpl_1.DocumentOrShadowRootImpl); +util_1.applyMixin(ShadowRootImpl_1.ShadowRootImpl, DocumentOrShadowRootImpl_1.DocumentOrShadowRootImpl); // NonDocumentTypeChildNode -(0, util_1.applyMixin)(ElementImpl_1.ElementImpl, NonDocumentTypeChildNodeImpl_1.NonDocumentTypeChildNodeImpl); -(0, util_1.applyMixin)(CharacterDataImpl_1.CharacterDataImpl, NonDocumentTypeChildNodeImpl_1.NonDocumentTypeChildNodeImpl); +util_1.applyMixin(ElementImpl_1.ElementImpl, NonDocumentTypeChildNodeImpl_1.NonDocumentTypeChildNodeImpl); +util_1.applyMixin(CharacterDataImpl_1.CharacterDataImpl, NonDocumentTypeChildNodeImpl_1.NonDocumentTypeChildNodeImpl); // NonElementParentNode -(0, util_1.applyMixin)(DocumentImpl_1.DocumentImpl, NonElementParentNodeImpl_1.NonElementParentNodeImpl); -(0, util_1.applyMixin)(DocumentFragmentImpl_1.DocumentFragmentImpl, NonElementParentNodeImpl_1.NonElementParentNodeImpl); +util_1.applyMixin(DocumentImpl_1.DocumentImpl, NonElementParentNodeImpl_1.NonElementParentNodeImpl); +util_1.applyMixin(DocumentFragmentImpl_1.DocumentFragmentImpl, NonElementParentNodeImpl_1.NonElementParentNodeImpl); // ParentNode -(0, util_1.applyMixin)(DocumentImpl_1.DocumentImpl, ParentNodeImpl_1.ParentNodeImpl); -(0, util_1.applyMixin)(DocumentFragmentImpl_1.DocumentFragmentImpl, ParentNodeImpl_1.ParentNodeImpl); -(0, util_1.applyMixin)(ElementImpl_1.ElementImpl, ParentNodeImpl_1.ParentNodeImpl); +util_1.applyMixin(DocumentImpl_1.DocumentImpl, ParentNodeImpl_1.ParentNodeImpl); +util_1.applyMixin(DocumentFragmentImpl_1.DocumentFragmentImpl, ParentNodeImpl_1.ParentNodeImpl); +util_1.applyMixin(ElementImpl_1.ElementImpl, ParentNodeImpl_1.ParentNodeImpl); // Slotable -(0, util_1.applyMixin)(TextImpl_1.TextImpl, SlotableImpl_1.SlotableImpl); -(0, util_1.applyMixin)(ElementImpl_1.ElementImpl, SlotableImpl_1.SlotableImpl); +util_1.applyMixin(TextImpl_1.TextImpl, SlotableImpl_1.SlotableImpl); +util_1.applyMixin(ElementImpl_1.ElementImpl, SlotableImpl_1.SlotableImpl); //# sourceMappingURL=index.js.map /***/ }), @@ -29165,7 +31373,6 @@ Object.defineProperty(exports, "XMLDocument", ({ enumerable: true, get: function "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.HowToCompare = exports.WhatToShow = exports.FilterResult = exports.Position = exports.NodeType = exports.EventPhase = exports.BoundaryPosition = void 0; /** * Defines the position of a boundary point relative to another. */ @@ -29174,7 +31381,7 @@ var BoundaryPosition; BoundaryPosition[BoundaryPosition["Before"] = 0] = "Before"; BoundaryPosition[BoundaryPosition["Equal"] = 1] = "Equal"; BoundaryPosition[BoundaryPosition["After"] = 2] = "After"; -})(BoundaryPosition || (exports.BoundaryPosition = BoundaryPosition = {})); +})(BoundaryPosition = exports.BoundaryPosition || (exports.BoundaryPosition = {})); /** * Defines the event phase. */ @@ -29184,7 +31391,7 @@ var EventPhase; EventPhase[EventPhase["Capturing"] = 1] = "Capturing"; EventPhase[EventPhase["AtTarget"] = 2] = "AtTarget"; EventPhase[EventPhase["Bubbling"] = 3] = "Bubbling"; -})(EventPhase || (exports.EventPhase = EventPhase = {})); +})(EventPhase = exports.EventPhase || (exports.EventPhase = {})); /** * Defines the type of a node object. */ @@ -29202,21 +31409,20 @@ var NodeType; NodeType[NodeType["DocumentType"] = 10] = "DocumentType"; NodeType[NodeType["DocumentFragment"] = 11] = "DocumentFragment"; NodeType[NodeType["Notation"] = 12] = "Notation"; // historical -})(NodeType || (exports.NodeType = NodeType = {})); +})(NodeType = exports.NodeType || (exports.NodeType = {})); /** * Defines the position of a node in the document relative to another * node. */ var Position; (function (Position) { - Position[Position["SameNode"] = 0] = "SameNode"; Position[Position["Disconnected"] = 1] = "Disconnected"; Position[Position["Preceding"] = 2] = "Preceding"; Position[Position["Following"] = 4] = "Following"; Position[Position["Contains"] = 8] = "Contains"; Position[Position["ContainedBy"] = 16] = "ContainedBy"; Position[Position["ImplementationSpecific"] = 32] = "ImplementationSpecific"; -})(Position || (exports.Position = Position = {})); +})(Position = exports.Position || (exports.Position = {})); /** * Defines the return value of a filter callback. */ @@ -29225,7 +31431,7 @@ var FilterResult; FilterResult[FilterResult["Accept"] = 1] = "Accept"; FilterResult[FilterResult["Reject"] = 2] = "Reject"; FilterResult[FilterResult["Skip"] = 3] = "Skip"; -})(FilterResult || (exports.FilterResult = FilterResult = {})); +})(FilterResult = exports.FilterResult || (exports.FilterResult = {})); /** * Defines what to show in node filter. */ @@ -29244,7 +31450,7 @@ var WhatToShow; WhatToShow[WhatToShow["DocumentType"] = 512] = "DocumentType"; WhatToShow[WhatToShow["DocumentFragment"] = 1024] = "DocumentFragment"; WhatToShow[WhatToShow["Notation"] = 2048] = "Notation"; -})(WhatToShow || (exports.WhatToShow = WhatToShow = {})); +})(WhatToShow = exports.WhatToShow || (exports.WhatToShow = {})); /** * Defines how boundary points are compared. */ @@ -29254,7 +31460,7 @@ var HowToCompare; HowToCompare[HowToCompare["StartToEnd"] = 1] = "StartToEnd"; HowToCompare[HowToCompare["EndToEnd"] = 2] = "EndToEnd"; HowToCompare[HowToCompare["EndToStart"] = 3] = "EndToStart"; -})(HowToCompare || (exports.HowToCompare = HowToCompare = {})); +})(HowToCompare = exports.HowToCompare || (exports.HowToCompare = {})); //# sourceMappingURL=interfaces.js.map /***/ }), @@ -29265,15 +31471,14 @@ var HowToCompare; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.XMLSerializer = exports.DOMParser = exports.DOMImplementation = void 0; -const dom_1 = __nccwpck_require__(50633); +var dom_1 = __nccwpck_require__(50633); dom_1.dom.setFeatures(true); var dom_2 = __nccwpck_require__(50633); -Object.defineProperty(exports, "DOMImplementation", ({ enumerable: true, get: function () { return dom_2.DOMImplementation; } })); +exports.DOMImplementation = dom_2.DOMImplementation; var parser_1 = __nccwpck_require__(36216); -Object.defineProperty(exports, "DOMParser", ({ enumerable: true, get: function () { return parser_1.DOMParser; } })); +exports.DOMParser = parser_1.DOMParser; var serializer_1 = __nccwpck_require__(87119); -Object.defineProperty(exports, "XMLSerializer", ({ enumerable: true, get: function () { return serializer_1.XMLSerializer; } })); +exports.XMLSerializer = serializer_1.XMLSerializer; //# sourceMappingURL=index.js.map /***/ }), @@ -29284,200 +31489,251 @@ Object.defineProperty(exports, "XMLSerializer", ({ enumerable: true, get: functi "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.DOMParserImpl = void 0; -const algorithm_1 = __nccwpck_require__(61); -const XMLParserImpl_1 = __nccwpck_require__(64126); +var algorithm_1 = __nccwpck_require__(61); +var XMLParserImpl_1 = __nccwpck_require__(64126); /** * Represents a parser for XML and HTML content. * * See: https://w3c.github.io/DOM-Parsing/#the-domparser-interface */ -class DOMParserImpl { +var DOMParserImpl = /** @class */ (function () { + function DOMParserImpl() { + } /** @inheritdoc */ - parseFromString(source, mimeType) { + DOMParserImpl.prototype.parseFromString = function (source, mimeType) { if (mimeType === "text/html") throw new Error('HTML parser not implemented.'); try { - const parser = new XMLParserImpl_1.XMLParserImpl(); - const doc = parser.parse(source); + var parser = new XMLParserImpl_1.XMLParserImpl(); + var doc = parser.parse(source); doc._contentType = mimeType; return doc; } catch (e) { - const errorNS = "http://www.mozilla.org/newlayout/xml/parsererror.xml"; - const doc = (0, algorithm_1.create_xmlDocument)(); - const root = doc.createElementNS(errorNS, "parsererror"); - const ele = doc.createElementNS(errorNS, "error"); + var errorNS = "http://www.mozilla.org/newlayout/xml/parsererror.xml"; + var doc = algorithm_1.create_xmlDocument(); + var root = doc.createElementNS(errorNS, "parsererror"); + var ele = doc.createElementNS(errorNS, "error"); ele.setAttribute("message", e.message); root.appendChild(ele); doc.appendChild(root); return doc; } - } -} + }; + return DOMParserImpl; +}()); exports.DOMParserImpl = DOMParserImpl; //# sourceMappingURL=DOMParserImpl.js.map /***/ }), /***/ 64126: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.XMLParserImpl = void 0; -const XMLStringLexer_1 = __nccwpck_require__(47061); -const interfaces_1 = __nccwpck_require__(97707); -const infra_1 = __nccwpck_require__(84251); -const algorithm_1 = __nccwpck_require__(61); -const LocalNameSet_1 = __nccwpck_require__(19049); +var XMLStringLexer_1 = __nccwpck_require__(47061); +var interfaces_1 = __nccwpck_require__(97707); +var infra_1 = __nccwpck_require__(84251); +var algorithm_1 = __nccwpck_require__(61); +var LocalNameSet_1 = __nccwpck_require__(19049); /** * Represents a parser for XML content. * * See: https://html.spec.whatwg.org/#xml-parser */ -class XMLParserImpl { +var XMLParserImpl = /** @class */ (function () { + function XMLParserImpl() { + } /** * Parses XML content. * * @param source - a string containing XML content */ - parse(source) { - const lexer = new XMLStringLexer_1.XMLStringLexer(source, { skipWhitespaceOnlyText: true }); - const doc = (0, algorithm_1.create_document)(); - let context = doc; - let token = lexer.nextToken(); + XMLParserImpl.prototype.parse = function (source) { + var e_1, _a, e_2, _b; + var lexer = new XMLStringLexer_1.XMLStringLexer(source, { skipWhitespaceOnlyText: true }); + var doc = algorithm_1.create_document(); + var context = doc; + var token = lexer.nextToken(); while (token.type !== interfaces_1.TokenType.EOF) { switch (token.type) { case interfaces_1.TokenType.Declaration: - const declaration = token; + var declaration = token; if (declaration.version !== "1.0") { throw new Error("Invalid xml version: " + declaration.version); } break; case interfaces_1.TokenType.DocType: - const doctype = token; - if (!(0, algorithm_1.xml_isPubidChar)(doctype.pubId)) { + var doctype = token; + if (!algorithm_1.xml_isPubidChar(doctype.pubId)) { throw new Error("DocType public identifier does not match PubidChar construct."); } - if (!(0, algorithm_1.xml_isLegalChar)(doctype.sysId) || + if (!algorithm_1.xml_isLegalChar(doctype.sysId) || (doctype.sysId.indexOf('"') !== -1 && doctype.sysId.indexOf("'") !== -1)) { throw new Error("DocType system identifier contains invalid characters."); } context.appendChild(doc.implementation.createDocumentType(doctype.name, doctype.pubId, doctype.sysId)); break; case interfaces_1.TokenType.CDATA: - const cdata = token; - if (!(0, algorithm_1.xml_isLegalChar)(cdata.data) || + var cdata = token; + if (!algorithm_1.xml_isLegalChar(cdata.data) || cdata.data.indexOf("]]>") !== -1) { throw new Error("CDATA contains invalid characters."); } context.appendChild(doc.createCDATASection(cdata.data)); break; case interfaces_1.TokenType.Comment: - const comment = token; - if (!(0, algorithm_1.xml_isLegalChar)(comment.data) || + var comment = token; + if (!algorithm_1.xml_isLegalChar(comment.data) || comment.data.indexOf("--") !== -1 || comment.data.endsWith("-")) { throw new Error("Comment data contains invalid characters."); } context.appendChild(doc.createComment(comment.data)); break; case interfaces_1.TokenType.PI: - const pi = token; + var pi = token; if (pi.target.indexOf(":") !== -1 || (/^xml$/i).test(pi.target)) { throw new Error("Processing instruction target contains invalid characters."); } - if (!(0, algorithm_1.xml_isLegalChar)(pi.data) || pi.data.indexOf("?>") !== -1) { + if (!algorithm_1.xml_isLegalChar(pi.data) || pi.data.indexOf("?>") !== -1) { throw new Error("Processing instruction data contains invalid characters."); } context.appendChild(doc.createProcessingInstruction(pi.target, pi.data)); break; case interfaces_1.TokenType.Text: - const text = token; - if (!(0, algorithm_1.xml_isLegalChar)(text.data)) { + var text = token; + if (!algorithm_1.xml_isLegalChar(text.data)) { throw new Error("Text data contains invalid characters."); } - context.appendChild(doc.createTextNode(this._decodeText(text.data))); + context.appendChild(doc.createTextNode(text.data)); break; case interfaces_1.TokenType.Element: - const element = token; + var element = token; // inherit namespace from parent - const [prefix, localName] = (0, algorithm_1.namespace_extractQName)(element.name); - if (localName.indexOf(":") !== -1 || !(0, algorithm_1.xml_isName)(localName)) { + var _c = __read(algorithm_1.namespace_extractQName(element.name), 2), prefix = _c[0], localName = _c[1]; + if (localName.indexOf(":") !== -1 || !algorithm_1.xml_isName(localName)) { throw new Error("Node local name contains invalid characters."); } if (prefix === "xmlns") { throw new Error("An element cannot have the 'xmlns' prefix."); } - let namespace = context.lookupNamespaceURI(prefix); + var namespace = context.lookupNamespaceURI(prefix); // override namespace if there is a namespace declaration // attribute // also lookup namespace declaration attributes - const nsDeclarations = {}; - for (const [attName, attValue] of element.attributes) { - if (attName === "xmlns") { - namespace = attValue; - } - else { - const [attPrefix, attLocalName] = (0, algorithm_1.namespace_extractQName)(attName); - if (attPrefix === "xmlns") { - if (attLocalName === prefix) { - namespace = attValue; + var nsDeclarations = {}; + try { + for (var _d = (e_1 = void 0, __values(element.attributes)), _e = _d.next(); !_e.done; _e = _d.next()) { + var _f = __read(_e.value, 2), attName = _f[0], attValue = _f[1]; + if (attName === "xmlns") { + namespace = attValue; + } + else { + var _g = __read(algorithm_1.namespace_extractQName(attName), 2), attPrefix = _g[0], attLocalName = _g[1]; + if (attPrefix === "xmlns") { + if (attLocalName === prefix) { + namespace = attValue; + } + nsDeclarations[attLocalName] = attValue; } - nsDeclarations[attLocalName] = attValue; } } } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_e && !_e.done && (_a = _d.return)) _a.call(_d); + } + finally { if (e_1) throw e_1.error; } + } // create the DOM element node - const elementNode = (namespace !== null ? + var elementNode = (namespace !== null ? doc.createElementNS(namespace, element.name) : doc.createElement(element.name)); context.appendChild(elementNode); // assign attributes - const localNameSet = new LocalNameSet_1.LocalNameSet(); - for (const [attName, attValue] of element.attributes) { - const [attPrefix, attLocalName] = (0, algorithm_1.namespace_extractQName)(attName); - let attNamespace = null; - if (attPrefix === "xmlns" || (attPrefix === null && attLocalName === "xmlns")) { - // namespace declaration attribute - attNamespace = infra_1.namespace.XMLNS; - } - else { - attNamespace = elementNode.lookupNamespaceURI(attPrefix); - if (attNamespace !== null && elementNode.isDefaultNamespace(attNamespace)) { - attNamespace = null; + var localNameSet = new LocalNameSet_1.LocalNameSet(); + try { + for (var _h = (e_2 = void 0, __values(element.attributes)), _j = _h.next(); !_j.done; _j = _h.next()) { + var _k = __read(_j.value, 2), attName = _k[0], attValue = _k[1]; + var _l = __read(algorithm_1.namespace_extractQName(attName), 2), attPrefix = _l[0], attLocalName = _l[1]; + var attNamespace = null; + if (attPrefix === "xmlns" || (attPrefix === null && attLocalName === "xmlns")) { + // namespace declaration attribute + attNamespace = infra_1.namespace.XMLNS; } - else if (attNamespace === null && attPrefix !== null) { - attNamespace = nsDeclarations[attPrefix] || null; + else { + attNamespace = elementNode.lookupNamespaceURI(attPrefix); + if (attNamespace !== null && elementNode.isDefaultNamespace(attNamespace)) { + attNamespace = null; + } + else if (attNamespace === null && attPrefix !== null) { + attNamespace = nsDeclarations[attPrefix] || null; + } } - } - if (localNameSet.has(attNamespace, attLocalName)) { - throw new Error("Element contains duplicate attributes."); - } - localNameSet.set(attNamespace, attLocalName); - if (attNamespace === infra_1.namespace.XMLNS) { - if (attValue === infra_1.namespace.XMLNS) { - throw new Error("XMLNS namespace is reserved."); + if (localNameSet.has(attNamespace, attLocalName)) { + throw new Error("Element contains duplicate attributes."); } + localNameSet.set(attNamespace, attLocalName); + if (attNamespace === infra_1.namespace.XMLNS) { + if (attValue === infra_1.namespace.XMLNS) { + throw new Error("XMLNS namespace is reserved."); + } + } + if (attLocalName.indexOf(":") !== -1 || !algorithm_1.xml_isName(attLocalName)) { + throw new Error("Attribute local name contains invalid characters."); + } + if (attPrefix === "xmlns" && attValue === "") { + throw new Error("Empty XML namespace is not allowed."); + } + if (attNamespace !== null) + elementNode.setAttributeNS(attNamespace, attName, attValue); + else + elementNode.setAttribute(attName, attValue); } - if (attLocalName.indexOf(":") !== -1 || !(0, algorithm_1.xml_isName)(attLocalName)) { - throw new Error("Attribute local name contains invalid characters."); + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_j && !_j.done && (_b = _h.return)) _b.call(_h); } - if (attPrefix === "xmlns" && attValue === "") { - throw new Error("Empty XML namespace is not allowed."); - } - if (attNamespace !== null) - elementNode.setAttributeNS(attNamespace, attName, this._decodeAttributeValue(attValue)); - else - elementNode.setAttribute(attName, this._decodeAttributeValue(attValue)); + finally { if (e_2) throw e_2.error; } } if (!element.selfClosing) { context = elementNode; } break; case interfaces_1.TokenType.ClosingTag: - const closingTag = token; + var closingTag = token; if (closingTag.name !== context.nodeName) { throw new Error('Closing tag name does not match opening tag name.'); } @@ -29490,59 +31746,52 @@ class XMLParserImpl { token = lexer.nextToken(); } return doc; - } - /** - * Decodes serialized text. - * - * @param text - text value to serialize - */ - _decodeText(text) { - return text == null ? text : text.replace(/</g, '<') - .replace(/>/g, '>') - .replace(/&/g, '&'); - } - /** - * Decodes serialized attribute value. - * - * @param text - attribute value to serialize - */ - _decodeAttributeValue(text) { - return text == null ? text : text.replace(/</g, '<') - .replace(/>/g, '>') - .replace(/&/g, '&'); - } -} + }; + return XMLParserImpl; +}()); exports.XMLParserImpl = XMLParserImpl; //# sourceMappingURL=XMLParserImpl.js.map /***/ }), /***/ 47061: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.XMLStringLexer = void 0; -const interfaces_1 = __nccwpck_require__(97707); +var interfaces_1 = __nccwpck_require__(97707); /** * Represents a lexer for XML content in a string. */ -class XMLStringLexer { - _str; - _index; - _length; - _options = { - skipWhitespaceOnlyText: false - }; - err = { line: -1, col: -1, index: -1, str: "" }; +var XMLStringLexer = /** @class */ (function () { /** * Initializes a new instance of `XMLStringLexer`. * * @param str - the string to tokenize and lex * @param options - lexer options */ - constructor(str, options) { + function XMLStringLexer(str, options) { + this._options = { + skipWhitespaceOnlyText: false + }; + this.err = { line: -1, col: -1, index: -1, str: "" }; this._str = str; this._index = 0; this._length = str.length; @@ -29553,11 +31802,11 @@ class XMLStringLexer { /** * Returns the next token. */ - nextToken() { + XMLStringLexer.prototype.nextToken = function () { if (this.eof()) { return { type: interfaces_1.TokenType.EOF }; } - let token = (this.skipIfStartsWith('<') ? this.openBracket() : this.text()); + var token = (this.skipIfStartsWith('<') ? this.openBracket() : this.text()); if (this._options.skipWhitespaceOnlyText) { if (token.type === interfaces_1.TokenType.Text && XMLStringLexer.isWhiteSpaceToken(token)) { @@ -29565,11 +31814,11 @@ class XMLStringLexer { } } return token; - } + }; /** * Branches from an opening bracket (`<`). */ - openBracket() { + XMLStringLexer.prototype.openBracket = function () { if (this.skipIfStartsWith('?')) { if (this.skipIfStartsWith('xml')) { if (XMLStringLexer.isSpace(this._str[this._index])) { @@ -29605,14 +31854,14 @@ class XMLStringLexer { else { return this.openTag(); } - } + }; /** * Produces an XML declaration token. */ - declaration() { - let version = ''; - let encoding = ''; - let standalone = ''; + XMLStringLexer.prototype.declaration = function () { + var version = ''; + var encoding = ''; + var standalone = ''; while (!this.eof()) { this.skipSpace(); if (this.skipIfStartsWith('?>')) { @@ -29620,7 +31869,7 @@ class XMLStringLexer { } else { // attribute name - const [attName, attValue] = this.attribute(); + var _a = __read(this.attribute(), 2), attName = _a[0], attValue = _a[1]; if (attName === 'version') version = attValue; else if (attName === 'encoding') @@ -29632,16 +31881,16 @@ class XMLStringLexer { } } this.throwError('Missing declaration end symbol `?>`'); - } + }; /** * Produces a doc type token. */ - doctype() { - let pubId = ''; - let sysId = ''; + XMLStringLexer.prototype.doctype = function () { + var pubId = ''; + var sysId = ''; // name this.skipSpace(); - const name = this.takeUntil2('[', '>', true); + var name = this.takeUntil2('[', '>', true); this.skipSpace(); if (this.skipIfStartsWith('PUBLIC')) { pubId = this.quotedString(); @@ -29664,12 +31913,12 @@ class XMLStringLexer { this.throwError('Missing doctype end symbol `>`'); } return { type: interfaces_1.TokenType.DocType, name: name, pubId: pubId, sysId: sysId }; - } + }; /** * Produces a processing instruction token. */ - pi() { - const target = this.takeUntilStartsWith('?>', true); + XMLStringLexer.prototype.pi = function () { + var target = this.takeUntilStartsWith('?>', true); if (this.eof()) { this.throwError('Missing processing instruction end symbol `?>`'); } @@ -29677,52 +31926,52 @@ class XMLStringLexer { if (this.skipIfStartsWith('?>')) { return { type: interfaces_1.TokenType.PI, target: target, data: '' }; } - const data = this.takeUntilStartsWith('?>'); + var data = this.takeUntilStartsWith('?>'); if (this.eof()) { this.throwError('Missing processing instruction end symbol `?>`'); } this.seek(2); return { type: interfaces_1.TokenType.PI, target: target, data: data }; - } + }; /** * Produces a text token. * */ - text() { - const data = this.takeUntil('<'); + XMLStringLexer.prototype.text = function () { + var data = this.takeUntil('<'); return { type: interfaces_1.TokenType.Text, data: data }; - } + }; /** * Produces a comment token. * */ - comment() { - const data = this.takeUntilStartsWith('-->'); + XMLStringLexer.prototype.comment = function () { + var data = this.takeUntilStartsWith('-->'); if (this.eof()) { this.throwError('Missing comment end symbol `-->`'); } this.seek(3); return { type: interfaces_1.TokenType.Comment, data: data }; - } + }; /** * Produces a CDATA token. * */ - cdata() { - const data = this.takeUntilStartsWith(']]>'); + XMLStringLexer.prototype.cdata = function () { + var data = this.takeUntilStartsWith(']]>'); if (this.eof()) { this.throwError('Missing CDATA end symbol `]>`'); } this.seek(3); return { type: interfaces_1.TokenType.CDATA, data: data }; - } + }; /** * Produces an element token. */ - openTag() { + XMLStringLexer.prototype.openTag = function () { // element name this.skipSpace(); - const name = this.takeUntil2('>', '/', true); + var name = this.takeUntil2('>', '/', true); this.skipSpace(); if (this.skipIfStartsWith('>')) { return { type: interfaces_1.TokenType.Element, name: name, attributes: [], selfClosing: false }; @@ -29731,7 +31980,7 @@ class XMLStringLexer { return { type: interfaces_1.TokenType.Element, name: name, attributes: [], selfClosing: true }; } // attributes - const attributes = []; + var attributes = []; while (!this.eof()) { // end tag this.skipSpace(); @@ -29741,66 +31990,66 @@ class XMLStringLexer { else if (this.skipIfStartsWith('/>')) { return { type: interfaces_1.TokenType.Element, name: name, attributes: attributes, selfClosing: true }; } - const attr = this.attribute(); + var attr = this.attribute(); attributes.push(attr); } this.throwError('Missing opening element tag end symbol `>`'); - } + }; /** * Produces a closing tag token. * */ - closeTag() { + XMLStringLexer.prototype.closeTag = function () { this.skipSpace(); - const name = this.takeUntil('>', true); + var name = this.takeUntil('>', true); this.skipSpace(); if (!this.skipIfStartsWith('>')) { this.throwError('Missing closing element tag end symbol `>`'); } return { type: interfaces_1.TokenType.ClosingTag, name: name }; - } + }; /** * Reads an attribute name, value pair */ - attribute() { + XMLStringLexer.prototype.attribute = function () { // attribute name this.skipSpace(); - const name = this.takeUntil('=', true); + var name = this.takeUntil('=', true); this.skipSpace(); if (!this.skipIfStartsWith('=')) { this.throwError('Missing equals sign before attribute value'); } // attribute value - const value = this.quotedString(); + var value = this.quotedString(); return [name, value]; - } + }; /** * Reads a string between double or single quotes. */ - quotedString() { + XMLStringLexer.prototype.quotedString = function () { this.skipSpace(); - const startQuote = this.take(1); + var startQuote = this.take(1); if (!XMLStringLexer.isQuote(startQuote)) { this.throwError('Missing start quote character before quoted value'); } - const value = this.takeUntil(startQuote); + var value = this.takeUntil(startQuote); if (!this.skipIfStartsWith(startQuote)) { this.throwError('Missing end quote character after quoted value'); } return value; - } + }; /** * Determines if the current index is at or past the end of input string. */ - eof() { return this._index >= this._length; } + XMLStringLexer.prototype.eof = function () { return this._index >= this._length; }; /** * Skips the length of the given string if the string from current position * starts with the given string. * * @param str - the string to match */ - skipIfStartsWith(str) { - const strLength = str.length; + XMLStringLexer.prototype.skipIfStartsWith = function (str) { + var strLength = str.length; if (strLength === 1) { if (this._str[this._index] === str) { this._index++; @@ -29810,56 +32059,57 @@ class XMLStringLexer { return false; } } - for (let i = 0; i < strLength; i++) { + for (var i = 0; i < strLength; i++) { if (this._str[this._index + i] !== str[i]) return false; } this._index += strLength; return true; - } + }; /** * Seeks a number of character codes. * * @param count - number of characters to skip */ - seek(count) { + XMLStringLexer.prototype.seek = function (count) { this._index += count; if (this._index < 0) this._index = 0; if (this._index > this._length) this._index = this._length; - } + }; /** * Skips space characters. */ - skipSpace() { + XMLStringLexer.prototype.skipSpace = function () { while (!this.eof() && (XMLStringLexer.isSpace(this._str[this._index]))) { this._index++; } - } + }; /** * Takes a given number of characters. * * @param count - character count */ - take(count) { + XMLStringLexer.prototype.take = function (count) { if (count === 1) { return this._str[this._index++]; } - const startIndex = this._index; + var startIndex = this._index; this.seek(count); return this._str.slice(startIndex, this._index); - } + }; /** * Takes characters until the next character matches `char`. * * @param char - a character to match * @param space - whether a space character stops iteration */ - takeUntil(char, space = false) { - const startIndex = this._index; + XMLStringLexer.prototype.takeUntil = function (char, space) { + if (space === void 0) { space = false; } + var startIndex = this._index; while (this._index < this._length) { - const c = this._str[this._index]; + var c = this._str[this._index]; if (c !== char && (!space || !XMLStringLexer.isSpace(c))) { this._index++; } @@ -29868,7 +32118,7 @@ class XMLStringLexer { } } return this._str.slice(startIndex, this._index); - } + }; /** * Takes characters until the next character matches `char1` or `char1`. * @@ -29876,10 +32126,11 @@ class XMLStringLexer { * @param char2 - a character to match * @param space - whether a space character stops iteration */ - takeUntil2(char1, char2, space = false) { - const startIndex = this._index; + XMLStringLexer.prototype.takeUntil2 = function (char1, char2, space) { + if (space === void 0) { space = false; } + var startIndex = this._index; while (this._index < this._length) { - const c = this._str[this._index]; + var c = this._str[this._index]; if (c !== char1 && c !== char2 && (!space || !XMLStringLexer.isSpace(c))) { this._index++; } @@ -29888,21 +32139,22 @@ class XMLStringLexer { } } return this._str.slice(startIndex, this._index); - } + }; /** * Takes characters until the next characters matches `str`. * * @param str - a string to match * @param space - whether a space character stops iteration */ - takeUntilStartsWith(str, space = false) { - const startIndex = this._index; - const strLength = str.length; + XMLStringLexer.prototype.takeUntilStartsWith = function (str, space) { + if (space === void 0) { space = false; } + var startIndex = this._index; + var strLength = str.length; while (this._index < this._length) { - let match = true; - for (let i = 0; i < strLength; i++) { - const c = this._str[this._index + i]; - const char = str[i]; + var match = true; + for (var i = 0; i < strLength; i++) { + var c = this._str[this._index + i]; + var char = str[i]; if (space && XMLStringLexer.isSpace(c)) { return this._str.slice(startIndex, this._index); } @@ -29917,15 +32169,15 @@ class XMLStringLexer { } this._index = this._length; return this._str.slice(startIndex); - } + }; /** * Skips characters until the next character matches `char`. * * @param char - a character to match */ - skipUntil(char) { + XMLStringLexer.prototype.skipUntil = function (char) { while (this._index < this._length) { - const c = this._str[this._index]; + var c = this._str[this._index]; if (c !== char) { this._index++; } @@ -29933,49 +32185,49 @@ class XMLStringLexer { break; } } - } + }; /** * Determines if the given token is entirely whitespace. * * @param token - the token to check */ - static isWhiteSpaceToken(token) { - const str = token.data; - for (let i = 0; i < str.length; i++) { - const c = str[i]; + XMLStringLexer.isWhiteSpaceToken = function (token) { + var str = token.data; + for (var i = 0; i < str.length; i++) { + var c = str[i]; if (c !== ' ' && c !== '\n' && c !== '\r' && c !== '\t' && c !== '\f') return false; } return true; - } + }; /** * Determines if the given character is whitespace. * * @param char - the character to check */ - static isSpace(char) { + XMLStringLexer.isSpace = function (char) { return char === ' ' || char === '\n' || char === '\r' || char === '\t'; - } + }; /** * Determines if the given character is a quote character. * * @param char - the character to check */ - static isQuote(char) { + XMLStringLexer.isQuote = function (char) { return (char === '"' || char === '\''); - } + }; /** * Throws a parser error and records the line and column numbers in the parsed * string. * * @param msg - error message */ - throwError(msg) { - const regexp = /\r\n|\r|\n/g; - let match = null; - let line = 0; - let firstNewLineIndex = 0; - let lastNewlineIndex = this._str.length; + XMLStringLexer.prototype.throwError = function (msg) { + var regexp = /\r\n|\r|\n/g; + var match = null; + var line = 0; + var firstNewLineIndex = 0; + var lastNewlineIndex = this._str.length; while ((match = regexp.exec(this._str)) !== null) { if (match === null) break; @@ -29996,15 +32248,15 @@ class XMLStringLexer { throw new Error(msg + "\nIndex: " + this.err.index + "\nLn: " + this.err.line + ", Col: " + this.err.col + "\nInput: " + this.err.str); - } + }; /** * Returns an iterator for the lexer. */ - [Symbol.iterator]() { + XMLStringLexer.prototype[Symbol.iterator] = function () { this._index = 0; return { next: function () { - const token = this.nextToken(); + var token = this.nextToken(); if (token.type === interfaces_1.TokenType.EOF) { return { done: true, value: null }; } @@ -30013,8 +32265,9 @@ class XMLStringLexer { } }.bind(this) }; - } -} + }; + return XMLStringLexer; +}()); exports.XMLStringLexer = XMLStringLexer; //# sourceMappingURL=XMLStringLexer.js.map @@ -30026,10 +32279,9 @@ exports.XMLStringLexer = XMLStringLexer; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.DOMParser = void 0; // Export classes var DOMParserImpl_1 = __nccwpck_require__(98845); -Object.defineProperty(exports, "DOMParser", ({ enumerable: true, get: function () { return DOMParserImpl_1.DOMParserImpl; } })); +exports.DOMParser = DOMParserImpl_1.DOMParserImpl; //# sourceMappingURL=index.js.map /***/ }), @@ -30040,7 +32292,6 @@ Object.defineProperty(exports, "DOMParser", ({ enumerable: true, get: function ( "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.TokenType = void 0; /** * Defines the type of a token. */ @@ -30055,7 +32306,7 @@ var TokenType; TokenType[TokenType["PI"] = 6] = "PI"; TokenType[TokenType["Comment"] = 7] = "Comment"; TokenType[TokenType["ClosingTag"] = 8] = "ClosingTag"; -})(TokenType || (exports.TokenType = TokenType = {})); +})(TokenType = exports.TokenType || (exports.TokenType = {})); //# sourceMappingURL=interfaces.js.map /***/ }), @@ -30066,7 +32317,6 @@ var TokenType; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.LocalNameSet = void 0; /** * Represents a set of unique attribute namespaceURI and localName pairs. * This set will contain tuples of unique attribute namespaceURI and @@ -30076,17 +32326,19 @@ exports.LocalNameSet = void 0; * This can occur when two otherwise identical attributes on the same * element differ only by their prefix values. */ -class LocalNameSet { - // tuple storage - _items = {}; - _nullItems = {}; +var LocalNameSet = /** @class */ (function () { + function LocalNameSet() { + // tuple storage + this._items = {}; + this._nullItems = {}; + } /** * Adds or replaces a tuple. * * @param ns - namespace URI * @param localName - attribute local name */ - set(ns, localName) { + LocalNameSet.prototype.set = function (ns, localName) { if (ns === null) { this._nullItems[localName] = true; } @@ -30097,14 +32349,14 @@ class LocalNameSet { this._items[ns] = {}; this._items[ns][localName] = true; } - } + }; /** * Determines if the given tuple exists in the set. * * @param ns - namespace URI * @param localName - attribute local name */ - has(ns, localName) { + LocalNameSet.prototype.has = function (ns, localName) { if (ns === null) { return this._nullItems[localName] === true; } @@ -30114,8 +32366,9 @@ class LocalNameSet { else { return false; } - } -} + }; + return LocalNameSet; +}()); exports.LocalNameSet = LocalNameSet; //# sourceMappingURL=LocalNameSet.js.map @@ -30127,7 +32380,6 @@ exports.LocalNameSet = LocalNameSet; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.NamespacePrefixMap = void 0; /** * A namespace prefix map is a map that associates namespaceURI and namespace * prefix lists, where namespaceURI values are the map's unique keys (which can @@ -30144,39 +32396,41 @@ exports.NamespacePrefixMap = void 0; * * See: https://w3c.github.io/DOM-Parsing/#the-namespace-prefix-map */ -class NamespacePrefixMap { - _items = {}; - _nullItems = []; +var NamespacePrefixMap = /** @class */ (function () { + function NamespacePrefixMap() { + this._items = {}; + this._nullItems = []; + } /** * Creates a copy of the map. */ - copy() { + NamespacePrefixMap.prototype.copy = function () { /** * To copy a namespace prefix map map means to copy the map's keys into a * new empty namespace prefix map, and to copy each of the values in the * namespace prefix list associated with each keys' value into a new list * which should be associated with the respective key in the new map. */ - const mapCopy = new NamespacePrefixMap(); - for (const key in this._items) { + var mapCopy = new NamespacePrefixMap(); + for (var key in this._items) { mapCopy._items[key] = this._items[key].slice(0); } mapCopy._nullItems = this._nullItems.slice(0); return mapCopy; - } + }; /** * Retrieves a preferred prefix string from the namespace prefix map. * * @param preferredPrefix - preferred prefix string * @param ns - namespace */ - get(preferredPrefix, ns) { + NamespacePrefixMap.prototype.get = function (preferredPrefix, ns) { /** * 1. Let candidates list be the result of retrieving a list from map where * there exists a key in map that matches the value of ns or if there is no * such key, then stop running these steps, and return the null value. */ - const candidatesList = ns === null ? this._nullItems : (this._items[ns] || null); + var candidatesList = ns === null ? this._nullItems : (this._items[ns] || null); if (candidatesList === null) { return null; } @@ -30186,8 +32440,8 @@ class NamespacePrefixMap { * * _Note:_ There will always be at least one prefix value in the list. */ - let prefix = null; - for (let i = 0; i < candidatesList.length; i++) { + var prefix = null; + for (var i = 0; i < candidatesList.length; i++) { prefix = candidatesList[i]; /** * 2.1. If prefix matches preferred prefix, then stop running these steps @@ -30202,7 +32456,7 @@ class NamespacePrefixMap { * running these steps and return prefix. */ return prefix; - } + }; /** * Checks if a prefix string is found in the namespace prefix map associated * with the given namespace. @@ -30210,13 +32464,13 @@ class NamespacePrefixMap { * @param prefix - prefix string * @param ns - namespace */ - has(prefix, ns) { + NamespacePrefixMap.prototype.has = function (prefix, ns) { /** * 1. Let candidates list be the result of retrieving a list from map where * there exists a key in map that matches the value of ns or if there is * no such key, then stop running these steps, and return false. */ - const candidatesList = ns === null ? this._nullItems : (this._items[ns] || null); + var candidatesList = ns === null ? this._nullItems : (this._items[ns] || null); if (candidatesList === null) { return false; } @@ -30225,34 +32479,34 @@ class NamespacePrefixMap { * return true, otherwise return false. */ return (candidatesList.indexOf(prefix) !== -1); - } + }; /** * Checks if a prefix string is found in the namespace prefix map. * * @param prefix - prefix string */ - hasPrefix(prefix) { + NamespacePrefixMap.prototype.hasPrefix = function (prefix) { if (this._nullItems.indexOf(prefix) !== -1) return true; - for (const key in this._items) { + for (var key in this._items) { if (this._items[key].indexOf(prefix) !== -1) return true; } return false; - } + }; /** * Adds a prefix string associated with a namespace to the prefix map. * * @param prefix - prefix string * @param ns - namespace */ - set(prefix, ns) { + NamespacePrefixMap.prototype.set = function (prefix, ns) { /** * 1. Let candidates list be the result of retrieving a list from map where * there exists a key in map that matches the value of ns or if there is * no such key, then let candidates list be null. */ - const candidatesList = ns === null ? this._nullItems : (this._items[ns] || null); + var candidatesList = ns === null ? this._nullItems : (this._items[ns] || null); /** * 2. If candidates list is null, then create a new list with prefix as the * only item in the list, and associate that list with a new key ns in map. @@ -30270,51 +32524,61 @@ class NamespacePrefixMap { else { candidatesList.push(prefix); } - } -} + }; + return NamespacePrefixMap; +}()); exports.NamespacePrefixMap = NamespacePrefixMap; //# sourceMappingURL=NamespacePrefixMap.js.map /***/ }), /***/ 85039: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.XMLSerializerImpl = void 0; -const interfaces_1 = __nccwpck_require__(27305); -const LocalNameSet_1 = __nccwpck_require__(19049); -const NamespacePrefixMap_1 = __nccwpck_require__(90283); -const DOMException_1 = __nccwpck_require__(13166); -const infra_1 = __nccwpck_require__(84251); -const algorithm_1 = __nccwpck_require__(61); +var interfaces_1 = __nccwpck_require__(27305); +var LocalNameSet_1 = __nccwpck_require__(19049); +var NamespacePrefixMap_1 = __nccwpck_require__(90283); +var DOMException_1 = __nccwpck_require__(13166); +var infra_1 = __nccwpck_require__(84251); +var algorithm_1 = __nccwpck_require__(61); /** * Represents an XML serializer. * * Implements: https://www.w3.org/TR/DOM-Parsing/#serializing */ -class XMLSerializerImpl { - static _VoidElementNames = new Set(['area', 'base', 'basefont', - 'bgsound', 'br', 'col', 'embed', 'frame', 'hr', 'img', 'input', 'keygen', - 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr']); +var XMLSerializerImpl = /** @class */ (function () { + function XMLSerializerImpl() { + } /** @inheritdoc */ - serializeToString(root) { + XMLSerializerImpl.prototype.serializeToString = function (root) { /** * The serializeToString(root) method must produce an XML serialization * of root passing a value of false for the require well-formed parameter, * and return the result. */ return this._xmlSerialization(root, false); - } + }; /** * Produces an XML serialization of the given node. * * @param node - node to serialize * @param requireWellFormed - whether to check conformance */ - _xmlSerialization(node, requireWellFormed) { + XMLSerializerImpl.prototype._xmlSerialization = function (node, requireWellFormed) { // To increase performance, use a namespace-aware serializer only if the // document has namespaced elements if (node._nodeDocument === undefined || node._nodeDocument._hasNamespaces) { @@ -30334,10 +32598,10 @@ class XMLSerializerImpl { * serialize a node's namespaceURI (or the namespaceURI of one of node's * attributes). See the generate a prefix algorithm. */ - const namespace = null; - const prefixMap = new NamespacePrefixMap_1.NamespacePrefixMap(); + var namespace = null; + var prefixMap = new NamespacePrefixMap_1.NamespacePrefixMap(); prefixMap.set("xml", infra_1.namespace.XML); - const prefixIndex = { value: 1 }; + var prefixIndex = { value: 1 }; /** * 5. Return the result of running the XML serialization algorithm on node * passing the context namespace namespace, namespace prefix map prefix map, @@ -30349,7 +32613,7 @@ class XMLSerializerImpl { try { return this._serializeNodeNS(node, namespace, prefixMap, prefixIndex, requireWellFormed); } - catch { + catch (_a) { throw new DOMException_1.InvalidStateError(); } } @@ -30357,11 +32621,11 @@ class XMLSerializerImpl { try { return this._serializeNode(node, requireWellFormed); } - catch { + catch (_b) { throw new DOMException_1.InvalidStateError(); } } - } + }; /** * Produces an XML serialization of a node. * @@ -30371,7 +32635,7 @@ class XMLSerializerImpl { * @param prefixIndex - generated namespace prefix index * @param requireWellFormed - whether to check conformance */ - _serializeNodeNS(node, namespace, prefixMap, prefixIndex, requireWellFormed) { + XMLSerializerImpl.prototype._serializeNodeNS = function (node, namespace, prefixMap, prefixIndex, requireWellFormed) { switch (node.nodeType) { case interfaces_1.NodeType.Element: return this._serializeElementNS(node, namespace, prefixMap, prefixIndex, requireWellFormed); @@ -30390,16 +32654,16 @@ class XMLSerializerImpl { case interfaces_1.NodeType.CData: return this._serializeCData(node, requireWellFormed); default: - throw new Error(`Unknown node type: ${node.nodeType}`); + throw new Error("Unknown node type: " + node.nodeType); } - } + }; /** * Produces an XML serialization of a node. * * @param node - node to serialize * @param requireWellFormed - whether to check conformance */ - _serializeNode(node, requireWellFormed) { + XMLSerializerImpl.prototype._serializeNode = function (node, requireWellFormed) { switch (node.nodeType) { case interfaces_1.NodeType.Element: return this._serializeElement(node, requireWellFormed); @@ -30418,9 +32682,9 @@ class XMLSerializerImpl { case interfaces_1.NodeType.CData: return this._serializeCData(node, requireWellFormed); default: - throw new Error(`Unknown node type: ${node.nodeType}`); + throw new Error("Unknown node type: " + node.nodeType); } - } + }; /** * Produces an XML serialization of an element node. * @@ -30430,7 +32694,8 @@ class XMLSerializerImpl { * @param prefixIndex - generated namespace prefix index * @param requireWellFormed - whether to check conformance */ - _serializeElementNS(node, namespace, prefixMap, prefixIndex, requireWellFormed) { + XMLSerializerImpl.prototype._serializeElementNS = function (node, namespace, prefixMap, prefixIndex, requireWellFormed) { + var e_1, _a; /** * From: https://w3c.github.io/DOM-Parsing/#xml-serializing-an-element-node * @@ -30440,7 +32705,7 @@ class XMLSerializerImpl { * serialization of this node would not be a well-formed element. */ if (requireWellFormed && (node.localName.indexOf(":") !== -1 || - !(0, algorithm_1.xml_isName)(node.localName))) { + !algorithm_1.xml_isName(node.localName))) { throw new Error("Node local name contains invalid characters (well-formed required)."); } /** @@ -30473,15 +32738,15 @@ class XMLSerializerImpl { * 9. Let inherited ns be a copy of namespace. * 10. Let ns be the value of node's namespaceURI attribute. */ - let markup = "<"; - let qualifiedName = ''; - let skipEndTag = false; - let ignoreNamespaceDefinitionAttribute = false; - let map = prefixMap.copy(); - let localPrefixesMap = {}; - let localDefaultNamespace = this._recordNamespaceInformation(node, map, localPrefixesMap); - let inheritedNS = namespace; - let ns = node.namespaceURI; + var markup = "<"; + var qualifiedName = ''; + var skipEndTag = false; + var ignoreNamespaceDefinitionAttribute = false; + var map = prefixMap.copy(); + var localPrefixesMap = {}; + var localDefaultNamespace = this._recordNamespaceInformation(node, map, localPrefixesMap); + var inheritedNS = namespace; + var ns = node.namespaceURI; /** 11. If inherited ns is equal to ns, then: */ if (inheritedNS === ns) { /** @@ -30517,14 +32782,14 @@ class XMLSerializerImpl { * prefix string prefix from map given namespace ns. The above may return * null if no namespace key ns exists in map. */ - let prefix = node.prefix; + var prefix = node.prefix; /** * We don't need to run "retrieving a preferred prefix string" algorithm if * the element has no prefix and its namespace matches to the default * namespace. * See: https://github.com/web-platform-tests/wpt/pull/16703 */ - let candidatePrefix = null; + var candidatePrefix = null; if (prefix !== null || ns !== localDefaultNamespace) { candidatePrefix = map.get(prefix, ns); } @@ -30713,7 +32978,7 @@ class XMLSerializerImpl { * tag flag to true. * 16. Append ">" (U+003E GREATER-THAN SIGN) to markup. */ - const isHTML = (ns === infra_1.namespace.HTML); + var isHTML = (ns === infra_1.namespace.HTML); if (isHTML && node.childNodes.length === 0 && XMLSerializerImpl._VoidElementNames.has(node.localName)) { markup += " /"; @@ -30749,8 +33014,18 @@ class XMLSerializerImpl { // TODO: serialize template contents } else { - for (const childNode of node._children || node.childNodes) { - markup += this._serializeNodeNS(childNode, inheritedNS, map, prefixIndex, requireWellFormed); + try { + for (var _b = __values(node._children || node.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) { + var childNode = _c.value; + markup += this._serializeNodeNS(childNode, inheritedNS, map, prefixIndex, requireWellFormed); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } } } /** @@ -30764,7 +33039,7 @@ class XMLSerializerImpl { * 21. Return the value of markup. */ return markup; - } + }; /** * Produces an XML serialization of a document node. * @@ -30774,7 +33049,8 @@ class XMLSerializerImpl { * @param prefixIndex - generated namespace prefix index * @param requireWellFormed - whether to check conformance */ - _serializeDocumentNS(node, namespace, prefixMap, prefixIndex, requireWellFormed) { + XMLSerializerImpl.prototype._serializeDocumentNS = function (node, namespace, prefixMap, prefixIndex, requireWellFormed) { + var e_2, _a; /** * If the require well-formed flag is set (its value is true), and this node * has no documentElement (the documentElement attribute's value is null), @@ -30798,19 +33074,29 @@ class XMLSerializerImpl { * * 3. Return the value of serialized document. */ - let serializedDocument = ""; - for (const childNode of node._children || node.childNodes) { - serializedDocument += this._serializeNodeNS(childNode, namespace, prefixMap, prefixIndex, requireWellFormed); + var serializedDocument = ""; + try { + for (var _b = __values(node._children || node.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) { + var childNode = _c.value; + serializedDocument += this._serializeNodeNS(childNode, namespace, prefixMap, prefixIndex, requireWellFormed); + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_2) throw e_2.error; } } return serializedDocument; - } + }; /** * Produces an XML serialization of a comment node. * * @param node - node to serialize * @param requireWellFormed - whether to check conformance */ - _serializeComment(node, requireWellFormed) { + XMLSerializerImpl.prototype._serializeComment = function (node, requireWellFormed) { /** * If the require well-formed flag is set (its value is true), and node's * data contains characters that are not matched by the XML Char production @@ -30818,7 +33104,7 @@ class XMLSerializerImpl { * ends with a "-" (U+002D HYPHEN-MINUS) character, then throw an exception; * the serialization of this node's data would not be well-formed. */ - if (requireWellFormed && (!(0, algorithm_1.xml_isLegalChar)(node.data) || + if (requireWellFormed && (!algorithm_1.xml_isLegalChar(node.data) || node.data.indexOf("--") !== -1 || node.data.endsWith("-"))) { throw new Error("Comment data contains invalid characters (well-formed required)."); } @@ -30826,7 +33112,7 @@ class XMLSerializerImpl { * Otherwise, return the concatenation of "". */ return ""; - } + }; /** * Produces an XML serialization of a text node. * @@ -30834,14 +33120,14 @@ class XMLSerializerImpl { * @param requireWellFormed - whether to check conformance * @param level - current depth of the XML tree */ - _serializeText(node, requireWellFormed) { + XMLSerializerImpl.prototype._serializeText = function (node, requireWellFormed) { /** * 1. If the require well-formed flag is set (its value is true), and * node's data contains characters that are not matched by the XML Char * production, then throw an exception; the serialization of this node's * data would not be well-formed. */ - if (requireWellFormed && !(0, algorithm_1.xml_isLegalChar)(node.data)) { + if (requireWellFormed && !algorithm_1.xml_isLegalChar(node.data)) { throw new Error("Text data contains invalid characters (well-formed required)."); } /** @@ -30851,9 +33137,9 @@ class XMLSerializerImpl { * 5. Replace any occurrences of ">" in markup by ">". * 6. Return the value of markup. */ - let result = ""; - for (let i = 0; i < node.data.length; i++) { - const c = node.data[i]; + var result = ""; + for (var i = 0; i < node.data.length; i++) { + var c = node.data[i]; if (c === "&") result += "&"; else if (c === "<") @@ -30864,7 +33150,7 @@ class XMLSerializerImpl { result += c; } return result; - } + }; /** * Produces an XML serialization of a document fragment node. * @@ -30874,7 +33160,8 @@ class XMLSerializerImpl { * @param prefixIndex - generated namespace prefix index * @param requireWellFormed - whether to check conformance */ - _serializeDocumentFragmentNS(node, namespace, prefixMap, prefixIndex, requireWellFormed) { + XMLSerializerImpl.prototype._serializeDocumentFragmentNS = function (node, namespace, prefixMap, prefixIndex, requireWellFormed) { + var e_3, _a; /** * 1. Let markup the empty string. * 2. For each child child of node, in tree order, run the XML serialization @@ -30882,26 +33169,36 @@ class XMLSerializerImpl { * index, and flag require well-formed. Concatenate the result to markup. * 3. Return the value of markup. */ - let markup = ""; - for (const childNode of node._children || node.childNodes) { - markup += this._serializeNodeNS(childNode, namespace, prefixMap, prefixIndex, requireWellFormed); + var markup = ""; + try { + for (var _b = __values(node._children || node.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) { + var childNode = _c.value; + markup += this._serializeNodeNS(childNode, namespace, prefixMap, prefixIndex, requireWellFormed); + } + } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_3) throw e_3.error; } } return markup; - } + }; /** * Produces an XML serialization of a document type node. * * @param node - node to serialize * @param requireWellFormed - whether to check conformance */ - _serializeDocumentType(node, requireWellFormed) { + XMLSerializerImpl.prototype._serializeDocumentType = function (node, requireWellFormed) { /** * 1. If the require well-formed flag is true and the node's publicId * attribute contains characters that are not matched by the XML PubidChar * production, then throw an exception; the serialization of this node * would not be a well-formed document type declaration. */ - if (requireWellFormed && !(0, algorithm_1.xml_isPubidChar)(node.publicId)) { + if (requireWellFormed && !algorithm_1.xml_isPubidChar(node.publicId)) { throw new Error("DocType public identifier does not match PubidChar construct (well-formed required)."); } /** @@ -30912,7 +33209,7 @@ class XMLSerializerImpl { * of this node would not be a well-formed document type declaration. */ if (requireWellFormed && - (!(0, algorithm_1.xml_isLegalChar)(node.systemId) || + (!algorithm_1.xml_isLegalChar(node.systemId) || (node.systemId.indexOf('"') !== -1 && node.systemId.indexOf("'") !== -1))) { throw new Error("DocType system identifier contains invalid characters (well-formed required)."); } @@ -30952,14 +33249,14 @@ class XMLSerializerImpl { "" : ""; - } + }; /** * Produces an XML serialization of a processing instruction node. * * @param node - node to serialize * @param requireWellFormed - whether to check conformance */ - _serializeProcessingInstruction(node, requireWellFormed) { + XMLSerializerImpl.prototype._serializeProcessingInstruction = function (node, requireWellFormed) { /** * 1. If the require well-formed flag is set (its value is true), and node's * target contains a ":" (U+003A COLON) character or is an ASCII @@ -30976,7 +33273,7 @@ class XMLSerializerImpl { * U+003E GREATER-THAN SIGN), then throw an exception; the serialization of * this node's data would not be well-formed. */ - if (requireWellFormed && (!(0, algorithm_1.xml_isLegalChar)(node.data) || + if (requireWellFormed && (!algorithm_1.xml_isLegalChar(node.data) || node.data.indexOf("?>") !== -1)) { throw new Error("Processing instruction data contains invalid characters (well-formed required)."); } @@ -30990,19 +33287,19 @@ class XMLSerializerImpl { * 4. Return the value of markup. */ return ""; - } + }; /** * Produces an XML serialization of a CDATA node. * * @param node - node to serialize * @param requireWellFormed - whether to check conformance */ - _serializeCData(node, requireWellFormed) { + XMLSerializerImpl.prototype._serializeCData = function (node, requireWellFormed) { if (requireWellFormed && (node.data.indexOf("]]>") !== -1)) { throw new Error("CDATA contains invalid characters (well-formed required)."); } return ""; - } + }; /** * Produces an XML serialization of the attributes of an element node. * @@ -31014,7 +33311,8 @@ class XMLSerializerImpl { * attributes * @param requireWellFormed - whether to check conformance */ - _serializeAttributesNS(node, map, prefixIndex, localPrefixesMap, ignoreNamespaceDefinitionAttribute, requireWellFormed) { + XMLSerializerImpl.prototype._serializeAttributesNS = function (node, map, prefixIndex, localPrefixesMap, ignoreNamespaceDefinitionAttribute, requireWellFormed) { + var e_4, _a; /** * 1. Let result be the empty string. * 2. Let localname set be a new empty namespace localname set. This @@ -31025,191 +33323,201 @@ class XMLSerializerImpl { * This can occur when two otherwise identical attributes on the same * element differ only by their prefix values. */ - let result = ""; - const localNameSet = requireWellFormed ? new LocalNameSet_1.LocalNameSet() : undefined; - /** - * 3. Loop: For each attribute attr in element's attributes, in the order - * they are specified in the element's attribute list: - */ - for (const attr of node.attributes) { - // Optimize common case - if (!ignoreNamespaceDefinitionAttribute && !requireWellFormed && attr.namespaceURI === null) { - result += " " + attr.localName + "=\"" + + var result = ""; + var localNameSet = requireWellFormed ? new LocalNameSet_1.LocalNameSet() : undefined; + try { + /** + * 3. Loop: For each attribute attr in element's attributes, in the order + * they are specified in the element's attribute list: + */ + for (var _b = __values(node.attributes), _c = _b.next(); !_c.done; _c = _b.next()) { + var attr = _c.value; + // Optimize common case + if (!ignoreNamespaceDefinitionAttribute && !requireWellFormed && attr.namespaceURI === null) { + result += " " + attr.localName + "=\"" + + this._serializeAttributeValue(attr.value, requireWellFormed) + "\""; + continue; + } + /** + * 3.1. If the require well-formed flag is set (its value is true), and the + * localname set contains a tuple whose values match those of a new tuple + * consisting of attr's namespaceURI attribute and localName attribute, + * then throw an exception; the serialization of this attr would fail to + * produce a well-formed element serialization. + */ + if (requireWellFormed && localNameSet && localNameSet.has(attr.namespaceURI, attr.localName)) { + throw new Error("Element contains duplicate attributes (well-formed required)."); + } + /** + * 3.2. Create a new tuple consisting of attr's namespaceURI attribute and + * localName attribute, and add it to the localname set. + * 3.3. Let attribute namespace be the value of attr's namespaceURI value. + * 3.4. Let candidate prefix be null. + */ + if (requireWellFormed && localNameSet) + localNameSet.set(attr.namespaceURI, attr.localName); + var attributeNamespace = attr.namespaceURI; + var candidatePrefix = null; + /** 3.5. If attribute namespace is not null, then run these sub-steps: */ + if (attributeNamespace !== null) { + /** + * 3.5.1. Let candidate prefix be the result of retrieving a preferred + * prefix string from map given namespace attribute namespace with + * preferred prefix being attr's prefix value. + */ + candidatePrefix = map.get(attr.prefix, attributeNamespace); + /** + * 3.5.2. If the value of attribute namespace is the XMLNS namespace, + * then run these steps: + */ + if (attributeNamespace === infra_1.namespace.XMLNS) { + /** + * 3.5.2.1. If any of the following are true, then stop running these + * steps and goto Loop to visit the next attribute: + * - the attr's value is the XML namespace; + * _Note:_ The XML namespace cannot be redeclared and survive + * round-tripping (unless it defines the prefix "xml"). To avoid this + * problem, this algorithm always prefixes elements in the XML + * namespace with "xml" and drops any related definitions as seen + * in the above condition. + * - the attr's prefix is null and the ignore namespace definition + * attribute flag is true (the Element's default namespace attribute + * should be skipped); + * - the attr's prefix is not null and either + * * the attr's localName is not a key contained in the local + * prefixes map, or + * * the attr's localName is present in the local prefixes map but + * the value of the key does not match attr's value + * and furthermore that the attr's localName (as the prefix to find) + * is found in the namespace prefix map given the namespace consisting + * of the attr's value (the current namespace prefix definition was + * exactly defined previously--on an ancestor element not the current + * element whose attributes are being processed). + */ + if (attr.value === infra_1.namespace.XML || + (attr.prefix === null && ignoreNamespaceDefinitionAttribute) || + (attr.prefix !== null && (!(attr.localName in localPrefixesMap) || + localPrefixesMap[attr.localName] !== attr.value) && + map.has(attr.localName, attr.value))) + continue; + /** + * 3.5.2.2. If the require well-formed flag is set (its value is true), + * and the value of attr's value attribute matches the XMLNS + * namespace, then throw an exception; the serialization of this + * attribute would produce invalid XML because the XMLNS namespace + * is reserved and cannot be applied as an element's namespace via + * XML parsing. + * + * _Note:_ DOM APIs do allow creation of elements in the XMLNS + * namespace but with strict qualifications. + */ + if (requireWellFormed && attr.value === infra_1.namespace.XMLNS) { + throw new Error("XMLNS namespace is reserved (well-formed required)."); + } + /** + * 3.5.2.3. If the require well-formed flag is set (its value is true), + * and the value of attr's value attribute is the empty string, then + * throw an exception; namespace prefix declarations cannot be used + * to undeclare a namespace (use a default namespace declaration + * instead). + */ + if (requireWellFormed && attr.value === '') { + throw new Error("Namespace prefix declarations cannot be used to undeclare a namespace (well-formed required)."); + } + /** + * 3.5.2.4. the attr's prefix matches the string "xmlns", then let + * candidate prefix be the string "xmlns". + */ + if (attr.prefix === 'xmlns') + candidatePrefix = 'xmlns'; + /** + * 3.5.3. Otherwise, the attribute namespace is not the XMLNS namespace. + * Run these steps: + * + * _Note:_ The (candidatePrefix === null) check is not in the spec. + * We deviate from the spec here. Otherwise a prefix is generated for + * all attributes with namespaces. + */ + } + else if (candidatePrefix === null) { + if (attr.prefix !== null && + (!map.hasPrefix(attr.prefix) || + map.has(attr.prefix, attributeNamespace))) { + /** + * Check if we can use the attribute's own prefix. + * We deviate from the spec here. + * TODO: This is not an efficient way of searching for prefixes. + * Follow developments to the spec. + */ + candidatePrefix = attr.prefix; + } + else { + /** + * 3.5.3.1. Let candidate prefix be the result of generating a prefix + * providing map, attribute namespace, and prefix index as input. + */ + candidatePrefix = this._generatePrefix(attributeNamespace, map, prefixIndex); + } + /** + * 3.5.3.2. Append the following to result, in the order listed: + * 3.5.3.2.1. " " (U+0020 SPACE); + * 3.5.3.2.2. The string "xmlns:"; + * 3.5.3.2.3. The value of candidate prefix; + * 3.5.3.2.4. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); + * 3.5.3.2.5. The result of serializing an attribute value given + * attribute namespace and the require well-formed flag as input; + * 3.5.3.2.6. """ (U+0022 QUOTATION MARK). + */ + result += " xmlns:" + candidatePrefix + "=\"" + + this._serializeAttributeValue(attributeNamespace, requireWellFormed) + "\""; + } + } + /** + * 3.6. Append a " " (U+0020 SPACE) to result. + * 3.7. If candidate prefix is not null, then append to result the + * concatenation of candidate prefix with ":" (U+003A COLON). + */ + result += " "; + if (candidatePrefix !== null) { + result += candidatePrefix + ':'; + } + /** + * 3.8. If the require well-formed flag is set (its value is true), and + * this attr's localName attribute contains the character + * ":" (U+003A COLON) or does not match the XML Name production or + * equals "xmlns" and attribute namespace is null, then throw an + * exception; the serialization of this attr would not be a + * well-formed attribute. + */ + if (requireWellFormed && (attr.localName.indexOf(":") !== -1 || + !algorithm_1.xml_isName(attr.localName) || + (attr.localName === "xmlns" && attributeNamespace === null))) { + throw new Error("Attribute local name contains invalid characters (well-formed required)."); + } + /** + * 3.9. Append the following strings to result, in the order listed: + * 3.9.1. The value of attr's localName; + * 3.9.2. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); + * 3.9.3. The result of serializing an attribute value given attr's value + * attribute and the require well-formed flag as input; + * 3.9.4. """ (U+0022 QUOTATION MARK). + */ + result += attr.localName + "=\"" + this._serializeAttributeValue(attr.value, requireWellFormed) + "\""; - continue; } - /** - * 3.1. If the require well-formed flag is set (its value is true), and the - * localname set contains a tuple whose values match those of a new tuple - * consisting of attr's namespaceURI attribute and localName attribute, - * then throw an exception; the serialization of this attr would fail to - * produce a well-formed element serialization. - */ - if (requireWellFormed && localNameSet && localNameSet.has(attr.namespaceURI, attr.localName)) { - throw new Error("Element contains duplicate attributes (well-formed required)."); + } + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } - /** - * 3.2. Create a new tuple consisting of attr's namespaceURI attribute and - * localName attribute, and add it to the localname set. - * 3.3. Let attribute namespace be the value of attr's namespaceURI value. - * 3.4. Let candidate prefix be null. - */ - if (requireWellFormed && localNameSet) - localNameSet.set(attr.namespaceURI, attr.localName); - let attributeNamespace = attr.namespaceURI; - let candidatePrefix = null; - /** 3.5. If attribute namespace is not null, then run these sub-steps: */ - if (attributeNamespace !== null) { - /** - * 3.5.1. Let candidate prefix be the result of retrieving a preferred - * prefix string from map given namespace attribute namespace with - * preferred prefix being attr's prefix value. - */ - candidatePrefix = map.get(attr.prefix, attributeNamespace); - /** - * 3.5.2. If the value of attribute namespace is the XMLNS namespace, - * then run these steps: - */ - if (attributeNamespace === infra_1.namespace.XMLNS) { - /** - * 3.5.2.1. If any of the following are true, then stop running these - * steps and goto Loop to visit the next attribute: - * - the attr's value is the XML namespace; - * _Note:_ The XML namespace cannot be redeclared and survive - * round-tripping (unless it defines the prefix "xml"). To avoid this - * problem, this algorithm always prefixes elements in the XML - * namespace with "xml" and drops any related definitions as seen - * in the above condition. - * - the attr's prefix is null and the ignore namespace definition - * attribute flag is true (the Element's default namespace attribute - * should be skipped); - * - the attr's prefix is not null and either - * * the attr's localName is not a key contained in the local - * prefixes map, or - * * the attr's localName is present in the local prefixes map but - * the value of the key does not match attr's value - * and furthermore that the attr's localName (as the prefix to find) - * is found in the namespace prefix map given the namespace consisting - * of the attr's value (the current namespace prefix definition was - * exactly defined previously--on an ancestor element not the current - * element whose attributes are being processed). - */ - if (attr.value === infra_1.namespace.XML || - (attr.prefix === null && ignoreNamespaceDefinitionAttribute) || - (attr.prefix !== null && (!(attr.localName in localPrefixesMap) || - localPrefixesMap[attr.localName] !== attr.value) && - map.has(attr.localName, attr.value))) - continue; - /** - * 3.5.2.2. If the require well-formed flag is set (its value is true), - * and the value of attr's value attribute matches the XMLNS - * namespace, then throw an exception; the serialization of this - * attribute would produce invalid XML because the XMLNS namespace - * is reserved and cannot be applied as an element's namespace via - * XML parsing. - * - * _Note:_ DOM APIs do allow creation of elements in the XMLNS - * namespace but with strict qualifications. - */ - if (requireWellFormed && attr.value === infra_1.namespace.XMLNS) { - throw new Error("XMLNS namespace is reserved (well-formed required)."); - } - /** - * 3.5.2.3. If the require well-formed flag is set (its value is true), - * and the value of attr's value attribute is the empty string, then - * throw an exception; namespace prefix declarations cannot be used - * to undeclare a namespace (use a default namespace declaration - * instead). - */ - if (requireWellFormed && attr.value === '') { - throw new Error("Namespace prefix declarations cannot be used to undeclare a namespace (well-formed required)."); - } - /** - * 3.5.2.4. the attr's prefix matches the string "xmlns", then let - * candidate prefix be the string "xmlns". - */ - if (attr.prefix === 'xmlns') - candidatePrefix = 'xmlns'; - /** - * 3.5.3. Otherwise, the attribute namespace is not the XMLNS namespace. - * Run these steps: - * - * _Note:_ The (candidatePrefix === null) check is not in the spec. - * We deviate from the spec here. Otherwise a prefix is generated for - * all attributes with namespaces. - */ - } - else if (candidatePrefix === null) { - if (attr.prefix !== null && - (!map.hasPrefix(attr.prefix) || - map.has(attr.prefix, attributeNamespace))) { - /** - * Check if we can use the attribute's own prefix. - * We deviate from the spec here. - * TODO: This is not an efficient way of searching for prefixes. - * Follow developments to the spec. - */ - candidatePrefix = attr.prefix; - } - else { - /** - * 3.5.3.1. Let candidate prefix be the result of generating a prefix - * providing map, attribute namespace, and prefix index as input. - */ - candidatePrefix = this._generatePrefix(attributeNamespace, map, prefixIndex); - } - /** - * 3.5.3.2. Append the following to result, in the order listed: - * 3.5.3.2.1. " " (U+0020 SPACE); - * 3.5.3.2.2. The string "xmlns:"; - * 3.5.3.2.3. The value of candidate prefix; - * 3.5.3.2.4. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); - * 3.5.3.2.5. The result of serializing an attribute value given - * attribute namespace and the require well-formed flag as input; - * 3.5.3.2.6. """ (U+0022 QUOTATION MARK). - */ - result += " xmlns:" + candidatePrefix + "=\"" + - this._serializeAttributeValue(attributeNamespace, requireWellFormed) + "\""; - } - } - /** - * 3.6. Append a " " (U+0020 SPACE) to result. - * 3.7. If candidate prefix is not null, then append to result the - * concatenation of candidate prefix with ":" (U+003A COLON). - */ - result += " "; - if (candidatePrefix !== null) { - result += candidatePrefix + ':'; - } - /** - * 3.8. If the require well-formed flag is set (its value is true), and - * this attr's localName attribute contains the character - * ":" (U+003A COLON) or does not match the XML Name production or - * equals "xmlns" and attribute namespace is null, then throw an - * exception; the serialization of this attr would not be a - * well-formed attribute. - */ - if (requireWellFormed && (attr.localName.indexOf(":") !== -1 || - !(0, algorithm_1.xml_isName)(attr.localName) || - (attr.localName === "xmlns" && attributeNamespace === null))) { - throw new Error("Attribute local name contains invalid characters (well-formed required)."); - } - /** - * 3.9. Append the following strings to result, in the order listed: - * 3.9.1. The value of attr's localName; - * 3.9.2. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); - * 3.9.3. The result of serializing an attribute value given attr's value - * attribute and the require well-formed flag as input; - * 3.9.4. """ (U+0022 QUOTATION MARK). - */ - result += attr.localName + "=\"" + - this._serializeAttributeValue(attr.value, requireWellFormed) + "\""; + finally { if (e_4) throw e_4.error; } } /** * 4. Return the value of result. */ return result; - } + }; /** * Records namespace information for the given element and returns the * default namespace attribute value. @@ -31218,98 +33526,109 @@ class XMLSerializerImpl { * @param map - namespace prefix map * @param localPrefixesMap - local prefixes map */ - _recordNamespaceInformation(node, map, localPrefixesMap) { + XMLSerializerImpl.prototype._recordNamespaceInformation = function (node, map, localPrefixesMap) { + var e_5, _a; /** * 1. Let default namespace attr value be null. */ - let defaultNamespaceAttrValue = null; - /** - * 2. Main: For each attribute attr in element's attributes, in the order - * they are specified in the element's attribute list: - */ - for (const attr of node.attributes) { + var defaultNamespaceAttrValue = null; + try { /** - * _Note:_ The following conditional steps find namespace prefixes. Only - * attributes in the XMLNS namespace are considered (e.g., attributes made - * to look like namespace declarations via - * setAttribute("xmlns:pretend-prefix", "pretend-namespace") are not - * included). + * 2. Main: For each attribute attr in element's attributes, in the order + * they are specified in the element's attribute list: */ - /** 2.1. Let attribute namespace be the value of attr's namespaceURI value. */ - let attributeNamespace = attr.namespaceURI; - /** 2.2. Let attribute prefix be the value of attr's prefix. */ - let attributePrefix = attr.prefix; - /** 2.3. If the attribute namespace is the XMLNS namespace, then: */ - if (attributeNamespace === infra_1.namespace.XMLNS) { + for (var _b = __values(node.attributes), _c = _b.next(); !_c.done; _c = _b.next()) { + var attr = _c.value; /** - * 2.3.1. If attribute prefix is null, then attr is a default namespace - * declaration. Set the default namespace attr value to attr's value and - * stop running these steps, returning to Main to visit the next - * attribute. + * _Note:_ The following conditional steps find namespace prefixes. Only + * attributes in the XMLNS namespace are considered (e.g., attributes made + * to look like namespace declarations via + * setAttribute("xmlns:pretend-prefix", "pretend-namespace") are not + * included). */ - if (attributePrefix === null) { - defaultNamespaceAttrValue = attr.value; - continue; + /** 2.1. Let attribute namespace be the value of attr's namespaceURI value. */ + var attributeNamespace = attr.namespaceURI; + /** 2.2. Let attribute prefix be the value of attr's prefix. */ + var attributePrefix = attr.prefix; + /** 2.3. If the attribute namespace is the XMLNS namespace, then: */ + if (attributeNamespace === infra_1.namespace.XMLNS) { /** - * 2.3.2. Otherwise, the attribute prefix is not null and attr is a - * namespace prefix definition. Run the following steps: - */ - } - else { - /** 2.3.2.1. Let prefix definition be the value of attr's localName. */ - let prefixDefinition = attr.localName; - /** 2.3.2.2. Let namespace definition be the value of attr's value. */ - let namespaceDefinition = attr.value; - /** - * 2.3.2.3. If namespace definition is the XML namespace, then stop - * running these steps, and return to Main to visit the next + * 2.3.1. If attribute prefix is null, then attr is a default namespace + * declaration. Set the default namespace attr value to attr's value and + * stop running these steps, returning to Main to visit the next * attribute. - * - * _Note:_ XML namespace definitions in prefixes are completely - * ignored (in order to avoid unnecessary work when there might be - * prefix conflicts). XML namespaced elements are always handled - * uniformly by prefixing (and overriding if necessary) the element's - * localname with the reserved "xml" prefix. */ - if (namespaceDefinition === infra_1.namespace.XML) { + if (attributePrefix === null) { + defaultNamespaceAttrValue = attr.value; continue; + /** + * 2.3.2. Otherwise, the attribute prefix is not null and attr is a + * namespace prefix definition. Run the following steps: + */ } - /** - * 2.3.2.4. If namespace definition is the empty string (the - * declarative form of having no namespace), then let namespace - * definition be null instead. - */ - if (namespaceDefinition === '') { - namespaceDefinition = null; + else { + /** 2.3.2.1. Let prefix definition be the value of attr's localName. */ + var prefixDefinition = attr.localName; + /** 2.3.2.2. Let namespace definition be the value of attr's value. */ + var namespaceDefinition = attr.value; + /** + * 2.3.2.3. If namespace definition is the XML namespace, then stop + * running these steps, and return to Main to visit the next + * attribute. + * + * _Note:_ XML namespace definitions in prefixes are completely + * ignored (in order to avoid unnecessary work when there might be + * prefix conflicts). XML namespaced elements are always handled + * uniformly by prefixing (and overriding if necessary) the element's + * localname with the reserved "xml" prefix. + */ + if (namespaceDefinition === infra_1.namespace.XML) { + continue; + } + /** + * 2.3.2.4. If namespace definition is the empty string (the + * declarative form of having no namespace), then let namespace + * definition be null instead. + */ + if (namespaceDefinition === '') { + namespaceDefinition = null; + } + /** + * 2.3.2.5. If prefix definition is found in map given the namespace + * namespace definition, then stop running these steps, and return to + * Main to visit the next attribute. + * + * _Note:_ This step avoids adding duplicate prefix definitions for + * the same namespace in the map. This has the side-effect of avoiding + * later serialization of duplicate namespace prefix declarations in + * any descendant nodes. + */ + if (map.has(prefixDefinition, namespaceDefinition)) { + continue; + } + /** + * 2.3.2.6. Add the prefix prefix definition to map given namespace + * namespace definition. + */ + map.set(prefixDefinition, namespaceDefinition); + /** + * 2.3.2.7. Add the value of prefix definition as a new key to the + * local prefixes map, with the namespace definition as the key's + * value replacing the value of null with the empty string if + * applicable. + */ + localPrefixesMap[prefixDefinition] = namespaceDefinition || ''; } - /** - * 2.3.2.5. If prefix definition is found in map given the namespace - * namespace definition, then stop running these steps, and return to - * Main to visit the next attribute. - * - * _Note:_ This step avoids adding duplicate prefix definitions for - * the same namespace in the map. This has the side-effect of avoiding - * later serialization of duplicate namespace prefix declarations in - * any descendant nodes. - */ - if (map.has(prefixDefinition, namespaceDefinition)) { - continue; - } - /** - * 2.3.2.6. Add the prefix prefix definition to map given namespace - * namespace definition. - */ - map.set(prefixDefinition, namespaceDefinition); - /** - * 2.3.2.7. Add the value of prefix definition as a new key to the - * local prefixes map, with the namespace definition as the key's - * value replacing the value of null with the empty string if - * applicable. - */ - localPrefixesMap[prefixDefinition] = namespaceDefinition || ''; } } } + catch (e_5_1) { e_5 = { error: e_5_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_5) throw e_5.error; } + } /** * 3. Return the value of default namespace attr value. * @@ -31317,7 +33636,7 @@ class XMLSerializerImpl { * converted to null. */ return defaultNamespaceAttrValue; - } + }; /** * Generates a new prefix for the given namespace. * @@ -31325,7 +33644,7 @@ class XMLSerializerImpl { * @param prefixMap - namespace prefix map * @param prefixIndex - generated namespace prefix index */ - _generatePrefix(newNamespace, prefixMap, prefixIndex) { + XMLSerializerImpl.prototype._generatePrefix = function (newNamespace, prefixMap, prefixIndex) { /** * 1. Let generated prefix be the concatenation of the string "ns" and the * current numerical value of prefix index. @@ -31333,18 +33652,18 @@ class XMLSerializerImpl { * 3. Add to map the generated prefix given the new namespace namespace. * 4. Return the value of generated prefix. */ - let generatedPrefix = "ns" + prefixIndex.value; + var generatedPrefix = "ns" + prefixIndex.value; prefixIndex.value++; prefixMap.set(generatedPrefix, newNamespace); return generatedPrefix; - } + }; /** * Produces an XML serialization of an attribute value. * * @param value - attribute value * @param requireWellFormed - whether to check conformance */ - _serializeAttributeValue(value, requireWellFormed) { + XMLSerializerImpl.prototype._serializeAttributeValue = function (value, requireWellFormed) { /** * From: https://w3c.github.io/DOM-Parsing/#dfn-serializing-an-attribute-value * @@ -31353,7 +33672,7 @@ class XMLSerializerImpl { * production, then throw an exception; the serialization of this attribute * value would fail to produce a well-formed element serialization. */ - if (requireWellFormed && value !== null && !(0, algorithm_1.xml_isLegalChar)(value)) { + if (requireWellFormed && value !== null && !algorithm_1.xml_isLegalChar(value)) { throw new Error("Invalid characters in attribute value."); } /** @@ -31373,9 +33692,9 @@ class XMLSerializerImpl { * grammar requirement in the XML specification's AttValue production by * also replacing ">" characters. */ - let result = ""; - for (let i = 0; i < value.length; i++) { - const c = value[i]; + var result = ""; + for (var i = 0; i < value.length; i++) { + var c = value[i]; if (c === "\"") result += """; else if (c === "&") @@ -31388,14 +33707,15 @@ class XMLSerializerImpl { result += c; } return result; - } + }; /** * Produces an XML serialization of an element node. * * @param node - node to serialize * @param requireWellFormed - whether to check conformance */ - _serializeElement(node, requireWellFormed) { + XMLSerializerImpl.prototype._serializeElement = function (node, requireWellFormed) { + var e_6, _a; /** * From: https://w3c.github.io/DOM-Parsing/#xml-serializing-an-element-node * @@ -31405,7 +33725,7 @@ class XMLSerializerImpl { * serialization of this node would not be a well-formed element. */ if (requireWellFormed && (node.localName.indexOf(":") !== -1 || - !(0, algorithm_1.xml_isName)(node.localName))) { + !algorithm_1.xml_isName(node.localName))) { throw new Error("Node local name contains invalid characters (well-formed required)."); } /** @@ -31438,7 +33758,7 @@ class XMLSerializerImpl { * 9. Let inherited ns be a copy of namespace. * 10. Let ns be the value of node's namespaceURI attribute. */ - let skipEndTag = false; + var skipEndTag = false; /** 11. If inherited ns is equal to ns, then: */ /** * 11.1. If local default namespace is not null, then set ignore @@ -31448,9 +33768,9 @@ class XMLSerializerImpl { * 11.3. Otherwise, append to qualified name the value of node's * localName. The node's prefix if it exists, is dropped. */ - const qualifiedName = node.localName; + var qualifiedName = node.localName; /** 11.4. Append the value of qualified name to markup. */ - let markup = "<" + qualifiedName; + var markup = "<" + qualifiedName; /** * 13. Append to markup the result of the XML serialization of node's * attributes given map, prefix index, local prefixes map, ignore namespace @@ -31483,23 +33803,33 @@ class XMLSerializerImpl { */ if (skipEndTag) return markup; - /** - * 18. If ns is the HTML namespace, and the node's localName matches the - * string "template", then this is a template element. Append to markup the - * result of XML serializing a DocumentFragment node given the template - * element's template contents (a DocumentFragment), providing inherited - * ns, map, prefix index, and the require well-formed flag. - * - * _Note:_ This allows template content to round-trip, given the rules for - * parsing XHTML documents. - * - * 19. Otherwise, append to markup the result of running the XML - * serialization algorithm on each of node's children, in tree order, - * providing inherited ns, map, prefix index, and the require well-formed - * flag. - */ - for (const childNode of node._children) { - markup += this._serializeNode(childNode, requireWellFormed); + try { + /** + * 18. If ns is the HTML namespace, and the node's localName matches the + * string "template", then this is a template element. Append to markup the + * result of XML serializing a DocumentFragment node given the template + * element's template contents (a DocumentFragment), providing inherited + * ns, map, prefix index, and the require well-formed flag. + * + * _Note:_ This allows template content to round-trip, given the rules for + * parsing XHTML documents. + * + * 19. Otherwise, append to markup the result of running the XML + * serialization algorithm on each of node's children, in tree order, + * providing inherited ns, map, prefix index, and the require well-formed + * flag. + */ + for (var _b = __values(node._children), _c = _b.next(); !_c.done; _c = _b.next()) { + var childNode = _c.value; + markup += this._serializeNode(childNode, requireWellFormed); + } + } + catch (e_6_1) { e_6 = { error: e_6_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_6) throw e_6.error; } } /** * 20. Append the following to markup, in the order listed: @@ -31512,14 +33842,15 @@ class XMLSerializerImpl { * 21. Return the value of markup. */ return markup; - } + }; /** * Produces an XML serialization of a document node. * * @param node - node to serialize * @param requireWellFormed - whether to check conformance */ - _serializeDocument(node, requireWellFormed) { + XMLSerializerImpl.prototype._serializeDocument = function (node, requireWellFormed) { + var e_7, _a; /** * If the require well-formed flag is set (its value is true), and this node * has no documentElement (the documentElement attribute's value is null), @@ -31543,19 +33874,30 @@ class XMLSerializerImpl { * * 3. Return the value of serialized document. */ - let serializedDocument = ""; - for (const childNode of node._children) { - serializedDocument += this._serializeNode(childNode, requireWellFormed); + var serializedDocument = ""; + try { + for (var _b = __values(node._children), _c = _b.next(); !_c.done; _c = _b.next()) { + var childNode = _c.value; + serializedDocument += this._serializeNode(childNode, requireWellFormed); + } + } + catch (e_7_1) { e_7 = { error: e_7_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_7) throw e_7.error; } } return serializedDocument; - } + }; /** * Produces an XML serialization of a document fragment node. * * @param node - node to serialize * @param requireWellFormed - whether to check conformance */ - _serializeDocumentFragment(node, requireWellFormed) { + XMLSerializerImpl.prototype._serializeDocumentFragment = function (node, requireWellFormed) { + var e_8, _a; /** * 1. Let markup the empty string. * 2. For each child child of node, in tree order, run the XML serialization @@ -31563,19 +33905,30 @@ class XMLSerializerImpl { * index, and flag require well-formed. Concatenate the result to markup. * 3. Return the value of markup. */ - let markup = ""; - for (const childNode of node._children) { - markup += this._serializeNode(childNode, requireWellFormed); + var markup = ""; + try { + for (var _b = __values(node._children), _c = _b.next(); !_c.done; _c = _b.next()) { + var childNode = _c.value; + markup += this._serializeNode(childNode, requireWellFormed); + } + } + catch (e_8_1) { e_8 = { error: e_8_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_8) throw e_8.error; } } return markup; - } + }; /** * Produces an XML serialization of the attributes of an element node. * * @param node - node to serialize * @param requireWellFormed - whether to check conformance */ - _serializeAttributes(node, requireWellFormed) { + XMLSerializerImpl.prototype._serializeAttributes = function (node, requireWellFormed) { + var e_9, _a; /** * 1. Let result be the empty string. * 2. Let localname set be a new empty namespace localname set. This @@ -31586,66 +33939,80 @@ class XMLSerializerImpl { * This can occur when two otherwise identical attributes on the same * element differ only by their prefix values. */ - let result = ""; - const localNameSet = requireWellFormed ? {} : undefined; - /** - * 3. Loop: For each attribute attr in element's attributes, in the order - * they are specified in the element's attribute list: - */ - for (const attr of node.attributes) { + var result = ""; + var localNameSet = requireWellFormed ? {} : undefined; + try { /** - * 3.1. If the require well-formed flag is set (its value is true), and the - * localname set contains a tuple whose values match those of a new tuple - * consisting of attr's namespaceURI attribute and localName attribute, - * then throw an exception; the serialization of this attr would fail to - * produce a well-formed element serialization. + * 3. Loop: For each attribute attr in element's attributes, in the order + * they are specified in the element's attribute list: */ - if (requireWellFormed && localNameSet && (attr.localName in localNameSet)) { - throw new Error("Element contains duplicate attributes (well-formed required)."); + for (var _b = __values(node.attributes), _c = _b.next(); !_c.done; _c = _b.next()) { + var attr = _c.value; + /** + * 3.1. If the require well-formed flag is set (its value is true), and the + * localname set contains a tuple whose values match those of a new tuple + * consisting of attr's namespaceURI attribute and localName attribute, + * then throw an exception; the serialization of this attr would fail to + * produce a well-formed element serialization. + */ + if (requireWellFormed && localNameSet && (attr.localName in localNameSet)) { + throw new Error("Element contains duplicate attributes (well-formed required)."); + } + /** + * 3.2. Create a new tuple consisting of attr's namespaceURI attribute and + * localName attribute, and add it to the localname set. + * 3.3. Let attribute namespace be the value of attr's namespaceURI value. + * 3.4. Let candidate prefix be null. + */ + if (requireWellFormed && localNameSet) + localNameSet[attr.localName] = true; + /** 3.5. If attribute namespace is not null, then run these sub-steps: */ + /** + * 3.6. Append a " " (U+0020 SPACE) to result. + * 3.7. If candidate prefix is not null, then append to result the + * concatenation of candidate prefix with ":" (U+003A COLON). + */ + /** + * 3.8. If the require well-formed flag is set (its value is true), and + * this attr's localName attribute contains the character + * ":" (U+003A COLON) or does not match the XML Name production or + * equals "xmlns" and attribute namespace is null, then throw an + * exception; the serialization of this attr would not be a + * well-formed attribute. + */ + if (requireWellFormed && (attr.localName.indexOf(":") !== -1 || + !algorithm_1.xml_isName(attr.localName))) { + throw new Error("Attribute local name contains invalid characters (well-formed required)."); + } + /** + * 3.9. Append the following strings to result, in the order listed: + * 3.9.1. The value of attr's localName; + * 3.9.2. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); + * 3.9.3. The result of serializing an attribute value given attr's value + * attribute and the require well-formed flag as input; + * 3.9.4. """ (U+0022 QUOTATION MARK). + */ + result += " " + attr.localName + "=\"" + + this._serializeAttributeValue(attr.value, requireWellFormed) + "\""; } - /** - * 3.2. Create a new tuple consisting of attr's namespaceURI attribute and - * localName attribute, and add it to the localname set. - * 3.3. Let attribute namespace be the value of attr's namespaceURI value. - * 3.4. Let candidate prefix be null. - */ - if (requireWellFormed && localNameSet) - localNameSet[attr.localName] = true; - /** 3.5. If attribute namespace is not null, then run these sub-steps: */ - /** - * 3.6. Append a " " (U+0020 SPACE) to result. - * 3.7. If candidate prefix is not null, then append to result the - * concatenation of candidate prefix with ":" (U+003A COLON). - */ - /** - * 3.8. If the require well-formed flag is set (its value is true), and - * this attr's localName attribute contains the character - * ":" (U+003A COLON) or does not match the XML Name production or - * equals "xmlns" and attribute namespace is null, then throw an - * exception; the serialization of this attr would not be a - * well-formed attribute. - */ - if (requireWellFormed && (attr.localName.indexOf(":") !== -1 || - !(0, algorithm_1.xml_isName)(attr.localName))) { - throw new Error("Attribute local name contains invalid characters (well-formed required)."); + } + catch (e_9_1) { e_9 = { error: e_9_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } - /** - * 3.9. Append the following strings to result, in the order listed: - * 3.9.1. The value of attr's localName; - * 3.9.2. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); - * 3.9.3. The result of serializing an attribute value given attr's value - * attribute and the require well-formed flag as input; - * 3.9.4. """ (U+0022 QUOTATION MARK). - */ - result += " " + attr.localName + "=\"" + - this._serializeAttributeValue(attr.value, requireWellFormed) + "\""; + finally { if (e_9) throw e_9.error; } } /** * 4. Return the value of result. */ return result; - } -} + }; + XMLSerializerImpl._VoidElementNames = new Set(['area', 'base', 'basefont', + 'bgsound', 'br', 'col', 'embed', 'frame', 'hr', 'img', 'input', 'keygen', + 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr']); + return XMLSerializerImpl; +}()); exports.XMLSerializerImpl = XMLSerializerImpl; //# sourceMappingURL=XMLSerializerImpl.js.map @@ -31657,10 +34024,9 @@ exports.XMLSerializerImpl = XMLSerializerImpl; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.XMLSerializer = void 0; // Export classes var XMLSerializerImpl_1 = __nccwpck_require__(85039); -Object.defineProperty(exports, "XMLSerializer", ({ enumerable: true, get: function () { return XMLSerializerImpl_1.XMLSerializerImpl; } })); +exports.XMLSerializer = XMLSerializerImpl_1.XMLSerializerImpl; //# sourceMappingURL=index.js.map /***/ }), @@ -31671,26 +34037,28 @@ Object.defineProperty(exports, "XMLSerializer", ({ enumerable: true, get: functi "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Cast = void 0; -const Guard_1 = __nccwpck_require__(66862); +var Guard_1 = __nccwpck_require__(66862); /** * Contains type casts for DOM objects. */ -class Cast { +var Cast = /** @class */ (function () { + function Cast() { + } /** * Casts the given object to a `Node`. * * @param a - the object to cast */ - static asNode(a) { + Cast.asNode = function (a) { if (Guard_1.Guard.isNode(a)) { return a; } else { throw new Error("Invalid object. Node expected."); } - } -} + }; + return Cast; +}()); exports.Cast = Cast; //# sourceMappingURL=Cast.js.map @@ -31702,51 +34070,64 @@ exports.Cast = Cast; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.EmptySet = void 0; -class EmptySet { - get size() { - return 0; +var EmptySet = /** @class */ (function () { + function EmptySet() { } - add(value) { + Object.defineProperty(EmptySet.prototype, "size", { + get: function () { + return 0; + }, + enumerable: true, + configurable: true + }); + EmptySet.prototype.add = function (value) { throw new Error("Cannot add to an empty set."); - } - clear() { + }; + EmptySet.prototype.clear = function () { // no-op - } - delete(value) { + }; + EmptySet.prototype.delete = function (value) { return false; - } - forEach(callbackfn, thisArg) { + }; + EmptySet.prototype.forEach = function (callbackfn, thisArg) { // no-op - } - has(value) { + }; + EmptySet.prototype.has = function (value) { return false; - } - [Symbol.iterator]() { + }; + EmptySet.prototype[Symbol.iterator] = function () { return new EmptySetIterator(); - } - entries() { + }; + EmptySet.prototype.entries = function () { return new EmptySetIterator(); - } - keys() { + }; + EmptySet.prototype.keys = function () { return new EmptySetIterator(); - } - values() { + }; + EmptySet.prototype.values = function () { return new EmptySetIterator(); - } - get [Symbol.toStringTag]() { - return "EmptySet"; - } -} + }; + Object.defineProperty(EmptySet.prototype, Symbol.toStringTag, { + get: function () { + return "EmptySet"; + }, + enumerable: true, + configurable: true + }); + return EmptySet; +}()); exports.EmptySet = EmptySet; -class EmptySetIterator { - [Symbol.iterator]() { +var EmptySetIterator = /** @class */ (function () { + function EmptySetIterator() { + } + EmptySetIterator.prototype[Symbol.iterator] = function () { return this; - } - next() { + }; + EmptySetIterator.prototype.next = function () { return { done: true, value: null }; - } -} + }; + return EmptySetIterator; +}()); //# sourceMappingURL=EmptySet.js.map /***/ }), @@ -31757,138 +34138,139 @@ class EmptySetIterator { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Guard = void 0; -const interfaces_1 = __nccwpck_require__(27305); +var interfaces_1 = __nccwpck_require__(27305); /** * Contains user-defined type guards for DOM objects. */ -class Guard { +var Guard = /** @class */ (function () { + function Guard() { + } /** * Determines if the given object is a `Node`. * * @param a - the object to check */ - static isNode(a) { + Guard.isNode = function (a) { return (!!a && a._nodeType !== undefined); - } + }; /** * Determines if the given object is a `Document`. * * @param a - the object to check */ - static isDocumentNode(a) { + Guard.isDocumentNode = function (a) { return (Guard.isNode(a) && a._nodeType === interfaces_1.NodeType.Document); - } + }; /** * Determines if the given object is a `DocumentType`. * * @param a - the object to check */ - static isDocumentTypeNode(a) { + Guard.isDocumentTypeNode = function (a) { return (Guard.isNode(a) && a._nodeType === interfaces_1.NodeType.DocumentType); - } + }; /** * Determines if the given object is a `DocumentFragment`. * * @param a - the object to check */ - static isDocumentFragmentNode(a) { + Guard.isDocumentFragmentNode = function (a) { return (Guard.isNode(a) && a._nodeType === interfaces_1.NodeType.DocumentFragment); - } + }; /** * Determines if the given object is a `Attr`. * * @param a - the object to check */ - static isAttrNode(a) { + Guard.isAttrNode = function (a) { return (Guard.isNode(a) && a._nodeType === interfaces_1.NodeType.Attribute); - } + }; /** * Determines if the given node is a `CharacterData` node. * * @param a - the object to check */ - static isCharacterDataNode(a) { + Guard.isCharacterDataNode = function (a) { if (!Guard.isNode(a)) return false; - const type = a._nodeType; + var type = a._nodeType; return (type === interfaces_1.NodeType.Text || type === interfaces_1.NodeType.ProcessingInstruction || type === interfaces_1.NodeType.Comment || type === interfaces_1.NodeType.CData); - } + }; /** * Determines if the given object is a `Text` or a `CDATASection`. * * @param a - the object to check */ - static isTextNode(a) { + Guard.isTextNode = function (a) { return (Guard.isNode(a) && (a._nodeType === interfaces_1.NodeType.Text || a._nodeType === interfaces_1.NodeType.CData)); - } + }; /** * Determines if the given object is a `Text`. * * @param a - the object to check */ - static isExclusiveTextNode(a) { + Guard.isExclusiveTextNode = function (a) { return (Guard.isNode(a) && a._nodeType === interfaces_1.NodeType.Text); - } + }; /** * Determines if the given object is a `CDATASection`. * * @param a - the object to check */ - static isCDATASectionNode(a) { + Guard.isCDATASectionNode = function (a) { return (Guard.isNode(a) && a._nodeType === interfaces_1.NodeType.CData); - } + }; /** * Determines if the given object is a `Comment`. * * @param a - the object to check */ - static isCommentNode(a) { + Guard.isCommentNode = function (a) { return (Guard.isNode(a) && a._nodeType === interfaces_1.NodeType.Comment); - } + }; /** * Determines if the given object is a `ProcessingInstruction`. * * @param a - the object to check */ - static isProcessingInstructionNode(a) { + Guard.isProcessingInstructionNode = function (a) { return (Guard.isNode(a) && a._nodeType === interfaces_1.NodeType.ProcessingInstruction); - } + }; /** * Determines if the given object is an `Element`. * * @param a - the object to check */ - static isElementNode(a) { + Guard.isElementNode = function (a) { return (Guard.isNode(a) && a._nodeType === interfaces_1.NodeType.Element); - } + }; /** * Determines if the given object is a custom `Element`. * * @param a - the object to check */ - static isCustomElementNode(a) { + Guard.isCustomElementNode = function (a) { return (Guard.isElementNode(a) && a._customElementState === "custom"); - } + }; /** * Determines if the given object is a `ShadowRoot`. * * @param a - the object to check */ - static isShadowRoot(a) { + Guard.isShadowRoot = function (a) { return (!!a && a.host !== undefined); - } + }; /** * Determines if the given object is a `MouseEvent`. * * @param a - the object to check */ - static isMouseEvent(a) { + Guard.isMouseEvent = function (a) { return (!!a && a.screenX !== undefined && a.screenY != undefined); - } + }; /** * Determines if the given object is a slotable. * @@ -31897,52 +34279,53 @@ class Guard { * * @param a - the object to check */ - static isSlotable(a) { + Guard.isSlotable = function (a) { return (!!a && a._name !== undefined && a._assignedSlot !== undefined && (Guard.isTextNode(a) || Guard.isElementNode(a))); - } + }; /** * Determines if the given object is a slot. * * @param a - the object to check */ - static isSlot(a) { + Guard.isSlot = function (a) { return (!!a && a._name !== undefined && a._assignedNodes !== undefined && Guard.isElementNode(a)); - } + }; /** * Determines if the given object is a `Window`. * * @param a - the object to check */ - static isWindow(a) { + Guard.isWindow = function (a) { return (!!a && a.navigator !== undefined); - } + }; /** * Determines if the given object is an `EventListener`. * * @param a - the object to check */ - static isEventListener(a) { + Guard.isEventListener = function (a) { return (!!a && a.handleEvent !== undefined); - } + }; /** * Determines if the given object is a `RegisteredObserver`. * * @param a - the object to check */ - static isRegisteredObserver(a) { + Guard.isRegisteredObserver = function (a) { return (!!a && a.observer !== undefined && a.options !== undefined); - } + }; /** * Determines if the given object is a `TransientRegisteredObserver`. * * @param a - the object to check */ - static isTransientRegisteredObserver(a) { + Guard.isTransientRegisteredObserver = function (a) { return (!!a && a.source !== undefined && Guard.isRegisteredObserver(a)); - } -} + }; + return Guard; +}()); exports.Guard = Guard; //# sourceMappingURL=Guard.js.map @@ -31954,13 +34337,12 @@ exports.Guard = Guard; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.EmptySet = exports.Guard = exports.Cast = void 0; var Cast_1 = __nccwpck_require__(75483); -Object.defineProperty(exports, "Cast", ({ enumerable: true, get: function () { return Cast_1.Cast; } })); +exports.Cast = Cast_1.Cast; var Guard_1 = __nccwpck_require__(66862); -Object.defineProperty(exports, "Guard", ({ enumerable: true, get: function () { return Guard_1.Guard; } })); +exports.Guard = Guard_1.Guard; var EmptySet_1 = __nccwpck_require__(88392); -Object.defineProperty(exports, "EmptySet", ({ enumerable: true, get: function () { return EmptySet_1.EmptySet; } })); +exports.EmptySet = EmptySet_1.EmptySet; //# sourceMappingURL=index.js.map /***/ }), @@ -31971,9 +34353,7 @@ Object.defineProperty(exports, "EmptySet", ({ enumerable: true, get: function () "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.forgivingBase64Encode = forgivingBase64Encode; -exports.forgivingBase64Decode = forgivingBase64Decode; -const CodePoints_1 = __nccwpck_require__(28548); +var CodePoints_1 = __nccwpck_require__(28548); /** * Base-64 encodes the given string. * @@ -31987,6 +34367,7 @@ function forgivingBase64Encode(input) { */ return Buffer.from(input).toString('base64'); } +exports.forgivingBase64Encode = forgivingBase64Encode; /** * Decodes a base-64 string. * @@ -32050,6 +34431,7 @@ function forgivingBase64Decode(input) { */ return Buffer.from(input, 'base64').toString('utf8'); } +exports.forgivingBase64Decode = forgivingBase64Decode; //# sourceMappingURL=Base64.js.map /***/ }), @@ -32060,7 +34442,6 @@ function forgivingBase64Decode(input) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.isASCIIByte = isASCIIByte; /** * Determines if the given number is an ASCII byte. * @@ -32072,23 +34453,37 @@ function isASCIIByte(byte) { */ return byte >= 0x00 && byte <= 0x7F; } +exports.isASCIIByte = isASCIIByte; //# sourceMappingURL=Byte.js.map /***/ }), /***/ 71627: -/***/ ((__unused_webpack_module, exports) => { +/***/ (function(__unused_webpack_module, exports) { "use strict"; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __spread = (this && this.__spread) || function () { + for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); + return ar; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.length = length; -exports.byteLowercase = byteLowercase; -exports.byteUppercase = byteUppercase; -exports.byteCaseInsensitiveMatch = byteCaseInsensitiveMatch; -exports.startsWith = startsWith; -exports.byteLessThan = byteLessThan; -exports.isomorphicDecode = isomorphicDecode; /** * Returns the count of bytes in a sequence. * @@ -32100,6 +34495,7 @@ function length(list) { */ return list.length; } +exports.length = length; /** * Converts each byte to lowercase. * @@ -32110,13 +34506,14 @@ function byteLowercase(list) { * To byte-lowercase a byte sequence, increase each byte it contains, in the * range 0x41 (A) to 0x5A (Z), inclusive, by 0x20. */ - for (let i = 0; i < list.length; i++) { - const c = list[i]; + for (var i = 0; i < list.length; i++) { + var c = list[i]; if (c >= 0x41 && c <= 0x5A) { list[i] = c + 0x20; } } } +exports.byteLowercase = byteLowercase; /** * Converts each byte to uppercase. * @@ -32127,13 +34524,14 @@ function byteUppercase(list) { * To byte-uppercase a byte sequence, subtract each byte it contains, in the * range 0x61 (a) to 0x7A (z), inclusive, by 0x20. */ - for (let i = 0; i < list.length; i++) { - const c = list[i]; + for (var i = 0; i < list.length; i++) { + var c = list[i]; if (c >= 0x61 && c <= 0x7A) { list[i] = c - 0x20; } } } +exports.byteUppercase = byteUppercase; /** * Compares two byte sequences. * @@ -32147,9 +34545,9 @@ function byteCaseInsensitiveMatch(listA, listB) { */ if (listA.length !== listB.length) return false; - for (let i = 0; i < listA.length; i++) { - let a = listA[i]; - let b = listB[i]; + for (var i = 0; i < listA.length; i++) { + var a = listA[i]; + var b = listB[i]; if (a >= 0x41 && a <= 0x5A) a += 0x20; if (b >= 0x41 && b <= 0x5A) @@ -32159,6 +34557,7 @@ function byteCaseInsensitiveMatch(listA, listB) { } return true; } +exports.byteCaseInsensitiveMatch = byteCaseInsensitiveMatch; /** * Determines if `listA` starts with `listB`. * @@ -32175,7 +34574,7 @@ function startsWith(listA, listB) { * 2.5. Return false if aByte is not bByte. * 2.6. Set i to i + 1. */ - let i = 0; + var i = 0; while (true) { if (i >= listA.length) return false; @@ -32186,6 +34585,7 @@ function startsWith(listA, listB) { i++; } } +exports.startsWith = startsWith; /** * Determines if `listA` is less than `listB`. * @@ -32202,14 +34602,14 @@ function byteLessThan(listA, listB) { * 4. If the nth byte of a is less than the nth byte of b, then return true. * 5. Return false. */ - let i = 0; + var i = 0; while (true) { if (i >= listA.length) return false; if (i >= listB.length) return true; - const a = listA[i]; - const b = listB[i]; + var a = listA[i]; + var b = listB[i]; if (a < b) return true; else if (a > b) @@ -32217,6 +34617,7 @@ function byteLessThan(listA, listB) { i++; } } +exports.byteLessThan = byteLessThan; /** * Decodes a byte sequence into a string. * @@ -32228,8 +34629,9 @@ function isomorphicDecode(list) { * equal to input’s length and whose code points have the same values as * input’s bytes, in the same order. */ - return String.fromCodePoint(...list); + return String.fromCodePoint.apply(String, __spread(list)); } +exports.isomorphicDecode = isomorphicDecode; //# sourceMappingURL=ByteSequence.js.map /***/ }), @@ -32240,7 +34642,6 @@ function isomorphicDecode(list) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ASCIIAlphanumeric = exports.ASCIIAlpha = exports.ASCIILowerAlpha = exports.ASCIIUpperAlpha = exports.ASCIIHexDigit = exports.ASCIILowerHexDigit = exports.ASCIIUpperHexDigit = exports.ASCIIDigit = exports.Control = exports.C0ControlOrSpace = exports.C0Control = exports.ASCIIWhiteSpace = exports.ASCIITabOrNewLine = exports.ASCIICodePoint = exports.NonCharacter = exports.ScalarValue = exports.Surrogate = void 0; /** * A surrogate is a code point that is in the range U+D800 to U+DFFF, inclusive. */ @@ -32328,16 +34729,23 @@ exports.ASCIIAlphanumeric = /[0-9A-Za-z]/; /***/ }), /***/ 99387: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.parseJSONFromBytes = parseJSONFromBytes; -exports.serializeJSONToBytes = serializeJSONToBytes; -exports.parseJSONIntoInfraValues = parseJSONIntoInfraValues; -exports.convertAJSONDerivedJavaScriptValueToAnInfraValue = convertAJSONDerivedJavaScriptValueToAnInfraValue; -const util_1 = __nccwpck_require__(76195); +var util_1 = __nccwpck_require__(76195); /** * Parses the given byte sequence representing a JSON string into an object. * @@ -32348,9 +34756,10 @@ function parseJSONFromBytes(bytes) { * 1. Let jsonText be the result of running UTF-8 decode on bytes. [ENCODING] * 2. Return ? Call(%JSONParse%, undefined, « jsonText »). */ - const jsonText = (0, util_1.utf8Decode)(bytes); + var jsonText = util_1.utf8Decode(bytes); return JSON.parse.call(undefined, jsonText); } +exports.parseJSONFromBytes = parseJSONFromBytes; /** * Serialize the given JavaScript value into a byte sequence. * @@ -32361,9 +34770,10 @@ function serializeJSONToBytes(value) { * 1. Let jsonString be ? Call(%JSONStringify%, undefined, « value »). * 2. Return the result of running UTF-8 encode on jsonString. [ENCODING] */ - const jsonString = JSON.stringify.call(undefined, value); - return (0, util_1.utf8Encode)(jsonString); + var jsonString = JSON.stringify.call(undefined, value); + return util_1.utf8Encode(jsonString); } +exports.serializeJSONToBytes = serializeJSONToBytes; /** * Parses the given JSON string into a Realm-independent JavaScript value. * @@ -32375,19 +34785,21 @@ function parseJSONIntoInfraValues(jsonText) { * 2. Return the result of converting a JSON-derived JavaScript value to an * Infra value, given jsValue. */ - const jsValue = JSON.parse.call(undefined, jsonText); + var jsValue = JSON.parse.call(undefined, jsonText); return convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValue); } +exports.parseJSONIntoInfraValues = parseJSONIntoInfraValues; /** * Parses the value into a Realm-independent JavaScript value. * * @param jsValue - a JavaScript value */ function convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValue) { + var e_1, _a; /** * 1. If Type(jsValue) is Null, String, or Number, then return jsValue. */ - if (jsValue === null || (0, util_1.isString)(jsValue) || (0, util_1.isNumber)(jsValue)) + if (jsValue === null || util_1.isString(jsValue) || util_1.isNumber(jsValue)) return jsValue; /** * 2. If IsArray(jsValue) is true, then: @@ -32401,14 +34813,24 @@ function convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValue) { * 2.3.4. Append infraValueAtIndex to result. * 2.8. Return result. */ - if ((0, util_1.isArray)(jsValue)) { - const result = new Array(); - for (const jsValueAtIndex of jsValue) { - result.push(convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValueAtIndex)); + if (util_1.isArray(jsValue)) { + var result = new Array(); + try { + for (var jsValue_1 = __values(jsValue), jsValue_1_1 = jsValue_1.next(); !jsValue_1_1.done; jsValue_1_1 = jsValue_1.next()) { + var jsValueAtIndex = jsValue_1_1.value; + result.push(convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValueAtIndex)); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (jsValue_1_1 && !jsValue_1_1.done && (_a = jsValue_1.return)) _a.call(jsValue_1); + } + finally { if (e_1) throw e_1.error; } } return result; } - else if ((0, util_1.isObject)(jsValue)) { + else if (util_1.isObject(jsValue)) { /** * 3. Let result be an empty ordered map. * 4. For each key of ! jsValue.[[OwnPropertyKeys]](): @@ -32418,11 +34840,11 @@ function convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValue) { * 4.3. Set result[key] to infraValueAtKey. * 5. Return result. */ - const result = new Map(); - for (const key in jsValue) { + var result = new Map(); + for (var key in jsValue) { /* istanbul ignore else */ if (jsValue.hasOwnProperty(key)) { - const jsValueAtKey = jsValue[key]; + var jsValueAtKey = jsValue[key]; result.set(key, convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValueAtKey)); } } @@ -32431,31 +34853,76 @@ function convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValue) { /* istanbul ignore next */ return jsValue; } +exports.convertAJSONDerivedJavaScriptValueToAnInfraValue = convertAJSONDerivedJavaScriptValueToAnInfraValue; //# sourceMappingURL=JSON.js.map /***/ }), /***/ 20340: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __spread = (this && this.__spread) || function () { + for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); + return ar; +}; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.append = append; -exports.extend = extend; -exports.prepend = prepend; -exports.replace = replace; -exports.insert = insert; -exports.remove = remove; -exports.empty = empty; -exports.contains = contains; -exports.size = size; -exports.isEmpty = isEmpty; -exports.forEach = forEach; -exports.clone = clone; -exports.sortInAscendingOrder = sortInAscendingOrder; -exports.sortInDescendingOrder = sortInDescendingOrder; -const util_1 = __nccwpck_require__(76195); +var util_1 = __nccwpck_require__(76195); /** * Adds the given item to the end of the list. * @@ -32465,6 +34932,7 @@ const util_1 = __nccwpck_require__(76195); function append(list, item) { list.push(item); } +exports.append = append; /** * Extends a list by appending all items from another list. * @@ -32472,8 +34940,9 @@ function append(list, item) { * @param listB - a list containing items to append to `listA` */ function extend(listA, listB) { - listA.push(...listB); + listA.push.apply(listA, __spread(listB)); } +exports.extend = extend; /** * Inserts the given item to the start of the list. * @@ -32483,6 +34952,7 @@ function extend(listA, listB) { function prepend(list, item) { list.unshift(item); } +exports.prepend = prepend; /** * Replaces the given item or all items matching condition with a new item. * @@ -32492,20 +34962,32 @@ function prepend(list, item) { * @param item - an item */ function replace(list, conditionOrItem, newItem) { - let i = 0; - for (const oldItem of list) { - if ((0, util_1.isFunction)(conditionOrItem)) { - if (!!conditionOrItem.call(null, oldItem)) { - list[i] = newItem; + var e_1, _a; + var i = 0; + try { + for (var list_1 = __values(list), list_1_1 = list_1.next(); !list_1_1.done; list_1_1 = list_1.next()) { + var oldItem = list_1_1.value; + if (util_1.isFunction(conditionOrItem)) { + if (!!conditionOrItem.call(null, oldItem)) { + list[i] = newItem; + } } + else if (oldItem === conditionOrItem) { + list[i] = newItem; + return; + } + i++; } - else if (oldItem === conditionOrItem) { - list[i] = newItem; - return; + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (list_1_1 && !list_1_1.done && (_a = list_1.return)) _a.call(list_1); } - i++; + finally { if (e_1) throw e_1.error; } } } +exports.replace = replace; /** * Inserts the given item before the given index. * @@ -32515,6 +34997,7 @@ function replace(list, conditionOrItem, newItem) { function insert(list, item, index) { list.splice(index, 0, item); } +exports.insert = insert; /** * Removes the given item or all items matching condition. * @@ -32523,10 +35006,10 @@ function insert(list, item, index) { * to remove */ function remove(list, conditionOrItem) { - let i = list.length; + var i = list.length; while (i--) { - const oldItem = list[i]; - if ((0, util_1.isFunction)(conditionOrItem)) { + var oldItem = list[i]; + if (util_1.isFunction(conditionOrItem)) { if (!!conditionOrItem.call(null, oldItem)) { list.splice(i, 1); } @@ -32537,12 +35020,14 @@ function remove(list, conditionOrItem) { } } } +exports.remove = remove; /** * Removes all items from the list. */ function empty(list) { list.length = 0; } +exports.empty = empty; /** * Determines if the list contains the given item or any items matching * condition. @@ -32551,18 +35036,30 @@ function empty(list) { * @param conditionOrItem - an item to a condition to match */ function contains(list, conditionOrItem) { - for (const oldItem of list) { - if ((0, util_1.isFunction)(conditionOrItem)) { - if (!!conditionOrItem.call(null, oldItem)) { + var e_2, _a; + try { + for (var list_2 = __values(list), list_2_1 = list_2.next(); !list_2_1.done; list_2_1 = list_2.next()) { + var oldItem = list_2_1.value; + if (util_1.isFunction(conditionOrItem)) { + if (!!conditionOrItem.call(null, oldItem)) { + return true; + } + } + else if (oldItem === conditionOrItem) { return true; } } - else if (oldItem === conditionOrItem) { - return true; + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (list_2_1 && !list_2_1.done && (_a = list_2.return)) _a.call(list_2); } + finally { if (e_2) throw e_2.error; } } return false; } +exports.contains = contains; /** * Returns the count of items in the list matching the given condition. * @@ -32570,19 +35067,31 @@ function contains(list, conditionOrItem) { * @param condition - an optional condition to match */ function size(list, condition) { + var e_3, _a; if (condition === undefined) { return list.length; } else { - let count = 0; - for (const item of list) { - if (!!condition.call(null, item)) { - count++; + var count = 0; + try { + for (var list_3 = __values(list), list_3_1 = list_3.next(); !list_3_1.done; list_3_1 = list_3.next()) { + var item = list_3_1.value; + if (!!condition.call(null, item)) { + count++; + } } } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (list_3_1 && !list_3_1.done && (_a = list_3.return)) _a.call(list_3); + } + finally { if (e_3) throw e_3.error; } + } return count; } } +exports.size = size; /** * Determines if the list is empty. * @@ -32591,32 +35100,64 @@ function size(list, condition) { function isEmpty(list) { return list.length === 0; } +exports.isEmpty = isEmpty; /** * Returns an iterator for the items of the list. * * @param list - a list * @param condition - an optional condition to match */ -function* forEach(list, condition) { - if (condition === undefined) { - yield* list; - } - else { - for (const item of list) { - if (!!condition.call(null, item)) { - yield item; - } +function forEach(list, condition) { + var list_4, list_4_1, item, e_4_1; + var e_4, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + if (!(condition === undefined)) return [3 /*break*/, 2]; + return [5 /*yield**/, __values(list)]; + case 1: + _b.sent(); + return [3 /*break*/, 9]; + case 2: + _b.trys.push([2, 7, 8, 9]); + list_4 = __values(list), list_4_1 = list_4.next(); + _b.label = 3; + case 3: + if (!!list_4_1.done) return [3 /*break*/, 6]; + item = list_4_1.value; + if (!!!condition.call(null, item)) return [3 /*break*/, 5]; + return [4 /*yield*/, item]; + case 4: + _b.sent(); + _b.label = 5; + case 5: + list_4_1 = list_4.next(); + return [3 /*break*/, 3]; + case 6: return [3 /*break*/, 9]; + case 7: + e_4_1 = _b.sent(); + e_4 = { error: e_4_1 }; + return [3 /*break*/, 9]; + case 8: + try { + if (list_4_1 && !list_4_1.done && (_a = list_4.return)) _a.call(list_4); + } + finally { if (e_4) throw e_4.error; } + return [7 /*endfinally*/]; + case 9: return [2 /*return*/]; } - } + }); } +exports.forEach = forEach; /** * Creates and returns a shallow clone of list. * * @param list - a list */ function clone(list) { - return new Array(...list); + return new (Array.bind.apply(Array, __spread([void 0], list)))(); } +exports.clone = clone; /** * Returns a new list containing items from the list sorted in ascending * order. @@ -32626,8 +35167,11 @@ function clone(list) { * is less than its second argument, and `false` otherwise. */ function sortInAscendingOrder(list, lessThanAlgo) { - return list.sort((itemA, itemB) => lessThanAlgo.call(null, itemA, itemB) ? -1 : 1); + return list.sort(function (itemA, itemB) { + return lessThanAlgo.call(null, itemA, itemB) ? -1 : 1; + }); } +exports.sortInAscendingOrder = sortInAscendingOrder; /** * Returns a new list containing items from the list sorted in descending * order. @@ -32637,31 +35181,80 @@ function sortInAscendingOrder(list, lessThanAlgo) { * is less than its second argument, and `false` otherwise. */ function sortInDescendingOrder(list, lessThanAlgo) { - return list.sort((itemA, itemB) => lessThanAlgo.call(null, itemA, itemB) ? 1 : -1); + return list.sort(function (itemA, itemB) { + return lessThanAlgo.call(null, itemA, itemB) ? 1 : -1; + }); } +exports.sortInDescendingOrder = sortInDescendingOrder; //# sourceMappingURL=List.js.map /***/ }), /***/ 22298: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __spread = (this && this.__spread) || function () { + for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); + return ar; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.get = get; -exports.set = set; -exports.remove = remove; -exports.contains = contains; -exports.keys = keys; -exports.values = values; -exports.size = size; -exports.isEmpty = isEmpty; -exports.forEach = forEach; -exports.clone = clone; -exports.sortInAscendingOrder = sortInAscendingOrder; -exports.sortInDescendingOrder = sortInDescendingOrder; -const util_1 = __nccwpck_require__(76195); +var util_1 = __nccwpck_require__(76195); /** * Gets the value corresponding to the given key. * @@ -32671,6 +35264,7 @@ const util_1 = __nccwpck_require__(76195); function get(map, key) { return map.get(key); } +exports.get = get; /** * Sets the value corresponding to the given key. * @@ -32681,6 +35275,7 @@ function get(map, key) { function set(map, key, val) { map.set(key, val); } +exports.set = set; /** * Removes the item with the given key or all items matching condition. * @@ -32689,21 +35284,43 @@ function set(map, key, val) { * items to remove */ function remove(map, conditionOrItem) { - if (!(0, util_1.isFunction)(conditionOrItem)) { + var e_1, _a, e_2, _b; + if (!util_1.isFunction(conditionOrItem)) { map.delete(conditionOrItem); } else { - const toRemove = []; - for (const item of map) { - if (!!conditionOrItem.call(null, item)) { - toRemove.push(item[0]); + var toRemove = []; + try { + for (var map_1 = __values(map), map_1_1 = map_1.next(); !map_1_1.done; map_1_1 = map_1.next()) { + var item = map_1_1.value; + if (!!conditionOrItem.call(null, item)) { + toRemove.push(item[0]); + } } } - for (const key of toRemove) { - map.delete(key); + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (map_1_1 && !map_1_1.done && (_a = map_1.return)) _a.call(map_1); + } + finally { if (e_1) throw e_1.error; } + } + try { + for (var toRemove_1 = __values(toRemove), toRemove_1_1 = toRemove_1.next(); !toRemove_1_1.done; toRemove_1_1 = toRemove_1.next()) { + var key = toRemove_1_1.value; + map.delete(key); + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (toRemove_1_1 && !toRemove_1_1.done && (_b = toRemove_1.return)) _b.call(toRemove_1); + } + finally { if (e_2) throw e_2.error; } } } } +exports.remove = remove; /** * Determines if the map contains a value with the given key. * @@ -32712,18 +35329,30 @@ function remove(map, conditionOrItem) { * items */ function contains(map, conditionOrItem) { - if (!(0, util_1.isFunction)(conditionOrItem)) { + var e_3, _a; + if (!util_1.isFunction(conditionOrItem)) { return map.has(conditionOrItem); } else { - for (const item of map) { - if (!!conditionOrItem.call(null, item)) { - return true; + try { + for (var map_2 = __values(map), map_2_1 = map_2.next(); !map_2_1.done; map_2_1 = map_2.next()) { + var item = map_2_1.value; + if (!!conditionOrItem.call(null, item)) { + return true; + } } } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (map_2_1 && !map_2_1.done && (_a = map_2.return)) _a.call(map_2); + } + finally { if (e_3) throw e_3.error; } + } return false; } } +exports.contains = contains; /** * Gets the keys of the map. * @@ -32732,14 +35361,16 @@ function contains(map, conditionOrItem) { function keys(map) { return new Set(map.keys()); } +exports.keys = keys; /** * Gets the values of the map. * * @param map - a map */ function values(map) { - return [...map.values()]; + return __spread(map.values()); } +exports.values = values; /** * Gets the size of the map. * @@ -32747,19 +35378,31 @@ function values(map) { * @param condition - an optional condition to match */ function size(map, condition) { + var e_4, _a; if (condition === undefined) { return map.size; } else { - let count = 0; - for (const item of map) { - if (!!condition.call(null, item)) { - count++; + var count = 0; + try { + for (var map_3 = __values(map), map_3_1 = map_3.next(); !map_3_1.done; map_3_1 = map_3.next()) { + var item = map_3_1.value; + if (!!condition.call(null, item)) { + count++; + } } } + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (map_3_1 && !map_3_1.done && (_a = map_3.return)) _a.call(map_3); + } + finally { if (e_4) throw e_4.error; } + } return count; } } +exports.size = size; /** * Determines if the map is empty. * @@ -32768,24 +35411,55 @@ function size(map, condition) { function isEmpty(map) { return map.size === 0; } +exports.isEmpty = isEmpty; /** * Returns an iterator for the items of the map. * * @param map - a map * @param condition - an optional condition to match */ -function* forEach(map, condition) { - if (condition === undefined) { - yield* map; - } - else { - for (const item of map) { - if (!!condition.call(null, item)) { - yield item; - } +function forEach(map, condition) { + var map_4, map_4_1, item, e_5_1; + var e_5, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + if (!(condition === undefined)) return [3 /*break*/, 2]; + return [5 /*yield**/, __values(map)]; + case 1: + _b.sent(); + return [3 /*break*/, 9]; + case 2: + _b.trys.push([2, 7, 8, 9]); + map_4 = __values(map), map_4_1 = map_4.next(); + _b.label = 3; + case 3: + if (!!map_4_1.done) return [3 /*break*/, 6]; + item = map_4_1.value; + if (!!!condition.call(null, item)) return [3 /*break*/, 5]; + return [4 /*yield*/, item]; + case 4: + _b.sent(); + _b.label = 5; + case 5: + map_4_1 = map_4.next(); + return [3 /*break*/, 3]; + case 6: return [3 /*break*/, 9]; + case 7: + e_5_1 = _b.sent(); + e_5 = { error: e_5_1 }; + return [3 /*break*/, 9]; + case 8: + try { + if (map_4_1 && !map_4_1.done && (_a = map_4.return)) _a.call(map_4); + } + finally { if (e_5) throw e_5.error; } + return [7 /*endfinally*/]; + case 9: return [2 /*return*/]; } - } + }); } +exports.forEach = forEach; /** * Creates and returns a shallow clone of map. * @@ -32794,6 +35468,7 @@ function* forEach(map, condition) { function clone(map) { return new Map(map); } +exports.clone = clone; /** * Returns a new map containing items from the map sorted in ascending * order. @@ -32803,10 +35478,13 @@ function clone(map) { * is less than its second argument, and `false` otherwise. */ function sortInAscendingOrder(map, lessThanAlgo) { - const list = new Array(...map); - list.sort((itemA, itemB) => lessThanAlgo.call(null, itemA, itemB) ? -1 : 1); + var list = new (Array.bind.apply(Array, __spread([void 0], map)))(); + list.sort(function (itemA, itemB) { + return lessThanAlgo.call(null, itemA, itemB) ? -1 : 1; + }); return new Map(list); } +exports.sortInAscendingOrder = sortInAscendingOrder; /** * Returns a new map containing items from the map sorted in descending * order. @@ -32816,10 +35494,13 @@ function sortInAscendingOrder(map, lessThanAlgo) { * is less than its second argument, and `false` otherwise. */ function sortInDescendingOrder(map, lessThanAlgo) { - const list = new Array(...map); - list.sort((itemA, itemB) => lessThanAlgo.call(null, itemA, itemB) ? 1 : -1); + var list = new (Array.bind.apply(Array, __spread([void 0], map)))(); + list.sort(function (itemA, itemB) { + return lessThanAlgo.call(null, itemA, itemB) ? 1 : -1; + }); return new Map(list); } +exports.sortInDescendingOrder = sortInDescendingOrder; //# sourceMappingURL=Map.js.map /***/ }), @@ -32830,7 +35511,6 @@ function sortInDescendingOrder(map, lessThanAlgo) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.XLink = exports.SVG = exports.MathML = exports.XMLNS = exports.XML = exports.HTML = void 0; exports.HTML = "http://www.w3.org/1999/xhtml"; exports.XML = "http://www.w3.org/XML/1998/namespace"; exports.XMLNS = "http://www.w3.org/2000/xmlns/"; @@ -32847,8 +35527,6 @@ exports.XLink = "http://www.w3.org/1999/xlink"; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.enqueue = enqueue; -exports.dequeue = dequeue; /** * Appends the given item to the queue. * @@ -32858,6 +35536,7 @@ exports.dequeue = dequeue; function enqueue(list, item) { list.push(item); } +exports.enqueue = enqueue; /** * Removes and returns an item from the queue. * @@ -32866,36 +35545,76 @@ function enqueue(list, item) { function dequeue(list) { return list.shift() || null; } +exports.dequeue = dequeue; //# sourceMappingURL=Queue.js.map /***/ }), /***/ 35931: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __spread = (this && this.__spread) || function () { + for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); + return ar; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.append = append; -exports.extend = extend; -exports.prepend = prepend; -exports.replace = replace; -exports.insert = insert; -exports.remove = remove; -exports.empty = empty; -exports.contains = contains; -exports.size = size; -exports.isEmpty = isEmpty; -exports.forEach = forEach; -exports.clone = clone; -exports.sortInAscendingOrder = sortInAscendingOrder; -exports.sortInDescendingOrder = sortInDescendingOrder; -exports.isSubsetOf = isSubsetOf; -exports.isSupersetOf = isSupersetOf; -exports.intersection = intersection; -exports.union = union; -exports.range = range; -const util_1 = __nccwpck_require__(76195); +var util_1 = __nccwpck_require__(76195); /** * Adds the given item to the end of the set. * @@ -32905,6 +35624,7 @@ const util_1 = __nccwpck_require__(76195); function append(set, item) { set.add(item); } +exports.append = append; /** * Extends a set by appending all items from another set. * @@ -32914,6 +35634,7 @@ function append(set, item) { function extend(setA, setB) { setB.forEach(setA.add, setA); } +exports.extend = extend; /** * Inserts the given item to the start of the set. * @@ -32921,11 +35642,12 @@ function extend(setA, setB) { * @param item - an item */ function prepend(set, item) { - const cloned = new Set(set); + var cloned = new Set(set); set.clear(); set.add(item); cloned.forEach(set.add, set); } +exports.prepend = prepend; /** * Replaces the given item or all items matching condition with a new item. * @@ -32935,26 +35657,38 @@ function prepend(set, item) { * @param item - an item */ function replace(set, conditionOrItem, newItem) { - const newSet = new Set(); - for (const oldItem of set) { - if ((0, util_1.isFunction)(conditionOrItem)) { - if (!!conditionOrItem.call(null, oldItem)) { + var e_1, _a; + var newSet = new Set(); + try { + for (var set_1 = __values(set), set_1_1 = set_1.next(); !set_1_1.done; set_1_1 = set_1.next()) { + var oldItem = set_1_1.value; + if (util_1.isFunction(conditionOrItem)) { + if (!!conditionOrItem.call(null, oldItem)) { + newSet.add(newItem); + } + else { + newSet.add(oldItem); + } + } + else if (oldItem === conditionOrItem) { newSet.add(newItem); } else { newSet.add(oldItem); } } - else if (oldItem === conditionOrItem) { - newSet.add(newItem); - } - else { - newSet.add(oldItem); + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (set_1_1 && !set_1_1.done && (_a = set_1.return)) _a.call(set_1); } + finally { if (e_1) throw e_1.error; } } set.clear(); newSet.forEach(set.add, set); } +exports.replace = replace; /** * Inserts the given item before the given index. * @@ -32962,17 +35696,29 @@ function replace(set, conditionOrItem, newItem) { * @param item - an item */ function insert(set, item, index) { - const newSet = new Set(); - let i = 0; - for (const oldItem of set) { - if (i === index) - newSet.add(item); - newSet.add(oldItem); - i++; + var e_2, _a; + var newSet = new Set(); + var i = 0; + try { + for (var set_2 = __values(set), set_2_1 = set_2.next(); !set_2_1.done; set_2_1 = set_2.next()) { + var oldItem = set_2_1.value; + if (i === index) + newSet.add(item); + newSet.add(oldItem); + i++; + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (set_2_1 && !set_2_1.done && (_a = set_2.return)) _a.call(set_2); + } + finally { if (e_2) throw e_2.error; } } set.clear(); newSet.forEach(set.add, set); } +exports.insert = insert; /** * Removes the given item or all items matching condition. * @@ -32981,27 +35727,50 @@ function insert(set, item, index) { * to remove */ function remove(set, conditionOrItem) { - if (!(0, util_1.isFunction)(conditionOrItem)) { + var e_3, _a, e_4, _b; + if (!util_1.isFunction(conditionOrItem)) { set.delete(conditionOrItem); } else { - const toRemove = []; - for (const item of set) { - if (!!conditionOrItem.call(null, item)) { - toRemove.push(item); + var toRemove = []; + try { + for (var set_3 = __values(set), set_3_1 = set_3.next(); !set_3_1.done; set_3_1 = set_3.next()) { + var item = set_3_1.value; + if (!!conditionOrItem.call(null, item)) { + toRemove.push(item); + } } } - for (const oldItem of toRemove) { - set.delete(oldItem); + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (set_3_1 && !set_3_1.done && (_a = set_3.return)) _a.call(set_3); + } + finally { if (e_3) throw e_3.error; } + } + try { + for (var toRemove_1 = __values(toRemove), toRemove_1_1 = toRemove_1.next(); !toRemove_1_1.done; toRemove_1_1 = toRemove_1.next()) { + var oldItem = toRemove_1_1.value; + set.delete(oldItem); + } + } + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (toRemove_1_1 && !toRemove_1_1.done && (_b = toRemove_1.return)) _b.call(toRemove_1); + } + finally { if (e_4) throw e_4.error; } } } } +exports.remove = remove; /** * Removes all items from the set. */ function empty(set) { set.clear(); } +exports.empty = empty; /** * Determines if the set contains the given item or any items matching * condition. @@ -33010,18 +35779,30 @@ function empty(set) { * @param conditionOrItem - an item to a condition to match */ function contains(set, conditionOrItem) { - if (!(0, util_1.isFunction)(conditionOrItem)) { + var e_5, _a; + if (!util_1.isFunction(conditionOrItem)) { return set.has(conditionOrItem); } else { - for (const oldItem of set) { - if (!!conditionOrItem.call(null, oldItem)) { - return true; + try { + for (var set_4 = __values(set), set_4_1 = set_4.next(); !set_4_1.done; set_4_1 = set_4.next()) { + var oldItem = set_4_1.value; + if (!!conditionOrItem.call(null, oldItem)) { + return true; + } } } + catch (e_5_1) { e_5 = { error: e_5_1 }; } + finally { + try { + if (set_4_1 && !set_4_1.done && (_a = set_4.return)) _a.call(set_4); + } + finally { if (e_5) throw e_5.error; } + } } return false; } +exports.contains = contains; /** * Returns the count of items in the set matching the given condition. * @@ -33029,19 +35810,31 @@ function contains(set, conditionOrItem) { * @param condition - an optional condition to match */ function size(set, condition) { + var e_6, _a; if (condition === undefined) { return set.size; } else { - let count = 0; - for (const item of set) { - if (!!condition.call(null, item)) { - count++; + var count = 0; + try { + for (var set_5 = __values(set), set_5_1 = set_5.next(); !set_5_1.done; set_5_1 = set_5.next()) { + var item = set_5_1.value; + if (!!condition.call(null, item)) { + count++; + } } } + catch (e_6_1) { e_6 = { error: e_6_1 }; } + finally { + try { + if (set_5_1 && !set_5_1.done && (_a = set_5.return)) _a.call(set_5); + } + finally { if (e_6) throw e_6.error; } + } return count; } } +exports.size = size; /** * Determines if the set is empty. * @@ -33050,24 +35843,55 @@ function size(set, condition) { function isEmpty(set) { return set.size === 0; } +exports.isEmpty = isEmpty; /** * Returns an iterator for the items of the set. * * @param set - a set * @param condition - an optional condition to match */ -function* forEach(set, condition) { - if (condition === undefined) { - yield* set; - } - else { - for (const item of set) { - if (!!condition.call(null, item)) { - yield item; - } +function forEach(set, condition) { + var set_6, set_6_1, item, e_7_1; + var e_7, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + if (!(condition === undefined)) return [3 /*break*/, 2]; + return [5 /*yield**/, __values(set)]; + case 1: + _b.sent(); + return [3 /*break*/, 9]; + case 2: + _b.trys.push([2, 7, 8, 9]); + set_6 = __values(set), set_6_1 = set_6.next(); + _b.label = 3; + case 3: + if (!!set_6_1.done) return [3 /*break*/, 6]; + item = set_6_1.value; + if (!!!condition.call(null, item)) return [3 /*break*/, 5]; + return [4 /*yield*/, item]; + case 4: + _b.sent(); + _b.label = 5; + case 5: + set_6_1 = set_6.next(); + return [3 /*break*/, 3]; + case 6: return [3 /*break*/, 9]; + case 7: + e_7_1 = _b.sent(); + e_7 = { error: e_7_1 }; + return [3 /*break*/, 9]; + case 8: + try { + if (set_6_1 && !set_6_1.done && (_a = set_6.return)) _a.call(set_6); + } + finally { if (e_7) throw e_7.error; } + return [7 /*endfinally*/]; + case 9: return [2 /*return*/]; } - } + }); } +exports.forEach = forEach; /** * Creates and returns a shallow clone of set. * @@ -33076,6 +35900,7 @@ function* forEach(set, condition) { function clone(set) { return new Set(set); } +exports.clone = clone; /** * Returns a new set containing items from the set sorted in ascending * order. @@ -33085,10 +35910,13 @@ function clone(set) { * is less than its second argument, and `false` otherwise. */ function sortInAscendingOrder(set, lessThanAlgo) { - const list = new Array(...set); - list.sort((itemA, itemB) => lessThanAlgo.call(null, itemA, itemB) ? -1 : 1); + var list = new (Array.bind.apply(Array, __spread([void 0], set)))(); + list.sort(function (itemA, itemB) { + return lessThanAlgo.call(null, itemA, itemB) ? -1 : 1; + }); return new Set(list); } +exports.sortInAscendingOrder = sortInAscendingOrder; /** * Returns a new set containing items from the set sorted in descending * order. @@ -33098,10 +35926,13 @@ function sortInAscendingOrder(set, lessThanAlgo) { * is less than its second argument, and `false` otherwise. */ function sortInDescendingOrder(set, lessThanAlgo) { - const list = new Array(...set); - list.sort((itemA, itemB) => lessThanAlgo.call(null, itemA, itemB) ? 1 : -1); + var list = new (Array.bind.apply(Array, __spread([void 0], set)))(); + list.sort(function (itemA, itemB) { + return lessThanAlgo.call(null, itemA, itemB) ? 1 : -1; + }); return new Set(list); } +exports.sortInDescendingOrder = sortInDescendingOrder; /** * Determines if a set is a subset of another set. * @@ -33109,12 +35940,24 @@ function sortInDescendingOrder(set, lessThanAlgo) { * @param superset - a superset possibly containing all items from `subset`. */ function isSubsetOf(subset, superset) { - for (const item of subset) { - if (!superset.has(item)) - return false; + var e_8, _a; + try { + for (var subset_1 = __values(subset), subset_1_1 = subset_1.next(); !subset_1_1.done; subset_1_1 = subset_1.next()) { + var item = subset_1_1.value; + if (!superset.has(item)) + return false; + } + } + catch (e_8_1) { e_8 = { error: e_8_1 }; } + finally { + try { + if (subset_1_1 && !subset_1_1.done && (_a = subset_1.return)) _a.call(subset_1); + } + finally { if (e_8) throw e_8.error; } } return true; } +exports.isSubsetOf = isSubsetOf; /** * Determines if a set is a superset of another set. * @@ -33124,6 +35967,7 @@ function isSubsetOf(subset, superset) { function isSupersetOf(superset, subset) { return isSubsetOf(subset, superset); } +exports.isSupersetOf = isSupersetOf; /** * Returns a new set with items that are contained in both sets. * @@ -33131,13 +35975,25 @@ function isSupersetOf(superset, subset) { * @param setB - a set */ function intersection(setA, setB) { - const newSet = new Set(); - for (const item of setA) { - if (setB.has(item)) - newSet.add(item); + var e_9, _a; + var newSet = new Set(); + try { + for (var setA_1 = __values(setA), setA_1_1 = setA_1.next(); !setA_1_1.done; setA_1_1 = setA_1.next()) { + var item = setA_1_1.value; + if (setB.has(item)) + newSet.add(item); + } + } + catch (e_9_1) { e_9 = { error: e_9_1 }; } + finally { + try { + if (setA_1_1 && !setA_1_1.done && (_a = setA_1.return)) _a.call(setA_1); + } + finally { if (e_9) throw e_9.error; } } return newSet; } +exports.intersection = intersection; /** * Returns a new set with items from both sets. * @@ -33145,10 +36001,11 @@ function intersection(setA, setB) { * @param setB - a set */ function union(setA, setB) { - const newSet = new Set(setA); + var newSet = new Set(setA); setB.forEach(newSet.add, newSet); return newSet; } +exports.union = union; /** * Returns a set of integers from `n` to `m` inclusive. * @@ -33156,12 +36013,13 @@ function union(setA, setB) { * @param m - ending number */ function range(n, m) { - const newSet = new Set(); - for (let i = n; i <= m; i++) { + var newSet = new Set(); + for (var i = n; i <= m; i++) { newSet.add(i); } return newSet; } +exports.range = range; //# sourceMappingURL=Set.js.map /***/ }), @@ -33172,8 +36030,6 @@ function range(n, m) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.push = push; -exports.pop = pop; /** * Pushes the given item to the stack. * @@ -33183,6 +36039,7 @@ exports.pop = pop; function push(list, item) { list.push(item); } +exports.push = push; /** * Pops and returns an item from the stack. * @@ -33191,39 +36048,32 @@ function push(list, item) { function pop(list) { return list.pop() || null; } +exports.pop = pop; //# sourceMappingURL=Stack.js.map /***/ }), /***/ 13203: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.isCodeUnitPrefix = isCodeUnitPrefix; -exports.isCodeUnitLessThan = isCodeUnitLessThan; -exports.isomorphicEncode = isomorphicEncode; -exports.isASCIIString = isASCIIString; -exports.asciiLowercase = asciiLowercase; -exports.asciiUppercase = asciiUppercase; -exports.asciiCaseInsensitiveMatch = asciiCaseInsensitiveMatch; -exports.asciiEncode = asciiEncode; -exports.asciiDecode = asciiDecode; -exports.stripNewlines = stripNewlines; -exports.normalizeNewlines = normalizeNewlines; -exports.stripLeadingAndTrailingASCIIWhitespace = stripLeadingAndTrailingASCIIWhitespace; -exports.stripAndCollapseASCIIWhitespace = stripAndCollapseASCIIWhitespace; -exports.collectASequenceOfCodePoints = collectASequenceOfCodePoints; -exports.skipASCIIWhitespace = skipASCIIWhitespace; -exports.strictlySplit = strictlySplit; -exports.splitAStringOnASCIIWhitespace = splitAStringOnASCIIWhitespace; -exports.splitAStringOnCommas = splitAStringOnCommas; -exports.concatenate = concatenate; -const CodePoints_1 = __nccwpck_require__(28548); -const ByteSequence_1 = __nccwpck_require__(71627); -const Byte_1 = __nccwpck_require__(42460); -const util_1 = __nccwpck_require__(76195); +var CodePoints_1 = __nccwpck_require__(28548); +var ByteSequence_1 = __nccwpck_require__(71627); +var Byte_1 = __nccwpck_require__(42460); +var util_1 = __nccwpck_require__(76195); /** * Determines if the string `a` is a code unit prefix of string `b`. * @@ -33242,10 +36092,10 @@ function isCodeUnitPrefix(a, b) { * 2.4. Return false if aCodeUnit is different from bCodeUnit. * 2.5. Set i to i + 1. */ - let i = 0; + var i = 0; while (true) { - const aCodeUnit = i < a.length ? a.charCodeAt(i) : null; - const bCodeUnit = i < b.length ? b.charCodeAt(i) : null; + var aCodeUnit = i < a.length ? a.charCodeAt(i) : null; + var bCodeUnit = i < b.length ? b.charCodeAt(i) : null; if (aCodeUnit === null) return true; if (aCodeUnit !== bCodeUnit) @@ -33253,6 +36103,7 @@ function isCodeUnitPrefix(a, b) { i++; } } +exports.isCodeUnitPrefix = isCodeUnitPrefix; /** * Determines if the string `a` is a code unit less than string `b`. * @@ -33274,9 +36125,9 @@ function isCodeUnitLessThan(a, b) { return false; if (isCodeUnitPrefix(a, b)) return true; - for (let i = 0; i < Math.min(a.length, b.length); i++) { - const aCodeUnit = a.charCodeAt(i); - const bCodeUnit = b.charCodeAt(i); + for (var i = 0; i < Math.min(a.length, b.length); i++) { + var aCodeUnit = a.charCodeAt(i); + var bCodeUnit = b.charCodeAt(i); if (aCodeUnit === bCodeUnit) continue; return (aCodeUnit < bCodeUnit); @@ -33284,29 +36135,42 @@ function isCodeUnitLessThan(a, b) { /* istanbul ignore next */ return false; } +exports.isCodeUnitLessThan = isCodeUnitLessThan; /** * Isomorphic encodes the given string. * * @param str - a string */ function isomorphicEncode(str) { + var e_1, _a; /** * 1. Assert: input contains no code points greater than U+00FF. * 2. Return a byte sequence whose length is equal to input’s length and whose * bytes have the same values as input’s code points, in the same order. */ - const codePoints = Array.from(str); - const bytes = new Uint8Array(codePoints.length); - let i = 0; - for (const codePoint of str) { - const byte = codePoint.codePointAt(0); - console.assert(byte !== undefined && byte <= 0x00FF, "isomorphicEncode requires string bytes to be less than or equal to 0x00FF."); - if (byte !== undefined && byte <= 0x00FF) { - bytes[i++] = byte; + var codePoints = Array.from(str); + var bytes = new Uint8Array(codePoints.length); + var i = 0; + try { + for (var str_1 = __values(str), str_1_1 = str_1.next(); !str_1_1.done; str_1_1 = str_1.next()) { + var codePoint = str_1_1.value; + var byte = codePoint.codePointAt(0); + console.assert(byte !== undefined && byte <= 0x00FF, "isomorphicEncode requires string bytes to be less than or equal to 0x00FF."); + if (byte !== undefined && byte <= 0x00FF) { + bytes[i++] = byte; + } } } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (str_1_1 && !str_1_1.done && (_a = str_1.return)) _a.call(str_1); + } + finally { if (e_1) throw e_1.error; } + } return bytes; } +exports.isomorphicEncode = isomorphicEncode; /** * Determines if the given string is An ASCII string. * @@ -33318,50 +36182,75 @@ function isASCIIString(str) { */ return /^[\u0000-\u007F]*$/.test(str); } +exports.isASCIIString = isASCIIString; /** * Converts all uppercase ASCII code points to lowercase. * * @param str - a string */ function asciiLowercase(str) { + var e_2, _a; /** * To ASCII lowercase a string, replace all ASCII upper alphas in the string * with their corresponding code point in ASCII lower alpha. */ - let result = ""; - for (const c of str) { - const code = c.codePointAt(0); - if (code !== undefined && code >= 0x41 && code <= 0x5A) { - result += String.fromCodePoint(code + 0x20); + var result = ""; + try { + for (var str_2 = __values(str), str_2_1 = str_2.next(); !str_2_1.done; str_2_1 = str_2.next()) { + var c = str_2_1.value; + var code = c.codePointAt(0); + if (code !== undefined && code >= 0x41 && code <= 0x5A) { + result += String.fromCodePoint(code + 0x20); + } + else { + result += c; + } } - else { - result += c; + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (str_2_1 && !str_2_1.done && (_a = str_2.return)) _a.call(str_2); } + finally { if (e_2) throw e_2.error; } } return result; } +exports.asciiLowercase = asciiLowercase; /** * Converts all uppercase ASCII code points to uppercase. * * @param str - a string */ function asciiUppercase(str) { + var e_3, _a; /** * To ASCII uppercase a string, replace all ASCII lower alphas in the string * with their corresponding code point in ASCII upper alpha. */ - let result = ""; - for (const c of str) { - const code = c.codePointAt(0); - if (code !== undefined && code >= 0x61 && code <= 0x7A) { - result += String.fromCodePoint(code - 0x20); + var result = ""; + try { + for (var str_3 = __values(str), str_3_1 = str_3.next(); !str_3_1.done; str_3_1 = str_3.next()) { + var c = str_3_1.value; + var code = c.codePointAt(0); + if (code !== undefined && code >= 0x61 && code <= 0x7A) { + result += String.fromCodePoint(code - 0x20); + } + else { + result += c; + } } - else { - result += c; + } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (str_3_1 && !str_3_1.done && (_a = str_3.return)) _a.call(str_3); } + finally { if (e_3) throw e_3.error; } } return result; } +exports.asciiUppercase = asciiUppercase; /** * Compares two ASCII strings case-insensitively. * @@ -33375,6 +36264,7 @@ function asciiCaseInsensitiveMatch(a, b) { */ return asciiLowercase(a) === asciiLowercase(b); } +exports.asciiCaseInsensitiveMatch = asciiCaseInsensitiveMatch; /** * ASCII encodes a string. * @@ -33388,21 +36278,34 @@ function asciiEncode(str) { console.assert(isASCIIString(str), "asciiEncode requires an ASCII string."); return isomorphicEncode(str); } +exports.asciiEncode = asciiEncode; /** * ASCII decodes a byte sequence. * * @param bytes - a byte sequence */ function asciiDecode(bytes) { - /** - * 1. Assert: All bytes in input are ASCII bytes. - * 2. Return the isomorphic decoding of input. - */ - for (const byte of bytes) { - console.assert((0, Byte_1.isASCIIByte)(byte), "asciiDecode requires an ASCII byte sequence."); + var e_4, _a; + try { + /** + * 1. Assert: All bytes in input are ASCII bytes. + * 2. Return the isomorphic decoding of input. + */ + for (var bytes_1 = __values(bytes), bytes_1_1 = bytes_1.next(); !bytes_1_1.done; bytes_1_1 = bytes_1.next()) { + var byte = bytes_1_1.value; + console.assert(Byte_1.isASCIIByte(byte), "asciiDecode requires an ASCII byte sequence."); + } } - return (0, ByteSequence_1.isomorphicDecode)(bytes); + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (bytes_1_1 && !bytes_1_1.done && (_a = bytes_1.return)) _a.call(bytes_1); + } + finally { if (e_4) throw e_4.error; } + } + return ByteSequence_1.isomorphicDecode(bytes); } +exports.asciiDecode = asciiDecode; /** * Strips newline characters from a string. * @@ -33415,6 +36318,7 @@ function stripNewlines(str) { */ return str.replace(/[\n\r]/g, ""); } +exports.stripNewlines = stripNewlines; /** * Normalizes newline characters in a string by converting consecutive * carriage-return newline characters and also single carriage return characters @@ -33430,6 +36334,7 @@ function normalizeNewlines(str) { */ return str.replace(/\r\n/g, "\n").replace(/\r/g, "\n"); } +exports.normalizeNewlines = normalizeNewlines; /** * Removes leading and trailing whitespace characters from a string. * @@ -33442,6 +36347,7 @@ function stripLeadingAndTrailingASCIIWhitespace(str) { */ return str.replace(/^[\t\n\f\r ]+/, "").replace(/[\t\n\f\r ]+$/, ""); } +exports.stripLeadingAndTrailingASCIIWhitespace = stripLeadingAndTrailingASCIIWhitespace; /** * Removes consecutive newline characters from a string. * @@ -33456,6 +36362,7 @@ function stripAndCollapseASCIIWhitespace(str) { */ return stripLeadingAndTrailingASCIIWhitespace(str.replace(/[\t\n\f\r ]{2,}/g, " ")); } +exports.stripAndCollapseASCIIWhitespace = stripAndCollapseASCIIWhitespace; /** * Collects a sequence of code points matching a given condition from the input * string. @@ -33473,15 +36380,16 @@ function collectASequenceOfCodePoints(condition, input, options) { * 2.2. Advance position by 1. * 3. Return result. */ - if (!(0, util_1.isArray)(input)) + if (!util_1.isArray(input)) return collectASequenceOfCodePoints(condition, Array.from(input), options); - let result = ""; + var result = ""; while (options.position < input.length && !!condition.call(null, input[options.position])) { result += input[options.position]; options.position++; } return result; } +exports.collectASequenceOfCodePoints = collectASequenceOfCodePoints; /** * Skips over ASCII whitespace. * @@ -33495,8 +36403,9 @@ function skipASCIIWhitespace(input, options) { * input given position. The collected code points are not used, but position * is still updated. */ - collectASequenceOfCodePoints(str => CodePoints_1.ASCIIWhiteSpace.test(str), input, options); + collectASequenceOfCodePoints(function (str) { return CodePoints_1.ASCIIWhiteSpace.test(str); }, input, options); } +exports.skipASCIIWhitespace = skipASCIIWhitespace; /** * Solits a string at the given delimiter. * @@ -33519,20 +36428,21 @@ function strictlySplit(input, delimiter) { * 5.4. Append token to tokens. * 6. Return tokens. */ - if (!(0, util_1.isArray)(input)) + if (!util_1.isArray(input)) return strictlySplit(Array.from(input), delimiter); - const options = { position: 0 }; - const tokens = []; - let token = collectASequenceOfCodePoints(str => delimiter !== str, input, options); + var options = { position: 0 }; + var tokens = []; + var token = collectASequenceOfCodePoints(function (str) { return delimiter !== str; }, input, options); tokens.push(token); while (options.position < input.length) { console.assert(input[options.position] === delimiter, "strictlySplit found no delimiter in input string."); options.position++; - token = collectASequenceOfCodePoints(str => delimiter !== str, input, options); + token = collectASequenceOfCodePoints(function (str) { return delimiter !== str; }, input, options); tokens.push(token); } return tokens; } +exports.strictlySplit = strictlySplit; /** * Splits a string on ASCII whitespace. * @@ -33551,18 +36461,19 @@ function splitAStringOnASCIIWhitespace(input) { * 4.3. Skip ASCII whitespace within input given position. * 5. Return tokens. */ - if (!(0, util_1.isArray)(input)) + if (!util_1.isArray(input)) return splitAStringOnASCIIWhitespace(Array.from(input)); - const options = { position: 0 }; - const tokens = []; + var options = { position: 0 }; + var tokens = []; skipASCIIWhitespace(input, options); while (options.position < input.length) { - const token = collectASequenceOfCodePoints(str => !CodePoints_1.ASCIIWhiteSpace.test(str), input, options); + var token = collectASequenceOfCodePoints(function (str) { return !CodePoints_1.ASCIIWhiteSpace.test(str); }, input, options); tokens.push(token); skipASCIIWhitespace(input, options); } return tokens; } +exports.splitAStringOnASCIIWhitespace = splitAStringOnASCIIWhitespace; /** * Splits a string on commas. * @@ -33583,12 +36494,12 @@ function splitAStringOnCommas(input) { * 3.4.2. Advance position by 1. * 4. Return tokens. */ - if (!(0, util_1.isArray)(input)) + if (!util_1.isArray(input)) return splitAStringOnCommas(Array.from(input)); - const options = { position: 0 }; - const tokens = []; + var options = { position: 0 }; + var tokens = []; while (options.position < input.length) { - const token = collectASequenceOfCodePoints(str => str !== ',', input, options); + var token = collectASequenceOfCodePoints(function (str) { return str !== ','; }, input, options); tokens.push(stripLeadingAndTrailingASCIIWhitespace(token)); if (options.position < input.length) { console.assert(input[options.position] === ',', "splitAStringOnCommas found no delimiter in input string."); @@ -33597,13 +36508,15 @@ function splitAStringOnCommas(input) { } return tokens; } +exports.splitAStringOnCommas = splitAStringOnCommas; /** * Concatenates a list of strings with the given separator. * * @param list - a list of strings * @param separator - a separator string */ -function concatenate(list, separator = "") { +function concatenate(list, separator) { + if (separator === void 0) { separator = ""; } /** * 1. If list is empty, then return the empty string. * 2. If separator is not given, then set separator to the empty string. @@ -33614,6 +36527,7 @@ function concatenate(list, separator = "") { return ""; return list.join(separator); } +exports.concatenate = concatenate; //# sourceMappingURL=String.js.map /***/ }), @@ -33623,125 +36537,84 @@ function concatenate(list, separator = "") { "use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.string = exports.stack = exports.set = exports.queue = exports.namespace = exports.map = exports.list = exports.json = exports.codePoint = exports.byteSequence = exports.byte = exports.base64 = void 0; -const base64 = __importStar(__nccwpck_require__(28585)); +var base64 = __importStar(__nccwpck_require__(28585)); exports.base64 = base64; -const byte = __importStar(__nccwpck_require__(42460)); +var byte = __importStar(__nccwpck_require__(42460)); exports.byte = byte; -const byteSequence = __importStar(__nccwpck_require__(71627)); +var byteSequence = __importStar(__nccwpck_require__(71627)); exports.byteSequence = byteSequence; -const codePoint = __importStar(__nccwpck_require__(28548)); +var codePoint = __importStar(__nccwpck_require__(28548)); exports.codePoint = codePoint; -const json = __importStar(__nccwpck_require__(99387)); +var json = __importStar(__nccwpck_require__(99387)); exports.json = json; -const list = __importStar(__nccwpck_require__(20340)); +var list = __importStar(__nccwpck_require__(20340)); exports.list = list; -const map = __importStar(__nccwpck_require__(22298)); +var map = __importStar(__nccwpck_require__(22298)); exports.map = map; -const namespace = __importStar(__nccwpck_require__(93764)); +var namespace = __importStar(__nccwpck_require__(93764)); exports.namespace = namespace; -const queue = __importStar(__nccwpck_require__(39201)); +var queue = __importStar(__nccwpck_require__(39201)); exports.queue = queue; -const set = __importStar(__nccwpck_require__(35931)); +var set = __importStar(__nccwpck_require__(35931)); exports.set = set; -const stack = __importStar(__nccwpck_require__(38784)); +var stack = __importStar(__nccwpck_require__(38784)); exports.stack = stack; -const string = __importStar(__nccwpck_require__(13203)); +var string = __importStar(__nccwpck_require__(13203)); exports.string = string; //# sourceMappingURL=index.js.map /***/ }), /***/ 53568: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.setValidationErrorCallback = setValidationErrorCallback; -exports.newURL = newURL; -exports.isSpecialScheme = isSpecialScheme; -exports.isSpecial = isSpecial; -exports.defaultPort = defaultPort; -exports.includesCredentials = includesCredentials; -exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; -exports.urlSerializer = urlSerializer; -exports.hostSerializer = hostSerializer; -exports.iPv4Serializer = iPv4Serializer; -exports.iPv6Serializer = iPv6Serializer; -exports.urlParser = urlParser; -exports.basicURLParser = basicURLParser; -exports.setTheUsername = setTheUsername; -exports.setThePassword = setThePassword; -exports.isSingleDotPathSegment = isSingleDotPathSegment; -exports.isDoubleDotPathSegment = isDoubleDotPathSegment; -exports.shorten = shorten; -exports.isNormalizedWindowsDriveLetter = isNormalizedWindowsDriveLetter; -exports.isWindowsDriveLetter = isWindowsDriveLetter; -exports.startsWithAWindowsDriveLetter = startsWithAWindowsDriveLetter; -exports.hostParser = hostParser; -exports.iPv4NumberParser = iPv4NumberParser; -exports.iPv4Parser = iPv4Parser; -exports.iPv6Parser = iPv6Parser; -exports.opaqueHostParser = opaqueHostParser; -exports.resolveABlobURL = resolveABlobURL; -exports.percentEncode = percentEncode; -exports.percentDecode = percentDecode; -exports.stringPercentDecode = stringPercentDecode; -exports.utf8PercentEncode = utf8PercentEncode; -exports.hostEquals = hostEquals; -exports.urlEquals = urlEquals; -exports.urlEncodedStringParser = urlEncodedStringParser; -exports.urlEncodedParser = urlEncodedParser; -exports.urlEncodedByteSerializer = urlEncodedByteSerializer; -exports.urlEncodedSerializer = urlEncodedSerializer; -exports.origin = origin; -exports.domainToASCII = domainToASCII; -exports.domainToUnicode = domainToUnicode; -exports.asciiSerializationOfAnOrigin = asciiSerializationOfAnOrigin; -const util_1 = __nccwpck_require__(76195); -const interfaces_1 = __nccwpck_require__(31752); -const infra_1 = __nccwpck_require__(84251); -const url_1 = __nccwpck_require__(57310); -let _validationErrorCallback; +var util_1 = __nccwpck_require__(76195); +var interfaces_1 = __nccwpck_require__(31752); +var infra_1 = __nccwpck_require__(84251); +var url_1 = __nccwpck_require__(57310); +var _validationErrorCallback; /** * Default ports for a special URL scheme. */ -const _defaultPorts = { +var _defaultPorts = { "ftp": 21, "file": null, "http": 80, @@ -33753,23 +36626,23 @@ const _defaultPorts = { * The C0 control percent-encode set are the C0 controls and all code points * greater than U+007E (~). */ -const _c0ControlPercentEncodeSet = /[\0-\x1F\x7F-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var _c0ControlPercentEncodeSet = /[\0-\x1F\x7F-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; /** * The fragment percent-encode set is the C0 control percent-encode set and * U+0020 SPACE, U+0022 ("), U+003C (<), U+003E (>), and U+0060 (`). */ -const _fragmentPercentEncodeSet = /[ "<>`]|[\0-\x1F\x7F-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var _fragmentPercentEncodeSet = /[ "<>`]|[\0-\x1F\x7F-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; /** * The path percent-encode set is the fragment percent-encode set and * U+0023 (#), U+003F (?), U+007B ({), and U+007D (}). */ -const _pathPercentEncodeSet = /[ "<>`#?{}]|[\0-\x1F\x7F-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var _pathPercentEncodeSet = /[ "<>`#?{}]|[\0-\x1F\x7F-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; /** * The userinfo percent-encode set is the path percent-encode set and * U+002F (/), U+003A (:), U+003B (;), U+003D (=), U+0040 (@), U+005B ([), * U+005C (\), U+005D (]), U+005E (^), and U+007C (|). */ -const _userInfoPercentEncodeSet = /[ "<>`#?{}/:;=@\[\]\\\^\|]|[\0-\x1F\x7F-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var _userInfoPercentEncodeSet = /[ "<>`#?{}/:;=@\[\]\\\^\|]|[\0-\x1F\x7F-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; /** * The URL code points are ASCII alphanumeric, U+0021 (!), U+0024 ($), * U+0026 (&), U+0027 ('), U+0028 LEFT PARENTHESIS, U+0029 RIGHT PARENTHESIS, @@ -33778,13 +36651,13 @@ const _userInfoPercentEncodeSet = /[ "<>`#?{}/:;=@\[\]\\\^\|]|[\0-\x1F\x7F-\uD7F * U+007E (~), and code points in the range U+00A0 to U+10FFFD, inclusive, * excluding surrogates and noncharacters. */ -const _urlCodePoints = /[0-9A-Za-z!\$&-\/:;=\?@_~\xA0-\uD7FF\uE000-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uD83E\uD840-\uD87E\uD880-\uD8BE\uD8C0-\uD8FE\uD900-\uD93E\uD940-\uD97E\uD980-\uD9BE\uD9C0-\uD9FE\uDA00-\uDA3E\uDA40-\uDA7E\uDA80-\uDABE\uDAC0-\uDAFE\uDB00-\uDB3E\uDB40-\uDB7E\uDB80-\uDBBE\uDBC0-\uDBFE][\uDC00-\uDFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDC00-\uDFFD]/; +var _urlCodePoints = /[0-9A-Za-z!\$&-\/:;=\?@_~\xA0-\uD7FF\uE000-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uD83E\uD840-\uD87E\uD880-\uD8BE\uD8C0-\uD8FE\uD900-\uD93E\uD940-\uD97E\uD980-\uD9BE\uD9C0-\uD9FE\uDA00-\uDA3E\uDA40-\uDA7E\uDA80-\uDABE\uDAC0-\uDAFE\uDB00-\uDB3E\uDB40-\uDB7E\uDB80-\uDBBE\uDBC0-\uDBFE][\uDC00-\uDFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDC00-\uDFFD]/; /** * A forbidden host code point is U+0000 NULL, U+0009 TAB, U+000A LF, * U+000D CR, U+0020 SPACE, U+0023 (#), U+0025 (%), U+002F (/), U+003A (:), * U+003F (?), U+0040 (@), U+005B ([), U+005C (\), or U+005D (]). */ -const _forbiddenHostCodePoint = /[\0\t\f\r #%/:?@\[\\\]]/; +var _forbiddenHostCodePoint = /[\0\t\f\r #%/:?@\[\\\]]/; /** * Sets the callback function for validation errors. * @@ -33794,6 +36667,7 @@ const _forbiddenHostCodePoint = /[\0\t\f\r #%/:?@\[\\\]]/; function setValidationErrorCallback(validationErrorCallback) { _validationErrorCallback = validationErrorCallback; } +exports.setValidationErrorCallback = setValidationErrorCallback; /** * Generates a validation error. * @@ -33821,6 +36695,7 @@ function newURL() { _blobURLEntry: null }; } +exports.newURL = newURL; /** * Determines if the scheme is a special scheme. * @@ -33829,6 +36704,7 @@ function newURL() { function isSpecialScheme(scheme) { return (scheme in _defaultPorts); } +exports.isSpecialScheme = isSpecialScheme; /** * Determines if the URL has a special scheme. * @@ -33837,6 +36713,7 @@ function isSpecialScheme(scheme) { function isSpecial(url) { return isSpecialScheme(url.scheme); } +exports.isSpecial = isSpecial; /** * Returns the default port for a special scheme. * @@ -33845,6 +36722,7 @@ function isSpecial(url) { function defaultPort(scheme) { return _defaultPorts[scheme] || null; } +exports.defaultPort = defaultPort; /** * Determines if the URL has credentials. * @@ -33853,6 +36731,7 @@ function defaultPort(scheme) { function includesCredentials(url) { return url.username !== '' || url.password !== ''; } +exports.includesCredentials = includesCredentials; /** * Determines if an URL cannot have credentials. * @@ -33867,16 +36746,19 @@ function cannotHaveAUsernamePasswordPort(url) { return (url.host === null || url.host === "" || url._cannotBeABaseURLFlag || url.scheme === "file"); } +exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; /** * Serializes an URL into a string. * * @param url - an URL */ -function urlSerializer(url, excludeFragmentFlag = false) { +function urlSerializer(url, excludeFragmentFlag) { + var e_1, _a; + if (excludeFragmentFlag === void 0) { excludeFragmentFlag = false; } /** * 1. Let output be url’s scheme and U+003A (:) concatenated. */ - let output = url.scheme + ':'; + var output = url.scheme + ':'; /** * 2. If url’s host is non-null: */ @@ -33927,8 +36809,18 @@ function urlSerializer(url, excludeFragmentFlag = false) { output += url.path[0]; } else { - for (const str of url.path) { - output += '/' + str; + try { + for (var _b = __values(url.path), _c = _b.next(); !_c.done; _c = _b.next()) { + var str = _c.value; + output += '/' + str; + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } } } /** @@ -33946,6 +36838,7 @@ function urlSerializer(url, excludeFragmentFlag = false) { } return output; } +exports.urlSerializer = urlSerializer; /** * Serializes a host into a string. * @@ -33960,16 +36853,17 @@ function hostSerializer(host) { * U+005D (]). * 3. Otherwise, host is a domain, opaque host, or empty host, return host. */ - if ((0, util_1.isNumber)(host)) { + if (util_1.isNumber(host)) { return iPv4Serializer(host); } - else if ((0, util_1.isArray)(host)) { + else if (util_1.isArray(host)) { return '[' + iPv6Serializer(host) + ']'; } else { return host; } } +exports.hostSerializer = hostSerializer; /** * Serializes an IPv4 address into a string. * @@ -33985,9 +36879,9 @@ function iPv4Serializer(address) { * 3.3. Set n to floor(n / 256). * 4. Return output. */ - let output = ""; - let n = address; - for (let i = 1; i <= 4; i++) { + var output = ""; + var n = address; + for (var i = 1; i <= 4; i++) { output = (n % 256).toString() + output; if (i !== 4) { output = '.' + output; @@ -33996,6 +36890,7 @@ function iPv4Serializer(address) { } return output; } +exports.iPv4Serializer = iPv4Serializer; /** * Serializes an IPv6 address into a string. * @@ -34010,16 +36905,16 @@ function iPv6Serializer(address) { * 3. If there is no sequence of address’s IPv6 pieces that are 0 that is * longer than 1, then set compress to null. */ - let output = ""; - let compress = null; - let lastIndex = -1; - let count = 0; - let lastCount = 0; - for (let i = 0; i < 8; i++) { + var output = ""; + var compress = null; + var lastIndex = -1; + var count = 0; + var lastCount = 0; + for (var i = 0; i < 8; i++) { if (address[i] !== 0) continue; count = 1; - for (let j = i + 1; j < 8; j++) { + for (var j = i + 1; j < 8; j++) { if (address[j] !== 0) break; count++; @@ -34036,8 +36931,8 @@ function iPv6Serializer(address) { * 4. Let ignore0 be false. * 5. For each pieceIndex in the range 0 to 7, inclusive: */ - let ignore0 = false; - for (let pieceIndex = 0; pieceIndex < 8; pieceIndex++) { + var ignore0 = false; + for (var pieceIndex = 0; pieceIndex < 8; pieceIndex++) { /** * 5.1. If ignore0 is true and address[pieceIndex] is 0, then continue. * 5.2. Otherwise, if ignore0 is true, set ignore0 to false. @@ -34071,6 +36966,7 @@ function iPv6Serializer(address) { */ return output; } +exports.iPv6Serializer = iPv6Serializer; /** * Parses an URL string. * @@ -34088,12 +36984,12 @@ function urlParser(input, baseURL, encodingOverride) { * if that did not return failure, and null otherwise. * 5. Return url. */ - const url = basicURLParser(input, baseURL, encodingOverride); + var url = basicURLParser(input, baseURL, encodingOverride); if (url === null) return null; if (url.scheme !== "blob") return url; - const entry = resolveABlobURL(url); + var entry = resolveABlobURL(url); if (entry !== null) { url._blobURLEntry = entry; } @@ -34102,6 +36998,7 @@ function urlParser(input, baseURL, encodingOverride) { } return url; } +exports.urlParser = urlParser; /** * Parses an URL string. * @@ -34110,6 +37007,7 @@ function urlParser(input, baseURL, encodingOverride) { * @param encodingOverride - encoding override */ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { + var e_2, _a, e_3, _b; /** * 1. If url is not given: * 1.1. Set url to a new URL. @@ -34120,8 +37018,8 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { if (url === undefined) { url = newURL(); // leading - const leadingControlOrSpace = /^[\u0000-\u001F\u0020]+/; - const trailingControlOrSpace = /[\u0000-\u001F\u0020]+$/; + var leadingControlOrSpace = /^[\u0000-\u001F\u0020]+/; + var trailingControlOrSpace = /[\u0000-\u001F\u0020]+$/; if (leadingControlOrSpace.test(input) || trailingControlOrSpace.test(input)) { validationError("Input string contains leading or trailing control characters or space."); } @@ -34132,7 +37030,7 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { * 2. If input contains any ASCII tab or newline, validation error. * 3. Remove all ASCII tab or newline from input. */ - const tabOrNewline = /[\u0009\u000A\u000D]/g; + var tabOrNewline = /[\u0009\u000A\u000D]/g; if (tabOrNewline.test(input)) { validationError("Input string contains tab or newline characters."); } @@ -34144,10 +37042,10 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { * 7. If encoding override is given, set encoding to the result of getting * an output encoding from encoding override. */ - let state = (stateOverride === undefined ? interfaces_1.ParserState.SchemeStart : stateOverride); + var state = (stateOverride === undefined ? interfaces_1.ParserState.SchemeStart : stateOverride); if (baseURL === undefined) baseURL = null; - let encoding = (encodingOverride === undefined || + var encoding = (encodingOverride === undefined || encodingOverride === "replacement" || encodingOverride === "UTF-16BE" || encodingOverride === "UTF-16LE" ? "UTF-8" : encodingOverride); /** @@ -34155,12 +37053,12 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { * 9. Let the @ flag, [] flag, and passwordTokenSeenFlag be unset. * 10. Let pointer be a pointer to first code point in input. */ - let buffer = ""; - let atFlag = false; - let arrayFlag = false; - let passwordTokenSeenFlag = false; - const EOF = ""; - const walker = new util_1.StringWalker(input); + var buffer = ""; + var atFlag = false; + var arrayFlag = false; + var passwordTokenSeenFlag = false; + var EOF = ""; + var walker = new util_1.StringWalker(input); /** * 11. Keep running the following state machine by switching on state. If * after a run pointer points to the EOF code point, go to the next step. @@ -34538,27 +37436,37 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { if (atFlag) buffer = '%40' + buffer; atFlag = true; - for (const codePoint of buffer) { - /** - * 1.4.1. If codePoint is U+003A (:) and passwordTokenSeenFlag is - * unset, then set passwordTokenSeenFlag and continue. - * 1.4.2. Let encodedCodePoints be the result of running UTF-8 - * percent encode codePoint using the userinfo percent-encode set. - * 1.4.3. If passwordTokenSeenFlag is set, then append - * encodedCodePoints to url’s password. - * 1.4.4. Otherwise, append encodedCodePoints to url’s username. - */ - if (codePoint === ':' && !passwordTokenSeenFlag) { - passwordTokenSeenFlag = true; - continue; + try { + for (var buffer_1 = (e_2 = void 0, __values(buffer)), buffer_1_1 = buffer_1.next(); !buffer_1_1.done; buffer_1_1 = buffer_1.next()) { + var codePoint = buffer_1_1.value; + /** + * 1.4.1. If codePoint is U+003A (:) and passwordTokenSeenFlag is + * unset, then set passwordTokenSeenFlag and continue. + * 1.4.2. Let encodedCodePoints be the result of running UTF-8 + * percent encode codePoint using the userinfo percent-encode set. + * 1.4.3. If passwordTokenSeenFlag is set, then append + * encodedCodePoints to url’s password. + * 1.4.4. Otherwise, append encodedCodePoints to url’s username. + */ + if (codePoint === ':' && !passwordTokenSeenFlag) { + passwordTokenSeenFlag = true; + continue; + } + var encodedCodePoints = utf8PercentEncode(codePoint, _userInfoPercentEncodeSet); + if (passwordTokenSeenFlag) { + url.password += encodedCodePoints; + } + else { + url.username += encodedCodePoints; + } } - const encodedCodePoints = utf8PercentEncode(codePoint, _userInfoPercentEncodeSet); - if (passwordTokenSeenFlag) { - url.password += encodedCodePoints; - } - else { - url.username += encodedCodePoints; + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (buffer_1_1 && !buffer_1_1.done && (_a = buffer_1.return)) _a.call(buffer_1); } + finally { if (e_2) throw e_2.error; } } /** * 1.5. Set buffer to the empty string. @@ -34619,7 +37527,7 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { validationError("Invalid input string."); return null; } - const host = hostParser(buffer, !isSpecial(url)); + var host = hostParser(buffer, !isSpecial(url)); if (host === null) return null; url.host = host; @@ -34657,7 +37565,7 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { validationError("Invalid input string."); return url; } - const host = hostParser(buffer, !isSpecial(url)); + var host = hostParser(buffer, !isSpecial(url)); if (host === null) return null; url.host = host; @@ -34709,7 +37617,7 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { * 2.1.4. Set buffer to the empty string. */ if (buffer !== "") { - const port = parseInt(buffer, 10); + var port = parseInt(buffer, 10); if (port > Math.pow(2, 16) - 1) { validationError("Invalid port number."); return null; @@ -34905,7 +37813,7 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { * 1.3.6. Set buffer to the empty string and state to path start * state. */ - let host = hostParser(buffer, !isSpecial(url)); + var host = hostParser(buffer, !isSpecial(url)); if (host === null) return null; if (host === "localhost") @@ -35023,7 +37931,7 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { validationError("Invalid input string."); url.host = ""; } - const bufferCodePoints = Array.from(buffer); + var bufferCodePoints = Array.from(buffer); buffer = bufferCodePoints.slice(0, 1) + ':' + bufferCodePoints.slice(2); } /** @@ -35157,7 +38065,7 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { if (encoding.toUpperCase() !== "UTF-8") { throw new Error("Only UTF-8 encoding is supported."); } - let bytes = (0, util_1.utf8Encode)(walker.c()); + var bytes = util_1.utf8Encode(walker.c()); /** * 3.4. If bytes starts with `&#` and ends with 0x3B (;), then: */ @@ -35174,26 +38082,36 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { url.query += "%26%23" + infra_1.byteSequence.isomorphicDecode(bytes) + "%3B"; } else { - /** - * 3.5. Otherwise, for each byte in bytes: - * 3.5.1. If one of the following is true - * - byte is less than 0x21 (!) - * - byte is greater than 0x7E (~) - * - byte is 0x22 ("), 0x23 (#), 0x3C (<), or 0x3E (>) - * - byte is 0x27 (') and url is special - * then append byte, percent encoded, to url’s query. - * 3.5.2. Otherwise, append a code point whose value is byte to - * url’s query. - */ - for (const byte of bytes) { - if (byte < 0x21 || byte > 0x7E || byte === 0x22 || - byte === 0x23 || byte === 0x3C || byte === 0x3E || - (byte === 0x27 && isSpecial(url))) { - url.query += percentEncode(byte); + try { + /** + * 3.5. Otherwise, for each byte in bytes: + * 3.5.1. If one of the following is true + * - byte is less than 0x21 (!) + * - byte is greater than 0x7E (~) + * - byte is 0x22 ("), 0x23 (#), 0x3C (<), or 0x3E (>) + * - byte is 0x27 (') and url is special + * then append byte, percent encoded, to url’s query. + * 3.5.2. Otherwise, append a code point whose value is byte to + * url’s query. + */ + for (var bytes_1 = (e_3 = void 0, __values(bytes)), bytes_1_1 = bytes_1.next(); !bytes_1_1.done; bytes_1_1 = bytes_1.next()) { + var byte = bytes_1_1.value; + if (byte < 0x21 || byte > 0x7E || byte === 0x22 || + byte === 0x23 || byte === 0x3C || byte === 0x3E || + (byte === 0x27 && isSpecial(url))) { + url.query += percentEncode(byte); + } + else { + url.query += String.fromCharCode(byte); + } } - else { - url.query += String.fromCharCode(byte); + } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (bytes_1_1 && !bytes_1_1.done && (_b = bytes_1.return)) _b.call(bytes_1); } + finally { if (e_3) throw e_3.error; } } } } @@ -35240,6 +38158,7 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { */ return url; } +exports.basicURLParser = basicURLParser; /** * Sets a URL's username. * @@ -35247,17 +38166,29 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { * @param username - username string */ function setTheUsername(url, username) { + var e_4, _a; /** * 1. Set url’s username to the empty string. * 2. For each code point in username, UTF-8 percent encode it using the * userinfo percent-encode set, and append the result to url’s username. */ - let result = ""; - for (const codePoint of username) { - result += utf8PercentEncode(codePoint, _userInfoPercentEncodeSet); + var result = ""; + try { + for (var username_1 = __values(username), username_1_1 = username_1.next(); !username_1_1.done; username_1_1 = username_1.next()) { + var codePoint = username_1_1.value; + result += utf8PercentEncode(codePoint, _userInfoPercentEncodeSet); + } + } + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (username_1_1 && !username_1_1.done && (_a = username_1.return)) _a.call(username_1); + } + finally { if (e_4) throw e_4.error; } } url.username = result; } +exports.setTheUsername = setTheUsername; /** * Sets a URL's password. * @@ -35265,17 +38196,29 @@ function setTheUsername(url, username) { * @param username - password string */ function setThePassword(url, password) { + var e_5, _a; /** * 1. Set url’s password to the empty string. * 2. For each code point in password, UTF-8 percent encode it using the * userinfo percent-encode set, and append the result to url’s password. */ - let result = ""; - for (const codePoint of password) { - result += utf8PercentEncode(codePoint, _userInfoPercentEncodeSet); + var result = ""; + try { + for (var password_1 = __values(password), password_1_1 = password_1.next(); !password_1_1.done; password_1_1 = password_1.next()) { + var codePoint = password_1_1.value; + result += utf8PercentEncode(codePoint, _userInfoPercentEncodeSet); + } + } + catch (e_5_1) { e_5 = { error: e_5_1 }; } + finally { + try { + if (password_1_1 && !password_1_1.done && (_a = password_1.return)) _a.call(password_1); + } + finally { if (e_5) throw e_5.error; } } url.password = result; } +exports.setThePassword = setThePassword; /** * Determines if the string represents a single dot path. * @@ -35284,16 +38227,18 @@ function setThePassword(url, password) { function isSingleDotPathSegment(str) { return str === '.' || str.toLowerCase() === "%2e"; } +exports.isSingleDotPathSegment = isSingleDotPathSegment; /** * Determines if the string represents a double dot path. * * @param str - a string */ function isDoubleDotPathSegment(str) { - const lowerStr = str.toLowerCase(); + var lowerStr = str.toLowerCase(); return lowerStr === ".." || lowerStr === ".%2e" || lowerStr === "%2e." || lowerStr === "%2e%2e"; } +exports.isDoubleDotPathSegment = isDoubleDotPathSegment; /** * Shorten's URL's path. * @@ -35307,7 +38252,7 @@ function shorten(url) { * normalized Windows drive letter, then return. * 4. Remove path’s last item. */ - const path = url.path; + var path = url.path; if (path.length === 0) return; if (url.scheme === "file" && path.length === 1 && @@ -35315,6 +38260,7 @@ function shorten(url) { return; url.path.splice(url.path.length - 1, 1); } +exports.shorten = shorten; /** * Determines if a string is a normalized Windows drive letter. * @@ -35328,6 +38274,7 @@ function isNormalizedWindowsDriveLetter(str) { return str.length >= 2 && infra_1.codePoint.ASCIIAlpha.test(str[0]) && str[1] === ':'; } +exports.isNormalizedWindowsDriveLetter = isNormalizedWindowsDriveLetter; /** * Determines if a string is a Windows drive letter. * @@ -35341,6 +38288,7 @@ function isWindowsDriveLetter(str) { return str.length >= 2 && infra_1.codePoint.ASCIIAlpha.test(str[0]) && (str[1] === ':' || str[1] === '|'); } +exports.isWindowsDriveLetter = isWindowsDriveLetter; /** * Determines if a string starts with a Windows drive letter. * @@ -35359,6 +38307,7 @@ function startsWithAWindowsDriveLetter(str) { (str.length === 2 || (str[2] === '/' || str[2] === '\\' || str[2] === '?' || str[2] === '#')); } +exports.startsWithAWindowsDriveLetter = startsWithAWindowsDriveLetter; /** * Parses a host string. * @@ -35366,7 +38315,8 @@ function startsWithAWindowsDriveLetter(str) { * @param isNotSpecial - `true` if the source URL is not special; otherwise * `false`. */ -function hostParser(input, isNotSpecial = false) { +function hostParser(input, isNotSpecial) { + if (isNotSpecial === void 0) { isNotSpecial = false; } /** * 1. If isNotSpecial is not given, then set isNotSpecial to false. * 2. If input starts with U+005B ([), then: @@ -35396,14 +38346,14 @@ function hostParser(input, isNotSpecial = false) { * coupled with an early return for failure, as domain to ASCII fails * on U+FFFD REPLACEMENT CHARACTER. */ - const domain = (0, util_1.utf8Decode)(stringPercentDecode(input)); + var domain = util_1.utf8Decode(stringPercentDecode(input)); /** * 5. Let asciiDomain be the result of running domain to ASCII on domain. * 6. If asciiDomain is failure, validation error, return failure. * 7. If asciiDomain contains a forbidden host code point, validation error, * return failure. */ - const asciiDomain = domainToASCII(domain); + var asciiDomain = domainToASCII(domain); if (asciiDomain === null) { validationError("Invalid domain."); return null; @@ -35417,11 +38367,12 @@ function hostParser(input, isNotSpecial = false) { * 9. If ipv4Host is an IPv4 address or failure, return ipv4Host. * 10. Return asciiDomain. */ - const ipv4Host = iPv4Parser(asciiDomain); - if (ipv4Host === null || (0, util_1.isNumber)(ipv4Host)) + var ipv4Host = iPv4Parser(asciiDomain); + if (ipv4Host === null || util_1.isNumber(ipv4Host)) return ipv4Host; return asciiDomain; } +exports.hostParser = hostParser; /** * Parses a string containing an IP v4 address. * @@ -35429,11 +38380,12 @@ function hostParser(input, isNotSpecial = false) { * @param isNotSpecial - `true` if the source URL is not special; otherwise * `false`. */ -function iPv4NumberParser(input, validationErrorFlag = { value: false }) { +function iPv4NumberParser(input, validationErrorFlag) { + if (validationErrorFlag === void 0) { validationErrorFlag = { value: false }; } /** * 1. Let R be 10. */ - let R = 10; + var R = 10; if (input.startsWith("0x") || input.startsWith("0X")) { /** * 2. If input contains at least two code points and the first two code @@ -35465,7 +38417,7 @@ function iPv4NumberParser(input, validationErrorFlag = { value: false }) { */ if (input === "") return 0; - const radixRDigits = (R === 10 ? /^[0-9]+$/ : (R === 16 ? /^[0-9A-Fa-f]+$/ : /^[0-7]+$/)); + var radixRDigits = (R === 10 ? /^[0-9]+$/ : (R === 16 ? /^[0-9A-Fa-f]+$/ : /^[0-7]+$/)); if (!radixRDigits.test(input)) return null; /** @@ -35475,18 +38427,20 @@ function iPv4NumberParser(input, validationErrorFlag = { value: false }) { */ return parseInt(input, R); } +exports.iPv4NumberParser = iPv4NumberParser; /** * Parses a string containing an IP v4 address. * * @param input - input string */ function iPv4Parser(input) { + var e_6, _a, e_7, _b; /** * 1. Let validationErrorFlag be unset. * 2. Let parts be input split on U+002E (.). */ - const validationErrorFlag = { value: false }; - const parts = input.split('.'); + var validationErrorFlag = { value: false }; + var parts = input.split('.'); /** * 3. If the last item in parts is the empty string, then: * 3.1. Set validationErrorFlag. @@ -35511,14 +38465,24 @@ function iPv4Parser(input) { * 6.3. If n is failure, return input. * 6.4. Append n to numbers. */ - const numbers = []; - for (const part of parts) { - if (part === "") - return input; - const n = iPv4NumberParser(part, validationErrorFlag); - if (n === null) - return input; - numbers.push(n); + var numbers = []; + try { + for (var parts_1 = __values(parts), parts_1_1 = parts_1.next(); !parts_1_1.done; parts_1_1 = parts_1.next()) { + var part = parts_1_1.value; + if (part === "") + return input; + var n = iPv4NumberParser(part, validationErrorFlag); + if (n === null) + return input; + numbers.push(n); + } + } + catch (e_6_1) { e_6 = { error: e_6_1 }; } + finally { + try { + if (parts_1_1 && !parts_1_1.done && (_a = parts_1.return)) _a.call(parts_1); + } + finally { if (e_6) throw e_6.error; } } /** * 7. If validationErrorFlag is set, validation error. @@ -35530,8 +38494,8 @@ function iPv4Parser(input) { */ if (validationErrorFlag.value) validationError("Invalid IP v4 address."); - for (let i = 0; i < numbers.length; i++) { - const item = numbers[i]; + for (var i = 0; i < numbers.length; i++) { + var item = numbers[i]; if (item > 255) { validationError("Invalid IP v4 address."); if (i < numbers.length - 1) @@ -35546,7 +38510,7 @@ function iPv4Parser(input) { * 11. Let ipv4 be the last item in numbers. * 12. Remove the last item from numbers. */ - let ipv4 = numbers[numbers.length - 1]; + var ipv4 = numbers[numbers.length - 1]; numbers.pop(); /** * 13. Let counter be zero. @@ -35554,22 +38518,34 @@ function iPv4Parser(input) { * 14.2. Increment ipv4 by n × 256**(3 − counter). * 14.2. Increment counter by 1. */ - let counter = 0; - for (const n of numbers) { - ipv4 += n * Math.pow(256, 3 - counter); - counter++; + var counter = 0; + try { + for (var numbers_1 = __values(numbers), numbers_1_1 = numbers_1.next(); !numbers_1_1.done; numbers_1_1 = numbers_1.next()) { + var n = numbers_1_1.value; + ipv4 += n * Math.pow(256, 3 - counter); + counter++; + } + } + catch (e_7_1) { e_7 = { error: e_7_1 }; } + finally { + try { + if (numbers_1_1 && !numbers_1_1.done && (_b = numbers_1.return)) _b.call(numbers_1); + } + finally { if (e_7) throw e_7.error; } } /** * 15. Return ipv4. */ return ipv4; } +exports.iPv4Parser = iPv4Parser; /** * Parses a string containing an IP v6 address. * * @param input - input string */ function iPv6Parser(input) { + var _a; /** * 1. Let address be a new IPv6 address whose IPv6 pieces are all 0. * 2. Let pieceIndex be 0. @@ -35577,11 +38553,11 @@ function iPv6Parser(input) { * 4. Let pointer be a pointer into input, initially 0 (pointing to the * first code point). */ - const EOF = ""; - const address = [0, 0, 0, 0, 0, 0, 0, 0]; - let pieceIndex = 0; - let compress = null; - const walker = new util_1.StringWalker(input); + var EOF = ""; + var address = [0, 0, 0, 0, 0, 0, 0, 0]; + var pieceIndex = 0; + var compress = null; + var walker = new util_1.StringWalker(input); /** * 5. If c is U+003A (:), then: * 5.1. If remaining does not start with U+003A (:), validation error, @@ -35631,8 +38607,8 @@ function iPv6Parser(input) { * to value × 0x10 + c interpreted as hexadecimal number, and increase * pointer and length by 1. */ - let value = 0; - let length = 0; + var value = 0; + var length = 0; while (length < 4 && infra_1.codePoint.ASCIIHexDigit.test(walker.c())) { value = value * 0x10 + parseInt(walker.c(), 16); walker.pointer++; @@ -35658,7 +38634,7 @@ function iPv6Parser(input) { validationError("Invalid IP v6 address."); return null; } - let numbersSeen = 0; + var numbersSeen = 0; /** * 6.5.5. While c is not the EOF code point: */ @@ -35666,7 +38642,7 @@ function iPv6Parser(input) { /** * 6.5.5.1. Let ipv4Piece be null. */ - let ipv4Piece = null; + var ipv4Piece = null; /** * 6.5.5.2. If numbersSeen is greater than 0, then: * 6.5.5.2.1. If c is a U+002E (.) and numbersSeen is less than 4, then @@ -35697,7 +38673,7 @@ function iPv6Parser(input) { /** * 6.5.5.4.1. Let number be c interpreted as decimal number. */ - const number = parseInt(walker.c(), 10); + var number = parseInt(walker.c(), 10); /** * 6.5.5.4.2. If ipv4Piece is null, then set ipv4Piece to number. * Otherwise, if ipv4Piece is 0, validation error, return failure. @@ -35785,11 +38761,10 @@ function iPv6Parser(input) { * both pieceIndex and swaps by 1. */ if (compress !== null) { - let swaps = pieceIndex - compress; + var swaps = pieceIndex - compress; pieceIndex = 7; while (pieceIndex !== 0 && swaps > 0) { - [address[pieceIndex], address[compress + swaps - 1]] = - [address[compress + swaps - 1], address[pieceIndex]]; + _a = __read([address[compress + swaps - 1], address[pieceIndex]], 2), address[pieceIndex] = _a[0], address[compress + swaps - 1] = _a[1]; pieceIndex--; swaps--; } @@ -35807,12 +38782,14 @@ function iPv6Parser(input) { */ return address; } +exports.iPv6Parser = iPv6Parser; /** * Parses an opaque host string. * * @param input - a string */ function opaqueHostParser(input) { + var e_8, _a; /** * 1. If input contains a forbidden host code point excluding U+0025 (%), * validation error, return failure. @@ -35821,17 +38798,28 @@ function opaqueHostParser(input) { * control percent-encode set, and append the result to output. * 4. Return output. */ - const forbiddenChars = /[\x00\t\f\r #/:?@\[\\\]]/; + var forbiddenChars = /[\x00\t\f\r #/:?@\[\\\]]/; if (forbiddenChars.test(input)) { validationError("Invalid host string."); return null; } - let output = ""; - for (const codePoint of input) { - output += utf8PercentEncode(codePoint, _c0ControlPercentEncodeSet); + var output = ""; + try { + for (var input_1 = __values(input), input_1_1 = input_1.next(); !input_1_1.done; input_1_1 = input_1.next()) { + var codePoint = input_1_1.value; + output += utf8PercentEncode(codePoint, _c0ControlPercentEncodeSet); + } + } + catch (e_8_1) { e_8 = { error: e_8_1 }; } + finally { + try { + if (input_1_1 && !input_1_1.done && (_a = input_1.return)) _a.call(input_1); + } + finally { if (e_8) throw e_8.error; } } return output; } +exports.opaqueHostParser = opaqueHostParser; /** * Resolves a Blob URL from the user agent's Blob URL store. * function is not implemented. @@ -35842,6 +38830,7 @@ function opaqueHostParser(input) { function resolveABlobURL(url) { return null; } +exports.resolveABlobURL = resolveABlobURL; /** * Percent encodes a byte. * @@ -35855,13 +38844,14 @@ function percentEncode(value) { */ return '%' + ('00' + value.toString(16).toUpperCase()).slice(-2); } +exports.percentEncode = percentEncode; /** * Percent decodes a byte sequence input. * * @param input - a byte sequence */ function percentDecode(input) { - const isHexDigit = (byte) => { + var isHexDigit = function (byte) { return (byte >= 0x30 && byte <= 0x39) || (byte >= 0x41 && byte <= 0x46) || (byte >= 0x61 && byte <= 0x66); }; @@ -35869,10 +38859,10 @@ function percentDecode(input) { * 1. Let output be an empty byte sequence. * 2. For each byte byte in input: */ - const output = new Uint8Array(input.length); - let n = 0; - for (let i = 0; i < input.length; i++) { - const byte = input[i]; + var output = new Uint8Array(input.length); + var n = 0; + for (var i = 0; i < input.length; i++) { + var byte = input[i]; /** * 2.1. If byte is not 0x25 (%), then append byte to output. * 2.2. Otherwise, if byte is 0x25 (%) and the next two bytes after byte @@ -35898,7 +38888,7 @@ function percentDecode(input) { n++; } else { - const bytePoint = parseInt((0, util_1.utf8Decode)(Uint8Array.of(input[i + 1], input[i + 2])), 16); + var bytePoint = parseInt(util_1.utf8Decode(Uint8Array.of(input[i + 1], input[i + 2])), 16); output[n] = bytePoint; n++; i += 2; @@ -35906,6 +38896,7 @@ function percentDecode(input) { } return output.subarray(0, n); } +exports.percentDecode = percentDecode; /** * String percent decodes a string. * @@ -35916,8 +38907,9 @@ function stringPercentDecode(input) { * 1. Let bytes be the UTF-8 encoding of input. * 2. Return the percent decoding of bytes. */ - return percentDecode((0, util_1.utf8Encode)(input)); + return percentDecode(util_1.utf8Encode(input)); } +exports.stringPercentDecode = stringPercentDecode; /** * UTF-8 percent encodes a code point, using a percent encode set. * @@ -35925,6 +38917,7 @@ function stringPercentDecode(input) { * @param percentEncodeSet - a percent encode set */ function utf8PercentEncode(codePoint, percentEncodeSet) { + var e_9, _a; /** * 1. If codePoint is not in percentEncodeSet, then return codePoint. * 2. Let bytes be the result of running UTF-8 encode on codePoint. @@ -35933,13 +38926,24 @@ function utf8PercentEncode(codePoint, percentEncodeSet) { */ if (!percentEncodeSet.test(codePoint)) return codePoint; - const bytes = (0, util_1.utf8Encode)(codePoint); - let result = ""; - for (const byte of bytes) { - result += percentEncode(byte); + var bytes = util_1.utf8Encode(codePoint); + var result = ""; + try { + for (var bytes_2 = __values(bytes), bytes_2_1 = bytes_2.next(); !bytes_2_1.done; bytes_2_1 = bytes_2.next()) { + var byte = bytes_2_1.value; + result += percentEncode(byte); + } + } + catch (e_9_1) { e_9 = { error: e_9_1 }; } + finally { + try { + if (bytes_2_1 && !bytes_2_1.done && (_a = bytes_2.return)) _a.call(bytes_2); + } + finally { if (e_9) throw e_9.error; } } return result; } +exports.utf8PercentEncode = utf8PercentEncode; /** * Determines if two hosts are considered equal. * @@ -35949,6 +38953,7 @@ function utf8PercentEncode(codePoint, percentEncodeSet) { function hostEquals(hostA, hostB) { return hostA === hostB; } +exports.hostEquals = hostEquals; /** * Determines if two URLs are considered equal. * @@ -35956,7 +38961,8 @@ function hostEquals(hostA, hostB) { * @param urlB - a URL * @param excludeFragmentsFlag - whether to ignore fragments while comparing */ -function urlEquals(urlA, urlB, excludeFragmentsFlag = false) { +function urlEquals(urlA, urlB, excludeFragmentsFlag) { + if (excludeFragmentsFlag === void 0) { excludeFragmentsFlag = false; } /** * 1. Let serializedA be the result of serializing A, with the exclude * fragment flag set if the exclude fragments flag is set. @@ -35967,6 +38973,7 @@ function urlEquals(urlA, urlB, excludeFragmentsFlag = false) { return urlSerializer(urlA, excludeFragmentsFlag) === urlSerializer(urlB, excludeFragmentsFlag); } +exports.urlEquals = urlEquals; /** * Parses an `application/x-www-form-urlencoded` string. * @@ -35978,27 +38985,39 @@ function urlEncodedStringParser(input) { * UTF-8 encodes it, and then returns the result of * application/x-www-form-urlencoded parsing it. */ - return urlEncodedParser((0, util_1.utf8Encode)(input)); + return urlEncodedParser(util_1.utf8Encode(input)); } +exports.urlEncodedStringParser = urlEncodedStringParser; /** * Parses `application/x-www-form-urlencoded` bytes. * * @param input - a byte sequence */ function urlEncodedParser(input) { + var e_10, _a, e_11, _b; /** * 1. Let sequences be the result of splitting input on 0x26 (&). */ - const sequences = []; - let currentSequence = []; - for (const byte of input) { - if (byte === 0x26) { - sequences.push(Uint8Array.from(currentSequence)); - currentSequence = []; + var sequences = []; + var currentSequence = []; + try { + for (var input_2 = __values(input), input_2_1 = input_2.next(); !input_2_1.done; input_2_1 = input_2.next()) { + var byte = input_2_1.value; + if (byte === 0x26) { + sequences.push(Uint8Array.from(currentSequence)); + currentSequence = []; + } + else { + currentSequence.push(byte); + } } - else { - currentSequence.push(byte); + } + catch (e_10_1) { e_10 = { error: e_10_1 }; } + finally { + try { + if (input_2_1 && !input_2_1.done && (_a = input_2.return)) _a.call(input_2); } + finally { if (e_10) throw e_10.error; } } if (currentSequence.length !== 0) { sequences.push(Uint8Array.from(currentSequence)); @@ -36006,60 +39025,72 @@ function urlEncodedParser(input) { /** * 2. Let output be an initially empty list of name-value tuples where both name and value hold a string. */ - const output = []; - /** - * 3. For each byte sequence bytes in sequences: - */ - for (const bytes of sequences) { + var output = []; + try { /** - * 3.1. If bytes is the empty byte sequence, then continue. + * 3. For each byte sequence bytes in sequences: */ - if (bytes.length === 0) - continue; - /** - * 3.2. If bytes contains a 0x3D (=), then let name be the bytes from the - * start of bytes up to but excluding its first 0x3D (=), and let value be - * the bytes, if any, after the first 0x3D (=) up to the end of bytes. - * If 0x3D (=) is the first byte, then name will be the empty byte - * sequence. If it is the last, then value will be the empty byte sequence. - * 3.3. Otherwise, let name have the value of bytes and let value be the - * empty byte sequence. - */ - const index = bytes.indexOf(0x3D); - const name = (index !== -1 ? bytes.slice(0, index) : bytes); - const value = (index !== -1 ? bytes.slice(index + 1) : new Uint8Array()); - /** - * 3.4. Replace any 0x2B (+) in name and value with 0x20 (SP). - */ - for (let i = 0; i < name.length; i++) - if (name[i] === 0x2B) - name[i] = 0x20; - for (let i = 0; i < value.length; i++) - if (value[i] === 0x2B) - value[i] = 0x20; - /** - * 3.5. Let nameString and valueString be the result of running UTF-8 - * decode without BOM on the percent decoding of name and value, - * respectively. - */ - const nameString = (0, util_1.utf8Decode)(name); - const valueString = (0, util_1.utf8Decode)(value); - /** - * 3.6. Append (nameString, valueString) to output. - */ - output.push([nameString, valueString]); + for (var sequences_1 = __values(sequences), sequences_1_1 = sequences_1.next(); !sequences_1_1.done; sequences_1_1 = sequences_1.next()) { + var bytes = sequences_1_1.value; + /** + * 3.1. If bytes is the empty byte sequence, then continue. + */ + if (bytes.length === 0) + continue; + /** + * 3.2. If bytes contains a 0x3D (=), then let name be the bytes from the + * start of bytes up to but excluding its first 0x3D (=), and let value be + * the bytes, if any, after the first 0x3D (=) up to the end of bytes. + * If 0x3D (=) is the first byte, then name will be the empty byte + * sequence. If it is the last, then value will be the empty byte sequence. + * 3.3. Otherwise, let name have the value of bytes and let value be the + * empty byte sequence. + */ + var index = bytes.indexOf(0x3D); + var name = (index !== -1 ? bytes.slice(0, index) : bytes); + var value = (index !== -1 ? bytes.slice(index + 1) : new Uint8Array()); + /** + * 3.4. Replace any 0x2B (+) in name and value with 0x20 (SP). + */ + for (var i = 0; i < name.length; i++) + if (name[i] === 0x2B) + name[i] = 0x20; + for (var i = 0; i < value.length; i++) + if (value[i] === 0x2B) + value[i] = 0x20; + /** + * 3.5. Let nameString and valueString be the result of running UTF-8 + * decode without BOM on the percent decoding of name and value, + * respectively. + */ + var nameString = util_1.utf8Decode(name); + var valueString = util_1.utf8Decode(value); + /** + * 3.6. Append (nameString, valueString) to output. + */ + output.push([nameString, valueString]); + } + } + catch (e_11_1) { e_11 = { error: e_11_1 }; } + finally { + try { + if (sequences_1_1 && !sequences_1_1.done && (_b = sequences_1.return)) _b.call(sequences_1); + } + finally { if (e_11) throw e_11.error; } } /** * 4. Return output. */ return output; } +exports.urlEncodedParser = urlEncodedParser; /** * Serializes `application/x-www-form-urlencoded` bytes. * * @param input - a byte sequence */ function urlEncodedByteSerializer(input) { + var e_12, _a; /** * 1. Let output be the empty string. * 2. For each byte in input, depending on byte: @@ -36079,22 +39110,33 @@ function urlEncodedByteSerializer(input) { * Append byte, percent encoded, to output. * 3. Return output. */ - let output = ""; - for (const byte of input) { - if (byte === 0x20) { - output += '+'; + var output = ""; + try { + for (var input_3 = __values(input), input_3_1 = input_3.next(); !input_3_1.done; input_3_1 = input_3.next()) { + var byte = input_3_1.value; + if (byte === 0x20) { + output += '+'; + } + else if (byte === 0x2A || byte === 0x2D || byte === 0x2E || + (byte >= 0x30 && byte <= 0x39) || (byte >= 0x41 && byte <= 0x5A) || + byte === 0x5F || (byte >= 0x61 && byte <= 0x7A)) { + output += String.fromCodePoint(byte); + } + else { + output += percentEncode(byte); + } } - else if (byte === 0x2A || byte === 0x2D || byte === 0x2E || - (byte >= 0x30 && byte <= 0x39) || (byte >= 0x41 && byte <= 0x5A) || - byte === 0x5F || (byte >= 0x61 && byte <= 0x7A)) { - output += String.fromCodePoint(byte); - } - else { - output += percentEncode(byte); + } + catch (e_12_1) { e_12 = { error: e_12_1 }; } + finally { + try { + if (input_3_1 && !input_3_1.done && (_a = input_3.return)) _a.call(input_3); } + finally { if (e_12) throw e_12.error; } } return output; } +exports.urlEncodedByteSerializer = urlEncodedByteSerializer; /** * Serializes `application/x-www-form-urlencoded` tuples. * @@ -36102,12 +39144,13 @@ function urlEncodedByteSerializer(input) { * @param encodingOverride: encoding override */ function urlEncodedSerializer(tuples, encodingOverride) { + var e_13, _a; /** * 1. Let encoding be UTF-8. * 2. If encoding override is given, set encoding to the result of getting * an output encoding from encoding override. */ - const encoding = (encodingOverride === undefined || + var encoding = (encodingOverride === undefined || encodingOverride === "replacement" || encodingOverride === "UTF-16BE" || encodingOverride === "UTF-16LE" ? "UTF-8" : encodingOverride); if (encoding.toUpperCase() !== "UTF-8") { @@ -36116,45 +39159,56 @@ function urlEncodedSerializer(tuples, encodingOverride) { /** * 3. Let output be the empty string. */ - let output = ""; - /** - * 4. For each tuple in tuples: - */ - for (const tuple of tuples) { + var output = ""; + try { /** - * 4.1. Let name be the result of serializing the result of encoding - * tuple’s name, using encoding. + * 4. For each tuple in tuples: */ - const name = urlEncodedByteSerializer((0, util_1.utf8Encode)(tuple[0])); - /** - * 4.2. Let value be tuple’s value. - */ - let value = tuple[1]; - /** - * TODO: - * 4.3. If value is a file, then set value to value’s filename. - */ - /** - * 4.4. Set value to the result of serializing the result of encoding - * value, using encoding. - */ - value = urlEncodedByteSerializer((0, util_1.utf8Encode)(value)); - /** - * 4.5. If tuple is not the first pair in tuples, then append U+0026 (&) - * to output. - */ - if (output !== "") - output += '&'; - /** - * 4.6. Append name, followed by U+003D (=), followed by value, to output. - */ - output += name + '=' + value; + for (var tuples_1 = __values(tuples), tuples_1_1 = tuples_1.next(); !tuples_1_1.done; tuples_1_1 = tuples_1.next()) { + var tuple = tuples_1_1.value; + /** + * 4.1. Let name be the result of serializing the result of encoding + * tuple’s name, using encoding. + */ + var name = urlEncodedByteSerializer(util_1.utf8Encode(tuple[0])); + /** + * 4.2. Let value be tuple’s value. + */ + var value = tuple[1]; + /** + * TODO: + * 4.3. If value is a file, then set value to value’s filename. + */ + /** + * 4.4. Set value to the result of serializing the result of encoding + * value, using encoding. + */ + value = urlEncodedByteSerializer(util_1.utf8Encode(value)); + /** + * 4.5. If tuple is not the first pair in tuples, then append U+0026 (&) + * to output. + */ + if (output !== "") + output += '&'; + /** + * 4.6. Append name, followed by U+003D (=), followed by value, to output. + */ + output += name + '=' + value; + } + } + catch (e_13_1) { e_13 = { error: e_13_1 }; } + finally { + try { + if (tuples_1_1 && !tuples_1_1.done && (_a = tuples_1.return)) _a.call(tuples_1); + } + finally { if (e_13) throw e_13.error; } } /** * 5. Return output. */ return output; } +exports.urlEncodedSerializer = urlEncodedSerializer; /** * Returns a URL's origin. * @@ -36188,7 +39242,7 @@ function origin(url) { if (url._blobURLEntry !== null) { // TODO: return URL’s blob URL entry’s environment’s origin. } - const parsedURL = basicURLParser(url.path[0]); + var parsedURL = basicURLParser(url.path[0]); if (parsedURL === null) return interfaces_1.OpaqueOrigin; else @@ -36205,12 +39259,14 @@ function origin(url) { return interfaces_1.OpaqueOrigin; } } +exports.origin = origin; /** * Converts a domain string to ASCII. * * @param domain - a domain string */ -function domainToASCII(domain, beStrict = false) { +function domainToASCII(domain, beStrict) { + if (beStrict === void 0) { beStrict = false; } /** * 1. If beStrict is not given, set it to false. * 2. Let result be the result of running Unicode ToASCII with domain_name @@ -36221,19 +39277,21 @@ function domainToASCII(domain, beStrict = false) { * 4. Return result. */ // Use node.js function - const result = (0, url_1.domainToASCII)(domain); + var result = url_1.domainToASCII(domain); if (result === "") { validationError("Invalid domain name."); return null; } return result; } +exports.domainToASCII = domainToASCII; /** * Converts a domain string to Unicode. * * @param domain - a domain string */ -function domainToUnicode(domain, beStrict = false) { +function domainToUnicode(domain, beStrict) { + if (beStrict === void 0) { beStrict = false; } /** * 1. Let result be the result of running Unicode ToUnicode with domain_name * set to domain, CheckHyphens set to false, CheckBidi set to true, @@ -36243,12 +39301,13 @@ function domainToUnicode(domain, beStrict = false) { * return result. */ // Use node.js function - const result = (0, url_1.domainToUnicode)(domain); + var result = url_1.domainToUnicode(domain); if (result === "") { validationError("Invalid domain name."); } return result; } +exports.domainToUnicode = domainToUnicode; /** * Serializes an origin. * function is from the HTML spec: @@ -36269,11 +39328,12 @@ function asciiSerializationOfAnOrigin(origin) { if (origin[0] === "" && origin[1] === "" && origin[2] === null && origin[3] === null) { return "null"; } - let result = origin[0] + "://" + hostSerializer(origin[1]); + var result = origin[0] + "://" + hostSerializer(origin[1]); if (origin[2] !== null) result += ":" + origin[2].toString(); return result; } +exports.asciiSerializationOfAnOrigin = asciiSerializationOfAnOrigin; //# sourceMappingURL=URLAlgorithm.js.map /***/ }), @@ -36284,7 +39344,6 @@ function asciiSerializationOfAnOrigin(origin) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.OpaqueOrigin = exports.ParserState = void 0; /** * Represents the state of the URL parser. */ @@ -36311,7 +39370,7 @@ var ParserState; ParserState[ParserState["CannotBeABaseURLPath"] = 18] = "CannotBeABaseURLPath"; ParserState[ParserState["Query"] = 19] = "Query"; ParserState[ParserState["Fragment"] = 20] = "Fragment"; -})(ParserState || (exports.ParserState = ParserState = {})); +})(ParserState = exports.ParserState || (exports.ParserState = {})); exports.OpaqueOrigin = ["", "", null, null]; //# sourceMappingURL=interfaces.js.map @@ -36323,7 +39382,6 @@ exports.OpaqueOrigin = ["", "", null, null]; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.CompareCache = void 0; /** * Represents a cache for storing order between equal objects. * @@ -36337,16 +39395,16 @@ exports.CompareCache = void 0; * * The cache has a size limit which is defined on initialization. */ -class CompareCache { - _limit; - _items = new Map(); +var CompareCache = /** @class */ (function () { /** * Initializes a new instance of `CompareCache`. * * @param limit - maximum number of items to keep in the cache. When the limit * is exceeded the first item is removed from the cache. */ - constructor(limit = 1000) { + function CompareCache(limit) { + if (limit === void 0) { limit = 1000; } + this._items = new Map(); this._limit = limit; } /** @@ -36356,12 +39414,12 @@ class CompareCache { * @param objA - an item to compare * @param objB - an item to compare */ - check(objA, objB) { + CompareCache.prototype.check = function (objA, objB) { if (this._items.get(objA) === objB) return true; else if (this._items.get(objB) === objA) return false; - const result = (Math.random() < 0.5); + var result = (Math.random() < 0.5); if (result) { this._items.set(objA, objB); } @@ -36369,40 +39427,78 @@ class CompareCache { this._items.set(objB, objA); } if (this._items.size > this._limit) { - const it = this._items.keys().next(); + var it_1 = this._items.keys().next(); /* istanbul ignore else */ - if (!it.done) { - this._items.delete(it.value); + if (!it_1.done) { + this._items.delete(it_1.value); } } return result; - } -} + }; + return CompareCache; +}()); exports.CompareCache = CompareCache; //# sourceMappingURL=CompareCache.js.map /***/ }), /***/ 16006: -/***/ ((__unused_webpack_module, exports) => { +/***/ (function(__unused_webpack_module, exports) { "use strict"; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.FixedSizeSet = void 0; /** * Represents a set of objects with a size limit. */ -class FixedSizeSet { - _limit; - _items = new Set(); +var FixedSizeSet = /** @class */ (function () { /** * Initializes a new instance of `FixedSizeSet`. * * @param limit - maximum number of items to keep in the set. When the limit * is exceeded the first item is removed from the set. */ - constructor(limit = 1000) { + function FixedSizeSet(limit) { + if (limit === void 0) { limit = 1000; } + this._items = new Set(); this._limit = limit; } /** @@ -36410,80 +39506,118 @@ class FixedSizeSet { * * @param item - an item */ - add(item) { + FixedSizeSet.prototype.add = function (item) { this._items.add(item); if (this._items.size > this._limit) { - const it = this._items.values().next(); + var it_1 = this._items.values().next(); /* istanbul ignore else */ - if (!it.done) { - this._items.delete(it.value); + if (!it_1.done) { + this._items.delete(it_1.value); } } return this; - } + }; /** * Removes an item from the set. * * @param item - an item */ - delete(item) { + FixedSizeSet.prototype.delete = function (item) { return this._items.delete(item); - } + }; /** * Determines if an item is in the set. * * @param item - an item */ - has(item) { + FixedSizeSet.prototype.has = function (item) { return this._items.has(item); - } + }; /** * Removes all items from the set. */ - clear() { + FixedSizeSet.prototype.clear = function () { this._items.clear(); - } - /** - * Gets the number of items in the set. - */ - get size() { return this._items.size; } + }; + Object.defineProperty(FixedSizeSet.prototype, "size", { + /** + * Gets the number of items in the set. + */ + get: function () { return this._items.size; }, + enumerable: true, + configurable: true + }); /** * Applies the given callback function to all elements of the set. */ - forEach(callback, thisArg) { - this._items.forEach(e => callback.call(thisArg, e, e, this)); - } + FixedSizeSet.prototype.forEach = function (callback, thisArg) { + var _this = this; + this._items.forEach(function (e) { return callback.call(thisArg, e, e, _this); }); + }; /** * Iterates through the items in the set. */ - *keys() { - yield* this._items.keys(); - } + FixedSizeSet.prototype.keys = function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [5 /*yield**/, __values(this._items.keys())]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }; /** * Iterates through the items in the set. */ - *values() { - yield* this._items.values(); - } + FixedSizeSet.prototype.values = function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [5 /*yield**/, __values(this._items.values())]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }; /** * Iterates through the items in the set. */ - *entries() { - yield* this._items.entries(); - } + FixedSizeSet.prototype.entries = function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [5 /*yield**/, __values(this._items.entries())]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }; /** * Iterates through the items in the set. */ - *[Symbol.iterator]() { - yield* this._items; - } - /** - * Returns the string tag of the set. - */ - get [Symbol.toStringTag]() { - return "FixedSizeSet"; - } -} + FixedSizeSet.prototype[Symbol.iterator] = function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [5 /*yield**/, __values(this._items)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }; + Object.defineProperty(FixedSizeSet.prototype, Symbol.toStringTag, { + /** + * Returns the string tag of the set. + */ + get: function () { + return "FixedSizeSet"; + }, + enumerable: true, + configurable: true + }); + return FixedSizeSet; +}()); exports.FixedSizeSet = FixedSizeSet; //# sourceMappingURL=FixedSizeSet.js.map @@ -36495,59 +39629,98 @@ exports.FixedSizeSet = FixedSizeSet; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Lazy = void 0; /** * Represents an object with lazy initialization. */ -class Lazy { - _initialized = false; - _initFunc; - _value; +var Lazy = /** @class */ (function () { /** * Initializes a new instance of `Lazy`. * * @param initFunc - initializer function */ - constructor(initFunc) { + function Lazy(initFunc) { + this._initialized = false; this._value = undefined; this._initFunc = initFunc; } - /** - * Gets the value of the object. - */ - get value() { - if (!this._initialized) { - this._value = this._initFunc(); - this._initialized = true; - } - return this._value; - } -} + Object.defineProperty(Lazy.prototype, "value", { + /** + * Gets the value of the object. + */ + get: function () { + if (!this._initialized) { + this._value = this._initFunc(); + this._initialized = true; + } + return this._value; + }, + enumerable: true, + configurable: true + }); + return Lazy; +}()); exports.Lazy = Lazy; //# sourceMappingURL=Lazy.js.map /***/ }), /***/ 25798: -/***/ ((__unused_webpack_module, exports) => { +/***/ (function(__unused_webpack_module, exports) { "use strict"; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ObjectCache = void 0; /** * Represents a cache of objects with a size limit. */ -class ObjectCache { - _limit; - _items = new Map(); +var ObjectCache = /** @class */ (function () { /** * Initializes a new instance of `ObjectCache`. * * @param limit - maximum number of items to keep in the cache. When the limit * is exceeded the first item is removed from the cache. */ - constructor(limit = 1000) { + function ObjectCache(limit) { + if (limit === void 0) { limit = 1000; } + this._items = new Map(); this._limit = limit; } /** @@ -36555,88 +39728,125 @@ class ObjectCache { * * @param key - object key */ - get(key) { + ObjectCache.prototype.get = function (key) { return this._items.get(key); - } + }; /** * Adds a new item to the cache. * * @param key - object key * @param value - object value */ - set(key, value) { + ObjectCache.prototype.set = function (key, value) { this._items.set(key, value); if (this._items.size > this._limit) { - const it = this._items.keys().next(); + var it_1 = this._items.keys().next(); /* istanbul ignore else */ - if (!it.done) { - this._items.delete(it.value); + if (!it_1.done) { + this._items.delete(it_1.value); } } - } + }; /** * Removes an item from the cache. * * @param item - an item */ - delete(key) { + ObjectCache.prototype.delete = function (key) { return this._items.delete(key); - } + }; /** * Determines if an item is in the cache. * * @param item - an item */ - has(key) { + ObjectCache.prototype.has = function (key) { return this._items.has(key); - } + }; /** * Removes all items from the cache. */ - clear() { + ObjectCache.prototype.clear = function () { this._items.clear(); - } - /** - * Gets the number of items in the cache. - */ - get size() { return this._items.size; } + }; + Object.defineProperty(ObjectCache.prototype, "size", { + /** + * Gets the number of items in the cache. + */ + get: function () { return this._items.size; }, + enumerable: true, + configurable: true + }); /** * Applies the given callback function to all elements of the cache. */ - forEach(callback, thisArg) { - this._items.forEach((v, k) => callback.call(thisArg, k, v)); - } + ObjectCache.prototype.forEach = function (callback, thisArg) { + this._items.forEach(function (v, k) { return callback.call(thisArg, k, v); }); + }; /** * Iterates through the items in the set. */ - *keys() { - yield* this._items.keys(); - } + ObjectCache.prototype.keys = function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [5 /*yield**/, __values(this._items.keys())]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }; /** * Iterates through the items in the set. */ - *values() { - yield* this._items.values(); - } + ObjectCache.prototype.values = function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [5 /*yield**/, __values(this._items.values())]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }; /** * Iterates through the items in the set. */ - *entries() { - yield* this._items.entries(); - } + ObjectCache.prototype.entries = function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [5 /*yield**/, __values(this._items.entries())]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }; /** * Iterates through the items in the set. */ - *[Symbol.iterator]() { - yield* this._items; - } - /** - * Returns the string tag of the cache. - */ - get [Symbol.toStringTag]() { - return "ObjectCache"; - } -} + ObjectCache.prototype[Symbol.iterator] = function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [5 /*yield**/, __values(this._items)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }; + Object.defineProperty(ObjectCache.prototype, Symbol.toStringTag, { + /** + * Returns the string tag of the cache. + */ + get: function () { + return "ObjectCache"; + }, + enumerable: true, + configurable: true + }); + return ObjectCache; +}()); exports.ObjectCache = ObjectCache; //# sourceMappingURL=ObjectCache.js.map @@ -36648,46 +39858,47 @@ exports.ObjectCache = ObjectCache; "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.StringWalker = void 0; /** * Walks through the code points of a string. */ -class StringWalker { - _chars; - _length; - _pointer = 0; - _codePoint; - _c; - _remaining; - _substring; +var StringWalker = /** @class */ (function () { /** * Initializes a new `StringWalker`. * * @param input - input string */ - constructor(input) { + function StringWalker(input) { + this._pointer = 0; this._chars = Array.from(input); this._length = this._chars.length; } - /** - * Determines if the current position is beyond the end of string. - */ - get eof() { return this._pointer >= this._length; } - /** - * Returns the number of code points in the input string. - */ - get length() { return this._length; } + Object.defineProperty(StringWalker.prototype, "eof", { + /** + * Determines if the current position is beyond the end of string. + */ + get: function () { return this._pointer >= this._length; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(StringWalker.prototype, "length", { + /** + * Returns the number of code points in the input string. + */ + get: function () { return this._length; }, + enumerable: true, + configurable: true + }); /** * Returns the current code point. Returns `-1` if the position is beyond * the end of string. */ - codePoint() { + StringWalker.prototype.codePoint = function () { if (this._codePoint === undefined) { if (this.eof) { this._codePoint = -1; } else { - const cp = this._chars[this._pointer].codePointAt(0); + var cp = this._chars[this._pointer].codePointAt(0); /* istanbul ignore else */ if (cp !== undefined) { this._codePoint = cp; @@ -36698,96 +39909,88 @@ class StringWalker { } } return this._codePoint; - } + }; /** * Returns the current character. Returns an empty string if the position is * beyond the end of string. */ - c() { + StringWalker.prototype.c = function () { if (this._c === undefined) { this._c = (this.eof ? "" : this._chars[this._pointer]); } return this._c; - } + }; /** * Returns the remaining string. */ - remaining() { + StringWalker.prototype.remaining = function () { if (this._remaining === undefined) { this._remaining = (this.eof ? "" : this._chars.slice(this._pointer + 1).join('')); } return this._remaining; - } + }; /** * Returns the substring from the current character to the end of string. */ - substring() { + StringWalker.prototype.substring = function () { if (this._substring === undefined) { this._substring = (this.eof ? "" : this._chars.slice(this._pointer).join('')); } return this._substring; - } - /** - * Gets or sets the current position. - */ - get pointer() { return this._pointer; } - set pointer(val) { - if (val === this._pointer) - return; - this._pointer = val; - this._codePoint = undefined; - this._c = undefined; - this._remaining = undefined; - this._substring = undefined; - } -} + }; + Object.defineProperty(StringWalker.prototype, "pointer", { + /** + * Gets or sets the current position. + */ + get: function () { return this._pointer; }, + set: function (val) { + if (val === this._pointer) + return; + this._pointer = val; + this._codePoint = undefined; + this._c = undefined; + this._remaining = undefined; + this._substring = undefined; + }, + enumerable: true, + configurable: true + }); + return StringWalker; +}()); exports.StringWalker = StringWalker; //# sourceMappingURL=StringWalker.js.map /***/ }), /***/ 76195: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.StringWalker = exports.Lazy = exports.CompareCache = exports.ObjectCache = exports.FixedSizeSet = void 0; -exports.applyMixin = applyMixin; -exports.applyDefaults = applyDefaults; -exports.forEachArray = forEachArray; -exports.forEachObject = forEachObject; -exports.arrayLength = arrayLength; -exports.objectLength = objectLength; -exports.getObjectValue = getObjectValue; -exports.removeObjectValue = removeObjectValue; -exports.clone = clone; -exports.isBoolean = isBoolean; -exports.isNumber = isNumber; -exports.isString = isString; -exports.isFunction = isFunction; -exports.isObject = isObject; -exports.isArray = isArray; -exports.isSet = isSet; -exports.isMap = isMap; -exports.isEmpty = isEmpty; -exports.isPlainObject = isPlainObject; -exports.isIterable = isIterable; -exports.getValue = getValue; -exports.utf8Encode = utf8Encode; -exports.utf8Decode = utf8Decode; -var FixedSizeSet_js_1 = __nccwpck_require__(16006); -Object.defineProperty(exports, "FixedSizeSet", ({ enumerable: true, get: function () { return FixedSizeSet_js_1.FixedSizeSet; } })); -var ObjectCache_js_1 = __nccwpck_require__(25798); -Object.defineProperty(exports, "ObjectCache", ({ enumerable: true, get: function () { return ObjectCache_js_1.ObjectCache; } })); -var CompareCache_js_1 = __nccwpck_require__(27561); -Object.defineProperty(exports, "CompareCache", ({ enumerable: true, get: function () { return CompareCache_js_1.CompareCache; } })); -var Lazy_js_1 = __nccwpck_require__(11857); -Object.defineProperty(exports, "Lazy", ({ enumerable: true, get: function () { return Lazy_js_1.Lazy; } })); -var StringWalker_js_1 = __nccwpck_require__(34145); -Object.defineProperty(exports, "StringWalker", ({ enumerable: true, get: function () { return StringWalker_js_1.StringWalker; } })); +var FixedSizeSet_1 = __nccwpck_require__(16006); +exports.FixedSizeSet = FixedSizeSet_1.FixedSizeSet; +var ObjectCache_1 = __nccwpck_require__(25798); +exports.ObjectCache = ObjectCache_1.ObjectCache; +var CompareCache_1 = __nccwpck_require__(27561); +exports.CompareCache = CompareCache_1.CompareCache; +var Lazy_1 = __nccwpck_require__(11857); +exports.Lazy = Lazy_1.Lazy; +var StringWalker_1 = __nccwpck_require__(34145); +exports.StringWalker = StringWalker_1.StringWalker; /** * Applies the mixin to a given class. * @@ -36797,17 +40000,21 @@ Object.defineProperty(exports, "StringWalker", ({ enumerable: true, get: functio * functions whose names are in this array will be kept by prepending an * underscore to their names. */ -function applyMixin(baseClass, mixinClass, ...overrides) { - Object.getOwnPropertyNames(mixinClass.prototype).forEach(name => { +function applyMixin(baseClass, mixinClass) { + var overrides = []; + for (var _i = 2; _i < arguments.length; _i++) { + overrides[_i - 2] = arguments[_i]; + } + Object.getOwnPropertyNames(mixinClass.prototype).forEach(function (name) { if (name !== "constructor") { if (overrides.indexOf(name) !== -1) { - const orgPropDesc = Object.getOwnPropertyDescriptor(baseClass.prototype, name); + var orgPropDesc = Object.getOwnPropertyDescriptor(baseClass.prototype, name); /* istanbul ignore else */ if (orgPropDesc) { Object.defineProperty(baseClass.prototype, "_" + name, orgPropDesc); } } - const propDesc = Object.getOwnPropertyDescriptor(mixinClass.prototype, name); + var propDesc = Object.getOwnPropertyDescriptor(mixinClass.prototype, name); /* istanbul ignore else */ if (propDesc) { Object.defineProperty(baseClass.prototype, name, propDesc); @@ -36815,6 +40022,7 @@ function applyMixin(baseClass, mixinClass, ...overrides) { } }); } +exports.applyMixin = applyMixin; /** * Applies default values to the given object. * @@ -36823,9 +40031,10 @@ function applyMixin(baseClass, mixinClass, ...overrides) { * @param overwrite - if set to `true` defaults object always overwrites object * values, whether they are `undefined` or not. */ -function applyDefaults(obj, defaults, overwrite = false) { - const result = clone(obj || {}); - forEachObject(defaults, (key, val) => { +function applyDefaults(obj, defaults, overwrite) { + if (overwrite === void 0) { overwrite = false; } + var result = clone(obj || {}); + forEachObject(defaults, function (key, val) { if (isPlainObject(val)) { result[key] = applyDefaults(result[key], val, overwrite); } @@ -36835,6 +40044,7 @@ function applyDefaults(obj, defaults, overwrite = false) { }); return result; } +exports.applyDefaults = applyDefaults; /** * Iterates over items of an array or set. * @@ -36846,6 +40056,7 @@ function applyDefaults(obj, defaults, overwrite = false) { function forEachArray(arr, callback, thisArg) { arr.forEach(callback, thisArg); } +exports.forEachArray = forEachArray; /** * Iterates over key/value pairs of a map or object. * @@ -36856,10 +40067,10 @@ function forEachArray(arr, callback, thisArg) { */ function forEachObject(obj, callback, thisArg) { if (isMap(obj)) { - obj.forEach((value, key) => callback.call(thisArg, key, value)); + obj.forEach(function (value, key) { return callback.call(thisArg, key, value); }); } else { - for (const key in obj) { + for (var key in obj) { /* istanbul ignore else */ if (obj.hasOwnProperty(key)) { callback.call(thisArg, key, obj[key]); @@ -36867,6 +40078,7 @@ function forEachObject(obj, callback, thisArg) { } } } +exports.forEachObject = forEachObject; /** * Returns the number of entries in an array or set. * @@ -36880,6 +40092,7 @@ function arrayLength(obj) { return obj.length; } } +exports.arrayLength = arrayLength; /** * Returns the number of entries in a map or object. * @@ -36893,6 +40106,7 @@ function objectLength(obj) { return Object.keys(obj).length; } } +exports.objectLength = objectLength; /** * Gets the value of a key from a map or object. * @@ -36907,6 +40121,7 @@ function getObjectValue(obj, key) { return obj[key]; } } +exports.getObjectValue = getObjectValue; /** * Removes a property from a map or object. * @@ -36921,28 +40136,40 @@ function removeObjectValue(obj, key) { delete obj[key]; } } +exports.removeObjectValue = removeObjectValue; /** * Deep clones the given object. * * @param obj - an object */ function clone(obj) { + var e_1, _a; if (isFunction(obj)) { return obj; } else if (isArray(obj)) { - const result = []; - for (const item of obj) { - result.push(clone(item)); + var result = []; + try { + for (var obj_1 = __values(obj), obj_1_1 = obj_1.next(); !obj_1_1.done; obj_1_1 = obj_1.next()) { + var item = obj_1_1.value; + result.push(clone(item)); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (obj_1_1 && !obj_1_1.done && (_a = obj_1.return)) _a.call(obj_1); + } + finally { if (e_1) throw e_1.error; } } return result; } - else if (isPlainObject(obj)) { - const result = {}; - for (const key in obj) { + else if (isObject(obj)) { + var result = {}; + for (var key in obj) { /* istanbul ignore next */ if (obj.hasOwnProperty(key)) { - const val = obj[key]; + var val = obj[key]; result[key] = clone(val); } } @@ -36952,6 +40179,7 @@ function clone(obj) { return obj; } } +exports.clone = clone; /** * Type guard for boolean types * @@ -36960,6 +40188,7 @@ function clone(obj) { function isBoolean(x) { return typeof x === "boolean"; } +exports.isBoolean = isBoolean; /** * Type guard for numeric types * @@ -36968,6 +40197,7 @@ function isBoolean(x) { function isNumber(x) { return typeof x === "number"; } +exports.isNumber = isNumber; /** * Type guard for strings * @@ -36976,14 +40206,16 @@ function isNumber(x) { function isString(x) { return typeof x === "string"; } +exports.isString = isString; /** * Type guard for function objects * * @param x - a variable to type check */ function isFunction(x) { - return !!x && typeof x === 'function'; + return !!x && Object.prototype.toString.call(x) === '[object Function]'; } +exports.isFunction = isFunction; /** * Type guard for JS objects * @@ -36992,9 +40224,10 @@ function isFunction(x) { * @param x - a variable to type check */ function isObject(x) { - const type = typeof x; + var type = typeof x; return !!x && (type === 'function' || type === 'object'); } +exports.isObject = isObject; /** * Type guard for arrays * @@ -37003,6 +40236,7 @@ function isObject(x) { function isArray(x) { return Array.isArray(x); } +exports.isArray = isArray; /** * Type guard for sets. * @@ -37011,6 +40245,7 @@ function isArray(x) { function isSet(x) { return x instanceof Set; } +exports.isSet = isSet; /** * Type guard for maps. * @@ -37019,6 +40254,7 @@ function isSet(x) { function isMap(x) { return x instanceof Map; } +exports.isMap = isMap; /** * Determines if `x` is an empty Array or an Object with no own properties. * @@ -37035,7 +40271,7 @@ function isEmpty(x) { return !x.size; } else if (isObject(x)) { - for (const key in x) { + for (var key in x) { if (x.hasOwnProperty(key)) { return false; } @@ -37044,6 +40280,7 @@ function isEmpty(x) { } return false; } +exports.isEmpty = isEmpty; /** * Determines if `x` is a plain Object. * @@ -37051,14 +40288,15 @@ function isEmpty(x) { */ function isPlainObject(x) { if (isObject(x)) { - const proto = Object.getPrototypeOf(x); - const ctor = proto.constructor; + var proto = Object.getPrototypeOf(x); + var ctor = proto.constructor; return proto && ctor && (typeof ctor === 'function') && (ctor instanceof ctor) && (Function.prototype.toString.call(ctor) === Function.prototype.toString.call(Object)); } return false; } +exports.isPlainObject = isPlainObject; /** * Determines if `x` is an iterable Object. * @@ -37067,6 +40305,7 @@ function isPlainObject(x) { function isIterable(x) { return x && (typeof x[Symbol.iterator] === 'function'); } +exports.isIterable = isIterable; /** * Gets the primitive value of an object. */ @@ -37078,16 +40317,17 @@ function getValue(obj) { return obj; } } +exports.getValue = getValue; /** * UTF-8 encodes the given string. * * @param input - a string */ function utf8Encode(input) { - const bytes = new Uint8Array(input.length * 4); - let byteIndex = 0; - for (let i = 0; i < input.length; i++) { - let char = input.charCodeAt(i); + var bytes = new Uint8Array(input.length * 4); + var byteIndex = 0; + for (var i = 0; i < input.length; i++) { + var char = input.charCodeAt(i); if (char < 128) { bytes[byteIndex++] = char; continue; @@ -37100,7 +40340,7 @@ function utf8Encode(input) { if (++i >= input.length) { throw new Error("Incomplete surrogate pair."); } - const c2 = input.charCodeAt(i); + var c2 = input.charCodeAt(i); if (c2 < 0xdc00 || c2 > 0xdfff) { throw new Error("Invalid surrogate character."); } @@ -37117,14 +40357,15 @@ function utf8Encode(input) { } return bytes.subarray(0, byteIndex); } +exports.utf8Encode = utf8Encode; /** * UTF-8 decodes the given byte sequence into a string. * * @param bytes - a byte sequence */ function utf8Decode(bytes) { - let result = ""; - let i = 0; + var result = ""; + var i = 0; while (i < bytes.length) { var c = bytes[i++]; if (c > 127) { @@ -37164,6 +40405,7 @@ function utf8Decode(bytes) { } return result; } +exports.utf8Decode = utf8Decode; //# sourceMappingURL=index.js.map /***/ }), @@ -43970,4120 +47212,6 @@ function parseProxyResponse(socket) { exports.parseProxyResponse = parseProxyResponse; //# sourceMappingURL=parse-proxy-response.js.map -/***/ }), - -/***/ 21917: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - - -var loader = __nccwpck_require__(51161); -var dumper = __nccwpck_require__(68866); - - -function renamed(from, to) { - return function () { - throw new Error('Function yaml.' + from + ' is removed in js-yaml 4. ' + - 'Use yaml.' + to + ' instead, which is now safe by default.'); - }; -} - - -module.exports.Type = __nccwpck_require__(6073); -module.exports.Schema = __nccwpck_require__(21082); -module.exports.FAILSAFE_SCHEMA = __nccwpck_require__(28562); -module.exports.JSON_SCHEMA = __nccwpck_require__(1035); -module.exports.CORE_SCHEMA = __nccwpck_require__(12011); -module.exports.DEFAULT_SCHEMA = __nccwpck_require__(18759); -module.exports.load = loader.load; -module.exports.loadAll = loader.loadAll; -module.exports.dump = dumper.dump; -module.exports.YAMLException = __nccwpck_require__(68179); - -// Re-export all types in case user wants to create custom schema -module.exports.types = { - binary: __nccwpck_require__(77900), - float: __nccwpck_require__(42705), - map: __nccwpck_require__(86150), - null: __nccwpck_require__(20721), - pairs: __nccwpck_require__(96860), - set: __nccwpck_require__(79548), - timestamp: __nccwpck_require__(99212), - bool: __nccwpck_require__(64993), - int: __nccwpck_require__(11615), - merge: __nccwpck_require__(86104), - omap: __nccwpck_require__(19046), - seq: __nccwpck_require__(67283), - str: __nccwpck_require__(23619) -}; - -// Removed functions from JS-YAML 3.0.x -module.exports.safeLoad = renamed('safeLoad', 'load'); -module.exports.safeLoadAll = renamed('safeLoadAll', 'loadAll'); -module.exports.safeDump = renamed('safeDump', 'dump'); - - -/***/ }), - -/***/ 26829: -/***/ ((module) => { - -"use strict"; - - - -function isNothing(subject) { - return (typeof subject === 'undefined') || (subject === null); -} - - -function isObject(subject) { - return (typeof subject === 'object') && (subject !== null); -} - - -function toArray(sequence) { - if (Array.isArray(sequence)) return sequence; - else if (isNothing(sequence)) return []; - - return [ sequence ]; -} - - -function extend(target, source) { - var index, length, key, sourceKeys; - - if (source) { - sourceKeys = Object.keys(source); - - for (index = 0, length = sourceKeys.length; index < length; index += 1) { - key = sourceKeys[index]; - target[key] = source[key]; - } - } - - return target; -} - - -function repeat(string, count) { - var result = '', cycle; - - for (cycle = 0; cycle < count; cycle += 1) { - result += string; - } - - return result; -} - - -function isNegativeZero(number) { - return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number); -} - - -module.exports.isNothing = isNothing; -module.exports.isObject = isObject; -module.exports.toArray = toArray; -module.exports.repeat = repeat; -module.exports.isNegativeZero = isNegativeZero; -module.exports.extend = extend; - - -/***/ }), - -/***/ 68866: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -/*eslint-disable no-use-before-define*/ - -var common = __nccwpck_require__(26829); -var YAMLException = __nccwpck_require__(68179); -var DEFAULT_SCHEMA = __nccwpck_require__(18759); - -var _toString = Object.prototype.toString; -var _hasOwnProperty = Object.prototype.hasOwnProperty; - -var CHAR_BOM = 0xFEFF; -var CHAR_TAB = 0x09; /* Tab */ -var CHAR_LINE_FEED = 0x0A; /* LF */ -var CHAR_CARRIAGE_RETURN = 0x0D; /* CR */ -var CHAR_SPACE = 0x20; /* Space */ -var CHAR_EXCLAMATION = 0x21; /* ! */ -var CHAR_DOUBLE_QUOTE = 0x22; /* " */ -var CHAR_SHARP = 0x23; /* # */ -var CHAR_PERCENT = 0x25; /* % */ -var CHAR_AMPERSAND = 0x26; /* & */ -var CHAR_SINGLE_QUOTE = 0x27; /* ' */ -var CHAR_ASTERISK = 0x2A; /* * */ -var CHAR_COMMA = 0x2C; /* , */ -var CHAR_MINUS = 0x2D; /* - */ -var CHAR_COLON = 0x3A; /* : */ -var CHAR_EQUALS = 0x3D; /* = */ -var CHAR_GREATER_THAN = 0x3E; /* > */ -var CHAR_QUESTION = 0x3F; /* ? */ -var CHAR_COMMERCIAL_AT = 0x40; /* @ */ -var CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */ -var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */ -var CHAR_GRAVE_ACCENT = 0x60; /* ` */ -var CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */ -var CHAR_VERTICAL_LINE = 0x7C; /* | */ -var CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */ - -var ESCAPE_SEQUENCES = {}; - -ESCAPE_SEQUENCES[0x00] = '\\0'; -ESCAPE_SEQUENCES[0x07] = '\\a'; -ESCAPE_SEQUENCES[0x08] = '\\b'; -ESCAPE_SEQUENCES[0x09] = '\\t'; -ESCAPE_SEQUENCES[0x0A] = '\\n'; -ESCAPE_SEQUENCES[0x0B] = '\\v'; -ESCAPE_SEQUENCES[0x0C] = '\\f'; -ESCAPE_SEQUENCES[0x0D] = '\\r'; -ESCAPE_SEQUENCES[0x1B] = '\\e'; -ESCAPE_SEQUENCES[0x22] = '\\"'; -ESCAPE_SEQUENCES[0x5C] = '\\\\'; -ESCAPE_SEQUENCES[0x85] = '\\N'; -ESCAPE_SEQUENCES[0xA0] = '\\_'; -ESCAPE_SEQUENCES[0x2028] = '\\L'; -ESCAPE_SEQUENCES[0x2029] = '\\P'; - -var DEPRECATED_BOOLEANS_SYNTAX = [ - 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', - 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF' -]; - -var DEPRECATED_BASE60_SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/; - -function compileStyleMap(schema, map) { - var result, keys, index, length, tag, style, type; - - if (map === null) return {}; - - result = {}; - keys = Object.keys(map); - - for (index = 0, length = keys.length; index < length; index += 1) { - tag = keys[index]; - style = String(map[tag]); - - if (tag.slice(0, 2) === '!!') { - tag = 'tag:yaml.org,2002:' + tag.slice(2); - } - type = schema.compiledTypeMap['fallback'][tag]; - - if (type && _hasOwnProperty.call(type.styleAliases, style)) { - style = type.styleAliases[style]; - } - - result[tag] = style; - } - - return result; -} - -function encodeHex(character) { - var string, handle, length; - - string = character.toString(16).toUpperCase(); - - if (character <= 0xFF) { - handle = 'x'; - length = 2; - } else if (character <= 0xFFFF) { - handle = 'u'; - length = 4; - } else if (character <= 0xFFFFFFFF) { - handle = 'U'; - length = 8; - } else { - throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF'); - } - - return '\\' + handle + common.repeat('0', length - string.length) + string; -} - - -var QUOTING_TYPE_SINGLE = 1, - QUOTING_TYPE_DOUBLE = 2; - -function State(options) { - this.schema = options['schema'] || DEFAULT_SCHEMA; - this.indent = Math.max(1, (options['indent'] || 2)); - this.noArrayIndent = options['noArrayIndent'] || false; - this.skipInvalid = options['skipInvalid'] || false; - this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']); - this.styleMap = compileStyleMap(this.schema, options['styles'] || null); - this.sortKeys = options['sortKeys'] || false; - this.lineWidth = options['lineWidth'] || 80; - this.noRefs = options['noRefs'] || false; - this.noCompatMode = options['noCompatMode'] || false; - this.condenseFlow = options['condenseFlow'] || false; - this.quotingType = options['quotingType'] === '"' ? QUOTING_TYPE_DOUBLE : QUOTING_TYPE_SINGLE; - this.forceQuotes = options['forceQuotes'] || false; - this.replacer = typeof options['replacer'] === 'function' ? options['replacer'] : null; - - this.implicitTypes = this.schema.compiledImplicit; - this.explicitTypes = this.schema.compiledExplicit; - - this.tag = null; - this.result = ''; - - this.duplicates = []; - this.usedDuplicates = null; -} - -// Indents every line in a string. Empty lines (\n only) are not indented. -function indentString(string, spaces) { - var ind = common.repeat(' ', spaces), - position = 0, - next = -1, - result = '', - line, - length = string.length; - - while (position < length) { - next = string.indexOf('\n', position); - if (next === -1) { - line = string.slice(position); - position = length; - } else { - line = string.slice(position, next + 1); - position = next + 1; - } - - if (line.length && line !== '\n') result += ind; - - result += line; - } - - return result; -} - -function generateNextLine(state, level) { - return '\n' + common.repeat(' ', state.indent * level); -} - -function testImplicitResolving(state, str) { - var index, length, type; - - for (index = 0, length = state.implicitTypes.length; index < length; index += 1) { - type = state.implicitTypes[index]; - - if (type.resolve(str)) { - return true; - } - } - - return false; -} - -// [33] s-white ::= s-space | s-tab -function isWhitespace(c) { - return c === CHAR_SPACE || c === CHAR_TAB; -} - -// Returns true if the character can be printed without escaping. -// From YAML 1.2: "any allowed characters known to be non-printable -// should also be escaped. [However,] This isn’t mandatory" -// Derived from nb-char - \t - #x85 - #xA0 - #x2028 - #x2029. -function isPrintable(c) { - return (0x00020 <= c && c <= 0x00007E) - || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029) - || ((0x0E000 <= c && c <= 0x00FFFD) && c !== CHAR_BOM) - || (0x10000 <= c && c <= 0x10FFFF); -} - -// [34] ns-char ::= nb-char - s-white -// [27] nb-char ::= c-printable - b-char - c-byte-order-mark -// [26] b-char ::= b-line-feed | b-carriage-return -// Including s-white (for some reason, examples doesn't match specs in this aspect) -// ns-char ::= c-printable - b-line-feed - b-carriage-return - c-byte-order-mark -function isNsCharOrWhitespace(c) { - return isPrintable(c) - && c !== CHAR_BOM - // - b-char - && c !== CHAR_CARRIAGE_RETURN - && c !== CHAR_LINE_FEED; -} - -// [127] ns-plain-safe(c) ::= c = flow-out ⇒ ns-plain-safe-out -// c = flow-in ⇒ ns-plain-safe-in -// c = block-key ⇒ ns-plain-safe-out -// c = flow-key ⇒ ns-plain-safe-in -// [128] ns-plain-safe-out ::= ns-char -// [129] ns-plain-safe-in ::= ns-char - c-flow-indicator -// [130] ns-plain-char(c) ::= ( ns-plain-safe(c) - “:” - “#” ) -// | ( /* An ns-char preceding */ “#” ) -// | ( “:” /* Followed by an ns-plain-safe(c) */ ) -function isPlainSafe(c, prev, inblock) { - var cIsNsCharOrWhitespace = isNsCharOrWhitespace(c); - var cIsNsChar = cIsNsCharOrWhitespace && !isWhitespace(c); - return ( - // ns-plain-safe - inblock ? // c = flow-in - cIsNsCharOrWhitespace - : cIsNsCharOrWhitespace - // - c-flow-indicator - && c !== CHAR_COMMA - && c !== CHAR_LEFT_SQUARE_BRACKET - && c !== CHAR_RIGHT_SQUARE_BRACKET - && c !== CHAR_LEFT_CURLY_BRACKET - && c !== CHAR_RIGHT_CURLY_BRACKET - ) - // ns-plain-char - && c !== CHAR_SHARP // false on '#' - && !(prev === CHAR_COLON && !cIsNsChar) // false on ': ' - || (isNsCharOrWhitespace(prev) && !isWhitespace(prev) && c === CHAR_SHARP) // change to true on '[^ ]#' - || (prev === CHAR_COLON && cIsNsChar); // change to true on ':[^ ]' -} - -// Simplified test for values allowed as the first character in plain style. -function isPlainSafeFirst(c) { - // Uses a subset of ns-char - c-indicator - // where ns-char = nb-char - s-white. - // No support of ( ( “?” | “:” | “-” ) /* Followed by an ns-plain-safe(c)) */ ) part - return isPrintable(c) && c !== CHAR_BOM - && !isWhitespace(c) // - s-white - // - (c-indicator ::= - // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}” - && c !== CHAR_MINUS - && c !== CHAR_QUESTION - && c !== CHAR_COLON - && c !== CHAR_COMMA - && c !== CHAR_LEFT_SQUARE_BRACKET - && c !== CHAR_RIGHT_SQUARE_BRACKET - && c !== CHAR_LEFT_CURLY_BRACKET - && c !== CHAR_RIGHT_CURLY_BRACKET - // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “"” - && c !== CHAR_SHARP - && c !== CHAR_AMPERSAND - && c !== CHAR_ASTERISK - && c !== CHAR_EXCLAMATION - && c !== CHAR_VERTICAL_LINE - && c !== CHAR_EQUALS - && c !== CHAR_GREATER_THAN - && c !== CHAR_SINGLE_QUOTE - && c !== CHAR_DOUBLE_QUOTE - // | “%” | “@” | “`”) - && c !== CHAR_PERCENT - && c !== CHAR_COMMERCIAL_AT - && c !== CHAR_GRAVE_ACCENT; -} - -// Simplified test for values allowed as the last character in plain style. -function isPlainSafeLast(c) { - // just not whitespace or colon, it will be checked to be plain character later - return !isWhitespace(c) && c !== CHAR_COLON; -} - -// Same as 'string'.codePointAt(pos), but works in older browsers. -function codePointAt(string, pos) { - var first = string.charCodeAt(pos), second; - if (first >= 0xD800 && first <= 0xDBFF && pos + 1 < string.length) { - second = string.charCodeAt(pos + 1); - if (second >= 0xDC00 && second <= 0xDFFF) { - // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; - } - } - return first; -} - -// Determines whether block indentation indicator is required. -function needIndentIndicator(string) { - var leadingSpaceRe = /^\n* /; - return leadingSpaceRe.test(string); -} - -var STYLE_PLAIN = 1, - STYLE_SINGLE = 2, - STYLE_LITERAL = 3, - STYLE_FOLDED = 4, - STYLE_DOUBLE = 5; - -// Determines which scalar styles are possible and returns the preferred style. -// lineWidth = -1 => no limit. -// Pre-conditions: str.length > 0. -// Post-conditions: -// STYLE_PLAIN or STYLE_SINGLE => no \n are in the string. -// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1). -// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1). -function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, - testAmbiguousType, quotingType, forceQuotes, inblock) { - - var i; - var char = 0; - var prevChar = null; - var hasLineBreak = false; - var hasFoldableLine = false; // only checked if shouldTrackWidth - var shouldTrackWidth = lineWidth !== -1; - var previousLineBreak = -1; // count the first line correctly - var plain = isPlainSafeFirst(codePointAt(string, 0)) - && isPlainSafeLast(codePointAt(string, string.length - 1)); - - if (singleLineOnly || forceQuotes) { - // Case: no block styles. - // Check for disallowed characters to rule out plain and single. - for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { - char = codePointAt(string, i); - if (!isPrintable(char)) { - return STYLE_DOUBLE; - } - plain = plain && isPlainSafe(char, prevChar, inblock); - prevChar = char; - } - } else { - // Case: block styles permitted. - for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { - char = codePointAt(string, i); - if (char === CHAR_LINE_FEED) { - hasLineBreak = true; - // Check if any line can be folded. - if (shouldTrackWidth) { - hasFoldableLine = hasFoldableLine || - // Foldable line = too long, and not more-indented. - (i - previousLineBreak - 1 > lineWidth && - string[previousLineBreak + 1] !== ' '); - previousLineBreak = i; - } - } else if (!isPrintable(char)) { - return STYLE_DOUBLE; - } - plain = plain && isPlainSafe(char, prevChar, inblock); - prevChar = char; - } - // in case the end is missing a \n - hasFoldableLine = hasFoldableLine || (shouldTrackWidth && - (i - previousLineBreak - 1 > lineWidth && - string[previousLineBreak + 1] !== ' ')); - } - // Although every style can represent \n without escaping, prefer block styles - // for multiline, since they're more readable and they don't add empty lines. - // Also prefer folding a super-long line. - if (!hasLineBreak && !hasFoldableLine) { - // Strings interpretable as another type have to be quoted; - // e.g. the string 'true' vs. the boolean true. - if (plain && !forceQuotes && !testAmbiguousType(string)) { - return STYLE_PLAIN; - } - return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE; - } - // Edge case: block indentation indicator can only have one digit. - if (indentPerLevel > 9 && needIndentIndicator(string)) { - return STYLE_DOUBLE; - } - // At this point we know block styles are valid. - // Prefer literal style unless we want to fold. - if (!forceQuotes) { - return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL; - } - return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE; -} - -// Note: line breaking/folding is implemented for only the folded style. -// NB. We drop the last trailing newline (if any) of a returned block scalar -// since the dumper adds its own newline. This always works: -// • No ending newline => unaffected; already using strip "-" chomping. -// • Ending newline => removed then restored. -// Importantly, this keeps the "+" chomp indicator from gaining an extra line. -function writeScalar(state, string, level, iskey, inblock) { - state.dump = (function () { - if (string.length === 0) { - return state.quotingType === QUOTING_TYPE_DOUBLE ? '""' : "''"; - } - if (!state.noCompatMode) { - if (DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1 || DEPRECATED_BASE60_SYNTAX.test(string)) { - return state.quotingType === QUOTING_TYPE_DOUBLE ? ('"' + string + '"') : ("'" + string + "'"); - } - } - - var indent = state.indent * Math.max(1, level); // no 0-indent scalars - // As indentation gets deeper, let the width decrease monotonically - // to the lower bound min(state.lineWidth, 40). - // Note that this implies - // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound. - // state.lineWidth > 40 + state.indent: width decreases until the lower bound. - // This behaves better than a constant minimum width which disallows narrower options, - // or an indent threshold which causes the width to suddenly increase. - var lineWidth = state.lineWidth === -1 - ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent); - - // Without knowing if keys are implicit/explicit, assume implicit for safety. - var singleLineOnly = iskey - // No block styles in flow mode. - || (state.flowLevel > -1 && level >= state.flowLevel); - function testAmbiguity(string) { - return testImplicitResolving(state, string); - } - - switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, - testAmbiguity, state.quotingType, state.forceQuotes && !iskey, inblock)) { - - case STYLE_PLAIN: - return string; - case STYLE_SINGLE: - return "'" + string.replace(/'/g, "''") + "'"; - case STYLE_LITERAL: - return '|' + blockHeader(string, state.indent) - + dropEndingNewline(indentString(string, indent)); - case STYLE_FOLDED: - return '>' + blockHeader(string, state.indent) - + dropEndingNewline(indentString(foldString(string, lineWidth), indent)); - case STYLE_DOUBLE: - return '"' + escapeString(string, lineWidth) + '"'; - default: - throw new YAMLException('impossible error: invalid scalar style'); - } - }()); -} - -// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9. -function blockHeader(string, indentPerLevel) { - var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : ''; - - // note the special case: the string '\n' counts as a "trailing" empty line. - var clip = string[string.length - 1] === '\n'; - var keep = clip && (string[string.length - 2] === '\n' || string === '\n'); - var chomp = keep ? '+' : (clip ? '' : '-'); - - return indentIndicator + chomp + '\n'; -} - -// (See the note for writeScalar.) -function dropEndingNewline(string) { - return string[string.length - 1] === '\n' ? string.slice(0, -1) : string; -} - -// Note: a long line without a suitable break point will exceed the width limit. -// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0. -function foldString(string, width) { - // In folded style, $k$ consecutive newlines output as $k+1$ newlines— - // unless they're before or after a more-indented line, or at the very - // beginning or end, in which case $k$ maps to $k$. - // Therefore, parse each chunk as newline(s) followed by a content line. - var lineRe = /(\n+)([^\n]*)/g; - - // first line (possibly an empty line) - var result = (function () { - var nextLF = string.indexOf('\n'); - nextLF = nextLF !== -1 ? nextLF : string.length; - lineRe.lastIndex = nextLF; - return foldLine(string.slice(0, nextLF), width); - }()); - // If we haven't reached the first content line yet, don't add an extra \n. - var prevMoreIndented = string[0] === '\n' || string[0] === ' '; - var moreIndented; - - // rest of the lines - var match; - while ((match = lineRe.exec(string))) { - var prefix = match[1], line = match[2]; - moreIndented = (line[0] === ' '); - result += prefix - + (!prevMoreIndented && !moreIndented && line !== '' - ? '\n' : '') - + foldLine(line, width); - prevMoreIndented = moreIndented; - } - - return result; -} - -// Greedy line breaking. -// Picks the longest line under the limit each time, -// otherwise settles for the shortest line over the limit. -// NB. More-indented lines *cannot* be folded, as that would add an extra \n. -function foldLine(line, width) { - if (line === '' || line[0] === ' ') return line; - - // Since a more-indented line adds a \n, breaks can't be followed by a space. - var breakRe = / [^ ]/g; // note: the match index will always be <= length-2. - var match; - // start is an inclusive index. end, curr, and next are exclusive. - var start = 0, end, curr = 0, next = 0; - var result = ''; - - // Invariants: 0 <= start <= length-1. - // 0 <= curr <= next <= max(0, length-2). curr - start <= width. - // Inside the loop: - // A match implies length >= 2, so curr and next are <= length-2. - while ((match = breakRe.exec(line))) { - next = match.index; - // maintain invariant: curr - start <= width - if (next - start > width) { - end = (curr > start) ? curr : next; // derive end <= length-2 - result += '\n' + line.slice(start, end); - // skip the space that was output as \n - start = end + 1; // derive start <= length-1 - } - curr = next; - } - - // By the invariants, start <= length-1, so there is something left over. - // It is either the whole string or a part starting from non-whitespace. - result += '\n'; - // Insert a break if the remainder is too long and there is a break available. - if (line.length - start > width && curr > start) { - result += line.slice(start, curr) + '\n' + line.slice(curr + 1); - } else { - result += line.slice(start); - } - - return result.slice(1); // drop extra \n joiner -} - -// Escapes a double-quoted string. -function escapeString(string) { - var result = ''; - var char = 0; - var escapeSeq; - - for (var i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { - char = codePointAt(string, i); - escapeSeq = ESCAPE_SEQUENCES[char]; - - if (!escapeSeq && isPrintable(char)) { - result += string[i]; - if (char >= 0x10000) result += string[i + 1]; - } else { - result += escapeSeq || encodeHex(char); - } - } - - return result; -} - -function writeFlowSequence(state, level, object) { - var _result = '', - _tag = state.tag, - index, - length, - value; - - for (index = 0, length = object.length; index < length; index += 1) { - value = object[index]; - - if (state.replacer) { - value = state.replacer.call(object, String(index), value); - } - - // Write only valid elements, put null instead of invalid elements. - if (writeNode(state, level, value, false, false) || - (typeof value === 'undefined' && - writeNode(state, level, null, false, false))) { - - if (_result !== '') _result += ',' + (!state.condenseFlow ? ' ' : ''); - _result += state.dump; - } - } - - state.tag = _tag; - state.dump = '[' + _result + ']'; -} - -function writeBlockSequence(state, level, object, compact) { - var _result = '', - _tag = state.tag, - index, - length, - value; - - for (index = 0, length = object.length; index < length; index += 1) { - value = object[index]; - - if (state.replacer) { - value = state.replacer.call(object, String(index), value); - } - - // Write only valid elements, put null instead of invalid elements. - if (writeNode(state, level + 1, value, true, true, false, true) || - (typeof value === 'undefined' && - writeNode(state, level + 1, null, true, true, false, true))) { - - if (!compact || _result !== '') { - _result += generateNextLine(state, level); - } - - if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { - _result += '-'; - } else { - _result += '- '; - } - - _result += state.dump; - } - } - - state.tag = _tag; - state.dump = _result || '[]'; // Empty sequence if no valid values. -} - -function writeFlowMapping(state, level, object) { - var _result = '', - _tag = state.tag, - objectKeyList = Object.keys(object), - index, - length, - objectKey, - objectValue, - pairBuffer; - - for (index = 0, length = objectKeyList.length; index < length; index += 1) { - - pairBuffer = ''; - if (_result !== '') pairBuffer += ', '; - - if (state.condenseFlow) pairBuffer += '"'; - - objectKey = objectKeyList[index]; - objectValue = object[objectKey]; - - if (state.replacer) { - objectValue = state.replacer.call(object, objectKey, objectValue); - } - - if (!writeNode(state, level, objectKey, false, false)) { - continue; // Skip this pair because of invalid key; - } - - if (state.dump.length > 1024) pairBuffer += '? '; - - pairBuffer += state.dump + (state.condenseFlow ? '"' : '') + ':' + (state.condenseFlow ? '' : ' '); - - if (!writeNode(state, level, objectValue, false, false)) { - continue; // Skip this pair because of invalid value. - } - - pairBuffer += state.dump; - - // Both key and value are valid. - _result += pairBuffer; - } - - state.tag = _tag; - state.dump = '{' + _result + '}'; -} - -function writeBlockMapping(state, level, object, compact) { - var _result = '', - _tag = state.tag, - objectKeyList = Object.keys(object), - index, - length, - objectKey, - objectValue, - explicitPair, - pairBuffer; - - // Allow sorting keys so that the output file is deterministic - if (state.sortKeys === true) { - // Default sorting - objectKeyList.sort(); - } else if (typeof state.sortKeys === 'function') { - // Custom sort function - objectKeyList.sort(state.sortKeys); - } else if (state.sortKeys) { - // Something is wrong - throw new YAMLException('sortKeys must be a boolean or a function'); - } - - for (index = 0, length = objectKeyList.length; index < length; index += 1) { - pairBuffer = ''; - - if (!compact || _result !== '') { - pairBuffer += generateNextLine(state, level); - } - - objectKey = objectKeyList[index]; - objectValue = object[objectKey]; - - if (state.replacer) { - objectValue = state.replacer.call(object, objectKey, objectValue); - } - - if (!writeNode(state, level + 1, objectKey, true, true, true)) { - continue; // Skip this pair because of invalid key. - } - - explicitPair = (state.tag !== null && state.tag !== '?') || - (state.dump && state.dump.length > 1024); - - if (explicitPair) { - if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { - pairBuffer += '?'; - } else { - pairBuffer += '? '; - } - } - - pairBuffer += state.dump; - - if (explicitPair) { - pairBuffer += generateNextLine(state, level); - } - - if (!writeNode(state, level + 1, objectValue, true, explicitPair)) { - continue; // Skip this pair because of invalid value. - } - - if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { - pairBuffer += ':'; - } else { - pairBuffer += ': '; - } - - pairBuffer += state.dump; - - // Both key and value are valid. - _result += pairBuffer; - } - - state.tag = _tag; - state.dump = _result || '{}'; // Empty mapping if no valid pairs. -} - -function detectType(state, object, explicit) { - var _result, typeList, index, length, type, style; - - typeList = explicit ? state.explicitTypes : state.implicitTypes; - - for (index = 0, length = typeList.length; index < length; index += 1) { - type = typeList[index]; - - if ((type.instanceOf || type.predicate) && - (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) && - (!type.predicate || type.predicate(object))) { - - if (explicit) { - if (type.multi && type.representName) { - state.tag = type.representName(object); - } else { - state.tag = type.tag; - } - } else { - state.tag = '?'; - } - - if (type.represent) { - style = state.styleMap[type.tag] || type.defaultStyle; - - if (_toString.call(type.represent) === '[object Function]') { - _result = type.represent(object, style); - } else if (_hasOwnProperty.call(type.represent, style)) { - _result = type.represent[style](object, style); - } else { - throw new YAMLException('!<' + type.tag + '> tag resolver accepts not "' + style + '" style'); - } - - state.dump = _result; - } - - return true; - } - } - - return false; -} - -// Serializes `object` and writes it to global `result`. -// Returns true on success, or false on invalid object. -// -function writeNode(state, level, object, block, compact, iskey, isblockseq) { - state.tag = null; - state.dump = object; - - if (!detectType(state, object, false)) { - detectType(state, object, true); - } - - var type = _toString.call(state.dump); - var inblock = block; - var tagStr; - - if (block) { - block = (state.flowLevel < 0 || state.flowLevel > level); - } - - var objectOrArray = type === '[object Object]' || type === '[object Array]', - duplicateIndex, - duplicate; - - if (objectOrArray) { - duplicateIndex = state.duplicates.indexOf(object); - duplicate = duplicateIndex !== -1; - } - - if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) { - compact = false; - } - - if (duplicate && state.usedDuplicates[duplicateIndex]) { - state.dump = '*ref_' + duplicateIndex; - } else { - if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) { - state.usedDuplicates[duplicateIndex] = true; - } - if (type === '[object Object]') { - if (block && (Object.keys(state.dump).length !== 0)) { - writeBlockMapping(state, level, state.dump, compact); - if (duplicate) { - state.dump = '&ref_' + duplicateIndex + state.dump; - } - } else { - writeFlowMapping(state, level, state.dump); - if (duplicate) { - state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; - } - } - } else if (type === '[object Array]') { - if (block && (state.dump.length !== 0)) { - if (state.noArrayIndent && !isblockseq && level > 0) { - writeBlockSequence(state, level - 1, state.dump, compact); - } else { - writeBlockSequence(state, level, state.dump, compact); - } - if (duplicate) { - state.dump = '&ref_' + duplicateIndex + state.dump; - } - } else { - writeFlowSequence(state, level, state.dump); - if (duplicate) { - state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; - } - } - } else if (type === '[object String]') { - if (state.tag !== '?') { - writeScalar(state, state.dump, level, iskey, inblock); - } - } else if (type === '[object Undefined]') { - return false; - } else { - if (state.skipInvalid) return false; - throw new YAMLException('unacceptable kind of an object to dump ' + type); - } - - if (state.tag !== null && state.tag !== '?') { - // Need to encode all characters except those allowed by the spec: - // - // [35] ns-dec-digit ::= [#x30-#x39] /* 0-9 */ - // [36] ns-hex-digit ::= ns-dec-digit - // | [#x41-#x46] /* A-F */ | [#x61-#x66] /* a-f */ - // [37] ns-ascii-letter ::= [#x41-#x5A] /* A-Z */ | [#x61-#x7A] /* a-z */ - // [38] ns-word-char ::= ns-dec-digit | ns-ascii-letter | “-” - // [39] ns-uri-char ::= “%” ns-hex-digit ns-hex-digit | ns-word-char | “#” - // | “;” | “/” | “?” | “:” | “@” | “&” | “=” | “+” | “$” | “,” - // | “_” | “.” | “!” | “~” | “*” | “'” | “(” | “)” | “[” | “]” - // - // Also need to encode '!' because it has special meaning (end of tag prefix). - // - tagStr = encodeURI( - state.tag[0] === '!' ? state.tag.slice(1) : state.tag - ).replace(/!/g, '%21'); - - if (state.tag[0] === '!') { - tagStr = '!' + tagStr; - } else if (tagStr.slice(0, 18) === 'tag:yaml.org,2002:') { - tagStr = '!!' + tagStr.slice(18); - } else { - tagStr = '!<' + tagStr + '>'; - } - - state.dump = tagStr + ' ' + state.dump; - } - } - - return true; -} - -function getDuplicateReferences(object, state) { - var objects = [], - duplicatesIndexes = [], - index, - length; - - inspectNode(object, objects, duplicatesIndexes); - - for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) { - state.duplicates.push(objects[duplicatesIndexes[index]]); - } - state.usedDuplicates = new Array(length); -} - -function inspectNode(object, objects, duplicatesIndexes) { - var objectKeyList, - index, - length; - - if (object !== null && typeof object === 'object') { - index = objects.indexOf(object); - if (index !== -1) { - if (duplicatesIndexes.indexOf(index) === -1) { - duplicatesIndexes.push(index); - } - } else { - objects.push(object); - - if (Array.isArray(object)) { - for (index = 0, length = object.length; index < length; index += 1) { - inspectNode(object[index], objects, duplicatesIndexes); - } - } else { - objectKeyList = Object.keys(object); - - for (index = 0, length = objectKeyList.length; index < length; index += 1) { - inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes); - } - } - } - } -} - -function dump(input, options) { - options = options || {}; - - var state = new State(options); - - if (!state.noRefs) getDuplicateReferences(input, state); - - var value = input; - - if (state.replacer) { - value = state.replacer.call({ '': value }, '', value); - } - - if (writeNode(state, 0, value, true, true)) return state.dump + '\n'; - - return ''; -} - -module.exports.dump = dump; - - -/***/ }), - -/***/ 68179: -/***/ ((module) => { - -"use strict"; -// YAML error class. http://stackoverflow.com/questions/8458984 -// - - - -function formatError(exception, compact) { - var where = '', message = exception.reason || '(unknown reason)'; - - if (!exception.mark) return message; - - if (exception.mark.name) { - where += 'in "' + exception.mark.name + '" '; - } - - where += '(' + (exception.mark.line + 1) + ':' + (exception.mark.column + 1) + ')'; - - if (!compact && exception.mark.snippet) { - where += '\n\n' + exception.mark.snippet; - } - - return message + ' ' + where; -} - - -function YAMLException(reason, mark) { - // Super constructor - Error.call(this); - - this.name = 'YAMLException'; - this.reason = reason; - this.mark = mark; - this.message = formatError(this, false); - - // Include stack trace in error object - if (Error.captureStackTrace) { - // Chrome and NodeJS - Error.captureStackTrace(this, this.constructor); - } else { - // FF, IE 10+ and Safari 6+. Fallback for others - this.stack = (new Error()).stack || ''; - } -} - - -// Inherit from Error -YAMLException.prototype = Object.create(Error.prototype); -YAMLException.prototype.constructor = YAMLException; - - -YAMLException.prototype.toString = function toString(compact) { - return this.name + ': ' + formatError(this, compact); -}; - - -module.exports = YAMLException; - - -/***/ }), - -/***/ 51161: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -/*eslint-disable max-len,no-use-before-define*/ - -var common = __nccwpck_require__(26829); -var YAMLException = __nccwpck_require__(68179); -var makeSnippet = __nccwpck_require__(96975); -var DEFAULT_SCHEMA = __nccwpck_require__(18759); - - -var _hasOwnProperty = Object.prototype.hasOwnProperty; - - -var CONTEXT_FLOW_IN = 1; -var CONTEXT_FLOW_OUT = 2; -var CONTEXT_BLOCK_IN = 3; -var CONTEXT_BLOCK_OUT = 4; - - -var CHOMPING_CLIP = 1; -var CHOMPING_STRIP = 2; -var CHOMPING_KEEP = 3; - - -var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; -var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; -var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; -var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; -var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; - - -function _class(obj) { return Object.prototype.toString.call(obj); } - -function is_EOL(c) { - return (c === 0x0A/* LF */) || (c === 0x0D/* CR */); -} - -function is_WHITE_SPACE(c) { - return (c === 0x09/* Tab */) || (c === 0x20/* Space */); -} - -function is_WS_OR_EOL(c) { - return (c === 0x09/* Tab */) || - (c === 0x20/* Space */) || - (c === 0x0A/* LF */) || - (c === 0x0D/* CR */); -} - -function is_FLOW_INDICATOR(c) { - return c === 0x2C/* , */ || - c === 0x5B/* [ */ || - c === 0x5D/* ] */ || - c === 0x7B/* { */ || - c === 0x7D/* } */; -} - -function fromHexCode(c) { - var lc; - - if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { - return c - 0x30; - } - - /*eslint-disable no-bitwise*/ - lc = c | 0x20; - - if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) { - return lc - 0x61 + 10; - } - - return -1; -} - -function escapedHexLen(c) { - if (c === 0x78/* x */) { return 2; } - if (c === 0x75/* u */) { return 4; } - if (c === 0x55/* U */) { return 8; } - return 0; -} - -function fromDecimalCode(c) { - if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { - return c - 0x30; - } - - return -1; -} - -function simpleEscapeSequence(c) { - /* eslint-disable indent */ - return (c === 0x30/* 0 */) ? '\x00' : - (c === 0x61/* a */) ? '\x07' : - (c === 0x62/* b */) ? '\x08' : - (c === 0x74/* t */) ? '\x09' : - (c === 0x09/* Tab */) ? '\x09' : - (c === 0x6E/* n */) ? '\x0A' : - (c === 0x76/* v */) ? '\x0B' : - (c === 0x66/* f */) ? '\x0C' : - (c === 0x72/* r */) ? '\x0D' : - (c === 0x65/* e */) ? '\x1B' : - (c === 0x20/* Space */) ? ' ' : - (c === 0x22/* " */) ? '\x22' : - (c === 0x2F/* / */) ? '/' : - (c === 0x5C/* \ */) ? '\x5C' : - (c === 0x4E/* N */) ? '\x85' : - (c === 0x5F/* _ */) ? '\xA0' : - (c === 0x4C/* L */) ? '\u2028' : - (c === 0x50/* P */) ? '\u2029' : ''; -} - -function charFromCodepoint(c) { - if (c <= 0xFFFF) { - return String.fromCharCode(c); - } - // Encode UTF-16 surrogate pair - // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF - return String.fromCharCode( - ((c - 0x010000) >> 10) + 0xD800, - ((c - 0x010000) & 0x03FF) + 0xDC00 - ); -} - -// set a property of a literal object, while protecting against prototype pollution, -// see https://github.com/nodeca/js-yaml/issues/164 for more details -function setProperty(object, key, value) { - // used for this specific key only because Object.defineProperty is slow - if (key === '__proto__') { - Object.defineProperty(object, key, { - configurable: true, - enumerable: true, - writable: true, - value: value - }); - } else { - object[key] = value; - } -} - -var simpleEscapeCheck = new Array(256); // integer, for fast access -var simpleEscapeMap = new Array(256); -for (var i = 0; i < 256; i++) { - simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; - simpleEscapeMap[i] = simpleEscapeSequence(i); -} - - -function State(input, options) { - this.input = input; - - this.filename = options['filename'] || null; - this.schema = options['schema'] || DEFAULT_SCHEMA; - this.onWarning = options['onWarning'] || null; - // (Hidden) Remove? makes the loader to expect YAML 1.1 documents - // if such documents have no explicit %YAML directive - this.legacy = options['legacy'] || false; - - this.json = options['json'] || false; - this.listener = options['listener'] || null; - - this.implicitTypes = this.schema.compiledImplicit; - this.typeMap = this.schema.compiledTypeMap; - - this.length = input.length; - this.position = 0; - this.line = 0; - this.lineStart = 0; - this.lineIndent = 0; - - // position of first leading tab in the current line, - // used to make sure there are no tabs in the indentation - this.firstTabInLine = -1; - - this.documents = []; - - /* - this.version; - this.checkLineBreaks; - this.tagMap; - this.anchorMap; - this.tag; - this.anchor; - this.kind; - this.result;*/ - -} - - -function generateError(state, message) { - var mark = { - name: state.filename, - buffer: state.input.slice(0, -1), // omit trailing \0 - position: state.position, - line: state.line, - column: state.position - state.lineStart - }; - - mark.snippet = makeSnippet(mark); - - return new YAMLException(message, mark); -} - -function throwError(state, message) { - throw generateError(state, message); -} - -function throwWarning(state, message) { - if (state.onWarning) { - state.onWarning.call(null, generateError(state, message)); - } -} - - -var directiveHandlers = { - - YAML: function handleYamlDirective(state, name, args) { - - var match, major, minor; - - if (state.version !== null) { - throwError(state, 'duplication of %YAML directive'); - } - - if (args.length !== 1) { - throwError(state, 'YAML directive accepts exactly one argument'); - } - - match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); - - if (match === null) { - throwError(state, 'ill-formed argument of the YAML directive'); - } - - major = parseInt(match[1], 10); - minor = parseInt(match[2], 10); - - if (major !== 1) { - throwError(state, 'unacceptable YAML version of the document'); - } - - state.version = args[0]; - state.checkLineBreaks = (minor < 2); - - if (minor !== 1 && minor !== 2) { - throwWarning(state, 'unsupported YAML version of the document'); - } - }, - - TAG: function handleTagDirective(state, name, args) { - - var handle, prefix; - - if (args.length !== 2) { - throwError(state, 'TAG directive accepts exactly two arguments'); - } - - handle = args[0]; - prefix = args[1]; - - if (!PATTERN_TAG_HANDLE.test(handle)) { - throwError(state, 'ill-formed tag handle (first argument) of the TAG directive'); - } - - if (_hasOwnProperty.call(state.tagMap, handle)) { - throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle'); - } - - if (!PATTERN_TAG_URI.test(prefix)) { - throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive'); - } - - try { - prefix = decodeURIComponent(prefix); - } catch (err) { - throwError(state, 'tag prefix is malformed: ' + prefix); - } - - state.tagMap[handle] = prefix; - } -}; - - -function captureSegment(state, start, end, checkJson) { - var _position, _length, _character, _result; - - if (start < end) { - _result = state.input.slice(start, end); - - if (checkJson) { - for (_position = 0, _length = _result.length; _position < _length; _position += 1) { - _character = _result.charCodeAt(_position); - if (!(_character === 0x09 || - (0x20 <= _character && _character <= 0x10FFFF))) { - throwError(state, 'expected valid JSON character'); - } - } - } else if (PATTERN_NON_PRINTABLE.test(_result)) { - throwError(state, 'the stream contains non-printable characters'); - } - - state.result += _result; - } -} - -function mergeMappings(state, destination, source, overridableKeys) { - var sourceKeys, key, index, quantity; - - if (!common.isObject(source)) { - throwError(state, 'cannot merge mappings; the provided source object is unacceptable'); - } - - sourceKeys = Object.keys(source); - - for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { - key = sourceKeys[index]; - - if (!_hasOwnProperty.call(destination, key)) { - setProperty(destination, key, source[key]); - overridableKeys[key] = true; - } - } -} - -function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, - startLine, startLineStart, startPos) { - - var index, quantity; - - // The output is a plain object here, so keys can only be strings. - // We need to convert keyNode to a string, but doing so can hang the process - // (deeply nested arrays that explode exponentially using aliases). - if (Array.isArray(keyNode)) { - keyNode = Array.prototype.slice.call(keyNode); - - for (index = 0, quantity = keyNode.length; index < quantity; index += 1) { - if (Array.isArray(keyNode[index])) { - throwError(state, 'nested arrays are not supported inside keys'); - } - - if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') { - keyNode[index] = '[object Object]'; - } - } - } - - // Avoid code execution in load() via toString property - // (still use its own toString for arrays, timestamps, - // and whatever user schema extensions happen to have @@toStringTag) - if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') { - keyNode = '[object Object]'; - } - - - keyNode = String(keyNode); - - if (_result === null) { - _result = {}; - } - - if (keyTag === 'tag:yaml.org,2002:merge') { - if (Array.isArray(valueNode)) { - for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { - mergeMappings(state, _result, valueNode[index], overridableKeys); - } - } else { - mergeMappings(state, _result, valueNode, overridableKeys); - } - } else { - if (!state.json && - !_hasOwnProperty.call(overridableKeys, keyNode) && - _hasOwnProperty.call(_result, keyNode)) { - state.line = startLine || state.line; - state.lineStart = startLineStart || state.lineStart; - state.position = startPos || state.position; - throwError(state, 'duplicated mapping key'); - } - - setProperty(_result, keyNode, valueNode); - delete overridableKeys[keyNode]; - } - - return _result; -} - -function readLineBreak(state) { - var ch; - - ch = state.input.charCodeAt(state.position); - - if (ch === 0x0A/* LF */) { - state.position++; - } else if (ch === 0x0D/* CR */) { - state.position++; - if (state.input.charCodeAt(state.position) === 0x0A/* LF */) { - state.position++; - } - } else { - throwError(state, 'a line break is expected'); - } - - state.line += 1; - state.lineStart = state.position; - state.firstTabInLine = -1; -} - -function skipSeparationSpace(state, allowComments, checkIndent) { - var lineBreaks = 0, - ch = state.input.charCodeAt(state.position); - - while (ch !== 0) { - while (is_WHITE_SPACE(ch)) { - if (ch === 0x09/* Tab */ && state.firstTabInLine === -1) { - state.firstTabInLine = state.position; - } - ch = state.input.charCodeAt(++state.position); - } - - if (allowComments && ch === 0x23/* # */) { - do { - ch = state.input.charCodeAt(++state.position); - } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0); - } - - if (is_EOL(ch)) { - readLineBreak(state); - - ch = state.input.charCodeAt(state.position); - lineBreaks++; - state.lineIndent = 0; - - while (ch === 0x20/* Space */) { - state.lineIndent++; - ch = state.input.charCodeAt(++state.position); - } - } else { - break; - } - } - - if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) { - throwWarning(state, 'deficient indentation'); - } - - return lineBreaks; -} - -function testDocumentSeparator(state) { - var _position = state.position, - ch; - - ch = state.input.charCodeAt(_position); - - // Condition state.position === state.lineStart is tested - // in parent on each call, for efficiency. No needs to test here again. - if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) && - ch === state.input.charCodeAt(_position + 1) && - ch === state.input.charCodeAt(_position + 2)) { - - _position += 3; - - ch = state.input.charCodeAt(_position); - - if (ch === 0 || is_WS_OR_EOL(ch)) { - return true; - } - } - - return false; -} - -function writeFoldedLines(state, count) { - if (count === 1) { - state.result += ' '; - } else if (count > 1) { - state.result += common.repeat('\n', count - 1); - } -} - - -function readPlainScalar(state, nodeIndent, withinFlowCollection) { - var preceding, - following, - captureStart, - captureEnd, - hasPendingContent, - _line, - _lineStart, - _lineIndent, - _kind = state.kind, - _result = state.result, - ch; - - ch = state.input.charCodeAt(state.position); - - if (is_WS_OR_EOL(ch) || - is_FLOW_INDICATOR(ch) || - ch === 0x23/* # */ || - ch === 0x26/* & */ || - ch === 0x2A/* * */ || - ch === 0x21/* ! */ || - ch === 0x7C/* | */ || - ch === 0x3E/* > */ || - ch === 0x27/* ' */ || - ch === 0x22/* " */ || - ch === 0x25/* % */ || - ch === 0x40/* @ */ || - ch === 0x60/* ` */) { - return false; - } - - if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) { - following = state.input.charCodeAt(state.position + 1); - - if (is_WS_OR_EOL(following) || - withinFlowCollection && is_FLOW_INDICATOR(following)) { - return false; - } - } - - state.kind = 'scalar'; - state.result = ''; - captureStart = captureEnd = state.position; - hasPendingContent = false; - - while (ch !== 0) { - if (ch === 0x3A/* : */) { - following = state.input.charCodeAt(state.position + 1); - - if (is_WS_OR_EOL(following) || - withinFlowCollection && is_FLOW_INDICATOR(following)) { - break; - } - - } else if (ch === 0x23/* # */) { - preceding = state.input.charCodeAt(state.position - 1); - - if (is_WS_OR_EOL(preceding)) { - break; - } - - } else if ((state.position === state.lineStart && testDocumentSeparator(state)) || - withinFlowCollection && is_FLOW_INDICATOR(ch)) { - break; - - } else if (is_EOL(ch)) { - _line = state.line; - _lineStart = state.lineStart; - _lineIndent = state.lineIndent; - skipSeparationSpace(state, false, -1); - - if (state.lineIndent >= nodeIndent) { - hasPendingContent = true; - ch = state.input.charCodeAt(state.position); - continue; - } else { - state.position = captureEnd; - state.line = _line; - state.lineStart = _lineStart; - state.lineIndent = _lineIndent; - break; - } - } - - if (hasPendingContent) { - captureSegment(state, captureStart, captureEnd, false); - writeFoldedLines(state, state.line - _line); - captureStart = captureEnd = state.position; - hasPendingContent = false; - } - - if (!is_WHITE_SPACE(ch)) { - captureEnd = state.position + 1; - } - - ch = state.input.charCodeAt(++state.position); - } - - captureSegment(state, captureStart, captureEnd, false); - - if (state.result) { - return true; - } - - state.kind = _kind; - state.result = _result; - return false; -} - -function readSingleQuotedScalar(state, nodeIndent) { - var ch, - captureStart, captureEnd; - - ch = state.input.charCodeAt(state.position); - - if (ch !== 0x27/* ' */) { - return false; - } - - state.kind = 'scalar'; - state.result = ''; - state.position++; - captureStart = captureEnd = state.position; - - while ((ch = state.input.charCodeAt(state.position)) !== 0) { - if (ch === 0x27/* ' */) { - captureSegment(state, captureStart, state.position, true); - ch = state.input.charCodeAt(++state.position); - - if (ch === 0x27/* ' */) { - captureStart = state.position; - state.position++; - captureEnd = state.position; - } else { - return true; - } - - } else if (is_EOL(ch)) { - captureSegment(state, captureStart, captureEnd, true); - writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); - captureStart = captureEnd = state.position; - - } else if (state.position === state.lineStart && testDocumentSeparator(state)) { - throwError(state, 'unexpected end of the document within a single quoted scalar'); - - } else { - state.position++; - captureEnd = state.position; - } - } - - throwError(state, 'unexpected end of the stream within a single quoted scalar'); -} - -function readDoubleQuotedScalar(state, nodeIndent) { - var captureStart, - captureEnd, - hexLength, - hexResult, - tmp, - ch; - - ch = state.input.charCodeAt(state.position); - - if (ch !== 0x22/* " */) { - return false; - } - - state.kind = 'scalar'; - state.result = ''; - state.position++; - captureStart = captureEnd = state.position; - - while ((ch = state.input.charCodeAt(state.position)) !== 0) { - if (ch === 0x22/* " */) { - captureSegment(state, captureStart, state.position, true); - state.position++; - return true; - - } else if (ch === 0x5C/* \ */) { - captureSegment(state, captureStart, state.position, true); - ch = state.input.charCodeAt(++state.position); - - if (is_EOL(ch)) { - skipSeparationSpace(state, false, nodeIndent); - - // TODO: rework to inline fn with no type cast? - } else if (ch < 256 && simpleEscapeCheck[ch]) { - state.result += simpleEscapeMap[ch]; - state.position++; - - } else if ((tmp = escapedHexLen(ch)) > 0) { - hexLength = tmp; - hexResult = 0; - - for (; hexLength > 0; hexLength--) { - ch = state.input.charCodeAt(++state.position); - - if ((tmp = fromHexCode(ch)) >= 0) { - hexResult = (hexResult << 4) + tmp; - - } else { - throwError(state, 'expected hexadecimal character'); - } - } - - state.result += charFromCodepoint(hexResult); - - state.position++; - - } else { - throwError(state, 'unknown escape sequence'); - } - - captureStart = captureEnd = state.position; - - } else if (is_EOL(ch)) { - captureSegment(state, captureStart, captureEnd, true); - writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); - captureStart = captureEnd = state.position; - - } else if (state.position === state.lineStart && testDocumentSeparator(state)) { - throwError(state, 'unexpected end of the document within a double quoted scalar'); - - } else { - state.position++; - captureEnd = state.position; - } - } - - throwError(state, 'unexpected end of the stream within a double quoted scalar'); -} - -function readFlowCollection(state, nodeIndent) { - var readNext = true, - _line, - _lineStart, - _pos, - _tag = state.tag, - _result, - _anchor = state.anchor, - following, - terminator, - isPair, - isExplicitPair, - isMapping, - overridableKeys = Object.create(null), - keyNode, - keyTag, - valueNode, - ch; - - ch = state.input.charCodeAt(state.position); - - if (ch === 0x5B/* [ */) { - terminator = 0x5D;/* ] */ - isMapping = false; - _result = []; - } else if (ch === 0x7B/* { */) { - terminator = 0x7D;/* } */ - isMapping = true; - _result = {}; - } else { - return false; - } - - if (state.anchor !== null) { - state.anchorMap[state.anchor] = _result; - } - - ch = state.input.charCodeAt(++state.position); - - while (ch !== 0) { - skipSeparationSpace(state, true, nodeIndent); - - ch = state.input.charCodeAt(state.position); - - if (ch === terminator) { - state.position++; - state.tag = _tag; - state.anchor = _anchor; - state.kind = isMapping ? 'mapping' : 'sequence'; - state.result = _result; - return true; - } else if (!readNext) { - throwError(state, 'missed comma between flow collection entries'); - } else if (ch === 0x2C/* , */) { - // "flow collection entries can never be completely empty", as per YAML 1.2, section 7.4 - throwError(state, "expected the node content, but found ','"); - } - - keyTag = keyNode = valueNode = null; - isPair = isExplicitPair = false; - - if (ch === 0x3F/* ? */) { - following = state.input.charCodeAt(state.position + 1); - - if (is_WS_OR_EOL(following)) { - isPair = isExplicitPair = true; - state.position++; - skipSeparationSpace(state, true, nodeIndent); - } - } - - _line = state.line; // Save the current line. - _lineStart = state.lineStart; - _pos = state.position; - composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); - keyTag = state.tag; - keyNode = state.result; - skipSeparationSpace(state, true, nodeIndent); - - ch = state.input.charCodeAt(state.position); - - if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) { - isPair = true; - ch = state.input.charCodeAt(++state.position); - skipSeparationSpace(state, true, nodeIndent); - composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); - valueNode = state.result; - } - - if (isMapping) { - storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos); - } else if (isPair) { - _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos)); - } else { - _result.push(keyNode); - } - - skipSeparationSpace(state, true, nodeIndent); - - ch = state.input.charCodeAt(state.position); - - if (ch === 0x2C/* , */) { - readNext = true; - ch = state.input.charCodeAt(++state.position); - } else { - readNext = false; - } - } - - throwError(state, 'unexpected end of the stream within a flow collection'); -} - -function readBlockScalar(state, nodeIndent) { - var captureStart, - folding, - chomping = CHOMPING_CLIP, - didReadContent = false, - detectedIndent = false, - textIndent = nodeIndent, - emptyLines = 0, - atMoreIndented = false, - tmp, - ch; - - ch = state.input.charCodeAt(state.position); - - if (ch === 0x7C/* | */) { - folding = false; - } else if (ch === 0x3E/* > */) { - folding = true; - } else { - return false; - } - - state.kind = 'scalar'; - state.result = ''; - - while (ch !== 0) { - ch = state.input.charCodeAt(++state.position); - - if (ch === 0x2B/* + */ || ch === 0x2D/* - */) { - if (CHOMPING_CLIP === chomping) { - chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP; - } else { - throwError(state, 'repeat of a chomping mode identifier'); - } - - } else if ((tmp = fromDecimalCode(ch)) >= 0) { - if (tmp === 0) { - throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one'); - } else if (!detectedIndent) { - textIndent = nodeIndent + tmp - 1; - detectedIndent = true; - } else { - throwError(state, 'repeat of an indentation width identifier'); - } - - } else { - break; - } - } - - if (is_WHITE_SPACE(ch)) { - do { ch = state.input.charCodeAt(++state.position); } - while (is_WHITE_SPACE(ch)); - - if (ch === 0x23/* # */) { - do { ch = state.input.charCodeAt(++state.position); } - while (!is_EOL(ch) && (ch !== 0)); - } - } - - while (ch !== 0) { - readLineBreak(state); - state.lineIndent = 0; - - ch = state.input.charCodeAt(state.position); - - while ((!detectedIndent || state.lineIndent < textIndent) && - (ch === 0x20/* Space */)) { - state.lineIndent++; - ch = state.input.charCodeAt(++state.position); - } - - if (!detectedIndent && state.lineIndent > textIndent) { - textIndent = state.lineIndent; - } - - if (is_EOL(ch)) { - emptyLines++; - continue; - } - - // End of the scalar. - if (state.lineIndent < textIndent) { - - // Perform the chomping. - if (chomping === CHOMPING_KEEP) { - state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); - } else if (chomping === CHOMPING_CLIP) { - if (didReadContent) { // i.e. only if the scalar is not empty. - state.result += '\n'; - } - } - - // Break this `while` cycle and go to the funciton's epilogue. - break; - } - - // Folded style: use fancy rules to handle line breaks. - if (folding) { - - // Lines starting with white space characters (more-indented lines) are not folded. - if (is_WHITE_SPACE(ch)) { - atMoreIndented = true; - // except for the first content line (cf. Example 8.1) - state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); - - // End of more-indented block. - } else if (atMoreIndented) { - atMoreIndented = false; - state.result += common.repeat('\n', emptyLines + 1); - - // Just one line break - perceive as the same line. - } else if (emptyLines === 0) { - if (didReadContent) { // i.e. only if we have already read some scalar content. - state.result += ' '; - } - - // Several line breaks - perceive as different lines. - } else { - state.result += common.repeat('\n', emptyLines); - } - - // Literal style: just add exact number of line breaks between content lines. - } else { - // Keep all line breaks except the header line break. - state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); - } - - didReadContent = true; - detectedIndent = true; - emptyLines = 0; - captureStart = state.position; - - while (!is_EOL(ch) && (ch !== 0)) { - ch = state.input.charCodeAt(++state.position); - } - - captureSegment(state, captureStart, state.position, false); - } - - return true; -} - -function readBlockSequence(state, nodeIndent) { - var _line, - _tag = state.tag, - _anchor = state.anchor, - _result = [], - following, - detected = false, - ch; - - // there is a leading tab before this token, so it can't be a block sequence/mapping; - // it can still be flow sequence/mapping or a scalar - if (state.firstTabInLine !== -1) return false; - - if (state.anchor !== null) { - state.anchorMap[state.anchor] = _result; - } - - ch = state.input.charCodeAt(state.position); - - while (ch !== 0) { - if (state.firstTabInLine !== -1) { - state.position = state.firstTabInLine; - throwError(state, 'tab characters must not be used in indentation'); - } - - if (ch !== 0x2D/* - */) { - break; - } - - following = state.input.charCodeAt(state.position + 1); - - if (!is_WS_OR_EOL(following)) { - break; - } - - detected = true; - state.position++; - - if (skipSeparationSpace(state, true, -1)) { - if (state.lineIndent <= nodeIndent) { - _result.push(null); - ch = state.input.charCodeAt(state.position); - continue; - } - } - - _line = state.line; - composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true); - _result.push(state.result); - skipSeparationSpace(state, true, -1); - - ch = state.input.charCodeAt(state.position); - - if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) { - throwError(state, 'bad indentation of a sequence entry'); - } else if (state.lineIndent < nodeIndent) { - break; - } - } - - if (detected) { - state.tag = _tag; - state.anchor = _anchor; - state.kind = 'sequence'; - state.result = _result; - return true; - } - return false; -} - -function readBlockMapping(state, nodeIndent, flowIndent) { - var following, - allowCompact, - _line, - _keyLine, - _keyLineStart, - _keyPos, - _tag = state.tag, - _anchor = state.anchor, - _result = {}, - overridableKeys = Object.create(null), - keyTag = null, - keyNode = null, - valueNode = null, - atExplicitKey = false, - detected = false, - ch; - - // there is a leading tab before this token, so it can't be a block sequence/mapping; - // it can still be flow sequence/mapping or a scalar - if (state.firstTabInLine !== -1) return false; - - if (state.anchor !== null) { - state.anchorMap[state.anchor] = _result; - } - - ch = state.input.charCodeAt(state.position); - - while (ch !== 0) { - if (!atExplicitKey && state.firstTabInLine !== -1) { - state.position = state.firstTabInLine; - throwError(state, 'tab characters must not be used in indentation'); - } - - following = state.input.charCodeAt(state.position + 1); - _line = state.line; // Save the current line. - - // - // Explicit notation case. There are two separate blocks: - // first for the key (denoted by "?") and second for the value (denoted by ":") - // - if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) { - - if (ch === 0x3F/* ? */) { - if (atExplicitKey) { - storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); - keyTag = keyNode = valueNode = null; - } - - detected = true; - atExplicitKey = true; - allowCompact = true; - - } else if (atExplicitKey) { - // i.e. 0x3A/* : */ === character after the explicit key. - atExplicitKey = false; - allowCompact = true; - - } else { - throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line'); - } - - state.position += 1; - ch = following; - - // - // Implicit notation case. Flow-style node as the key first, then ":", and the value. - // - } else { - _keyLine = state.line; - _keyLineStart = state.lineStart; - _keyPos = state.position; - - if (!composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) { - // Neither implicit nor explicit notation. - // Reading is done. Go to the epilogue. - break; - } - - if (state.line === _line) { - ch = state.input.charCodeAt(state.position); - - while (is_WHITE_SPACE(ch)) { - ch = state.input.charCodeAt(++state.position); - } - - if (ch === 0x3A/* : */) { - ch = state.input.charCodeAt(++state.position); - - if (!is_WS_OR_EOL(ch)) { - throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping'); - } - - if (atExplicitKey) { - storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); - keyTag = keyNode = valueNode = null; - } - - detected = true; - atExplicitKey = false; - allowCompact = false; - keyTag = state.tag; - keyNode = state.result; - - } else if (detected) { - throwError(state, 'can not read an implicit mapping pair; a colon is missed'); - - } else { - state.tag = _tag; - state.anchor = _anchor; - return true; // Keep the result of `composeNode`. - } - - } else if (detected) { - throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key'); - - } else { - state.tag = _tag; - state.anchor = _anchor; - return true; // Keep the result of `composeNode`. - } - } - - // - // Common reading code for both explicit and implicit notations. - // - if (state.line === _line || state.lineIndent > nodeIndent) { - if (atExplicitKey) { - _keyLine = state.line; - _keyLineStart = state.lineStart; - _keyPos = state.position; - } - - if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { - if (atExplicitKey) { - keyNode = state.result; - } else { - valueNode = state.result; - } - } - - if (!atExplicitKey) { - storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos); - keyTag = keyNode = valueNode = null; - } - - skipSeparationSpace(state, true, -1); - ch = state.input.charCodeAt(state.position); - } - - if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) { - throwError(state, 'bad indentation of a mapping entry'); - } else if (state.lineIndent < nodeIndent) { - break; - } - } - - // - // Epilogue. - // - - // Special case: last mapping's node contains only the key in explicit notation. - if (atExplicitKey) { - storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); - } - - // Expose the resulting mapping. - if (detected) { - state.tag = _tag; - state.anchor = _anchor; - state.kind = 'mapping'; - state.result = _result; - } - - return detected; -} - -function readTagProperty(state) { - var _position, - isVerbatim = false, - isNamed = false, - tagHandle, - tagName, - ch; - - ch = state.input.charCodeAt(state.position); - - if (ch !== 0x21/* ! */) return false; - - if (state.tag !== null) { - throwError(state, 'duplication of a tag property'); - } - - ch = state.input.charCodeAt(++state.position); - - if (ch === 0x3C/* < */) { - isVerbatim = true; - ch = state.input.charCodeAt(++state.position); - - } else if (ch === 0x21/* ! */) { - isNamed = true; - tagHandle = '!!'; - ch = state.input.charCodeAt(++state.position); - - } else { - tagHandle = '!'; - } - - _position = state.position; - - if (isVerbatim) { - do { ch = state.input.charCodeAt(++state.position); } - while (ch !== 0 && ch !== 0x3E/* > */); - - if (state.position < state.length) { - tagName = state.input.slice(_position, state.position); - ch = state.input.charCodeAt(++state.position); - } else { - throwError(state, 'unexpected end of the stream within a verbatim tag'); - } - } else { - while (ch !== 0 && !is_WS_OR_EOL(ch)) { - - if (ch === 0x21/* ! */) { - if (!isNamed) { - tagHandle = state.input.slice(_position - 1, state.position + 1); - - if (!PATTERN_TAG_HANDLE.test(tagHandle)) { - throwError(state, 'named tag handle cannot contain such characters'); - } - - isNamed = true; - _position = state.position + 1; - } else { - throwError(state, 'tag suffix cannot contain exclamation marks'); - } - } - - ch = state.input.charCodeAt(++state.position); - } - - tagName = state.input.slice(_position, state.position); - - if (PATTERN_FLOW_INDICATORS.test(tagName)) { - throwError(state, 'tag suffix cannot contain flow indicator characters'); - } - } - - if (tagName && !PATTERN_TAG_URI.test(tagName)) { - throwError(state, 'tag name cannot contain such characters: ' + tagName); - } - - try { - tagName = decodeURIComponent(tagName); - } catch (err) { - throwError(state, 'tag name is malformed: ' + tagName); - } - - if (isVerbatim) { - state.tag = tagName; - - } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) { - state.tag = state.tagMap[tagHandle] + tagName; - - } else if (tagHandle === '!') { - state.tag = '!' + tagName; - - } else if (tagHandle === '!!') { - state.tag = 'tag:yaml.org,2002:' + tagName; - - } else { - throwError(state, 'undeclared tag handle "' + tagHandle + '"'); - } - - return true; -} - -function readAnchorProperty(state) { - var _position, - ch; - - ch = state.input.charCodeAt(state.position); - - if (ch !== 0x26/* & */) return false; - - if (state.anchor !== null) { - throwError(state, 'duplication of an anchor property'); - } - - ch = state.input.charCodeAt(++state.position); - _position = state.position; - - while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { - ch = state.input.charCodeAt(++state.position); - } - - if (state.position === _position) { - throwError(state, 'name of an anchor node must contain at least one character'); - } - - state.anchor = state.input.slice(_position, state.position); - return true; -} - -function readAlias(state) { - var _position, alias, - ch; - - ch = state.input.charCodeAt(state.position); - - if (ch !== 0x2A/* * */) return false; - - ch = state.input.charCodeAt(++state.position); - _position = state.position; - - while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { - ch = state.input.charCodeAt(++state.position); - } - - if (state.position === _position) { - throwError(state, 'name of an alias node must contain at least one character'); - } - - alias = state.input.slice(_position, state.position); - - if (!_hasOwnProperty.call(state.anchorMap, alias)) { - throwError(state, 'unidentified alias "' + alias + '"'); - } - - state.result = state.anchorMap[alias]; - skipSeparationSpace(state, true, -1); - return true; -} - -function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) { - var allowBlockStyles, - allowBlockScalars, - allowBlockCollections, - indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) { - indentStatus = 1; - } else if (state.lineIndent === parentIndent) { - indentStatus = 0; - } else if (state.lineIndent < parentIndent) { - indentStatus = -1; - } - } - } - - if (indentStatus === 1) { - while (readTagProperty(state) || readAnchorProperty(state)) { - if (skipSeparationSpace(state, true, -1)) { - atNewLine = true; - allowBlockCollections = allowBlockStyles; - - if (state.lineIndent > parentIndent) { - indentStatus = 1; - } else if (state.lineIndent === parentIndent) { - indentStatus = 0; - } else if (state.lineIndent < parentIndent) { - indentStatus = -1; - } - } else { - allowBlockCollections = false; - } - } - } - - if (allowBlockCollections) { - allowBlockCollections = atNewLine || allowCompact; - } - - if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { - if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { - flowIndent = parentIndent; - } else { - flowIndent = parentIndent + 1; - } - - blockIndent = state.position - state.lineStart; - - if (indentStatus === 1) { - if (allowBlockCollections && - (readBlockSequence(state, blockIndent) || - readBlockMapping(state, blockIndent, flowIndent)) || - readFlowCollection(state, flowIndent)) { - hasContent = true; - } else { - if ((allowBlockScalars && readBlockScalar(state, flowIndent)) || - readSingleQuotedScalar(state, flowIndent) || - readDoubleQuotedScalar(state, flowIndent)) { - hasContent = true; - - } else if (readAlias(state)) { - hasContent = true; - - if (state.tag !== null || state.anchor !== null) { - throwError(state, 'alias node should not have any properties'); - } - - } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { - hasContent = true; - - if (state.tag === null) { - state.tag = '?'; - } - } - - if (state.anchor !== null) { - state.anchorMap[state.anchor] = state.result; - } - } - } else if (indentStatus === 0) { - // Special case: block sequences are allowed to have same indentation level as the parent. - // http://www.yaml.org/spec/1.2/spec.html#id2799784 - hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); - } - } - - if (state.tag === null) { - if (state.anchor !== null) { - state.anchorMap[state.anchor] = state.result; - } - - } else if (state.tag === '?') { - // Implicit resolving is not allowed for non-scalar types, and '?' - // non-specific tag is only automatically assigned to plain scalars. - // - // We only need to check kind conformity in case user explicitly assigns '?' - // tag, for example like this: "! [0]" - // - if (state.result !== null && state.kind !== 'scalar') { - throwError(state, 'unacceptable node kind for ! tag; it should be "scalar", not "' + state.kind + '"'); - } - - for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { - type = state.implicitTypes[typeIndex]; - - if (type.resolve(state.result)) { // `state.result` updated in resolver if matched - state.result = type.construct(state.result); - state.tag = type.tag; - if (state.anchor !== null) { - state.anchorMap[state.anchor] = state.result; - } - break; - } - } - } else if (state.tag !== '!') { - if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) { - type = state.typeMap[state.kind || 'fallback'][state.tag]; - } else { - // looking for multi type - type = null; - typeList = state.typeMap.multi[state.kind || 'fallback']; - - for (typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) { - if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) { - type = typeList[typeIndex]; - break; - } - } - } - - if (!type) { - throwError(state, 'unknown tag !<' + state.tag + '>'); - } - - if (state.result !== null && type.kind !== state.kind) { - throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"'); - } - - if (!type.resolve(state.result, state.tag)) { // `state.result` updated in resolver if matched - throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag'); - } else { - state.result = type.construct(state.result, state.tag); - if (state.anchor !== null) { - state.anchorMap[state.anchor] = state.result; - } - } - } - - if (state.listener !== null) { - state.listener('close', state); - } - return state.tag !== null || state.anchor !== null || hasContent; -} - -function readDocument(state) { - var documentStart = state.position, - _position, - directiveName, - directiveArgs, - hasDirectives = false, - ch; - - state.version = null; - state.checkLineBreaks = state.legacy; - state.tagMap = Object.create(null); - state.anchorMap = Object.create(null); - - while ((ch = state.input.charCodeAt(state.position)) !== 0) { - skipSeparationSpace(state, true, -1); - - ch = state.input.charCodeAt(state.position); - - if (state.lineIndent > 0 || ch !== 0x25/* % */) { - break; - } - - hasDirectives = true; - ch = state.input.charCodeAt(++state.position); - _position = state.position; - - while (ch !== 0 && !is_WS_OR_EOL(ch)) { - ch = state.input.charCodeAt(++state.position); - } - - directiveName = state.input.slice(_position, state.position); - directiveArgs = []; - - if (directiveName.length < 1) { - throwError(state, 'directive name must not be less than one character in length'); - } - - while (ch !== 0) { - while (is_WHITE_SPACE(ch)) { - ch = state.input.charCodeAt(++state.position); - } - - if (ch === 0x23/* # */) { - do { ch = state.input.charCodeAt(++state.position); } - while (ch !== 0 && !is_EOL(ch)); - break; - } - - if (is_EOL(ch)) break; - - _position = state.position; - - while (ch !== 0 && !is_WS_OR_EOL(ch)) { - ch = state.input.charCodeAt(++state.position); - } - - directiveArgs.push(state.input.slice(_position, state.position)); - } - - if (ch !== 0) readLineBreak(state); - - if (_hasOwnProperty.call(directiveHandlers, directiveName)) { - directiveHandlers[directiveName](state, directiveName, directiveArgs); - } else { - throwWarning(state, 'unknown document directive "' + directiveName + '"'); - } - } - - skipSeparationSpace(state, true, -1); - - if (state.lineIndent === 0 && - state.input.charCodeAt(state.position) === 0x2D/* - */ && - state.input.charCodeAt(state.position + 1) === 0x2D/* - */ && - state.input.charCodeAt(state.position + 2) === 0x2D/* - */) { - state.position += 3; - skipSeparationSpace(state, true, -1); - - } else if (hasDirectives) { - throwError(state, 'directives end mark is expected'); - } - - composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); - skipSeparationSpace(state, true, -1); - - if (state.checkLineBreaks && - PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) { - throwWarning(state, 'non-ASCII line breaks are interpreted as content'); - } - - state.documents.push(state.result); - - if (state.position === state.lineStart && testDocumentSeparator(state)) { - - if (state.input.charCodeAt(state.position) === 0x2E/* . */) { - state.position += 3; - skipSeparationSpace(state, true, -1); - } - return; - } - - if (state.position < (state.length - 1)) { - throwError(state, 'end of the stream or a document separator is expected'); - } else { - return; - } -} - - -function loadDocuments(input, options) { - input = String(input); - options = options || {}; - - if (input.length !== 0) { - - // Add tailing `\n` if not exists - if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ && - input.charCodeAt(input.length - 1) !== 0x0D/* CR */) { - input += '\n'; - } - - // Strip BOM - if (input.charCodeAt(0) === 0xFEFF) { - input = input.slice(1); - } - } - - var state = new State(input, options); - - var nullpos = input.indexOf('\0'); - - if (nullpos !== -1) { - state.position = nullpos; - throwError(state, 'null byte is not allowed in input'); - } - - // Use 0 as string terminator. That significantly simplifies bounds check. - state.input += '\0'; - - while (state.input.charCodeAt(state.position) === 0x20/* Space */) { - state.lineIndent += 1; - state.position += 1; - } - - while (state.position < (state.length - 1)) { - readDocument(state); - } - - return state.documents; -} - - -function loadAll(input, iterator, options) { - if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') { - options = iterator; - iterator = null; - } - - var documents = loadDocuments(input, options); - - if (typeof iterator !== 'function') { - return documents; - } - - for (var index = 0, length = documents.length; index < length; index += 1) { - iterator(documents[index]); - } -} - - -function load(input, options) { - var documents = loadDocuments(input, options); - - if (documents.length === 0) { - /*eslint-disable no-undefined*/ - return undefined; - } else if (documents.length === 1) { - return documents[0]; - } - throw new YAMLException('expected a single document in the stream, but found more'); -} - - -module.exports.loadAll = loadAll; -module.exports.load = load; - - -/***/ }), - -/***/ 21082: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -/*eslint-disable max-len*/ - -var YAMLException = __nccwpck_require__(68179); -var Type = __nccwpck_require__(6073); - - -function compileList(schema, name) { - var result = []; - - schema[name].forEach(function (currentType) { - var newIndex = result.length; - - result.forEach(function (previousType, previousIndex) { - if (previousType.tag === currentType.tag && - previousType.kind === currentType.kind && - previousType.multi === currentType.multi) { - - newIndex = previousIndex; - } - }); - - result[newIndex] = currentType; - }); - - return result; -} - - -function compileMap(/* lists... */) { - var result = { - scalar: {}, - sequence: {}, - mapping: {}, - fallback: {}, - multi: { - scalar: [], - sequence: [], - mapping: [], - fallback: [] - } - }, index, length; - - function collectType(type) { - if (type.multi) { - result.multi[type.kind].push(type); - result.multi['fallback'].push(type); - } else { - result[type.kind][type.tag] = result['fallback'][type.tag] = type; - } - } - - for (index = 0, length = arguments.length; index < length; index += 1) { - arguments[index].forEach(collectType); - } - return result; -} - - -function Schema(definition) { - return this.extend(definition); -} - - -Schema.prototype.extend = function extend(definition) { - var implicit = []; - var explicit = []; - - if (definition instanceof Type) { - // Schema.extend(type) - explicit.push(definition); - - } else if (Array.isArray(definition)) { - // Schema.extend([ type1, type2, ... ]) - explicit = explicit.concat(definition); - - } else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) { - // Schema.extend({ explicit: [ type1, type2, ... ], implicit: [ type1, type2, ... ] }) - if (definition.implicit) implicit = implicit.concat(definition.implicit); - if (definition.explicit) explicit = explicit.concat(definition.explicit); - - } else { - throw new YAMLException('Schema.extend argument should be a Type, [ Type ], ' + - 'or a schema definition ({ implicit: [...], explicit: [...] })'); - } - - implicit.forEach(function (type) { - if (!(type instanceof Type)) { - throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.'); - } - - if (type.loadKind && type.loadKind !== 'scalar') { - throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'); - } - - if (type.multi) { - throw new YAMLException('There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.'); - } - }); - - explicit.forEach(function (type) { - if (!(type instanceof Type)) { - throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.'); - } - }); - - var result = Object.create(Schema.prototype); - - result.implicit = (this.implicit || []).concat(implicit); - result.explicit = (this.explicit || []).concat(explicit); - - result.compiledImplicit = compileList(result, 'implicit'); - result.compiledExplicit = compileList(result, 'explicit'); - result.compiledTypeMap = compileMap(result.compiledImplicit, result.compiledExplicit); - - return result; -}; - - -module.exports = Schema; - - -/***/ }), - -/***/ 12011: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; -// Standard YAML's Core schema. -// http://www.yaml.org/spec/1.2/spec.html#id2804923 -// -// NOTE: JS-YAML does not support schema-specific tag resolution restrictions. -// So, Core schema has no distinctions from JSON schema is JS-YAML. - - - - - -module.exports = __nccwpck_require__(1035); - - -/***/ }), - -/***/ 18759: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; -// JS-YAML's default schema for `safeLoad` function. -// It is not described in the YAML specification. -// -// This schema is based on standard YAML's Core schema and includes most of -// extra types described at YAML tag repository. (http://yaml.org/type/) - - - - - -module.exports = (__nccwpck_require__(12011).extend)({ - implicit: [ - __nccwpck_require__(99212), - __nccwpck_require__(86104) - ], - explicit: [ - __nccwpck_require__(77900), - __nccwpck_require__(19046), - __nccwpck_require__(96860), - __nccwpck_require__(79548) - ] -}); - - -/***/ }), - -/***/ 28562: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; -// Standard YAML's Failsafe schema. -// http://www.yaml.org/spec/1.2/spec.html#id2802346 - - - - - -var Schema = __nccwpck_require__(21082); - - -module.exports = new Schema({ - explicit: [ - __nccwpck_require__(23619), - __nccwpck_require__(67283), - __nccwpck_require__(86150) - ] -}); - - -/***/ }), - -/***/ 1035: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; -// Standard YAML's JSON schema. -// http://www.yaml.org/spec/1.2/spec.html#id2803231 -// -// NOTE: JS-YAML does not support schema-specific tag resolution restrictions. -// So, this schema is not such strict as defined in the YAML specification. -// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc. - - - - - -module.exports = (__nccwpck_require__(28562).extend)({ - implicit: [ - __nccwpck_require__(20721), - __nccwpck_require__(64993), - __nccwpck_require__(11615), - __nccwpck_require__(42705) - ] -}); - - -/***/ }), - -/***/ 96975: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - - -var common = __nccwpck_require__(26829); - - -// get snippet for a single line, respecting maxLength -function getLine(buffer, lineStart, lineEnd, position, maxLineLength) { - var head = ''; - var tail = ''; - var maxHalfLength = Math.floor(maxLineLength / 2) - 1; - - if (position - lineStart > maxHalfLength) { - head = ' ... '; - lineStart = position - maxHalfLength + head.length; - } - - if (lineEnd - position > maxHalfLength) { - tail = ' ...'; - lineEnd = position + maxHalfLength - tail.length; - } - - return { - str: head + buffer.slice(lineStart, lineEnd).replace(/\t/g, '→') + tail, - pos: position - lineStart + head.length // relative position - }; -} - - -function padStart(string, max) { - return common.repeat(' ', max - string.length) + string; -} - - -function makeSnippet(mark, options) { - options = Object.create(options || null); - - if (!mark.buffer) return null; - - if (!options.maxLength) options.maxLength = 79; - if (typeof options.indent !== 'number') options.indent = 1; - if (typeof options.linesBefore !== 'number') options.linesBefore = 3; - if (typeof options.linesAfter !== 'number') options.linesAfter = 2; - - var re = /\r?\n|\r|\0/g; - var lineStarts = [ 0 ]; - var lineEnds = []; - var match; - var foundLineNo = -1; - - while ((match = re.exec(mark.buffer))) { - lineEnds.push(match.index); - lineStarts.push(match.index + match[0].length); - - if (mark.position <= match.index && foundLineNo < 0) { - foundLineNo = lineStarts.length - 2; - } - } - - if (foundLineNo < 0) foundLineNo = lineStarts.length - 1; - - var result = '', i, line; - var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length; - var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3); - - for (i = 1; i <= options.linesBefore; i++) { - if (foundLineNo - i < 0) break; - line = getLine( - mark.buffer, - lineStarts[foundLineNo - i], - lineEnds[foundLineNo - i], - mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]), - maxLineLength - ); - result = common.repeat(' ', options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) + - ' | ' + line.str + '\n' + result; - } - - line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength); - result += common.repeat(' ', options.indent) + padStart((mark.line + 1).toString(), lineNoLength) + - ' | ' + line.str + '\n'; - result += common.repeat('-', options.indent + lineNoLength + 3 + line.pos) + '^' + '\n'; - - for (i = 1; i <= options.linesAfter; i++) { - if (foundLineNo + i >= lineEnds.length) break; - line = getLine( - mark.buffer, - lineStarts[foundLineNo + i], - lineEnds[foundLineNo + i], - mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]), - maxLineLength - ); - result += common.repeat(' ', options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) + - ' | ' + line.str + '\n'; - } - - return result.replace(/\n$/, ''); -} - - -module.exports = makeSnippet; - - -/***/ }), - -/***/ 6073: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -var YAMLException = __nccwpck_require__(68179); - -var TYPE_CONSTRUCTOR_OPTIONS = [ - 'kind', - 'multi', - 'resolve', - 'construct', - 'instanceOf', - 'predicate', - 'represent', - 'representName', - 'defaultStyle', - 'styleAliases' -]; - -var YAML_NODE_KINDS = [ - 'scalar', - 'sequence', - 'mapping' -]; - -function compileStyleAliases(map) { - var result = {}; - - if (map !== null) { - Object.keys(map).forEach(function (style) { - map[style].forEach(function (alias) { - result[String(alias)] = style; - }); - }); - } - - return result; -} - -function Type(tag, options) { - options = options || {}; - - Object.keys(options).forEach(function (name) { - if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { - throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); - } - }); - - // TODO: Add tag format check. - this.options = options; // keep original options in case user wants to extend this type later - this.tag = tag; - this.kind = options['kind'] || null; - this.resolve = options['resolve'] || function () { return true; }; - this.construct = options['construct'] || function (data) { return data; }; - this.instanceOf = options['instanceOf'] || null; - this.predicate = options['predicate'] || null; - this.represent = options['represent'] || null; - this.representName = options['representName'] || null; - this.defaultStyle = options['defaultStyle'] || null; - this.multi = options['multi'] || false; - this.styleAliases = compileStyleAliases(options['styleAliases'] || null); - - if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { - throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); - } -} - -module.exports = Type; - - -/***/ }), - -/***/ 77900: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -/*eslint-disable no-bitwise*/ - - -var Type = __nccwpck_require__(6073); - - -// [ 64, 65, 66 ] -> [ padding, CR, LF ] -var BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r'; - - -function resolveYamlBinary(data) { - if (data === null) return false; - - var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP; - - // Convert one by one. - for (idx = 0; idx < max; idx++) { - code = map.indexOf(data.charAt(idx)); - - // Skip CR/LF - if (code > 64) continue; - - // Fail on illegal characters - if (code < 0) return false; - - bitlen += 6; - } - - // If there are any bits left, source was corrupted - return (bitlen % 8) === 0; -} - -function constructYamlBinary(data) { - var idx, tailbits, - input = data.replace(/[\r\n=]/g, ''), // remove CR/LF & padding to simplify scan - max = input.length, - map = BASE64_MAP, - bits = 0, - result = []; - - // Collect by 6*4 bits (3 bytes) - - for (idx = 0; idx < max; idx++) { - if ((idx % 4 === 0) && idx) { - result.push((bits >> 16) & 0xFF); - result.push((bits >> 8) & 0xFF); - result.push(bits & 0xFF); - } - - bits = (bits << 6) | map.indexOf(input.charAt(idx)); - } - - // Dump tail - - tailbits = (max % 4) * 6; - - if (tailbits === 0) { - result.push((bits >> 16) & 0xFF); - result.push((bits >> 8) & 0xFF); - result.push(bits & 0xFF); - } else if (tailbits === 18) { - result.push((bits >> 10) & 0xFF); - result.push((bits >> 2) & 0xFF); - } else if (tailbits === 12) { - result.push((bits >> 4) & 0xFF); - } - - return new Uint8Array(result); -} - -function representYamlBinary(object /*, style*/) { - var result = '', bits = 0, idx, tail, - max = object.length, - map = BASE64_MAP; - - // Convert every three bytes to 4 ASCII characters. - - for (idx = 0; idx < max; idx++) { - if ((idx % 3 === 0) && idx) { - result += map[(bits >> 18) & 0x3F]; - result += map[(bits >> 12) & 0x3F]; - result += map[(bits >> 6) & 0x3F]; - result += map[bits & 0x3F]; - } - - bits = (bits << 8) + object[idx]; - } - - // Dump tail - - tail = max % 3; - - if (tail === 0) { - result += map[(bits >> 18) & 0x3F]; - result += map[(bits >> 12) & 0x3F]; - result += map[(bits >> 6) & 0x3F]; - result += map[bits & 0x3F]; - } else if (tail === 2) { - result += map[(bits >> 10) & 0x3F]; - result += map[(bits >> 4) & 0x3F]; - result += map[(bits << 2) & 0x3F]; - result += map[64]; - } else if (tail === 1) { - result += map[(bits >> 2) & 0x3F]; - result += map[(bits << 4) & 0x3F]; - result += map[64]; - result += map[64]; - } - - return result; -} - -function isBinary(obj) { - return Object.prototype.toString.call(obj) === '[object Uint8Array]'; -} - -module.exports = new Type('tag:yaml.org,2002:binary', { - kind: 'scalar', - resolve: resolveYamlBinary, - construct: constructYamlBinary, - predicate: isBinary, - represent: representYamlBinary -}); - - -/***/ }), - -/***/ 64993: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -var Type = __nccwpck_require__(6073); - -function resolveYamlBoolean(data) { - if (data === null) return false; - - var max = data.length; - - return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) || - (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE')); -} - -function constructYamlBoolean(data) { - return data === 'true' || - data === 'True' || - data === 'TRUE'; -} - -function isBoolean(object) { - return Object.prototype.toString.call(object) === '[object Boolean]'; -} - -module.exports = new Type('tag:yaml.org,2002:bool', { - kind: 'scalar', - resolve: resolveYamlBoolean, - construct: constructYamlBoolean, - predicate: isBoolean, - represent: { - lowercase: function (object) { return object ? 'true' : 'false'; }, - uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; }, - camelcase: function (object) { return object ? 'True' : 'False'; } - }, - defaultStyle: 'lowercase' -}); - - -/***/ }), - -/***/ 42705: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -var common = __nccwpck_require__(26829); -var Type = __nccwpck_require__(6073); - -var YAML_FLOAT_PATTERN = new RegExp( - // 2.5e4, 2.5 and integers - '^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' + - // .2e4, .2 - // special case, seems not from spec - '|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' + - // .inf - '|[-+]?\\.(?:inf|Inf|INF)' + - // .nan - '|\\.(?:nan|NaN|NAN))$'); - -function resolveYamlFloat(data) { - if (data === null) return false; - - if (!YAML_FLOAT_PATTERN.test(data) || - // Quick hack to not allow integers end with `_` - // Probably should update regexp & check speed - data[data.length - 1] === '_') { - return false; - } - - return true; -} - -function constructYamlFloat(data) { - var value, sign; - - value = data.replace(/_/g, '').toLowerCase(); - sign = value[0] === '-' ? -1 : 1; - - if ('+-'.indexOf(value[0]) >= 0) { - value = value.slice(1); - } - - if (value === '.inf') { - return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; - - } else if (value === '.nan') { - return NaN; - } - return sign * parseFloat(value, 10); -} - - -var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; - -function representYamlFloat(object, style) { - var res; - - if (isNaN(object)) { - switch (style) { - case 'lowercase': return '.nan'; - case 'uppercase': return '.NAN'; - case 'camelcase': return '.NaN'; - } - } else if (Number.POSITIVE_INFINITY === object) { - switch (style) { - case 'lowercase': return '.inf'; - case 'uppercase': return '.INF'; - case 'camelcase': return '.Inf'; - } - } else if (Number.NEGATIVE_INFINITY === object) { - switch (style) { - case 'lowercase': return '-.inf'; - case 'uppercase': return '-.INF'; - case 'camelcase': return '-.Inf'; - } - } else if (common.isNegativeZero(object)) { - return '-0.0'; - } - - res = object.toString(10); - - // JS stringifier can build scientific format without dots: 5e-100, - // while YAML requres dot: 5.e-100. Fix it with simple hack - - return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res; -} - -function isFloat(object) { - return (Object.prototype.toString.call(object) === '[object Number]') && - (object % 1 !== 0 || common.isNegativeZero(object)); -} - -module.exports = new Type('tag:yaml.org,2002:float', { - kind: 'scalar', - resolve: resolveYamlFloat, - construct: constructYamlFloat, - predicate: isFloat, - represent: representYamlFloat, - defaultStyle: 'lowercase' -}); - - -/***/ }), - -/***/ 11615: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -var common = __nccwpck_require__(26829); -var Type = __nccwpck_require__(6073); - -function isHexCode(c) { - return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) || - ((0x41/* A */ <= c) && (c <= 0x46/* F */)) || - ((0x61/* a */ <= c) && (c <= 0x66/* f */)); -} - -function isOctCode(c) { - return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */)); -} - -function isDecCode(c) { - return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)); -} - -function resolveYamlInteger(data) { - if (data === null) return false; - - var max = data.length, - index = 0, - hasDigits = false, - ch; - - if (!max) return false; - - ch = data[index]; - - // sign - if (ch === '-' || ch === '+') { - ch = data[++index]; - } - - if (ch === '0') { - // 0 - if (index + 1 === max) return true; - ch = data[++index]; - - // base 2, base 8, base 16 - - if (ch === 'b') { - // base 2 - index++; - - for (; index < max; index++) { - ch = data[index]; - if (ch === '_') continue; - if (ch !== '0' && ch !== '1') return false; - hasDigits = true; - } - return hasDigits && ch !== '_'; - } - - - if (ch === 'x') { - // base 16 - index++; - - for (; index < max; index++) { - ch = data[index]; - if (ch === '_') continue; - if (!isHexCode(data.charCodeAt(index))) return false; - hasDigits = true; - } - return hasDigits && ch !== '_'; - } - - - if (ch === 'o') { - // base 8 - index++; - - for (; index < max; index++) { - ch = data[index]; - if (ch === '_') continue; - if (!isOctCode(data.charCodeAt(index))) return false; - hasDigits = true; - } - return hasDigits && ch !== '_'; - } - } - - // base 10 (except 0) - - // value should not start with `_`; - if (ch === '_') return false; - - for (; index < max; index++) { - ch = data[index]; - if (ch === '_') continue; - if (!isDecCode(data.charCodeAt(index))) { - return false; - } - hasDigits = true; - } - - // Should have digits and should not end with `_` - if (!hasDigits || ch === '_') return false; - - return true; -} - -function constructYamlInteger(data) { - var value = data, sign = 1, ch; - - if (value.indexOf('_') !== -1) { - value = value.replace(/_/g, ''); - } - - ch = value[0]; - - if (ch === '-' || ch === '+') { - if (ch === '-') sign = -1; - value = value.slice(1); - ch = value[0]; - } - - if (value === '0') return 0; - - if (ch === '0') { - if (value[1] === 'b') return sign * parseInt(value.slice(2), 2); - if (value[1] === 'x') return sign * parseInt(value.slice(2), 16); - if (value[1] === 'o') return sign * parseInt(value.slice(2), 8); - } - - return sign * parseInt(value, 10); -} - -function isInteger(object) { - return (Object.prototype.toString.call(object)) === '[object Number]' && - (object % 1 === 0 && !common.isNegativeZero(object)); -} - -module.exports = new Type('tag:yaml.org,2002:int', { - kind: 'scalar', - resolve: resolveYamlInteger, - construct: constructYamlInteger, - predicate: isInteger, - represent: { - binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); }, - octal: function (obj) { return obj >= 0 ? '0o' + obj.toString(8) : '-0o' + obj.toString(8).slice(1); }, - decimal: function (obj) { return obj.toString(10); }, - /* eslint-disable max-len */ - hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); } - }, - defaultStyle: 'decimal', - styleAliases: { - binary: [ 2, 'bin' ], - octal: [ 8, 'oct' ], - decimal: [ 10, 'dec' ], - hexadecimal: [ 16, 'hex' ] - } -}); - - -/***/ }), - -/***/ 86150: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -var Type = __nccwpck_require__(6073); - -module.exports = new Type('tag:yaml.org,2002:map', { - kind: 'mapping', - construct: function (data) { return data !== null ? data : {}; } -}); - - -/***/ }), - -/***/ 86104: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -var Type = __nccwpck_require__(6073); - -function resolveYamlMerge(data) { - return data === '<<' || data === null; -} - -module.exports = new Type('tag:yaml.org,2002:merge', { - kind: 'scalar', - resolve: resolveYamlMerge -}); - - -/***/ }), - -/***/ 20721: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -var Type = __nccwpck_require__(6073); - -function resolveYamlNull(data) { - if (data === null) return true; - - var max = data.length; - - return (max === 1 && data === '~') || - (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL')); -} - -function constructYamlNull() { - return null; -} - -function isNull(object) { - return object === null; -} - -module.exports = new Type('tag:yaml.org,2002:null', { - kind: 'scalar', - resolve: resolveYamlNull, - construct: constructYamlNull, - predicate: isNull, - represent: { - canonical: function () { return '~'; }, - lowercase: function () { return 'null'; }, - uppercase: function () { return 'NULL'; }, - camelcase: function () { return 'Null'; }, - empty: function () { return ''; } - }, - defaultStyle: 'lowercase' -}); - - -/***/ }), - -/***/ 19046: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -var Type = __nccwpck_require__(6073); - -var _hasOwnProperty = Object.prototype.hasOwnProperty; -var _toString = Object.prototype.toString; - -function resolveYamlOmap(data) { - if (data === null) return true; - - var objectKeys = [], index, length, pair, pairKey, pairHasKey, - object = data; - - for (index = 0, length = object.length; index < length; index += 1) { - pair = object[index]; - pairHasKey = false; - - if (_toString.call(pair) !== '[object Object]') return false; - - for (pairKey in pair) { - if (_hasOwnProperty.call(pair, pairKey)) { - if (!pairHasKey) pairHasKey = true; - else return false; - } - } - - if (!pairHasKey) return false; - - if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey); - else return false; - } - - return true; -} - -function constructYamlOmap(data) { - return data !== null ? data : []; -} - -module.exports = new Type('tag:yaml.org,2002:omap', { - kind: 'sequence', - resolve: resolveYamlOmap, - construct: constructYamlOmap -}); - - -/***/ }), - -/***/ 96860: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -var Type = __nccwpck_require__(6073); - -var _toString = Object.prototype.toString; - -function resolveYamlPairs(data) { - if (data === null) return true; - - var index, length, pair, keys, result, - object = data; - - result = new Array(object.length); - - for (index = 0, length = object.length; index < length; index += 1) { - pair = object[index]; - - if (_toString.call(pair) !== '[object Object]') return false; - - keys = Object.keys(pair); - - if (keys.length !== 1) return false; - - result[index] = [ keys[0], pair[keys[0]] ]; - } - - return true; -} - -function constructYamlPairs(data) { - if (data === null) return []; - - var index, length, pair, keys, result, - object = data; - - result = new Array(object.length); - - for (index = 0, length = object.length; index < length; index += 1) { - pair = object[index]; - - keys = Object.keys(pair); - - result[index] = [ keys[0], pair[keys[0]] ]; - } - - return result; -} - -module.exports = new Type('tag:yaml.org,2002:pairs', { - kind: 'sequence', - resolve: resolveYamlPairs, - construct: constructYamlPairs -}); - - -/***/ }), - -/***/ 67283: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -var Type = __nccwpck_require__(6073); - -module.exports = new Type('tag:yaml.org,2002:seq', { - kind: 'sequence', - construct: function (data) { return data !== null ? data : []; } -}); - - -/***/ }), - -/***/ 79548: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -var Type = __nccwpck_require__(6073); - -var _hasOwnProperty = Object.prototype.hasOwnProperty; - -function resolveYamlSet(data) { - if (data === null) return true; - - var key, object = data; - - for (key in object) { - if (_hasOwnProperty.call(object, key)) { - if (object[key] !== null) return false; - } - } - - return true; -} - -function constructYamlSet(data) { - return data !== null ? data : {}; -} - -module.exports = new Type('tag:yaml.org,2002:set', { - kind: 'mapping', - resolve: resolveYamlSet, - construct: constructYamlSet -}); - - -/***/ }), - -/***/ 23619: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -var Type = __nccwpck_require__(6073); - -module.exports = new Type('tag:yaml.org,2002:str', { - kind: 'scalar', - construct: function (data) { return data !== null ? data : ''; } -}); - - -/***/ }), - -/***/ 99212: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -var Type = __nccwpck_require__(6073); - -var YAML_DATE_REGEXP = new RegExp( - '^([0-9][0-9][0-9][0-9])' + // [1] year - '-([0-9][0-9])' + // [2] month - '-([0-9][0-9])$'); // [3] day - -var YAML_TIMESTAMP_REGEXP = new RegExp( - '^([0-9][0-9][0-9][0-9])' + // [1] year - '-([0-9][0-9]?)' + // [2] month - '-([0-9][0-9]?)' + // [3] day - '(?:[Tt]|[ \\t]+)' + // ... - '([0-9][0-9]?)' + // [4] hour - ':([0-9][0-9])' + // [5] minute - ':([0-9][0-9])' + // [6] second - '(?:\\.([0-9]*))?' + // [7] fraction - '(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour - '(?::([0-9][0-9]))?))?$'); // [11] tz_minute - -function resolveYamlTimestamp(data) { - if (data === null) return false; - if (YAML_DATE_REGEXP.exec(data) !== null) return true; - if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true; - return false; -} - -function constructYamlTimestamp(data) { - var match, year, month, day, hour, minute, second, fraction = 0, - delta = null, tz_hour, tz_minute, date; - - match = YAML_DATE_REGEXP.exec(data); - if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data); - - if (match === null) throw new Error('Date resolve error'); - - // match: [1] year [2] month [3] day - - year = +(match[1]); - month = +(match[2]) - 1; // JS month starts with 0 - day = +(match[3]); - - if (!match[4]) { // no hour - return new Date(Date.UTC(year, month, day)); - } - - // match: [4] hour [5] minute [6] second [7] fraction - - hour = +(match[4]); - minute = +(match[5]); - second = +(match[6]); - - if (match[7]) { - fraction = match[7].slice(0, 3); - while (fraction.length < 3) { // milli-seconds - fraction += '0'; - } - fraction = +fraction; - } - - // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute - - if (match[9]) { - tz_hour = +(match[10]); - tz_minute = +(match[11] || 0); - delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds - if (match[9] === '-') delta = -delta; - } - - date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); - - if (delta) date.setTime(date.getTime() - delta); - - return date; -} - -function representYamlTimestamp(object /*, style*/) { - return object.toISOString(); -} - -module.exports = new Type('tag:yaml.org,2002:timestamp', { - kind: 'scalar', - resolve: resolveYamlTimestamp, - construct: constructYamlTimestamp, - instanceOf: Date, - represent: representYamlTimestamp -}); - - /***/ }), /***/ 83973: @@ -74900,6 +74028,10263 @@ function v4(options, buf, offset) { module.exports = v4; +/***/ }), + +/***/ 95696: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +var interfaces_1 = __nccwpck_require__(56417); +var util_1 = __nccwpck_require__(76195); +var util_2 = __nccwpck_require__(65282); +var _1 = __nccwpck_require__(44260); +var dom_1 = __nccwpck_require__(40770); +/** @inheritdoc */ +function builder(p1, p2) { + var options = formatBuilderOptions(isXMLBuilderCreateOptions(p1) ? p1 : interfaces_1.DefaultBuilderOptions); + var nodes = util_2.Guard.isNode(p1) || util_1.isArray(p1) ? p1 : p2; + if (nodes === undefined) { + throw new Error("Invalid arguments."); + } + if (util_1.isArray(nodes)) { + var builders = []; + for (var i = 0; i < nodes.length; i++) { + var builder_1 = new _1.XMLBuilderImpl(nodes[i]); + builder_1.set(options); + builders.push(builder_1); + } + return builders; + } + else { + var builder_2 = new _1.XMLBuilderImpl(nodes); + builder_2.set(options); + return builder_2; + } +} +exports.builder = builder; +/** @inheritdoc */ +function create(p1, p2) { + var options = formatBuilderOptions(p1 === undefined || isXMLBuilderCreateOptions(p1) ? + p1 : interfaces_1.DefaultBuilderOptions); + var contents = isXMLBuilderCreateOptions(p1) ? p2 : p1; + var doc = dom_1.createDocument(); + setOptions(doc, options); + var builder = new _1.XMLBuilderImpl(doc); + if (contents !== undefined) { + // parse contents + builder.ele(contents); + } + return builder; +} +exports.create = create; +/** @inheritdoc */ +function fragment(p1, p2) { + var options = formatBuilderOptions(p1 === undefined || isXMLBuilderCreateOptions(p1) ? + p1 : interfaces_1.DefaultBuilderOptions); + var contents = isXMLBuilderCreateOptions(p1) ? p2 : p1; + var doc = dom_1.createDocument(); + setOptions(doc, options, true); + var builder = new _1.XMLBuilderImpl(doc.createDocumentFragment()); + if (contents !== undefined) { + // parse contents + builder.ele(contents); + } + return builder; +} +exports.fragment = fragment; +/** @inheritdoc */ +function convert(p1, p2, p3) { + var builderOptions; + var contents; + var convertOptions; + if (isXMLBuilderCreateOptions(p1) && p2 !== undefined) { + builderOptions = p1; + contents = p2; + convertOptions = p3; + } + else { + builderOptions = interfaces_1.DefaultBuilderOptions; + contents = p1; + convertOptions = p2 || undefined; + } + return create(builderOptions, contents).end(convertOptions); +} +exports.convert = convert; +function isXMLBuilderCreateOptions(obj) { + if (!util_1.isPlainObject(obj)) + return false; + for (var key in obj) { + /* istanbul ignore else */ + if (obj.hasOwnProperty(key)) { + if (!interfaces_1.XMLBuilderOptionKeys.has(key)) + return false; + } + } + return true; +} +function formatBuilderOptions(createOptions) { + if (createOptions === void 0) { createOptions = {}; } + var options = util_1.applyDefaults(createOptions, interfaces_1.DefaultBuilderOptions); + if (options.convert.att.length === 0 || + options.convert.ins.length === 0 || + options.convert.text.length === 0 || + options.convert.cdata.length === 0 || + options.convert.comment.length === 0) { + throw new Error("JS object converter strings cannot be zero length."); + } + return options; +} +function setOptions(doc, options, isFragment) { + var docWithSettings = doc; + docWithSettings._xmlBuilderOptions = options; + docWithSettings._isFragment = isFragment; +} +//# sourceMappingURL=BuilderFunctions.js.map + +/***/ }), + +/***/ 10268: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +var _1 = __nccwpck_require__(44260); +/** + * Creates an XML builder which serializes the document in chunks. + * + * @param options - callback builder options + * + * @returns callback builder + */ +function createCB(options) { + return new _1.XMLBuilderCBImpl(options); +} +exports.createCB = createCB; +/** + * Creates an XML builder which serializes the fragment in chunks. + * + * @param options - callback builder options + * + * @returns callback builder + */ +function fragmentCB(options) { + return new _1.XMLBuilderCBImpl(options, true); +} +exports.fragmentCB = fragmentCB; +//# sourceMappingURL=BuilderFunctionsCB.js.map + +/***/ }), + +/***/ 71438: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +var interfaces_1 = __nccwpck_require__(56417); +var util_1 = __nccwpck_require__(76195); +var BuilderFunctions_1 = __nccwpck_require__(95696); +var algorithm_1 = __nccwpck_require__(61); +var infra_1 = __nccwpck_require__(84251); +var NamespacePrefixMap_1 = __nccwpck_require__(90283); +var LocalNameSet_1 = __nccwpck_require__(19049); +var util_2 = __nccwpck_require__(65282); +var XMLCBWriter_1 = __nccwpck_require__(77572); +var JSONCBWriter_1 = __nccwpck_require__(37525); +var YAMLCBWriter_1 = __nccwpck_require__(42444); +var events_1 = __nccwpck_require__(82361); +/** + * Represents a readable XML document stream. + */ +var XMLBuilderCBImpl = /** @class */ (function (_super) { + __extends(XMLBuilderCBImpl, _super); + /** + * Initializes a new instance of `XMLStream`. + * + * @param options - stream writer options + * @param fragment - whether to create fragment stream or a document stream + * + * @returns XML stream + */ + function XMLBuilderCBImpl(options, fragment) { + if (fragment === void 0) { fragment = false; } + var _this = _super.call(this) || this; + _this._hasDeclaration = false; + _this._docTypeName = ""; + _this._hasDocumentElement = false; + _this._currentElementSerialized = false; + _this._openTags = []; + _this._ended = false; + _this._fragment = fragment; + // provide default options + _this._options = util_1.applyDefaults(options || {}, interfaces_1.DefaultXMLBuilderCBOptions); + _this._builderOptions = { + defaultNamespace: _this._options.defaultNamespace, + namespaceAlias: _this._options.namespaceAlias + }; + if (_this._options.format === "json") { + _this._writer = new JSONCBWriter_1.JSONCBWriter(_this._options); + } + else if (_this._options.format === "yaml") { + _this._writer = new YAMLCBWriter_1.YAMLCBWriter(_this._options); + } + else { + _this._writer = new XMLCBWriter_1.XMLCBWriter(_this._options); + } + // automatically create listeners for callbacks passed via options + if (_this._options.data !== undefined) { + _this.on("data", _this._options.data); + } + if (_this._options.end !== undefined) { + _this.on("end", _this._options.end); + } + if (_this._options.error !== undefined) { + _this.on("error", _this._options.error); + } + _this._prefixMap = new NamespacePrefixMap_1.NamespacePrefixMap(); + _this._prefixMap.set("xml", infra_1.namespace.XML); + _this._prefixIndex = { value: 1 }; + _this._push(_this._writer.frontMatter()); + return _this; + } + /** @inheritdoc */ + XMLBuilderCBImpl.prototype.ele = function (p1, p2, p3) { + var e_1, _a; + // parse if JS object or XML or JSON string + if (util_1.isObject(p1) || (util_1.isString(p1) && (/^\s*/g, '>'); + } + else { + for (var i = 0; i < node.data.length; i++) { + var c = node.data[i]; + if (c === "&") + markup += "&"; + else if (c === "<") + markup += "<"; + else if (c === ">") + markup += ">"; + else + markup += c; + } + } + this._push(this._writer.text(markup)); + return this; + }; + /** @inheritdoc */ + XMLBuilderCBImpl.prototype.ins = function (target, content) { + if (content === void 0) { content = ''; } + this._serializeOpenTag(true); + var node; + try { + node = BuilderFunctions_1.fragment(this._builderOptions).ins(target, content).first().node; + } + catch (err) { + /* istanbul ignore next */ + this.emit("error", err); + /* istanbul ignore next */ + return this; + } + if (this._options.wellFormed && (node.target.indexOf(":") !== -1 || (/^xml$/i).test(node.target))) { + this.emit("error", new Error("Processing instruction target contains invalid characters (well-formed required).")); + return this; + } + if (this._options.wellFormed && !algorithm_1.xml_isLegalChar(node.data)) { + this.emit("error", Error("Processing instruction data contains invalid characters (well-formed required).")); + return this; + } + this._push(this._writer.instruction(node.target, node.data)); + return this; + }; + /** @inheritdoc */ + XMLBuilderCBImpl.prototype.dat = function (content) { + this._serializeOpenTag(true); + var node; + try { + node = BuilderFunctions_1.fragment(this._builderOptions).dat(content).first().node; + } + catch (err) { + this.emit("error", err); + return this; + } + this._push(this._writer.cdata(node.data)); + return this; + }; + /** @inheritdoc */ + XMLBuilderCBImpl.prototype.dec = function (options) { + if (options === void 0) { options = { version: "1.0" }; } + if (this._fragment) { + this.emit("error", Error("Cannot insert an XML declaration into a document fragment.")); + return this; + } + if (this._hasDeclaration) { + this.emit("error", Error("XML declaration is already inserted.")); + return this; + } + this._push(this._writer.declaration(options.version || "1.0", options.encoding, options.standalone)); + this._hasDeclaration = true; + return this; + }; + /** @inheritdoc */ + XMLBuilderCBImpl.prototype.dtd = function (options) { + if (this._fragment) { + this.emit("error", Error("Cannot insert a DocType declaration into a document fragment.")); + return this; + } + if (this._docTypeName !== "") { + this.emit("error", new Error("DocType declaration is already inserted.")); + return this; + } + if (this._hasDocumentElement) { + this.emit("error", new Error("Cannot insert DocType declaration after document element.")); + return this; + } + var node; + try { + node = BuilderFunctions_1.create().dtd(options).first().node; + } + catch (err) { + this.emit("error", err); + return this; + } + if (this._options.wellFormed && !algorithm_1.xml_isPubidChar(node.publicId)) { + this.emit("error", new Error("DocType public identifier does not match PubidChar construct (well-formed required).")); + return this; + } + if (this._options.wellFormed && + (!algorithm_1.xml_isLegalChar(node.systemId) || + (node.systemId.indexOf('"') !== -1 && node.systemId.indexOf("'") !== -1))) { + this.emit("error", new Error("DocType system identifier contains invalid characters (well-formed required).")); + return this; + } + this._docTypeName = options.name; + this._push(this._writer.docType(options.name, node.publicId, node.systemId)); + return this; + }; + /** @inheritdoc */ + XMLBuilderCBImpl.prototype.up = function () { + this._serializeOpenTag(false); + this._serializeCloseTag(); + return this; + }; + /** @inheritdoc */ + XMLBuilderCBImpl.prototype.end = function () { + this._serializeOpenTag(false); + while (this._openTags.length > 0) { + this._serializeCloseTag(); + } + this._push(null); + return this; + }; + /** + * Serializes the opening tag of an element node. + * + * @param hasChildren - whether the element node has child nodes + */ + XMLBuilderCBImpl.prototype._serializeOpenTag = function (hasChildren) { + if (this._currentElementSerialized) + return; + if (this._currentElement === undefined) + return; + var node = this._currentElement.node; + if (this._options.wellFormed && (node.localName.indexOf(":") !== -1 || + !algorithm_1.xml_isName(node.localName))) { + this.emit("error", new Error("Node local name contains invalid characters (well-formed required).")); + return; + } + var qualifiedName = ""; + var ignoreNamespaceDefinitionAttribute = false; + var map = this._prefixMap.copy(); + var localPrefixesMap = {}; + var localDefaultNamespace = this._recordNamespaceInformation(node, map, localPrefixesMap); + var inheritedNS = this._openTags.length === 0 ? null : this._openTags[this._openTags.length - 1][1]; + var ns = node.namespaceURI; + if (ns === null) + ns = inheritedNS; + if (inheritedNS === ns) { + if (localDefaultNamespace !== null) { + ignoreNamespaceDefinitionAttribute = true; + } + if (ns === infra_1.namespace.XML) { + qualifiedName = "xml:" + node.localName; + } + else { + qualifiedName = node.localName; + } + this._writer.beginElement(qualifiedName); + this._push(this._writer.openTagBegin(qualifiedName)); + } + else { + var prefix = node.prefix; + var candidatePrefix = null; + if (prefix !== null || ns !== localDefaultNamespace) { + candidatePrefix = map.get(prefix, ns); + } + if (prefix === "xmlns") { + if (this._options.wellFormed) { + this.emit("error", new Error("An element cannot have the 'xmlns' prefix (well-formed required).")); + return; + } + candidatePrefix = prefix; + } + if (candidatePrefix !== null) { + qualifiedName = candidatePrefix + ':' + node.localName; + if (localDefaultNamespace !== null && localDefaultNamespace !== infra_1.namespace.XML) { + inheritedNS = localDefaultNamespace || null; + } + this._writer.beginElement(qualifiedName); + this._push(this._writer.openTagBegin(qualifiedName)); + } + else if (prefix !== null) { + if (prefix in localPrefixesMap) { + prefix = this._generatePrefix(ns, map, this._prefixIndex); + } + map.set(prefix, ns); + qualifiedName += prefix + ':' + node.localName; + this._writer.beginElement(qualifiedName); + this._push(this._writer.openTagBegin(qualifiedName)); + this._push(this._writer.attribute("xmlns:" + prefix, this._serializeAttributeValue(ns, this._options.wellFormed))); + if (localDefaultNamespace !== null) { + inheritedNS = localDefaultNamespace || null; + } + } + else if (localDefaultNamespace === null || + (localDefaultNamespace !== null && localDefaultNamespace !== ns)) { + ignoreNamespaceDefinitionAttribute = true; + qualifiedName += node.localName; + inheritedNS = ns; + this._writer.beginElement(qualifiedName); + this._push(this._writer.openTagBegin(qualifiedName)); + this._push(this._writer.attribute("xmlns", this._serializeAttributeValue(ns, this._options.wellFormed))); + } + else { + qualifiedName += node.localName; + inheritedNS = ns; + this._writer.beginElement(qualifiedName); + this._push(this._writer.openTagBegin(qualifiedName)); + } + } + this._serializeAttributes(node, map, this._prefixIndex, localPrefixesMap, ignoreNamespaceDefinitionAttribute, this._options.wellFormed); + var isHTML = (ns === infra_1.namespace.HTML); + if (isHTML && !hasChildren && + XMLBuilderCBImpl._VoidElementNames.has(node.localName)) { + this._push(this._writer.openTagEnd(qualifiedName, true, true)); + this._writer.endElement(qualifiedName); + } + else if (!isHTML && !hasChildren) { + this._push(this._writer.openTagEnd(qualifiedName, true, false)); + this._writer.endElement(qualifiedName); + } + else { + this._push(this._writer.openTagEnd(qualifiedName, false, false)); + } + this._currentElementSerialized = true; + /** + * Save qualified name, original inherited ns, original prefix map, and + * hasChildren flag. + */ + this._openTags.push([qualifiedName, inheritedNS, this._prefixMap, hasChildren]); + /** + * New values of inherited namespace and prefix map will be used while + * serializing child nodes. They will be returned to their original values + * when this node is closed using the _openTags array item we saved above. + */ + if (this._isPrefixMapModified(this._prefixMap, map)) { + this._prefixMap = map; + } + /** + * Calls following this will either serialize child nodes or close this tag. + */ + this._writer.level++; + }; + /** + * Serializes the closing tag of an element node. + */ + XMLBuilderCBImpl.prototype._serializeCloseTag = function () { + this._writer.level--; + var lastEle = this._openTags.pop(); + /* istanbul ignore next */ + if (lastEle === undefined) { + this.emit("error", new Error("Last element is undefined.")); + return; + } + var _a = __read(lastEle, 4), qualifiedName = _a[0], ns = _a[1], map = _a[2], hasChildren = _a[3]; + /** + * Restore original values of inherited namespace and prefix map. + */ + this._prefixMap = map; + if (!hasChildren) + return; + this._push(this._writer.closeTag(qualifiedName)); + this._writer.endElement(qualifiedName); + }; + /** + * Pushes data to internal buffer. + * + * @param data - data + */ + XMLBuilderCBImpl.prototype._push = function (data) { + if (data === null) { + this._ended = true; + this.emit("end"); + } + else if (this._ended) { + this.emit("error", new Error("Cannot push to ended stream.")); + } + else if (data.length !== 0) { + this._writer.hasData = true; + this.emit("data", data, this._writer.level); + } + }; + /** + * Reads and serializes an XML tree. + * + * @param node - root node + */ + XMLBuilderCBImpl.prototype._fromNode = function (node) { + var e_2, _a, e_3, _b; + if (util_2.Guard.isElementNode(node)) { + var name = node.prefix ? node.prefix + ":" + node.localName : node.localName; + if (node.namespaceURI !== null) { + this.ele(node.namespaceURI, name); + } + else { + this.ele(name); + } + try { + for (var _c = __values(node.attributes), _d = _c.next(); !_d.done; _d = _c.next()) { + var attr = _d.value; + var name_1 = attr.prefix ? attr.prefix + ":" + attr.localName : attr.localName; + if (attr.namespaceURI !== null) { + this.att(attr.namespaceURI, name_1, attr.value); + } + else { + this.att(name_1, attr.value); + } + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_d && !_d.done && (_a = _c.return)) _a.call(_c); + } + finally { if (e_2) throw e_2.error; } + } + try { + for (var _e = __values(node.childNodes), _f = _e.next(); !_f.done; _f = _e.next()) { + var child = _f.value; + this._fromNode(child); + } + } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (_f && !_f.done && (_b = _e.return)) _b.call(_e); + } + finally { if (e_3) throw e_3.error; } + } + this.up(); + } + else if (util_2.Guard.isExclusiveTextNode(node) && node.data) { + this.txt(node.data); + } + else if (util_2.Guard.isCommentNode(node)) { + this.com(node.data); + } + else if (util_2.Guard.isCDATASectionNode(node)) { + this.dat(node.data); + } + else if (util_2.Guard.isProcessingInstructionNode(node)) { + this.ins(node.target, node.data); + } + }; + /** + * Produces an XML serialization of the attributes of an element node. + * + * @param node - node to serialize + * @param map - namespace prefix map + * @param prefixIndex - generated namespace prefix index + * @param localPrefixesMap - local prefixes map + * @param ignoreNamespaceDefinitionAttribute - whether to ignore namespace + * attributes + * @param requireWellFormed - whether to check conformance + */ + XMLBuilderCBImpl.prototype._serializeAttributes = function (node, map, prefixIndex, localPrefixesMap, ignoreNamespaceDefinitionAttribute, requireWellFormed) { + var e_4, _a; + var localNameSet = requireWellFormed ? new LocalNameSet_1.LocalNameSet() : undefined; + try { + for (var _b = __values(node.attributes), _c = _b.next(); !_c.done; _c = _b.next()) { + var attr = _c.value; + // Optimize common case + if (!requireWellFormed && !ignoreNamespaceDefinitionAttribute && attr.namespaceURI === null) { + this._push(this._writer.attribute(attr.localName, this._serializeAttributeValue(attr.value, this._options.wellFormed))); + continue; + } + if (requireWellFormed && localNameSet && localNameSet.has(attr.namespaceURI, attr.localName)) { + this.emit("error", new Error("Element contains duplicate attributes (well-formed required).")); + return; + } + if (requireWellFormed && localNameSet) + localNameSet.set(attr.namespaceURI, attr.localName); + var attributeNamespace = attr.namespaceURI; + var candidatePrefix = null; + if (attributeNamespace !== null) { + candidatePrefix = map.get(attr.prefix, attributeNamespace); + if (attributeNamespace === infra_1.namespace.XMLNS) { + if (attr.value === infra_1.namespace.XML || + (attr.prefix === null && ignoreNamespaceDefinitionAttribute) || + (attr.prefix !== null && (!(attr.localName in localPrefixesMap) || + localPrefixesMap[attr.localName] !== attr.value) && + map.has(attr.localName, attr.value))) + continue; + if (requireWellFormed && attr.value === infra_1.namespace.XMLNS) { + this.emit("error", new Error("XMLNS namespace is reserved (well-formed required).")); + return; + } + if (requireWellFormed && attr.value === '') { + this.emit("error", new Error("Namespace prefix declarations cannot be used to undeclare a namespace (well-formed required).")); + return; + } + if (attr.prefix === 'xmlns') + candidatePrefix = 'xmlns'; + /** + * _Note:_ The (candidatePrefix === null) check is not in the spec. + * We deviate from the spec here. Otherwise a prefix is generated for + * all attributes with namespaces. + */ + } + else if (candidatePrefix === null) { + if (attr.prefix !== null && + (!map.hasPrefix(attr.prefix) || + map.has(attr.prefix, attributeNamespace))) { + /** + * Check if we can use the attribute's own prefix. + * We deviate from the spec here. + * TODO: This is not an efficient way of searching for prefixes. + * Follow developments to the spec. + */ + candidatePrefix = attr.prefix; + } + else { + candidatePrefix = this._generatePrefix(attributeNamespace, map, prefixIndex); + } + this._push(this._writer.attribute("xmlns:" + candidatePrefix, this._serializeAttributeValue(attributeNamespace, this._options.wellFormed))); + } + } + if (requireWellFormed && (attr.localName.indexOf(":") !== -1 || + !algorithm_1.xml_isName(attr.localName) || + (attr.localName === "xmlns" && attributeNamespace === null))) { + this.emit("error", new Error("Attribute local name contains invalid characters (well-formed required).")); + return; + } + this._push(this._writer.attribute((candidatePrefix !== null ? candidatePrefix + ":" : "") + attr.localName, this._serializeAttributeValue(attr.value, this._options.wellFormed))); + } + } + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_4) throw e_4.error; } + } + }; + /** + * Produces an XML serialization of an attribute value. + * + * @param value - attribute value + * @param requireWellFormed - whether to check conformance + */ + XMLBuilderCBImpl.prototype._serializeAttributeValue = function (value, requireWellFormed) { + if (requireWellFormed && value !== null && !algorithm_1.xml_isLegalChar(value)) { + this.emit("error", new Error("Invalid characters in attribute value.")); + return ""; + } + if (value === null) + return ""; + if (this._options.noDoubleEncoding) { + return value.replace(/(?!&(lt|gt|amp|apos|quot);)&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"'); + } + else { + var result = ""; + for (var i = 0; i < value.length; i++) { + var c = value[i]; + if (c === "\"") + result += """; + else if (c === "&") + result += "&"; + else if (c === "<") + result += "<"; + else if (c === ">") + result += ">"; + else + result += c; + } + return result; + } + }; + /** + * Records namespace information for the given element and returns the + * default namespace attribute value. + * + * @param node - element node to process + * @param map - namespace prefix map + * @param localPrefixesMap - local prefixes map + */ + XMLBuilderCBImpl.prototype._recordNamespaceInformation = function (node, map, localPrefixesMap) { + var e_5, _a; + var defaultNamespaceAttrValue = null; + try { + for (var _b = __values(node.attributes), _c = _b.next(); !_c.done; _c = _b.next()) { + var attr = _c.value; + var attributeNamespace = attr.namespaceURI; + var attributePrefix = attr.prefix; + if (attributeNamespace === infra_1.namespace.XMLNS) { + if (attributePrefix === null) { + defaultNamespaceAttrValue = attr.value; + continue; + } + else { + var prefixDefinition = attr.localName; + var namespaceDefinition = attr.value; + if (namespaceDefinition === infra_1.namespace.XML) { + continue; + } + if (namespaceDefinition === '') { + namespaceDefinition = null; + } + if (map.has(prefixDefinition, namespaceDefinition)) { + continue; + } + map.set(prefixDefinition, namespaceDefinition); + localPrefixesMap[prefixDefinition] = namespaceDefinition || ''; + } + } + } + } + catch (e_5_1) { e_5 = { error: e_5_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_5) throw e_5.error; } + } + return defaultNamespaceAttrValue; + }; + /** + * Generates a new prefix for the given namespace. + * + * @param newNamespace - a namespace to generate prefix for + * @param prefixMap - namespace prefix map + * @param prefixIndex - generated namespace prefix index + */ + XMLBuilderCBImpl.prototype._generatePrefix = function (newNamespace, prefixMap, prefixIndex) { + var generatedPrefix = "ns" + prefixIndex.value; + prefixIndex.value++; + prefixMap.set(generatedPrefix, newNamespace); + return generatedPrefix; + }; + /** + * Determines if the namespace prefix map was modified from its original. + * + * @param originalMap - original namespace prefix map + * @param newMap - new namespace prefix map + */ + XMLBuilderCBImpl.prototype._isPrefixMapModified = function (originalMap, newMap) { + var items1 = originalMap._items; + var items2 = newMap._items; + var nullItems1 = originalMap._nullItems; + var nullItems2 = newMap._nullItems; + for (var key in items2) { + var arr1 = items1[key]; + if (arr1 === undefined) + return true; + var arr2 = items2[key]; + if (arr1.length !== arr2.length) + return true; + for (var i = 0; i < arr1.length; i++) { + if (arr1[i] !== arr2[i]) + return true; + } + } + if (nullItems1.length !== nullItems2.length) + return true; + for (var i = 0; i < nullItems1.length; i++) { + if (nullItems1[i] !== nullItems2[i]) + return true; + } + return false; + }; + XMLBuilderCBImpl._VoidElementNames = new Set(['area', 'base', 'basefont', + 'bgsound', 'br', 'col', 'embed', 'frame', 'hr', 'img', 'input', 'keygen', + 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr']); + return XMLBuilderCBImpl; +}(events_1.EventEmitter)); +exports.XMLBuilderCBImpl = XMLBuilderCBImpl; +//# sourceMappingURL=XMLBuilderCBImpl.js.map + +/***/ }), + +/***/ 48248: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +var interfaces_1 = __nccwpck_require__(56417); +var util_1 = __nccwpck_require__(76195); +var writers_1 = __nccwpck_require__(17476); +var interfaces_2 = __nccwpck_require__(27305); +var util_2 = __nccwpck_require__(65282); +var algorithm_1 = __nccwpck_require__(61); +var dom_1 = __nccwpck_require__(40770); +var infra_1 = __nccwpck_require__(84251); +var readers_1 = __nccwpck_require__(90560); +/** + * Represents a wrapper that extends XML nodes to implement easy to use and + * chainable document builder methods. + */ +var XMLBuilderImpl = /** @class */ (function () { + /** + * Initializes a new instance of `XMLBuilderNodeImpl`. + * + * @param domNode - the DOM node to wrap + */ + function XMLBuilderImpl(domNode) { + this._domNode = domNode; + } + Object.defineProperty(XMLBuilderImpl.prototype, "node", { + /** @inheritdoc */ + get: function () { return this._domNode; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(XMLBuilderImpl.prototype, "options", { + /** @inheritdoc */ + get: function () { return this._options; }, + enumerable: true, + configurable: true + }); + /** @inheritdoc */ + XMLBuilderImpl.prototype.set = function (options) { + this._options = util_1.applyDefaults(util_1.applyDefaults(this._options, options, true), // apply user settings + interfaces_1.DefaultBuilderOptions); // provide defaults + return this; + }; + /** @inheritdoc */ + XMLBuilderImpl.prototype.ele = function (p1, p2, p3) { + var _a, _b, _c; + var namespace; + var name; + var attributes; + if (util_1.isObject(p1)) { + // ele(obj: ExpandObject) + return new readers_1.ObjectReader(this._options).parse(this, p1); + } + else if (p1 !== null && /^\s* 0) { + if (namespace === undefined) + namespace = name.slice(atIndex + 1); + name = name.slice(0, atIndex); + } + if (namespace === undefined) { + // look-up default namespace + namespace = (ele ? this._options.defaultNamespace.ele : this._options.defaultNamespace.att); + } + else if (namespace !== null && namespace[0] === "@") { + // look-up namespace aliases + var alias = namespace.slice(1); + namespace = this._options.namespaceAlias[alias]; + if (namespace === undefined) { + throw new Error("Namespace alias `" + alias + "` is not defined. " + this._debugInfo()); + } + } + return [namespace, name]; + }; + /** + * Updates the element's namespace. + * + * @param ns - new namespace + */ + XMLBuilderImpl.prototype._updateNamespace = function (ns) { + var e_2, _a, e_3, _b; + var ele = this._domNode; + if (util_2.Guard.isElementNode(ele) && ns !== null && ele.namespaceURI !== ns) { + var _c = __read(algorithm_1.namespace_extractQName(ele.prefix ? ele.prefix + ':' + ele.localName : ele.localName), 2), elePrefix = _c[0], eleLocalName = _c[1]; + // re-create the element node if its namespace changed + // we can't simply change the namespaceURI since its read-only + var newEle = algorithm_1.create_element(this._doc, eleLocalName, ns, elePrefix); + try { + for (var _d = __values(ele.attributes), _e = _d.next(); !_e.done; _e = _d.next()) { + var attr = _e.value; + var attrQName = attr.prefix ? attr.prefix + ':' + attr.localName : attr.localName; + var _f = __read(algorithm_1.namespace_extractQName(attrQName), 1), attrPrefix = _f[0]; + var newAttrNS = attr.namespaceURI; + if (newAttrNS === null && attrPrefix !== null) { + newAttrNS = ele.lookupNamespaceURI(attrPrefix); + } + if (newAttrNS === null) { + newEle.setAttribute(attrQName, attr.value); + } + else { + newEle.setAttributeNS(newAttrNS, attrQName, attr.value); + } + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_e && !_e.done && (_a = _d.return)) _a.call(_d); + } + finally { if (e_2) throw e_2.error; } + } + // replace the new node in parent node + var parent = ele.parentNode; + /* istanbul ignore next */ + if (parent === null) { + throw new Error("Parent node is null." + this._debugInfo()); + } + parent.replaceChild(newEle, ele); + this._domNode = newEle; + try { + // check child nodes + for (var _g = __values(ele.childNodes), _h = _g.next(); !_h.done; _h = _g.next()) { + var childNode = _h.value; + var newChildNode = childNode.cloneNode(true); + newEle.appendChild(newChildNode); + if (util_2.Guard.isElementNode(newChildNode)) { + var _j = __read(algorithm_1.namespace_extractQName(newChildNode.prefix ? newChildNode.prefix + ':' + newChildNode.localName : newChildNode.localName), 1), newChildNodePrefix = _j[0]; + var newChildNodeNS = newEle.lookupNamespaceURI(newChildNodePrefix); + new XMLBuilderImpl(newChildNode)._updateNamespace(newChildNodeNS); + } + } + } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (_h && !_h.done && (_b = _g.return)) _b.call(_g); + } + finally { if (e_3) throw e_3.error; } + } + } + }; + Object.defineProperty(XMLBuilderImpl.prototype, "_doc", { + /** + * Returns the document owning this node. + */ + get: function () { + var node = this.node; + if (util_2.Guard.isDocumentNode(node)) { + return node; + } + else { + var docNode = node.ownerDocument; + /* istanbul ignore next */ + if (!docNode) + throw new Error("Owner document is null. " + this._debugInfo()); + return docNode; + } + }, + enumerable: true, + configurable: true + }); + /** + * Returns debug information for this node. + * + * @param name - node name + */ + XMLBuilderImpl.prototype._debugInfo = function (name) { + var node = this.node; + var parentNode = node.parentNode; + name = name || node.nodeName; + var parentName = parentNode ? parentNode.nodeName : ''; + if (!parentName) { + return "node: <" + name + ">"; + } + else { + return "node: <" + name + ">, parent: <" + parentName + ">"; + } + }; + Object.defineProperty(XMLBuilderImpl.prototype, "_options", { + /** + * Gets or sets builder options. + */ + get: function () { + var doc = this._doc; + /* istanbul ignore next */ + if (doc._xmlBuilderOptions === undefined) { + throw new Error("Builder options is not set."); + } + return doc._xmlBuilderOptions; + }, + set: function (value) { + var doc = this._doc; + doc._xmlBuilderOptions = value; + }, + enumerable: true, + configurable: true + }); + return XMLBuilderImpl; +}()); +exports.XMLBuilderImpl = XMLBuilderImpl; +//# sourceMappingURL=XMLBuilderImpl.js.map + +/***/ }), + +/***/ 40770: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +var dom_1 = __nccwpck_require__(54646); +var dom_2 = __nccwpck_require__(50633); +var util_1 = __nccwpck_require__(76195); +dom_2.dom.setFeatures(false); +/** + * Creates an XML document without any child nodes. + */ +function createDocument() { + var impl = new dom_1.DOMImplementation(); + var doc = impl.createDocument(null, 'root', null); + /* istanbul ignore else */ + if (doc.documentElement) { + doc.removeChild(doc.documentElement); + } + return doc; +} +exports.createDocument = createDocument; +/** + * Sanitizes input strings with user supplied replacement characters. + * + * @param str - input string + * @param replacement - replacement character or function + */ +function sanitizeInput(str, replacement) { + if (str == null) { + return str; + } + else if (replacement === undefined) { + return str + ""; + } + else { + var result = ""; + str = str + ""; + for (var i = 0; i < str.length; i++) { + var n = str.charCodeAt(i); + // #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] + if (n === 0x9 || n === 0xA || n === 0xD || + (n >= 0x20 && n <= 0xD7FF) || + (n >= 0xE000 && n <= 0xFFFD)) { + // valid character - not surrogate pair + result += str.charAt(i); + } + else if (n >= 0xD800 && n <= 0xDBFF && i < str.length - 1) { + var n2 = str.charCodeAt(i + 1); + if (n2 >= 0xDC00 && n2 <= 0xDFFF) { + // valid surrogate pair + n = (n - 0xD800) * 0x400 + n2 - 0xDC00 + 0x10000; + result += String.fromCodePoint(n); + i++; + } + else { + // invalid lone surrogate + result += util_1.isString(replacement) ? replacement : replacement(str.charAt(i), i, str); + } + } + else { + // invalid character + result += util_1.isString(replacement) ? replacement : replacement(str.charAt(i), i, str); + } + } + return result; + } +} +exports.sanitizeInput = sanitizeInput; +//# sourceMappingURL=dom.js.map + +/***/ }), + +/***/ 44260: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +var XMLBuilderImpl_1 = __nccwpck_require__(48248); +exports.XMLBuilderImpl = XMLBuilderImpl_1.XMLBuilderImpl; +var XMLBuilderCBImpl_1 = __nccwpck_require__(71438); +exports.XMLBuilderCBImpl = XMLBuilderCBImpl_1.XMLBuilderCBImpl; +var BuilderFunctions_1 = __nccwpck_require__(95696); +exports.builder = BuilderFunctions_1.builder; +exports.create = BuilderFunctions_1.create; +exports.fragment = BuilderFunctions_1.fragment; +exports.convert = BuilderFunctions_1.convert; +var BuilderFunctionsCB_1 = __nccwpck_require__(10268); +exports.createCB = BuilderFunctionsCB_1.createCB; +exports.fragmentCB = BuilderFunctionsCB_1.fragmentCB; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 70151: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +var builder_1 = __nccwpck_require__(44260); +exports.builder = builder_1.builder; +exports.create = builder_1.create; +exports.fragment = builder_1.fragment; +exports.convert = builder_1.convert; +exports.createCB = builder_1.createCB; +exports.fragmentCB = builder_1.fragmentCB; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 56417: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +/** + * Defines default values for builder options. + */ +exports.DefaultBuilderOptions = { + version: "1.0", + encoding: undefined, + standalone: undefined, + keepNullNodes: false, + keepNullAttributes: false, + ignoreConverters: false, + convert: { + att: "@", + ins: "?", + text: "#", + cdata: "$", + comment: "!" + }, + defaultNamespace: { + ele: undefined, + att: undefined + }, + namespaceAlias: { + html: "http://www.w3.org/1999/xhtml", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/", + mathml: "http://www.w3.org/1998/Math/MathML", + svg: "http://www.w3.org/2000/svg", + xlink: "http://www.w3.org/1999/xlink" + }, + invalidCharReplacement: undefined, + parser: undefined +}; +/** + * Contains keys of `XMLBuilderOptions`. + */ +exports.XMLBuilderOptionKeys = new Set(Object.keys(exports.DefaultBuilderOptions)); +/** + * Defines default values for builder options. + */ +exports.DefaultXMLBuilderCBOptions = { + format: "xml", + wellFormed: false, + prettyPrint: false, + indent: " ", + newline: "\n", + offset: 0, + width: 0, + allowEmptyTags: false, + spaceBeforeSlash: false, + keepNullNodes: false, + keepNullAttributes: false, + ignoreConverters: false, + convert: { + att: "@", + ins: "?", + text: "#", + cdata: "$", + comment: "!" + }, + defaultNamespace: { + ele: undefined, + att: undefined + }, + namespaceAlias: { + html: "http://www.w3.org/1999/xhtml", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/", + mathml: "http://www.w3.org/1998/Math/MathML", + svg: "http://www.w3.org/2000/svg", + xlink: "http://www.w3.org/1999/xlink" + } +}; +//# sourceMappingURL=interfaces.js.map + +/***/ }), + +/***/ 33396: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +var dom_1 = __nccwpck_require__(40770); +/** + * Pre-serializes XML nodes. + */ +var BaseReader = /** @class */ (function () { + /** + * Initializes a new instance of `BaseReader`. + * + * @param builderOptions - XML builder options + */ + function BaseReader(builderOptions) { + this._builderOptions = builderOptions; + if (builderOptions.parser) { + Object.assign(this, builderOptions.parser); + } + } + BaseReader.prototype._docType = function (parent, name, publicId, systemId) { + return parent.dtd({ name: name, pubID: publicId, sysID: systemId }); + }; + BaseReader.prototype._comment = function (parent, data) { + return parent.com(data); + }; + BaseReader.prototype._text = function (parent, data) { + return parent.txt(data); + }; + BaseReader.prototype._instruction = function (parent, target, data) { + return parent.ins(target, data); + }; + BaseReader.prototype._cdata = function (parent, data) { + return parent.dat(data); + }; + BaseReader.prototype._element = function (parent, namespace, name) { + return (namespace === undefined ? parent.ele(name) : parent.ele(namespace, name)); + }; + BaseReader.prototype._attribute = function (parent, namespace, name, value) { + return (namespace === undefined ? parent.att(name, value) : parent.att(namespace, name, value)); + }; + BaseReader.prototype._sanitize = function (str) { + return dom_1.sanitizeInput(str, this._builderOptions.invalidCharReplacement); + }; + /** + * Main parser function which parses the given object and returns an XMLBuilder. + * + * @param node - node to recieve parsed content + * @param obj - object to parse + */ + BaseReader.prototype.parse = function (node, obj) { + return this._parse(node, obj); + }; + /** + * Creates a DocType node. + * The node will be skipped if the function returns `undefined`. + * + * @param name - node name + * @param publicId - public identifier + * @param systemId - system identifier + */ + BaseReader.prototype.docType = function (parent, name, publicId, systemId) { + return this._docType(parent, name, publicId, systemId); + }; + /** + * Creates a comment node. + * The node will be skipped if the function returns `undefined`. + * + * @param parent - parent node + * @param data - node data + */ + BaseReader.prototype.comment = function (parent, data) { + return this._comment(parent, data); + }; + /** + * Creates a text node. + * The node will be skipped if the function returns `undefined`. + * + * @param parent - parent node + * @param data - node data + */ + BaseReader.prototype.text = function (parent, data) { + return this._text(parent, data); + }; + /** + * Creates a processing instruction node. + * The node will be skipped if the function returns `undefined`. + * + * @param parent - parent node + * @param target - instruction target + * @param data - node data + */ + BaseReader.prototype.instruction = function (parent, target, data) { + return this._instruction(parent, target, data); + }; + /** + * Creates a CData section node. + * The node will be skipped if the function returns `undefined`. + * + * @param parent - parent node + * @param data - node data + */ + BaseReader.prototype.cdata = function (parent, data) { + return this._cdata(parent, data); + }; + /** + * Creates an element node. + * The node will be skipped if the function returns `undefined`. + * + * @param parent - parent node + * @param namespace - node namespace + * @param name - node name + */ + BaseReader.prototype.element = function (parent, namespace, name) { + return this._element(parent, namespace, name); + }; + /** + * Creates an attribute or namespace declaration. + * The node will be skipped if the function returns `undefined`. + * + * @param parent - parent node + * @param namespace - node namespace + * @param name - node name + * @param value - node value + */ + BaseReader.prototype.attribute = function (parent, namespace, name, value) { + return this._attribute(parent, namespace, name, value); + }; + /** + * Sanitizes input strings. + * + * @param str - input string + */ + BaseReader.prototype.sanitize = function (str) { + return this._sanitize(str); + }; + return BaseReader; +}()); +exports.BaseReader = BaseReader; +//# sourceMappingURL=BaseReader.js.map + +/***/ }), + +/***/ 43518: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", ({ value: true })); +var ObjectReader_1 = __nccwpck_require__(40768); +var BaseReader_1 = __nccwpck_require__(33396); +/** + * Parses XML nodes from a JSON string. + */ +var JSONReader = /** @class */ (function (_super) { + __extends(JSONReader, _super); + function JSONReader() { + return _super !== null && _super.apply(this, arguments) || this; + } + /** + * Parses the given document representation. + * + * @param node - node receive parsed XML nodes + * @param str - JSON string to parse + */ + JSONReader.prototype._parse = function (node, str) { + return new ObjectReader_1.ObjectReader(this._builderOptions).parse(node, JSON.parse(str)); + }; + return JSONReader; +}(BaseReader_1.BaseReader)); +exports.JSONReader = JSONReader; +//# sourceMappingURL=JSONReader.js.map + +/***/ }), + +/***/ 40768: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", ({ value: true })); +var util_1 = __nccwpck_require__(76195); +var BaseReader_1 = __nccwpck_require__(33396); +/** + * Parses XML nodes from objects and arrays. + * ES6 maps and sets are also supoorted. + */ +var ObjectReader = /** @class */ (function (_super) { + __extends(ObjectReader, _super); + function ObjectReader() { + return _super !== null && _super.apply(this, arguments) || this; + } + /** + * Parses the given document representation. + * + * @param node - node receive parsed XML nodes + * @param obj - object to parse + */ + ObjectReader.prototype._parse = function (node, obj) { + var _this = this; + var options = this._builderOptions; + var lastChild = null; + if (util_1.isFunction(obj)) { + // evaluate if function + lastChild = this.parse(node, obj.apply(this)); + } + else if (util_1.isArray(obj) || util_1.isSet(obj)) { + util_1.forEachArray(obj, function (item) { return lastChild = _this.parse(node, item); }, this); + } + else /* if (isMap(obj) || isObject(obj)) */ { + // expand if object + util_1.forEachObject(obj, function (key, val) { + if (util_1.isFunction(val)) { + // evaluate if function + val = val.apply(_this); + } + if (!options.ignoreConverters && key.indexOf(options.convert.att) === 0) { + // assign attributes + if (key === options.convert.att) { + if (util_1.isArray(val) || util_1.isSet(val)) { + throw new Error("Invalid attribute: " + val.toString() + ". " + node._debugInfo()); + } + else /* if (isMap(val) || isObject(val)) */ { + util_1.forEachObject(val, function (attrKey, attrVal) { + lastChild = _this.attribute(node, undefined, _this.sanitize(attrKey), _this.sanitize(attrVal)) || lastChild; + }); + } + } + else { + lastChild = _this.attribute(node, undefined, _this.sanitize(key.substr(options.convert.att.length)), _this.sanitize(val)) || lastChild; + } + } + else if (!options.ignoreConverters && key.indexOf(options.convert.text) === 0) { + // text node + if (util_1.isMap(val) || util_1.isObject(val)) { + // if the key is #text expand child nodes under this node to support mixed content + lastChild = _this.parse(node, val); + } + else { + lastChild = _this.text(node, _this.sanitize(val)) || lastChild; + } + } + else if (!options.ignoreConverters && key.indexOf(options.convert.cdata) === 0) { + // cdata node + if (util_1.isArray(val) || util_1.isSet(val)) { + util_1.forEachArray(val, function (item) { return lastChild = _this.cdata(node, _this.sanitize(item)) || lastChild; }, _this); + } + else { + lastChild = _this.cdata(node, _this.sanitize(val)) || lastChild; + } + } + else if (!options.ignoreConverters && key.indexOf(options.convert.comment) === 0) { + // comment node + if (util_1.isArray(val) || util_1.isSet(val)) { + util_1.forEachArray(val, function (item) { return lastChild = _this.comment(node, _this.sanitize(item)) || lastChild; }, _this); + } + else { + lastChild = _this.comment(node, _this.sanitize(val)) || lastChild; + } + } + else if (!options.ignoreConverters && key.indexOf(options.convert.ins) === 0) { + // processing instruction + if (util_1.isString(val)) { + var insIndex = val.indexOf(' '); + var insTarget = (insIndex === -1 ? val : val.substr(0, insIndex)); + var insValue = (insIndex === -1 ? '' : val.substr(insIndex + 1)); + lastChild = _this.instruction(node, _this.sanitize(insTarget), _this.sanitize(insValue)) || lastChild; + } + else if (util_1.isArray(val) || util_1.isSet(val)) { + util_1.forEachArray(val, function (item) { + var insIndex = item.indexOf(' '); + var insTarget = (insIndex === -1 ? item : item.substr(0, insIndex)); + var insValue = (insIndex === -1 ? '' : item.substr(insIndex + 1)); + lastChild = _this.instruction(node, _this.sanitize(insTarget), _this.sanitize(insValue)) || lastChild; + }, _this); + } + else /* if (isMap(target) || isObject(target)) */ { + util_1.forEachObject(val, function (insTarget, insValue) { return lastChild = _this.instruction(node, _this.sanitize(insTarget), _this.sanitize(insValue)) || lastChild; }, _this); + } + } + else if ((util_1.isArray(val) || util_1.isSet(val)) && util_1.isEmpty(val)) { + // skip empty arrays + } + else if ((util_1.isMap(val) || util_1.isObject(val)) && util_1.isEmpty(val)) { + // empty objects produce one node + lastChild = _this.element(node, undefined, _this.sanitize(key)) || lastChild; + } + else if (!options.keepNullNodes && (val == null)) { + // skip null and undefined nodes + } + else if (util_1.isArray(val) || util_1.isSet(val)) { + // expand list by creating child nodes + util_1.forEachArray(val, function (item) { + var childNode = {}; + childNode[key] = item; + lastChild = _this.parse(node, childNode); + }, _this); + } + else if (util_1.isMap(val) || util_1.isObject(val)) { + // create a parent node + var parent = _this.element(node, undefined, _this.sanitize(key)); + if (parent) { + lastChild = parent; + // expand child nodes under parent + _this.parse(parent, val); + } + } + else if (val != null && val !== '') { + // leaf element node with a single text node + var parent = _this.element(node, undefined, _this.sanitize(key)); + if (parent) { + lastChild = parent; + _this.text(parent, _this.sanitize(val)); + } + } + else { + // leaf element node + lastChild = _this.element(node, undefined, _this.sanitize(key)) || lastChild; + } + }, this); + } + return lastChild || node; + }; + return ObjectReader; +}(BaseReader_1.BaseReader)); +exports.ObjectReader = ObjectReader; +//# sourceMappingURL=ObjectReader.js.map + +/***/ }), + +/***/ 65044: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +var XMLStringLexer_1 = __nccwpck_require__(47061); +var interfaces_1 = __nccwpck_require__(97707); +var infra_1 = __nccwpck_require__(84251); +var algorithm_1 = __nccwpck_require__(61); +var BaseReader_1 = __nccwpck_require__(33396); +/** + * Parses XML nodes from an XML document string. + */ +var XMLReader = /** @class */ (function (_super) { + __extends(XMLReader, _super); + function XMLReader() { + return _super !== null && _super.apply(this, arguments) || this; + } + /** + * Parses the given document representation. + * + * @param node - node receive parsed XML nodes + * @param str - XML document string to parse + */ + XMLReader.prototype._parse = function (node, str) { + var e_1, _a, e_2, _b; + var lexer = new XMLStringLexer_1.XMLStringLexer(str, { skipWhitespaceOnlyText: true }); + var context = node; + var token = lexer.nextToken(); + while (token.type !== interfaces_1.TokenType.EOF) { + switch (token.type) { + case interfaces_1.TokenType.Declaration: + var declaration = token; + var version = this.sanitize(declaration.version); + if (version !== "1.0") { + throw new Error("Invalid xml version: " + version); + } + var builderOptions = { + version: version + }; + if (declaration.encoding) { + builderOptions.encoding = this.sanitize(declaration.encoding); + } + if (declaration.standalone) { + builderOptions.standalone = (this.sanitize(declaration.standalone) === "yes"); + } + context.set(builderOptions); + break; + case interfaces_1.TokenType.DocType: + var doctype = token; + context = this.docType(context, this.sanitize(doctype.name), this.sanitize(doctype.pubId), this.sanitize(doctype.sysId)) || context; + break; + case interfaces_1.TokenType.CDATA: + var cdata = token; + context = this.cdata(context, this.sanitize(cdata.data)) || context; + break; + case interfaces_1.TokenType.Comment: + var comment = token; + context = this.comment(context, this.sanitize(comment.data)) || context; + break; + case interfaces_1.TokenType.PI: + var pi = token; + context = this.instruction(context, this.sanitize(pi.target), this.sanitize(pi.data)) || context; + break; + case interfaces_1.TokenType.Text: + var text = token; + context = this.text(context, this.sanitize(text.data)) || context; + break; + case interfaces_1.TokenType.Element: + var element = token; + var elementName = this.sanitize(element.name); + // inherit namespace from parent + var _c = __read(algorithm_1.namespace_extractQName(elementName), 1), prefix = _c[0]; + var namespace = context.node.lookupNamespaceURI(prefix); + // override namespace if there is a namespace declaration + // attribute + // also lookup namespace declaration attributes + var nsDeclarations = {}; + try { + for (var _d = (e_1 = void 0, __values(element.attributes)), _e = _d.next(); !_e.done; _e = _d.next()) { + var _f = __read(_e.value, 2), attName = _f[0], attValue = _f[1]; + attName = this.sanitize(attName); + attValue = this.sanitize(attValue); + if (attName === "xmlns") { + namespace = attValue; + } + else { + var _g = __read(algorithm_1.namespace_extractQName(attName), 2), attPrefix = _g[0], attLocalName = _g[1]; + if (attPrefix === "xmlns") { + if (attLocalName === prefix) { + namespace = attValue; + } + nsDeclarations[attLocalName] = attValue; + } + } + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_e && !_e.done && (_a = _d.return)) _a.call(_d); + } + finally { if (e_1) throw e_1.error; } + } + // create the DOM element node + var elementNode = (namespace !== null ? + this.element(context, namespace, elementName) : + this.element(context, undefined, elementName)); + if (elementNode === undefined) + break; + try { + // assign attributes + for (var _h = (e_2 = void 0, __values(element.attributes)), _j = _h.next(); !_j.done; _j = _h.next()) { + var _k = __read(_j.value, 2), attName = _k[0], attValue = _k[1]; + attName = this.sanitize(attName); + attValue = this.sanitize(attValue); + var _l = __read(algorithm_1.namespace_extractQName(attName), 2), attPrefix = _l[0], attLocalName = _l[1]; + var attNamespace = null; + if (attPrefix === "xmlns" || (attPrefix === null && attLocalName === "xmlns")) { + // namespace declaration attribute + attNamespace = infra_1.namespace.XMLNS; + } + else { + attNamespace = elementNode.node.lookupNamespaceURI(attPrefix); + if (attNamespace !== null && elementNode.node.isDefaultNamespace(attNamespace)) { + attNamespace = null; + } + else if (attNamespace === null && attPrefix !== null) { + attNamespace = nsDeclarations[attPrefix] || null; + } + } + if (attNamespace !== null) + this.attribute(elementNode, attNamespace, attName, attValue); + else + this.attribute(elementNode, undefined, attName, attValue); + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_j && !_j.done && (_b = _h.return)) _b.call(_h); + } + finally { if (e_2) throw e_2.error; } + } + if (!element.selfClosing) { + context = elementNode; + } + break; + case interfaces_1.TokenType.ClosingTag: + /* istanbul ignore else */ + if (context.node.parentNode) { + context = context.up(); + } + break; + } + token = lexer.nextToken(); + } + return context; + }; + return XMLReader; +}(BaseReader_1.BaseReader)); +exports.XMLReader = XMLReader; +//# sourceMappingURL=XMLReader.js.map + +/***/ }), + +/***/ 12475: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", ({ value: true })); +var ObjectReader_1 = __nccwpck_require__(40768); +var BaseReader_1 = __nccwpck_require__(33396); +var js_yaml_1 = __nccwpck_require__(10829); +/** + * Parses XML nodes from a YAML string. + */ +var YAMLReader = /** @class */ (function (_super) { + __extends(YAMLReader, _super); + function YAMLReader() { + return _super !== null && _super.apply(this, arguments) || this; + } + /** + * Parses the given document representation. + * + * @param node - node receive parsed XML nodes + * @param str - YAML string to parse + */ + YAMLReader.prototype._parse = function (node, str) { + var result = js_yaml_1.safeLoad(str); + /* istanbul ignore next */ + if (result === undefined) { + throw new Error("Unable to parse YAML document."); + } + return new ObjectReader_1.ObjectReader(this._builderOptions).parse(node, result); + }; + return YAMLReader; +}(BaseReader_1.BaseReader)); +exports.YAMLReader = YAMLReader; +//# sourceMappingURL=YAMLReader.js.map + +/***/ }), + +/***/ 90560: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +var XMLReader_1 = __nccwpck_require__(65044); +exports.XMLReader = XMLReader_1.XMLReader; +var ObjectReader_1 = __nccwpck_require__(40768); +exports.ObjectReader = ObjectReader_1.ObjectReader; +var JSONReader_1 = __nccwpck_require__(43518); +exports.JSONReader = JSONReader_1.JSONReader; +var YAMLReader_1 = __nccwpck_require__(12475); +exports.YAMLReader = YAMLReader_1.YAMLReader; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 50708: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +/** + * Pre-serializes XML nodes. + */ +var BaseCBWriter = /** @class */ (function () { + /** + * Initializes a new instance of `BaseCBWriter`. + * + * @param builderOptions - XML builder options + */ + function BaseCBWriter(builderOptions) { + /** + * Gets the current depth of the XML tree. + */ + this.level = 0; + this._builderOptions = builderOptions; + this._writerOptions = builderOptions; + } + return BaseCBWriter; +}()); +exports.BaseCBWriter = BaseCBWriter; +//# sourceMappingURL=BaseCBWriter.js.map + +/***/ }), + +/***/ 37644: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __spread = (this && this.__spread) || function () { + for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); + return ar; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +var interfaces_1 = __nccwpck_require__(27305); +var LocalNameSet_1 = __nccwpck_require__(19049); +var NamespacePrefixMap_1 = __nccwpck_require__(90283); +var infra_1 = __nccwpck_require__(84251); +var algorithm_1 = __nccwpck_require__(61); +/** + * Pre-serializes XML nodes. + */ +var BaseWriter = /** @class */ (function () { + /** + * Initializes a new instance of `BaseWriter`. + * + * @param builderOptions - XML builder options + */ + function BaseWriter(builderOptions) { + /** + * Gets the current depth of the XML tree. + */ + this.level = 0; + this._builderOptions = builderOptions; + } + /** + * Used by derived classes to serialize the XML declaration. + * + * @param version - a version number string + * @param encoding - encoding declaration + * @param standalone - standalone document declaration + */ + BaseWriter.prototype.declaration = function (version, encoding, standalone) { }; + /** + * Used by derived classes to serialize a DocType node. + * + * @param name - node name + * @param publicId - public identifier + * @param systemId - system identifier + */ + BaseWriter.prototype.docType = function (name, publicId, systemId) { }; + /** + * Used by derived classes to serialize a comment node. + * + * @param data - node data + */ + BaseWriter.prototype.comment = function (data) { }; + /** + * Used by derived classes to serialize a text node. + * + * @param data - node data + */ + BaseWriter.prototype.text = function (data) { }; + /** + * Used by derived classes to serialize a processing instruction node. + * + * @param target - instruction target + * @param data - node data + */ + BaseWriter.prototype.instruction = function (target, data) { }; + /** + * Used by derived classes to serialize a CData section node. + * + * @param data - node data + */ + BaseWriter.prototype.cdata = function (data) { }; + /** + * Used by derived classes to serialize the beginning of the opening tag of an + * element node. + * + * @param name - node name + */ + BaseWriter.prototype.openTagBegin = function (name) { }; + /** + * Used by derived classes to serialize the ending of the opening tag of an + * element node. + * + * @param name - node name + * @param selfClosing - whether the element node is self closing + * @param voidElement - whether the element node is a HTML void element + */ + BaseWriter.prototype.openTagEnd = function (name, selfClosing, voidElement) { }; + /** + * Used by derived classes to serialize the closing tag of an element node. + * + * @param name - node name + */ + BaseWriter.prototype.closeTag = function (name) { }; + /** + * Used by derived classes to serialize attributes or namespace declarations. + * + * @param attributes - attribute array + */ + BaseWriter.prototype.attributes = function (attributes) { + var e_1, _a; + try { + for (var attributes_1 = __values(attributes), attributes_1_1 = attributes_1.next(); !attributes_1_1.done; attributes_1_1 = attributes_1.next()) { + var attr = attributes_1_1.value; + this.attribute(attr[1] === null ? attr[2] : attr[1] + ':' + attr[2], attr[3]); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (attributes_1_1 && !attributes_1_1.done && (_a = attributes_1.return)) _a.call(attributes_1); + } + finally { if (e_1) throw e_1.error; } + } + }; + /** + * Used by derived classes to serialize an attribute or namespace declaration. + * + * @param name - node name + * @param value - node value + */ + BaseWriter.prototype.attribute = function (name, value) { }; + /** + * Used by derived classes to perform any pre-processing steps before starting + * serializing an element node. + * + * @param name - node name + */ + BaseWriter.prototype.beginElement = function (name) { }; + /** + * Used by derived classes to perform any post-processing steps after + * completing serializing an element node. + * + * @param name - node name + */ + BaseWriter.prototype.endElement = function (name) { }; + /** + * Produces an XML serialization of the given node. The pre-serializer inserts + * namespace declarations where necessary and produces qualified names for + * nodes and attributes. + * + * @param node - node to serialize + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype.serializeNode = function (node, requireWellFormed, noDoubleEncoding) { + var hasNamespaces = (node._nodeDocument !== undefined && node._nodeDocument._hasNamespaces); + this.level = 0; + this.currentNode = node; + if (hasNamespaces) { + /** From: https://w3c.github.io/DOM-Parsing/#xml-serialization + * + * 1. Let namespace be a context namespace with value null. + * The context namespace tracks the XML serialization algorithm's current + * default namespace. The context namespace is changed when either an Element + * Node has a default namespace declaration, or the algorithm generates a + * default namespace declaration for the Element Node to match its own + * namespace. The algorithm assumes no namespace (null) to start. + * 2. Let prefix map be a new namespace prefix map. + * 3. Add the XML namespace with prefix value "xml" to prefix map. + * 4. Let prefix index be a generated namespace prefix index with value 1. + * The generated namespace prefix index is used to generate a new unique + * prefix value when no suitable existing namespace prefix is available to + * serialize a node's namespaceURI (or the namespaceURI of one of node's + * attributes). See the generate a prefix algorithm. + */ + var namespace = null; + var prefixMap = new NamespacePrefixMap_1.NamespacePrefixMap(); + prefixMap.set("xml", infra_1.namespace.XML); + var prefixIndex = { value: 1 }; + /** + * 5. Return the result of running the XML serialization algorithm on node + * passing the context namespace namespace, namespace prefix map prefix map, + * generated namespace prefix index reference to prefix index, and the + * flag require well-formed. If an exception occurs during the execution + * of the algorithm, then catch that exception and throw an + * "InvalidStateError" DOMException. + */ + this._serializeNodeNS(node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding); + } + else { + this._serializeNode(node, requireWellFormed, noDoubleEncoding); + } + }; + /** + * Produces an XML serialization of a node. + * + * @param node - node to serialize + * @param namespace - context namespace + * @param prefixMap - namespace prefix map + * @param prefixIndex - generated namespace prefix index + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeNodeNS = function (node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding) { + this.currentNode = node; + switch (node.nodeType) { + case interfaces_1.NodeType.Element: + this._serializeElementNS(node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding); + break; + case interfaces_1.NodeType.Document: + this._serializeDocumentNS(node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding); + break; + case interfaces_1.NodeType.Comment: + this._serializeComment(node, requireWellFormed, noDoubleEncoding); + break; + case interfaces_1.NodeType.Text: + this._serializeText(node, requireWellFormed, noDoubleEncoding); + break; + case interfaces_1.NodeType.DocumentFragment: + this._serializeDocumentFragmentNS(node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding); + break; + case interfaces_1.NodeType.DocumentType: + this._serializeDocumentType(node, requireWellFormed, noDoubleEncoding); + break; + case interfaces_1.NodeType.ProcessingInstruction: + this._serializeProcessingInstruction(node, requireWellFormed, noDoubleEncoding); + break; + case interfaces_1.NodeType.CData: + this._serializeCData(node, requireWellFormed, noDoubleEncoding); + break; + default: + throw new Error("Unknown node type: " + node.nodeType); + } + }; + /** + * Produces an XML serialization of a node. + * + * @param node - node to serialize + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeNode = function (node, requireWellFormed, noDoubleEncoding) { + this.currentNode = node; + switch (node.nodeType) { + case interfaces_1.NodeType.Element: + this._serializeElement(node, requireWellFormed, noDoubleEncoding); + break; + case interfaces_1.NodeType.Document: + this._serializeDocument(node, requireWellFormed, noDoubleEncoding); + break; + case interfaces_1.NodeType.Comment: + this._serializeComment(node, requireWellFormed, noDoubleEncoding); + break; + case interfaces_1.NodeType.Text: + this._serializeText(node, requireWellFormed, noDoubleEncoding); + break; + case interfaces_1.NodeType.DocumentFragment: + this._serializeDocumentFragment(node, requireWellFormed, noDoubleEncoding); + break; + case interfaces_1.NodeType.DocumentType: + this._serializeDocumentType(node, requireWellFormed, noDoubleEncoding); + break; + case interfaces_1.NodeType.ProcessingInstruction: + this._serializeProcessingInstruction(node, requireWellFormed, noDoubleEncoding); + break; + case interfaces_1.NodeType.CData: + this._serializeCData(node, requireWellFormed, noDoubleEncoding); + break; + default: + throw new Error("Unknown node type: " + node.nodeType); + } + }; + /** + * Produces an XML serialization of an element node. + * + * @param node - node to serialize + * @param namespace - context namespace + * @param prefixMap - namespace prefix map + * @param prefixIndex - generated namespace prefix index + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeElementNS = function (node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding) { + var e_2, _a; + var attributes = []; + /** + * From: https://w3c.github.io/DOM-Parsing/#xml-serializing-an-element-node + * + * 1. If the require well-formed flag is set (its value is true), and this + * node's localName attribute contains the character ":" (U+003A COLON) or + * does not match the XML Name production, then throw an exception; the + * serialization of this node would not be a well-formed element. + */ + if (requireWellFormed && (node.localName.indexOf(":") !== -1 || + !algorithm_1.xml_isName(node.localName))) { + throw new Error("Node local name contains invalid characters (well-formed required)."); + } + /** + * 2. Let markup be the string "<" (U+003C LESS-THAN SIGN). + * 3. Let qualified name be an empty string. + * 4. Let skip end tag be a boolean flag with value false. + * 5. Let ignore namespace definition attribute be a boolean flag with value + * false. + * 6. Given prefix map, copy a namespace prefix map and let map be the + * result. + * 7. Let local prefixes map be an empty map. The map has unique Node prefix + * strings as its keys, with corresponding namespaceURI Node values as the + * map's key values (in this map, the null namespace is represented by the + * empty string). + * + * _Note:_ This map is local to each element. It is used to ensure there + * are no conflicting prefixes should a new namespace prefix attribute need + * to be generated. It is also used to enable skipping of duplicate prefix + * definitions when writing an element's attributes: the map allows the + * algorithm to distinguish between a prefix in the namespace prefix map + * that might be locally-defined (to the current Element) and one that is + * not. + * 8. Let local default namespace be the result of recording the namespace + * information for node given map and local prefixes map. + * + * _Note:_ The above step will update map with any found namespace prefix + * definitions, add the found prefix definitions to the local prefixes map + * and return a local default namespace value defined by a default namespace + * attribute if one exists. Otherwise it returns null. + * 9. Let inherited ns be a copy of namespace. + * 10. Let ns be the value of node's namespaceURI attribute. + */ + var qualifiedName = ''; + var skipEndTag = false; + var ignoreNamespaceDefinitionAttribute = false; + var map = prefixMap.copy(); + var localPrefixesMap = {}; + var localDefaultNamespace = this._recordNamespaceInformation(node, map, localPrefixesMap); + var inheritedNS = namespace; + var ns = node.namespaceURI; + /** 11. If inherited ns is equal to ns, then: */ + if (inheritedNS === ns) { + /** + * 11.1. If local default namespace is not null, then set ignore + * namespace definition attribute to true. + */ + if (localDefaultNamespace !== null) { + ignoreNamespaceDefinitionAttribute = true; + } + /** + * 11.2. If ns is the XML namespace, then append to qualified name the + * concatenation of the string "xml:" and the value of node's localName. + * 11.3. Otherwise, append to qualified name the value of node's + * localName. The node's prefix if it exists, is dropped. + */ + if (ns === infra_1.namespace.XML) { + qualifiedName = 'xml:' + node.localName; + } + else { + qualifiedName = node.localName; + } + /** 11.4. Append the value of qualified name to markup. */ + this.beginElement(qualifiedName); + this.openTagBegin(qualifiedName); + } + else { + /** + * 12. Otherwise, inherited ns is not equal to ns (the node's own + * namespace is different from the context namespace of its parent). + * Run these sub-steps: + * + * 12.1. Let prefix be the value of node's prefix attribute. + * 12.2. Let candidate prefix be the result of retrieving a preferred + * prefix string prefix from map given namespace ns. The above may return + * null if no namespace key ns exists in map. + */ + var prefix = node.prefix; + /** + * We don't need to run "retrieving a preferred prefix string" algorithm if + * the element has no prefix and its namespace matches to the default + * namespace. + * See: https://github.com/web-platform-tests/wpt/pull/16703 + */ + var candidatePrefix = null; + if (prefix !== null || ns !== localDefaultNamespace) { + candidatePrefix = map.get(prefix, ns); + } + /** + * 12.3. If the value of prefix matches "xmlns", then run the following + * steps: + */ + if (prefix === "xmlns") { + /** + * 12.3.1. If the require well-formed flag is set, then throw an error. + * An Element with prefix "xmlns" will not legally round-trip in a + * conforming XML parser. + */ + if (requireWellFormed) { + throw new Error("An element cannot have the 'xmlns' prefix (well-formed required)."); + } + /** + * 12.3.2. Let candidate prefix be the value of prefix. + */ + candidatePrefix = prefix; + } + /** + * 12.4.Found a suitable namespace prefix: if candidate prefix is not + * null (a namespace prefix is defined which maps to ns), then: + */ + if (candidatePrefix !== null) { + /** + * The following may serialize a different prefix than the Element's + * existing prefix if it already had one. However, the retrieving a + * preferred prefix string algorithm already tried to match the + * existing prefix if possible. + * + * 12.4.1. Append to qualified name the concatenation of candidate + * prefix, ":" (U+003A COLON), and node's localName. There exists on + * this node or the node's ancestry a namespace prefix definition that + * defines the node's namespace. + * 12.4.2. If the local default namespace is not null (there exists a + * locally-defined default namespace declaration attribute) and its + * value is not the XML namespace, then let inherited ns get the value + * of local default namespace unless the local default namespace is the + * empty string in which case let it get null (the context namespace + * is changed to the declared default, rather than this node's own + * namespace). + * + * _Note:_ Any default namespace definitions or namespace prefixes that + * define the XML namespace are omitted when serializing this node's + * attributes. + */ + qualifiedName = candidatePrefix + ':' + node.localName; + if (localDefaultNamespace !== null && localDefaultNamespace !== infra_1.namespace.XML) { + inheritedNS = localDefaultNamespace || null; + } + /** + * 12.4.3. Append the value of qualified name to markup. + */ + this.beginElement(qualifiedName); + this.openTagBegin(qualifiedName); + /** 12.5. Otherwise, if prefix is not null, then: */ + } + else if (prefix !== null) { + /** + * _Note:_ By this step, there is no namespace or prefix mapping + * declaration in this node (or any parent node visited by this + * algorithm) that defines prefix otherwise the step labelled Found + * a suitable namespace prefix would have been followed. The sub-steps + * that follow will create a new namespace prefix declaration for prefix + * and ensure that prefix does not conflict with an existing namespace + * prefix declaration of the same localName in node's attribute list. + * + * 12.5.1. If the local prefixes map contains a key matching prefix, + * then let prefix be the result of generating a prefix providing as + * input map, ns, and prefix index. + */ + if (prefix in localPrefixesMap) { + prefix = this._generatePrefix(ns, map, prefixIndex); + } + /** + * 12.5.2. Add prefix to map given namespace ns. + * 12.5.3. Append to qualified name the concatenation of prefix, ":" + * (U+003A COLON), and node's localName. + * 12.5.4. Append the value of qualified name to markup. + */ + map.set(prefix, ns); + qualifiedName += prefix + ':' + node.localName; + this.beginElement(qualifiedName); + this.openTagBegin(qualifiedName); + /** + * 12.5.5. Append the following to markup, in the order listed: + * + * _Note:_ The following serializes a namespace prefix declaration for + * prefix which was just added to the map. + * + * 12.5.5.1. " " (U+0020 SPACE); + * 12.5.5.2. The string "xmlns:"; + * 12.5.5.3. The value of prefix; + * 12.5.5.4. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); + * 12.5.5.5. The result of serializing an attribute value given ns and + * the require well-formed flag as input; + * 12.5.5.6. """ (U+0022 QUOTATION MARK). + */ + attributes.push([null, 'xmlns', prefix, + this._serializeAttributeValue(ns, requireWellFormed, noDoubleEncoding)]); + /** + * 12.5.5.7. If local default namespace is not null (there exists a + * locally-defined default namespace declaration attribute), then + * let inherited ns get the value of local default namespace unless the + * local default namespace is the empty string in which case let it get + * null. + */ + if (localDefaultNamespace !== null) { + inheritedNS = localDefaultNamespace || null; + } + /** + * 12.6. Otherwise, if local default namespace is null, or local + * default namespace is not null and its value is not equal to ns, then: + */ + } + else if (localDefaultNamespace === null || + (localDefaultNamespace !== null && localDefaultNamespace !== ns)) { + /** + * _Note:_ At this point, the namespace for this node still needs to be + * serialized, but there's no prefix (or candidate prefix) available; the + * following uses the default namespace declaration to define the + * namespace--optionally replacing an existing default declaration + * if present. + * + * 12.6.1. Set the ignore namespace definition attribute flag to true. + * 12.6.2. Append to qualified name the value of node's localName. + * 12.6.3. Let the value of inherited ns be ns. + * + * _Note:_ The new default namespace will be used in the serialization + * to define this node's namespace and act as the context namespace for + * its children. + */ + ignoreNamespaceDefinitionAttribute = true; + qualifiedName += node.localName; + inheritedNS = ns; + /** + * 12.6.4. Append the value of qualified name to markup. + */ + this.beginElement(qualifiedName); + this.openTagBegin(qualifiedName); + /** + * 12.6.5. Append the following to markup, in the order listed: + * + * _Note:_ The following serializes the new (or replacement) default + * namespace definition. + * + * 12.6.5.1. " " (U+0020 SPACE); + * 12.6.5.2. The string "xmlns"; + * 12.6.5.3. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); + * 12.6.5.4. The result of serializing an attribute value given ns + * and the require well-formed flag as input; + * 12.6.5.5. """ (U+0022 QUOTATION MARK). + */ + attributes.push([null, null, 'xmlns', + this._serializeAttributeValue(ns, requireWellFormed, noDoubleEncoding)]); + /** + * 12.7. Otherwise, the node has a local default namespace that matches + * ns. Append to qualified name the value of node's localName, let the + * value of inherited ns be ns, and append the value of qualified name + * to markup. + */ + } + else { + qualifiedName += node.localName; + inheritedNS = ns; + this.beginElement(qualifiedName); + this.openTagBegin(qualifiedName); + } + } + /** + * 13. Append to markup the result of the XML serialization of node's + * attributes given map, prefix index, local prefixes map, ignore namespace + * definition attribute flag, and require well-formed flag. + */ + attributes.push.apply(attributes, __spread(this._serializeAttributesNS(node, map, prefixIndex, localPrefixesMap, ignoreNamespaceDefinitionAttribute, requireWellFormed, noDoubleEncoding))); + this.attributes(attributes); + /** + * 14. If ns is the HTML namespace, and the node's list of children is + * empty, and the node's localName matches any one of the following void + * elements: "area", "base", "basefont", "bgsound", "br", "col", "embed", + * "frame", "hr", "img", "input", "keygen", "link", "menuitem", "meta", + * "param", "source", "track", "wbr"; then append the following to markup, + * in the order listed: + * 14.1. " " (U+0020 SPACE); + * 14.2. "/" (U+002F SOLIDUS). + * and set the skip end tag flag to true. + * 15. If ns is not the HTML namespace, and the node's list of children is + * empty, then append "/" (U+002F SOLIDUS) to markup and set the skip end + * tag flag to true. + * 16. Append ">" (U+003E GREATER-THAN SIGN) to markup. + */ + var isHTML = (ns === infra_1.namespace.HTML); + if (isHTML && node.childNodes.length === 0 && + BaseWriter._VoidElementNames.has(node.localName)) { + this.openTagEnd(qualifiedName, true, true); + this.endElement(qualifiedName); + skipEndTag = true; + } + else if (!isHTML && node.childNodes.length === 0) { + this.openTagEnd(qualifiedName, true, false); + this.endElement(qualifiedName); + skipEndTag = true; + } + else { + this.openTagEnd(qualifiedName, false, false); + } + /** + * 17. If the value of skip end tag is true, then return the value of markup + * and skip the remaining steps. The node is a leaf-node. + */ + if (skipEndTag) + return; + /** + * 18. If ns is the HTML namespace, and the node's localName matches the + * string "template", then this is a template element. Append to markup the + * result of XML serializing a DocumentFragment node given the template + * element's template contents (a DocumentFragment), providing inherited + * ns, map, prefix index, and the require well-formed flag. + * + * _Note:_ This allows template content to round-trip, given the rules for + * parsing XHTML documents. + * + * 19. Otherwise, append to markup the result of running the XML + * serialization algorithm on each of node's children, in tree order, + * providing inherited ns, map, prefix index, and the require well-formed + * flag. + */ + if (isHTML && node.localName === "template") { + // TODO: serialize template contents + } + else { + try { + for (var _b = __values(node.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) { + var childNode = _c.value; + this.level++; + this._serializeNodeNS(childNode, inheritedNS, map, prefixIndex, requireWellFormed, noDoubleEncoding); + this.level--; + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_2) throw e_2.error; } + } + } + /** + * 20. Append the following to markup, in the order listed: + * 20.1. "" (U+003E GREATER-THAN SIGN). + * 21. Return the value of markup. + */ + this.closeTag(qualifiedName); + this.endElement(qualifiedName); + }; + /** + * Produces an XML serialization of an element node. + * + * @param node - node to serialize + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeElement = function (node, requireWellFormed, noDoubleEncoding) { + var e_3, _a; + /** + * From: https://w3c.github.io/DOM-Parsing/#xml-serializing-an-element-node + * + * 1. If the require well-formed flag is set (its value is true), and this + * node's localName attribute contains the character ":" (U+003A COLON) or + * does not match the XML Name production, then throw an exception; the + * serialization of this node would not be a well-formed element. + */ + if (requireWellFormed && (node.localName.indexOf(":") !== -1 || + !algorithm_1.xml_isName(node.localName))) { + throw new Error("Node local name contains invalid characters (well-formed required)."); + } + /** + * 2. Let markup be the string "<" (U+003C LESS-THAN SIGN). + * 3. Let qualified name be an empty string. + * 4. Let skip end tag be a boolean flag with value false. + * 5. Let ignore namespace definition attribute be a boolean flag with value + * false. + * 6. Given prefix map, copy a namespace prefix map and let map be the + * result. + * 7. Let local prefixes map be an empty map. The map has unique Node prefix + * strings as its keys, with corresponding namespaceURI Node values as the + * map's key values (in this map, the null namespace is represented by the + * empty string). + * + * _Note:_ This map is local to each element. It is used to ensure there + * are no conflicting prefixes should a new namespace prefix attribute need + * to be generated. It is also used to enable skipping of duplicate prefix + * definitions when writing an element's attributes: the map allows the + * algorithm to distinguish between a prefix in the namespace prefix map + * that might be locally-defined (to the current Element) and one that is + * not. + * 8. Let local default namespace be the result of recording the namespace + * information for node given map and local prefixes map. + * + * _Note:_ The above step will update map with any found namespace prefix + * definitions, add the found prefix definitions to the local prefixes map + * and return a local default namespace value defined by a default namespace + * attribute if one exists. Otherwise it returns null. + * 9. Let inherited ns be a copy of namespace. + * 10. Let ns be the value of node's namespaceURI attribute. + */ + var skipEndTag = false; + /** 11. If inherited ns is equal to ns, then: */ + /** + * 11.1. If local default namespace is not null, then set ignore + * namespace definition attribute to true. + */ + /** + * 11.2. If ns is the XML namespace, then append to qualified name the + * concatenation of the string "xml:" and the value of node's localName. + * 11.3. Otherwise, append to qualified name the value of node's + * localName. The node's prefix if it exists, is dropped. + */ + var qualifiedName = node.localName; + /** 11.4. Append the value of qualified name to markup. */ + this.beginElement(qualifiedName); + this.openTagBegin(qualifiedName); + /** + * 13. Append to markup the result of the XML serialization of node's + * attributes given map, prefix index, local prefixes map, ignore namespace + * definition attribute flag, and require well-formed flag. + */ + var attributes = this._serializeAttributes(node, requireWellFormed, noDoubleEncoding); + this.attributes(attributes); + /** + * 14. If ns is the HTML namespace, and the node's list of children is + * empty, and the node's localName matches any one of the following void + * elements: "area", "base", "basefont", "bgsound", "br", "col", "embed", + * "frame", "hr", "img", "input", "keygen", "link", "menuitem", "meta", + * "param", "source", "track", "wbr"; then append the following to markup, + * in the order listed: + * 14.1. " " (U+0020 SPACE); + * 14.2. "/" (U+002F SOLIDUS). + * and set the skip end tag flag to true. + * 15. If ns is not the HTML namespace, and the node's list of children is + * empty, then append "/" (U+002F SOLIDUS) to markup and set the skip end + * tag flag to true. + * 16. Append ">" (U+003E GREATER-THAN SIGN) to markup. + */ + if (!node.hasChildNodes()) { + this.openTagEnd(qualifiedName, true, false); + this.endElement(qualifiedName); + skipEndTag = true; + } + else { + this.openTagEnd(qualifiedName, false, false); + } + /** + * 17. If the value of skip end tag is true, then return the value of markup + * and skip the remaining steps. The node is a leaf-node. + */ + if (skipEndTag) + return; + try { + /** + * 18. If ns is the HTML namespace, and the node's localName matches the + * string "template", then this is a template element. Append to markup the + * result of XML serializing a DocumentFragment node given the template + * element's template contents (a DocumentFragment), providing inherited + * ns, map, prefix index, and the require well-formed flag. + * + * _Note:_ This allows template content to round-trip, given the rules for + * parsing XHTML documents. + * + * 19. Otherwise, append to markup the result of running the XML + * serialization algorithm on each of node's children, in tree order, + * providing inherited ns, map, prefix index, and the require well-formed + * flag. + */ + for (var _b = __values(node._children), _c = _b.next(); !_c.done; _c = _b.next()) { + var childNode = _c.value; + this.level++; + this._serializeNode(childNode, requireWellFormed, noDoubleEncoding); + this.level--; + } + } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_3) throw e_3.error; } + } + /** + * 20. Append the following to markup, in the order listed: + * 20.1. "" (U+003E GREATER-THAN SIGN). + * 21. Return the value of markup. + */ + this.closeTag(qualifiedName); + this.endElement(qualifiedName); + }; + /** + * Produces an XML serialization of a document node. + * + * @param node - node to serialize + * @param namespace - context namespace + * @param prefixMap - namespace prefix map + * @param prefixIndex - generated namespace prefix index + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeDocumentNS = function (node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding) { + var e_4, _a; + /** + * If the require well-formed flag is set (its value is true), and this node + * has no documentElement (the documentElement attribute's value is null), + * then throw an exception; the serialization of this node would not be a + * well-formed document. + */ + if (requireWellFormed && node.documentElement === null) { + throw new Error("Missing document element (well-formed required)."); + } + try { + /** + * Otherwise, run the following steps: + * 1. Let serialized document be an empty string. + * 2. For each child child of node, in tree order, run the XML + * serialization algorithm on the child passing along the provided + * arguments, and append the result to serialized document. + * + * _Note:_ This will serialize any number of ProcessingInstruction and + * Comment nodes both before and after the Document's documentElement node, + * including at most one DocumentType node. (Text nodes are not allowed as + * children of the Document.) + * + * 3. Return the value of serialized document. + */ + for (var _b = __values(node.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) { + var childNode = _c.value; + this._serializeNodeNS(childNode, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding); + } + } + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_4) throw e_4.error; } + } + }; + /** + * Produces an XML serialization of a document node. + * + * @param node - node to serialize + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeDocument = function (node, requireWellFormed, noDoubleEncoding) { + var e_5, _a; + /** + * If the require well-formed flag is set (its value is true), and this node + * has no documentElement (the documentElement attribute's value is null), + * then throw an exception; the serialization of this node would not be a + * well-formed document. + */ + if (requireWellFormed && node.documentElement === null) { + throw new Error("Missing document element (well-formed required)."); + } + try { + /** + * Otherwise, run the following steps: + * 1. Let serialized document be an empty string. + * 2. For each child child of node, in tree order, run the XML + * serialization algorithm on the child passing along the provided + * arguments, and append the result to serialized document. + * + * _Note:_ This will serialize any number of ProcessingInstruction and + * Comment nodes both before and after the Document's documentElement node, + * including at most one DocumentType node. (Text nodes are not allowed as + * children of the Document.) + * + * 3. Return the value of serialized document. + */ + for (var _b = __values(node._children), _c = _b.next(); !_c.done; _c = _b.next()) { + var childNode = _c.value; + this._serializeNode(childNode, requireWellFormed, noDoubleEncoding); + } + } + catch (e_5_1) { e_5 = { error: e_5_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_5) throw e_5.error; } + } + }; + /** + * Produces an XML serialization of a comment node. + * + * @param node - node to serialize + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeComment = function (node, requireWellFormed, noDoubleEncoding) { + /** + * If the require well-formed flag is set (its value is true), and node's + * data contains characters that are not matched by the XML Char production + * or contains "--" (two adjacent U+002D HYPHEN-MINUS characters) or that + * ends with a "-" (U+002D HYPHEN-MINUS) character, then throw an exception; + * the serialization of this node's data would not be well-formed. + */ + if (requireWellFormed && (!algorithm_1.xml_isLegalChar(node.data) || + node.data.indexOf("--") !== -1 || node.data.endsWith("-"))) { + throw new Error("Comment data contains invalid characters (well-formed required)."); + } + /** + * Otherwise, return the concatenation of "". + */ + this.comment(node.data); + }; + /** + * Produces an XML serialization of a text node. + * + * @param node - node to serialize + * @param requireWellFormed - whether to check conformance + * @param level - current depth of the XML tree + */ + BaseWriter.prototype._serializeText = function (node, requireWellFormed, noDoubleEncoding) { + /** + * 1. If the require well-formed flag is set (its value is true), and + * node's data contains characters that are not matched by the XML Char + * production, then throw an exception; the serialization of this node's + * data would not be well-formed. + */ + if (requireWellFormed && !algorithm_1.xml_isLegalChar(node.data)) { + throw new Error("Text data contains invalid characters (well-formed required)."); + } + /** + * 2. Let markup be the value of node's data. + * 3. Replace any occurrences of "&" in markup by "&". + * 4. Replace any occurrences of "<" in markup by "<". + * 5. Replace any occurrences of ">" in markup by ">". + * 6. Return the value of markup. + */ + var markup = ""; + if (noDoubleEncoding) { + markup = node.data.replace(/(?!&(lt|gt|amp|apos|quot);)&/g, '&') + .replace(//g, '>'); + } + else { + for (var i = 0; i < node.data.length; i++) { + var c = node.data[i]; + if (c === "&") + markup += "&"; + else if (c === "<") + markup += "<"; + else if (c === ">") + markup += ">"; + else + markup += c; + } + } + this.text(markup); + }; + /** + * Produces an XML serialization of a document fragment node. + * + * @param node - node to serialize + * @param namespace - context namespace + * @param prefixMap - namespace prefix map + * @param prefixIndex - generated namespace prefix index + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeDocumentFragmentNS = function (node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding) { + var e_6, _a; + try { + /** + * 1. Let markup the empty string. + * 2. For each child child of node, in tree order, run the XML serialization + * algorithm on the child given namespace, prefix map, a reference to prefix + * index, and flag require well-formed. Concatenate the result to markup. + * 3. Return the value of markup. + */ + for (var _b = __values(node.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) { + var childNode = _c.value; + this._serializeNodeNS(childNode, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding); + } + } + catch (e_6_1) { e_6 = { error: e_6_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_6) throw e_6.error; } + } + }; + /** + * Produces an XML serialization of a document fragment node. + * + * @param node - node to serialize + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeDocumentFragment = function (node, requireWellFormed, noDoubleEncoding) { + var e_7, _a; + try { + /** + * 1. Let markup the empty string. + * 2. For each child child of node, in tree order, run the XML serialization + * algorithm on the child given namespace, prefix map, a reference to prefix + * index, and flag require well-formed. Concatenate the result to markup. + * 3. Return the value of markup. + */ + for (var _b = __values(node._children), _c = _b.next(); !_c.done; _c = _b.next()) { + var childNode = _c.value; + this._serializeNode(childNode, requireWellFormed, noDoubleEncoding); + } + } + catch (e_7_1) { e_7 = { error: e_7_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_7) throw e_7.error; } + } + }; + /** + * Produces an XML serialization of a document type node. + * + * @param node - node to serialize + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeDocumentType = function (node, requireWellFormed, noDoubleEncoding) { + /** + * 1. If the require well-formed flag is true and the node's publicId + * attribute contains characters that are not matched by the XML PubidChar + * production, then throw an exception; the serialization of this node + * would not be a well-formed document type declaration. + */ + if (requireWellFormed && !algorithm_1.xml_isPubidChar(node.publicId)) { + throw new Error("DocType public identifier does not match PubidChar construct (well-formed required)."); + } + /** + * 2. If the require well-formed flag is true and the node's systemId + * attribute contains characters that are not matched by the XML Char + * production or that contains both a """ (U+0022 QUOTATION MARK) and a + * "'" (U+0027 APOSTROPHE), then throw an exception; the serialization + * of this node would not be a well-formed document type declaration. + */ + if (requireWellFormed && + (!algorithm_1.xml_isLegalChar(node.systemId) || + (node.systemId.indexOf('"') !== -1 && node.systemId.indexOf("'") !== -1))) { + throw new Error("DocType system identifier contains invalid characters (well-formed required)."); + } + /** + * 3. Let markup be an empty string. + * 4. Append the string "" (U+003E GREATER-THAN SIGN) to markup. + * 11. Return the value of markup. + */ + this.docType(node.name, node.publicId, node.systemId); + }; + /** + * Produces an XML serialization of a processing instruction node. + * + * @param node - node to serialize + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeProcessingInstruction = function (node, requireWellFormed, noDoubleEncoding) { + /** + * 1. If the require well-formed flag is set (its value is true), and node's + * target contains a ":" (U+003A COLON) character or is an ASCII + * case-insensitive match for the string "xml", then throw an exception; + * the serialization of this node's target would not be well-formed. + */ + if (requireWellFormed && (node.target.indexOf(":") !== -1 || (/^xml$/i).test(node.target))) { + throw new Error("Processing instruction target contains invalid characters (well-formed required)."); + } + /** + * 2. If the require well-formed flag is set (its value is true), and node's + * data contains characters that are not matched by the XML Char production + * or contains the string "?>" (U+003F QUESTION MARK, + * U+003E GREATER-THAN SIGN), then throw an exception; the serialization of + * this node's data would not be well-formed. + */ + if (requireWellFormed && (!algorithm_1.xml_isLegalChar(node.data) || + node.data.indexOf("?>") !== -1)) { + throw new Error("Processing instruction data contains invalid characters (well-formed required)."); + } + /** + * 3. Let markup be the concatenation of the following, in the order listed: + * 3.1. "" (U+003F QUESTION MARK, U+003E GREATER-THAN SIGN). + * 4. Return the value of markup. + */ + this.instruction(node.target, node.data); + }; + /** + * Produces an XML serialization of a CDATA node. + * + * @param node - node to serialize + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeCData = function (node, requireWellFormed, noDoubleEncoding) { + if (requireWellFormed && (node.data.indexOf("]]>") !== -1)) { + throw new Error("CDATA contains invalid characters (well-formed required)."); + } + this.cdata(node.data); + }; + /** + * Produces an XML serialization of the attributes of an element node. + * + * @param node - node to serialize + * @param map - namespace prefix map + * @param prefixIndex - generated namespace prefix index + * @param localPrefixesMap - local prefixes map + * @param ignoreNamespaceDefinitionAttribute - whether to ignore namespace + * attributes + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeAttributesNS = function (node, map, prefixIndex, localPrefixesMap, ignoreNamespaceDefinitionAttribute, requireWellFormed, noDoubleEncoding) { + var e_8, _a; + /** + * 1. Let result be the empty string. + * 2. Let localname set be a new empty namespace localname set. This + * localname set will contain tuples of unique attribute namespaceURI and + * localName pairs, and is populated as each attr is processed. This set is + * used to [optionally] enforce the well-formed constraint that an element + * cannot have two attributes with the same namespaceURI and localName. + * This can occur when two otherwise identical attributes on the same + * element differ only by their prefix values. + */ + var result = []; + var localNameSet = requireWellFormed ? new LocalNameSet_1.LocalNameSet() : undefined; + try { + /** + * 3. Loop: For each attribute attr in element's attributes, in the order + * they are specified in the element's attribute list: + */ + for (var _b = __values(node.attributes), _c = _b.next(); !_c.done; _c = _b.next()) { + var attr = _c.value; + // Optimize common case + if (!requireWellFormed && !ignoreNamespaceDefinitionAttribute && attr.namespaceURI === null) { + result.push([null, null, attr.localName, + this._serializeAttributeValue(attr.value, requireWellFormed, noDoubleEncoding)]); + continue; + } + /** + * 3.1. If the require well-formed flag is set (its value is true), and the + * localname set contains a tuple whose values match those of a new tuple + * consisting of attr's namespaceURI attribute and localName attribute, + * then throw an exception; the serialization of this attr would fail to + * produce a well-formed element serialization. + */ + if (requireWellFormed && localNameSet && localNameSet.has(attr.namespaceURI, attr.localName)) { + throw new Error("Element contains duplicate attributes (well-formed required)."); + } + /** + * 3.2. Create a new tuple consisting of attr's namespaceURI attribute and + * localName attribute, and add it to the localname set. + * 3.3. Let attribute namespace be the value of attr's namespaceURI value. + * 3.4. Let candidate prefix be null. + */ + if (requireWellFormed && localNameSet) + localNameSet.set(attr.namespaceURI, attr.localName); + var attributeNamespace = attr.namespaceURI; + var candidatePrefix = null; + /** 3.5. If attribute namespace is not null, then run these sub-steps: */ + if (attributeNamespace !== null) { + /** + * 3.5.1. Let candidate prefix be the result of retrieving a preferred + * prefix string from map given namespace attribute namespace with + * preferred prefix being attr's prefix value. + */ + candidatePrefix = map.get(attr.prefix, attributeNamespace); + /** + * 3.5.2. If the value of attribute namespace is the XMLNS namespace, + * then run these steps: + */ + if (attributeNamespace === infra_1.namespace.XMLNS) { + /** + * 3.5.2.1. If any of the following are true, then stop running these + * steps and goto Loop to visit the next attribute: + * - the attr's value is the XML namespace; + * _Note:_ The XML namespace cannot be redeclared and survive + * round-tripping (unless it defines the prefix "xml"). To avoid this + * problem, this algorithm always prefixes elements in the XML + * namespace with "xml" and drops any related definitions as seen + * in the above condition. + * - the attr's prefix is null and the ignore namespace definition + * attribute flag is true (the Element's default namespace attribute + * should be skipped); + * - the attr's prefix is not null and either + * * the attr's localName is not a key contained in the local + * prefixes map, or + * * the attr's localName is present in the local prefixes map but + * the value of the key does not match attr's value + * and furthermore that the attr's localName (as the prefix to find) + * is found in the namespace prefix map given the namespace consisting + * of the attr's value (the current namespace prefix definition was + * exactly defined previously--on an ancestor element not the current + * element whose attributes are being processed). + */ + if (attr.value === infra_1.namespace.XML || + (attr.prefix === null && ignoreNamespaceDefinitionAttribute) || + (attr.prefix !== null && (!(attr.localName in localPrefixesMap) || + localPrefixesMap[attr.localName] !== attr.value) && + map.has(attr.localName, attr.value))) + continue; + /** + * 3.5.2.2. If the require well-formed flag is set (its value is true), + * and the value of attr's value attribute matches the XMLNS + * namespace, then throw an exception; the serialization of this + * attribute would produce invalid XML because the XMLNS namespace + * is reserved and cannot be applied as an element's namespace via + * XML parsing. + * + * _Note:_ DOM APIs do allow creation of elements in the XMLNS + * namespace but with strict qualifications. + */ + if (requireWellFormed && attr.value === infra_1.namespace.XMLNS) { + throw new Error("XMLNS namespace is reserved (well-formed required)."); + } + /** + * 3.5.2.3. If the require well-formed flag is set (its value is true), + * and the value of attr's value attribute is the empty string, then + * throw an exception; namespace prefix declarations cannot be used + * to undeclare a namespace (use a default namespace declaration + * instead). + */ + if (requireWellFormed && attr.value === '') { + throw new Error("Namespace prefix declarations cannot be used to undeclare a namespace (well-formed required)."); + } + /** + * 3.5.2.4. the attr's prefix matches the string "xmlns", then let + * candidate prefix be the string "xmlns". + */ + if (attr.prefix === 'xmlns') + candidatePrefix = 'xmlns'; + /** + * 3.5.3. Otherwise, the attribute namespace is not the XMLNS namespace. + * Run these steps: + * + * _Note:_ The (candidatePrefix === null) check is not in the spec. + * We deviate from the spec here. Otherwise a prefix is generated for + * all attributes with namespaces. + */ + } + else if (candidatePrefix === null) { + if (attr.prefix !== null && + (!map.hasPrefix(attr.prefix) || + map.has(attr.prefix, attributeNamespace))) { + /** + * Check if we can use the attribute's own prefix. + * We deviate from the spec here. + * TODO: This is not an efficient way of searching for prefixes. + * Follow developments to the spec. + */ + candidatePrefix = attr.prefix; + } + else { + /** + * 3.5.3.1. Let candidate prefix be the result of generating a prefix + * providing map, attribute namespace, and prefix index as input. + */ + candidatePrefix = this._generatePrefix(attributeNamespace, map, prefixIndex); + } + /** + * 3.5.3.2. Append the following to result, in the order listed: + * 3.5.3.2.1. " " (U+0020 SPACE); + * 3.5.3.2.2. The string "xmlns:"; + * 3.5.3.2.3. The value of candidate prefix; + * 3.5.3.2.4. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); + * 3.5.3.2.5. The result of serializing an attribute value given + * attribute namespace and the require well-formed flag as input; + * 3.5.3.2.6. """ (U+0022 QUOTATION MARK). + */ + result.push([null, "xmlns", candidatePrefix, + this._serializeAttributeValue(attributeNamespace, requireWellFormed, noDoubleEncoding)]); + } + } + /** + * 3.6. Append a " " (U+0020 SPACE) to result. + * 3.7. If candidate prefix is not null, then append to result the + * concatenation of candidate prefix with ":" (U+003A COLON). + */ + var attrName = ''; + if (candidatePrefix !== null) { + attrName = candidatePrefix; + } + /** + * 3.8. If the require well-formed flag is set (its value is true), and + * this attr's localName attribute contains the character + * ":" (U+003A COLON) or does not match the XML Name production or + * equals "xmlns" and attribute namespace is null, then throw an + * exception; the serialization of this attr would not be a + * well-formed attribute. + */ + if (requireWellFormed && (attr.localName.indexOf(":") !== -1 || + !algorithm_1.xml_isName(attr.localName) || + (attr.localName === "xmlns" && attributeNamespace === null))) { + throw new Error("Attribute local name contains invalid characters (well-formed required)."); + } + /** + * 3.9. Append the following strings to result, in the order listed: + * 3.9.1. The value of attr's localName; + * 3.9.2. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); + * 3.9.3. The result of serializing an attribute value given attr's value + * attribute and the require well-formed flag as input; + * 3.9.4. """ (U+0022 QUOTATION MARK). + */ + result.push([attributeNamespace, candidatePrefix, attr.localName, + this._serializeAttributeValue(attr.value, requireWellFormed, noDoubleEncoding)]); + } + } + catch (e_8_1) { e_8 = { error: e_8_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_8) throw e_8.error; } + } + /** + * 4. Return the value of result. + */ + return result; + }; + /** + * Produces an XML serialization of the attributes of an element node. + * + * @param node - node to serialize + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeAttributes = function (node, requireWellFormed, noDoubleEncoding) { + var e_9, _a; + /** + * 1. Let result be the empty string. + * 2. Let localname set be a new empty namespace localname set. This + * localname set will contain tuples of unique attribute namespaceURI and + * localName pairs, and is populated as each attr is processed. This set is + * used to [optionally] enforce the well-formed constraint that an element + * cannot have two attributes with the same namespaceURI and localName. + * This can occur when two otherwise identical attributes on the same + * element differ only by their prefix values. + */ + var result = []; + var localNameSet = requireWellFormed ? {} : undefined; + try { + /** + * 3. Loop: For each attribute attr in element's attributes, in the order + * they are specified in the element's attribute list: + */ + for (var _b = __values(node.attributes), _c = _b.next(); !_c.done; _c = _b.next()) { + var attr = _c.value; + // Optimize common case + if (!requireWellFormed) { + result.push([null, null, attr.localName, + this._serializeAttributeValue(attr.value, requireWellFormed, noDoubleEncoding)]); + continue; + } + /** + * 3.1. If the require well-formed flag is set (its value is true), and the + * localname set contains a tuple whose values match those of a new tuple + * consisting of attr's namespaceURI attribute and localName attribute, + * then throw an exception; the serialization of this attr would fail to + * produce a well-formed element serialization. + */ + if (requireWellFormed && localNameSet && (attr.localName in localNameSet)) { + throw new Error("Element contains duplicate attributes (well-formed required)."); + } + /** + * 3.2. Create a new tuple consisting of attr's namespaceURI attribute and + * localName attribute, and add it to the localname set. + * 3.3. Let attribute namespace be the value of attr's namespaceURI value. + * 3.4. Let candidate prefix be null. + */ + /* istanbul ignore else */ + if (requireWellFormed && localNameSet) + localNameSet[attr.localName] = true; + /** 3.5. If attribute namespace is not null, then run these sub-steps: */ + /** + * 3.6. Append a " " (U+0020 SPACE) to result. + * 3.7. If candidate prefix is not null, then append to result the + * concatenation of candidate prefix with ":" (U+003A COLON). + */ + /** + * 3.8. If the require well-formed flag is set (its value is true), and + * this attr's localName attribute contains the character + * ":" (U+003A COLON) or does not match the XML Name production or + * equals "xmlns" and attribute namespace is null, then throw an + * exception; the serialization of this attr would not be a + * well-formed attribute. + */ + if (requireWellFormed && (attr.localName.indexOf(":") !== -1 || + !algorithm_1.xml_isName(attr.localName))) { + throw new Error("Attribute local name contains invalid characters (well-formed required)."); + } + /** + * 3.9. Append the following strings to result, in the order listed: + * 3.9.1. The value of attr's localName; + * 3.9.2. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); + * 3.9.3. The result of serializing an attribute value given attr's value + * attribute and the require well-formed flag as input; + * 3.9.4. """ (U+0022 QUOTATION MARK). + */ + result.push([null, null, attr.localName, + this._serializeAttributeValue(attr.value, requireWellFormed, noDoubleEncoding)]); + } + } + catch (e_9_1) { e_9 = { error: e_9_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_9) throw e_9.error; } + } + /** + * 4. Return the value of result. + */ + return result; + }; + /** + * Records namespace information for the given element and returns the + * default namespace attribute value. + * + * @param node - element node to process + * @param map - namespace prefix map + * @param localPrefixesMap - local prefixes map + */ + BaseWriter.prototype._recordNamespaceInformation = function (node, map, localPrefixesMap) { + var e_10, _a; + /** + * 1. Let default namespace attr value be null. + */ + var defaultNamespaceAttrValue = null; + try { + /** + * 2. Main: For each attribute attr in element's attributes, in the order + * they are specified in the element's attribute list: + */ + for (var _b = __values(node.attributes), _c = _b.next(); !_c.done; _c = _b.next()) { + var attr = _c.value; + /** + * _Note:_ The following conditional steps find namespace prefixes. Only + * attributes in the XMLNS namespace are considered (e.g., attributes made + * to look like namespace declarations via + * setAttribute("xmlns:pretend-prefix", "pretend-namespace") are not + * included). + */ + /** 2.1. Let attribute namespace be the value of attr's namespaceURI value. */ + var attributeNamespace = attr.namespaceURI; + /** 2.2. Let attribute prefix be the value of attr's prefix. */ + var attributePrefix = attr.prefix; + /** 2.3. If the attribute namespace is the XMLNS namespace, then: */ + if (attributeNamespace === infra_1.namespace.XMLNS) { + /** + * 2.3.1. If attribute prefix is null, then attr is a default namespace + * declaration. Set the default namespace attr value to attr's value and + * stop running these steps, returning to Main to visit the next + * attribute. + */ + if (attributePrefix === null) { + defaultNamespaceAttrValue = attr.value; + continue; + /** + * 2.3.2. Otherwise, the attribute prefix is not null and attr is a + * namespace prefix definition. Run the following steps: + */ + } + else { + /** 2.3.2.1. Let prefix definition be the value of attr's localName. */ + var prefixDefinition = attr.localName; + /** 2.3.2.2. Let namespace definition be the value of attr's value. */ + var namespaceDefinition = attr.value; + /** + * 2.3.2.3. If namespace definition is the XML namespace, then stop + * running these steps, and return to Main to visit the next + * attribute. + * + * _Note:_ XML namespace definitions in prefixes are completely + * ignored (in order to avoid unnecessary work when there might be + * prefix conflicts). XML namespaced elements are always handled + * uniformly by prefixing (and overriding if necessary) the element's + * localname with the reserved "xml" prefix. + */ + if (namespaceDefinition === infra_1.namespace.XML) { + continue; + } + /** + * 2.3.2.4. If namespace definition is the empty string (the + * declarative form of having no namespace), then let namespace + * definition be null instead. + */ + if (namespaceDefinition === '') { + namespaceDefinition = null; + } + /** + * 2.3.2.5. If prefix definition is found in map given the namespace + * namespace definition, then stop running these steps, and return to + * Main to visit the next attribute. + * + * _Note:_ This step avoids adding duplicate prefix definitions for + * the same namespace in the map. This has the side-effect of avoiding + * later serialization of duplicate namespace prefix declarations in + * any descendant nodes. + */ + if (map.has(prefixDefinition, namespaceDefinition)) { + continue; + } + /** + * 2.3.2.6. Add the prefix prefix definition to map given namespace + * namespace definition. + */ + map.set(prefixDefinition, namespaceDefinition); + /** + * 2.3.2.7. Add the value of prefix definition as a new key to the + * local prefixes map, with the namespace definition as the key's + * value replacing the value of null with the empty string if + * applicable. + */ + localPrefixesMap[prefixDefinition] = namespaceDefinition || ''; + } + } + } + } + catch (e_10_1) { e_10 = { error: e_10_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_10) throw e_10.error; } + } + /** + * 3. Return the value of default namespace attr value. + * + * _Note:_ The empty string is a legitimate return value and is not + * converted to null. + */ + return defaultNamespaceAttrValue; + }; + /** + * Generates a new prefix for the given namespace. + * + * @param newNamespace - a namespace to generate prefix for + * @param prefixMap - namespace prefix map + * @param prefixIndex - generated namespace prefix index + */ + BaseWriter.prototype._generatePrefix = function (newNamespace, prefixMap, prefixIndex) { + /** + * 1. Let generated prefix be the concatenation of the string "ns" and the + * current numerical value of prefix index. + * 2. Let the value of prefix index be incremented by one. + * 3. Add to map the generated prefix given the new namespace namespace. + * 4. Return the value of generated prefix. + */ + var generatedPrefix = "ns" + prefixIndex.value.toString(); + prefixIndex.value++; + prefixMap.set(generatedPrefix, newNamespace); + return generatedPrefix; + }; + /** + * Produces an XML serialization of an attribute value. + * + * @param value - attribute value + * @param requireWellFormed - whether to check conformance + */ + BaseWriter.prototype._serializeAttributeValue = function (value, requireWellFormed, noDoubleEncoding) { + /** + * From: https://w3c.github.io/DOM-Parsing/#dfn-serializing-an-attribute-value + * + * 1. If the require well-formed flag is set (its value is true), and + * attribute value contains characters that are not matched by the XML Char + * production, then throw an exception; the serialization of this attribute + * value would fail to produce a well-formed element serialization. + */ + if (requireWellFormed && value !== null && !algorithm_1.xml_isLegalChar(value)) { + throw new Error("Invalid characters in attribute value."); + } + /** + * 2. If attribute value is null, then return the empty string. + */ + if (value === null) + return ""; + /** + * 3. Otherwise, attribute value is a string. Return the value of attribute + * value, first replacing any occurrences of the following: + * - "&" with "&" + * - """ with """ + * - "<" with "<" + * - ">" with ">" + * NOTE + * This matches behavior present in browsers, and goes above and beyond the + * grammar requirement in the XML specification's AttValue production by + * also replacing ">" characters. + */ + if (noDoubleEncoding) { + return value.replace(/(?!&(lt|gt|amp|apos|quot);)&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"'); + } + else { + var result = ""; + for (var i = 0; i < value.length; i++) { + var c = value[i]; + if (c === "\"") + result += """; + else if (c === "&") + result += "&"; + else if (c === "<") + result += "<"; + else if (c === ">") + result += ">"; + else + result += c; + } + return result; + } + }; + BaseWriter._VoidElementNames = new Set(['area', 'base', 'basefont', + 'bgsound', 'br', 'col', 'embed', 'frame', 'hr', 'img', 'input', 'keygen', + 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr']); + return BaseWriter; +}()); +exports.BaseWriter = BaseWriter; +//# sourceMappingURL=BaseWriter.js.map + +/***/ }), + +/***/ 37525: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", ({ value: true })); +var BaseCBWriter_1 = __nccwpck_require__(50708); +/** + * Serializes XML nodes. + */ +var JSONCBWriter = /** @class */ (function (_super) { + __extends(JSONCBWriter, _super); + /** + * Initializes a new instance of `JSONCBWriter`. + * + * @param builderOptions - XML builder options + */ + function JSONCBWriter(builderOptions) { + var _this = _super.call(this, builderOptions) || this; + _this._hasChildren = []; + _this._additionalLevel = 0; + return _this; + } + /** @inheritdoc */ + JSONCBWriter.prototype.frontMatter = function () { + return ""; + }; + /** @inheritdoc */ + JSONCBWriter.prototype.declaration = function (version, encoding, standalone) { + return ""; + }; + /** @inheritdoc */ + JSONCBWriter.prototype.docType = function (name, publicId, systemId) { + return ""; + }; + /** @inheritdoc */ + JSONCBWriter.prototype.comment = function (data) { + // { "!": "hello" } + return this._comma() + this._beginLine() + "{" + this._sep() + + this._key(this._builderOptions.convert.comment) + this._sep() + + this._val(data) + this._sep() + "}"; + }; + /** @inheritdoc */ + JSONCBWriter.prototype.text = function (data) { + // { "#": "hello" } + return this._comma() + this._beginLine() + "{" + this._sep() + + this._key(this._builderOptions.convert.text) + this._sep() + + this._val(data) + this._sep() + "}"; + }; + /** @inheritdoc */ + JSONCBWriter.prototype.instruction = function (target, data) { + // { "?": "target hello" } + return this._comma() + this._beginLine() + "{" + this._sep() + + this._key(this._builderOptions.convert.ins) + this._sep() + + this._val(data ? target + " " + data : target) + this._sep() + "}"; + }; + /** @inheritdoc */ + JSONCBWriter.prototype.cdata = function (data) { + // { "$": "hello" } + return this._comma() + this._beginLine() + "{" + this._sep() + + this._key(this._builderOptions.convert.cdata) + this._sep() + + this._val(data) + this._sep() + "}"; + }; + /** @inheritdoc */ + JSONCBWriter.prototype.attribute = function (name, value) { + // { "@name": "val" } + return this._comma() + this._beginLine(1) + "{" + this._sep() + + this._key(this._builderOptions.convert.att + name) + this._sep() + + this._val(value) + this._sep() + "}"; + }; + /** @inheritdoc */ + JSONCBWriter.prototype.openTagBegin = function (name) { + // { "node": { "#": [ + var str = this._comma() + this._beginLine() + "{" + this._sep() + this._key(name) + this._sep() + "{"; + this._additionalLevel++; + this.hasData = true; + str += this._beginLine() + this._key(this._builderOptions.convert.text) + this._sep() + "["; + this._hasChildren.push(false); + return str; + }; + /** @inheritdoc */ + JSONCBWriter.prototype.openTagEnd = function (name, selfClosing, voidElement) { + if (selfClosing) { + var str = this._sep() + "]"; + this._additionalLevel--; + str += this._beginLine() + "}" + this._sep() + "}"; + return str; + } + else { + return ""; + } + }; + /** @inheritdoc */ + JSONCBWriter.prototype.closeTag = function (name) { + // ] } } + var str = this._beginLine() + "]"; + this._additionalLevel--; + str += this._beginLine() + "}" + this._sep() + "}"; + return str; + }; + /** @inheritdoc */ + JSONCBWriter.prototype.beginElement = function (name) { }; + /** @inheritdoc */ + JSONCBWriter.prototype.endElement = function (name) { this._hasChildren.pop(); }; + /** + * Produces characters to be prepended to a line of string in pretty-print + * mode. + */ + JSONCBWriter.prototype._beginLine = function (additionalOffset) { + if (additionalOffset === void 0) { additionalOffset = 0; } + if (this._writerOptions.prettyPrint) { + return (this.hasData ? this._writerOptions.newline : "") + + this._indent(this._writerOptions.offset + this.level + additionalOffset); + } + else { + return ""; + } + }; + /** + * Produces an indentation string. + * + * @param level - depth of the tree + */ + JSONCBWriter.prototype._indent = function (level) { + if (level + this._additionalLevel <= 0) { + return ""; + } + else { + return this._writerOptions.indent.repeat(level + this._additionalLevel); + } + }; + /** + * Produces a comma before a child node if it has previous siblings. + */ + JSONCBWriter.prototype._comma = function () { + var str = (this._hasChildren[this._hasChildren.length - 1] ? "," : ""); + if (this._hasChildren.length > 0) { + this._hasChildren[this._hasChildren.length - 1] = true; + } + return str; + }; + /** + * Produces a separator string. + */ + JSONCBWriter.prototype._sep = function () { + return (this._writerOptions.prettyPrint ? " " : ""); + }; + /** + * Produces a JSON key string delimited with double quotes. + */ + JSONCBWriter.prototype._key = function (key) { + return "\"" + key + "\":"; + }; + /** + * Produces a JSON value string delimited with double quotes. + */ + JSONCBWriter.prototype._val = function (val) { + return JSON.stringify(val); + }; + return JSONCBWriter; +}(BaseCBWriter_1.BaseCBWriter)); +exports.JSONCBWriter = JSONCBWriter; +//# sourceMappingURL=JSONCBWriter.js.map + +/***/ }), + +/***/ 37510: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +var ObjectWriter_1 = __nccwpck_require__(50243); +var util_1 = __nccwpck_require__(76195); +var BaseWriter_1 = __nccwpck_require__(37644); +/** + * Serializes XML nodes into a JSON string. + */ +var JSONWriter = /** @class */ (function (_super) { + __extends(JSONWriter, _super); + /** + * Initializes a new instance of `JSONWriter`. + * + * @param builderOptions - XML builder options + * @param writerOptions - serialization options + */ + function JSONWriter(builderOptions, writerOptions) { + var _this = _super.call(this, builderOptions) || this; + // provide default options + _this._writerOptions = util_1.applyDefaults(writerOptions, { + wellFormed: false, + noDoubleEncoding: false, + prettyPrint: false, + indent: ' ', + newline: '\n', + offset: 0, + group: false, + verbose: false + }); + return _this; + } + /** + * Produces an XML serialization of the given node. + * + * @param node - node to serialize + * @param writerOptions - serialization options + */ + JSONWriter.prototype.serialize = function (node) { + // convert to object + var objectWriterOptions = util_1.applyDefaults(this._writerOptions, { + format: "object", + wellFormed: false, + noDoubleEncoding: false, + }); + var objectWriter = new ObjectWriter_1.ObjectWriter(this._builderOptions, objectWriterOptions); + var val = objectWriter.serialize(node); + // recursively convert object into JSON string + return this._beginLine(this._writerOptions, 0) + this._convertObject(val, this._writerOptions); + }; + /** + * Produces an XML serialization of the given object. + * + * @param obj - object to serialize + * @param options - serialization options + * @param level - depth of the XML tree + */ + JSONWriter.prototype._convertObject = function (obj, options, level) { + var e_1, _a; + var _this = this; + if (level === void 0) { level = 0; } + var markup = ''; + var isLeaf = this._isLeafNode(obj); + if (util_1.isArray(obj)) { + markup += '['; + var len = obj.length; + var i = 0; + try { + for (var obj_1 = __values(obj), obj_1_1 = obj_1.next(); !obj_1_1.done; obj_1_1 = obj_1.next()) { + var val = obj_1_1.value; + markup += this._endLine(options, level + 1) + + this._beginLine(options, level + 1) + + this._convertObject(val, options, level + 1); + if (i < len - 1) { + markup += ','; + } + i++; + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (obj_1_1 && !obj_1_1.done && (_a = obj_1.return)) _a.call(obj_1); + } + finally { if (e_1) throw e_1.error; } + } + markup += this._endLine(options, level) + this._beginLine(options, level); + markup += ']'; + } + else if (util_1.isObject(obj)) { + markup += '{'; + var len_1 = util_1.objectLength(obj); + var i_1 = 0; + util_1.forEachObject(obj, function (key, val) { + if (isLeaf && options.prettyPrint) { + markup += ' '; + } + else { + markup += _this._endLine(options, level + 1) + _this._beginLine(options, level + 1); + } + markup += _this._key(key); + if (options.prettyPrint) { + markup += ' '; + } + markup += _this._convertObject(val, options, level + 1); + if (i_1 < len_1 - 1) { + markup += ','; + } + i_1++; + }, this); + if (isLeaf && options.prettyPrint) { + markup += ' '; + } + else { + markup += this._endLine(options, level) + this._beginLine(options, level); + } + markup += '}'; + } + else { + markup += this._val(obj); + } + return markup; + }; + /** + * Produces characters to be prepended to a line of string in pretty-print + * mode. + * + * @param options - serialization options + * @param level - current depth of the XML tree + */ + JSONWriter.prototype._beginLine = function (options, level) { + if (!options.prettyPrint) { + return ''; + } + else { + var indentLevel = options.offset + level + 1; + if (indentLevel > 0) { + return new Array(indentLevel).join(options.indent); + } + } + return ''; + }; + /** + * Produces characters to be appended to a line of string in pretty-print + * mode. + * + * @param options - serialization options + * @param level - current depth of the XML tree + */ + JSONWriter.prototype._endLine = function (options, level) { + if (!options.prettyPrint) { + return ''; + } + else { + return options.newline; + } + }; + /** + * Produces a JSON key string delimited with double quotes. + */ + JSONWriter.prototype._key = function (key) { + return "\"" + key + "\":"; + }; + /** + * Produces a JSON value string delimited with double quotes. + */ + JSONWriter.prototype._val = function (val) { + return JSON.stringify(val); + }; + /** + * Determines if an object is a leaf node. + * + * @param obj + */ + JSONWriter.prototype._isLeafNode = function (obj) { + return this._descendantCount(obj) <= 1; + }; + /** + * Counts the number of descendants of the given object. + * + * @param obj + * @param count + */ + JSONWriter.prototype._descendantCount = function (obj, count) { + var _this = this; + if (count === void 0) { count = 0; } + if (util_1.isArray(obj)) { + util_1.forEachArray(obj, function (val) { return count += _this._descendantCount(val, count); }, this); + } + else if (util_1.isObject(obj)) { + util_1.forEachObject(obj, function (key, val) { return count += _this._descendantCount(val, count); }, this); + } + else { + count++; + } + return count; + }; + return JSONWriter; +}(BaseWriter_1.BaseWriter)); +exports.JSONWriter = JSONWriter; +//# sourceMappingURL=JSONWriter.js.map + +/***/ }), + +/***/ 41397: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", ({ value: true })); +var util_1 = __nccwpck_require__(76195); +var ObjectWriter_1 = __nccwpck_require__(50243); +var BaseWriter_1 = __nccwpck_require__(37644); +/** + * Serializes XML nodes into ES6 maps and arrays. + */ +var MapWriter = /** @class */ (function (_super) { + __extends(MapWriter, _super); + /** + * Initializes a new instance of `MapWriter`. + * + * @param builderOptions - XML builder options + * @param writerOptions - serialization options + */ + function MapWriter(builderOptions, writerOptions) { + var _this = _super.call(this, builderOptions) || this; + // provide default options + _this._writerOptions = util_1.applyDefaults(writerOptions, { + format: "map", + wellFormed: false, + noDoubleEncoding: false, + group: false, + verbose: false + }); + return _this; + } + /** + * Produces an XML serialization of the given node. + * + * @param node - node to serialize + */ + MapWriter.prototype.serialize = function (node) { + // convert to object + var objectWriterOptions = util_1.applyDefaults(this._writerOptions, { + format: "object", + wellFormed: false, + noDoubleEncoding: false, + verbose: false + }); + var objectWriter = new ObjectWriter_1.ObjectWriter(this._builderOptions, objectWriterOptions); + var val = objectWriter.serialize(node); + // recursively convert object into Map + return this._convertObject(val); + }; + /** + * Recursively converts a JS object into an ES5 map. + * + * @param obj - a JS object + */ + MapWriter.prototype._convertObject = function (obj) { + if (util_1.isArray(obj)) { + for (var i = 0; i < obj.length; i++) { + obj[i] = this._convertObject(obj[i]); + } + return obj; + } + else if (util_1.isObject(obj)) { + var map = new Map(); + for (var key in obj) { + map.set(key, this._convertObject(obj[key])); + } + return map; + } + else { + return obj; + } + }; + return MapWriter; +}(BaseWriter_1.BaseWriter)); +exports.MapWriter = MapWriter; +//# sourceMappingURL=MapWriter.js.map + +/***/ }), + +/***/ 50243: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +var util_1 = __nccwpck_require__(76195); +var interfaces_1 = __nccwpck_require__(27305); +var BaseWriter_1 = __nccwpck_require__(37644); +/** + * Serializes XML nodes into objects and arrays. + */ +var ObjectWriter = /** @class */ (function (_super) { + __extends(ObjectWriter, _super); + /** + * Initializes a new instance of `ObjectWriter`. + * + * @param builderOptions - XML builder options + * @param writerOptions - serialization options + */ + function ObjectWriter(builderOptions, writerOptions) { + var _this = _super.call(this, builderOptions) || this; + _this._writerOptions = util_1.applyDefaults(writerOptions, { + format: "object", + wellFormed: false, + noDoubleEncoding: false, + group: false, + verbose: false + }); + return _this; + } + /** + * Produces an XML serialization of the given node. + * + * @param node - node to serialize + */ + ObjectWriter.prototype.serialize = function (node) { + this._currentList = []; + this._currentIndex = 0; + this._listRegister = [this._currentList]; + /** + * First pass, serialize nodes + * This creates a list of nodes grouped under node types while preserving + * insertion order. For example: + * [ + * root: [ + * node: [ + * { "@" : { "att1": "val1", "att2": "val2" } + * { "#": "node text" } + * { childNode: [] } + * { "#": "more text" } + * ], + * node: [ + * { "@" : { "att": "val" } + * { "#": [ "text line1", "text line2" ] } + * ] + * ] + * ] + */ + this.serializeNode(node, this._writerOptions.wellFormed, this._writerOptions.noDoubleEncoding); + /** + * Second pass, process node lists. Above example becomes: + * { + * root: { + * node: [ + * { + * "@att1": "val1", + * "@att2": "val2", + * "#1": "node text", + * childNode: {}, + * "#2": "more text" + * }, + * { + * "@att": "val", + * "#": [ "text line1", "text line2" ] + * } + * ] + * } + * } + */ + return this._process(this._currentList, this._writerOptions); + }; + ObjectWriter.prototype._process = function (items, options) { + var _a, _b, _c, _d, _e, _f, _g; + if (items.length === 0) + return {}; + // determine if there are non-unique element names + var namesSeen = {}; + var hasNonUniqueNames = false; + var textCount = 0; + var commentCount = 0; + var instructionCount = 0; + var cdataCount = 0; + for (var i = 0; i < items.length; i++) { + var item = items[i]; + var key = Object.keys(item)[0]; + switch (key) { + case "@": + continue; + case "#": + textCount++; + break; + case "!": + commentCount++; + break; + case "?": + instructionCount++; + break; + case "$": + cdataCount++; + break; + default: + if (namesSeen[key]) { + hasNonUniqueNames = true; + } + else { + namesSeen[key] = true; + } + break; + } + } + var defAttrKey = this._getAttrKey(); + var defTextKey = this._getNodeKey(interfaces_1.NodeType.Text); + var defCommentKey = this._getNodeKey(interfaces_1.NodeType.Comment); + var defInstructionKey = this._getNodeKey(interfaces_1.NodeType.ProcessingInstruction); + var defCdataKey = this._getNodeKey(interfaces_1.NodeType.CData); + if (textCount === 1 && items.length === 1 && util_1.isString(items[0]["#"])) { + // special case of an element node with a single text node + return items[0]["#"]; + } + else if (hasNonUniqueNames) { + var obj = {}; + // process attributes first + for (var i = 0; i < items.length; i++) { + var item = items[i]; + var key = Object.keys(item)[0]; + if (key === "@") { + var attrs = item["@"]; + var attrKeys = Object.keys(attrs); + if (attrKeys.length === 1) { + obj[defAttrKey + attrKeys[0]] = attrs[attrKeys[0]]; + } + else { + obj[defAttrKey] = item["@"]; + } + } + } + // list contains element nodes with non-unique names + // return an array with mixed content notation + var result = []; + for (var i = 0; i < items.length; i++) { + var item = items[i]; + var key = Object.keys(item)[0]; + switch (key) { + case "@": + // attributes were processed above + break; + case "#": + result.push((_a = {}, _a[defTextKey] = item["#"], _a)); + break; + case "!": + result.push((_b = {}, _b[defCommentKey] = item["!"], _b)); + break; + case "?": + result.push((_c = {}, _c[defInstructionKey] = item["?"], _c)); + break; + case "$": + result.push((_d = {}, _d[defCdataKey] = item["$"], _d)); + break; + default: + // element node + var ele = item; + if (ele[key].length !== 0 && util_1.isArray(ele[key][0])) { + // group of element nodes + var eleGroup = []; + var listOfLists = ele[key]; + for (var i_1 = 0; i_1 < listOfLists.length; i_1++) { + eleGroup.push(this._process(listOfLists[i_1], options)); + } + result.push((_e = {}, _e[key] = eleGroup, _e)); + } + else { + // single element node + if (options.verbose) { + result.push((_f = {}, _f[key] = [this._process(ele[key], options)], _f)); + } + else { + result.push((_g = {}, _g[key] = this._process(ele[key], options), _g)); + } + } + break; + } + } + obj[defTextKey] = result; + return obj; + } + else { + // all element nodes have unique names + // return an object while prefixing data node keys + var textId = 1; + var commentId = 1; + var instructionId = 1; + var cdataId = 1; + var obj = {}; + for (var i = 0; i < items.length; i++) { + var item = items[i]; + var key = Object.keys(item)[0]; + switch (key) { + case "@": + var attrs = item["@"]; + var attrKeys = Object.keys(attrs); + if (!options.group || attrKeys.length === 1) { + for (var attrName in attrs) { + obj[defAttrKey + attrName] = attrs[attrName]; + } + } + else { + obj[defAttrKey] = attrs; + } + break; + case "#": + textId = this._processSpecItem(item["#"], obj, options.group, defTextKey, textCount, textId); + break; + case "!": + commentId = this._processSpecItem(item["!"], obj, options.group, defCommentKey, commentCount, commentId); + break; + case "?": + instructionId = this._processSpecItem(item["?"], obj, options.group, defInstructionKey, instructionCount, instructionId); + break; + case "$": + cdataId = this._processSpecItem(item["$"], obj, options.group, defCdataKey, cdataCount, cdataId); + break; + default: + // element node + var ele = item; + if (ele[key].length !== 0 && util_1.isArray(ele[key][0])) { + // group of element nodes + var eleGroup = []; + var listOfLists = ele[key]; + for (var i_2 = 0; i_2 < listOfLists.length; i_2++) { + eleGroup.push(this._process(listOfLists[i_2], options)); + } + obj[key] = eleGroup; + } + else { + // single element node + if (options.verbose) { + obj[key] = [this._process(ele[key], options)]; + } + else { + obj[key] = this._process(ele[key], options); + } + } + break; + } + } + return obj; + } + }; + ObjectWriter.prototype._processSpecItem = function (item, obj, group, defKey, count, id) { + var e_1, _a; + if (!group && util_1.isArray(item) && count + item.length > 2) { + try { + for (var item_1 = __values(item), item_1_1 = item_1.next(); !item_1_1.done; item_1_1 = item_1.next()) { + var subItem = item_1_1.value; + var key = defKey + (id++).toString(); + obj[key] = subItem; + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (item_1_1 && !item_1_1.done && (_a = item_1.return)) _a.call(item_1); + } + finally { if (e_1) throw e_1.error; } + } + } + else { + var key = count > 1 ? defKey + (id++).toString() : defKey; + obj[key] = item; + } + return id; + }; + /** @inheritdoc */ + ObjectWriter.prototype.beginElement = function (name) { + var _a, _b; + var childItems = []; + if (this._currentList.length === 0) { + this._currentList.push((_a = {}, _a[name] = childItems, _a)); + } + else { + var lastItem = this._currentList[this._currentList.length - 1]; + if (this._isElementNode(lastItem, name)) { + if (lastItem[name].length !== 0 && util_1.isArray(lastItem[name][0])) { + var listOfLists = lastItem[name]; + listOfLists.push(childItems); + } + else { + lastItem[name] = [lastItem[name], childItems]; + } + } + else { + this._currentList.push((_b = {}, _b[name] = childItems, _b)); + } + } + this._currentIndex++; + if (this._listRegister.length > this._currentIndex) { + this._listRegister[this._currentIndex] = childItems; + } + else { + this._listRegister.push(childItems); + } + this._currentList = childItems; + }; + /** @inheritdoc */ + ObjectWriter.prototype.endElement = function () { + this._currentList = this._listRegister[--this._currentIndex]; + }; + /** @inheritdoc */ + ObjectWriter.prototype.attribute = function (name, value) { + var _a, _b; + if (this._currentList.length === 0) { + this._currentList.push({ "@": (_a = {}, _a[name] = value, _a) }); + } + else { + var lastItem = this._currentList[this._currentList.length - 1]; + /* istanbul ignore else */ + if (this._isAttrNode(lastItem)) { + lastItem["@"][name] = value; + } + else { + this._currentList.push({ "@": (_b = {}, _b[name] = value, _b) }); + } + } + }; + /** @inheritdoc */ + ObjectWriter.prototype.comment = function (data) { + if (this._currentList.length === 0) { + this._currentList.push({ "!": data }); + } + else { + var lastItem = this._currentList[this._currentList.length - 1]; + if (this._isCommentNode(lastItem)) { + if (util_1.isArray(lastItem["!"])) { + lastItem["!"].push(data); + } + else { + lastItem["!"] = [lastItem["!"], data]; + } + } + else { + this._currentList.push({ "!": data }); + } + } + }; + /** @inheritdoc */ + ObjectWriter.prototype.text = function (data) { + if (this._currentList.length === 0) { + this._currentList.push({ "#": data }); + } + else { + var lastItem = this._currentList[this._currentList.length - 1]; + if (this._isTextNode(lastItem)) { + if (util_1.isArray(lastItem["#"])) { + lastItem["#"].push(data); + } + else { + lastItem["#"] = [lastItem["#"], data]; + } + } + else { + this._currentList.push({ "#": data }); + } + } + }; + /** @inheritdoc */ + ObjectWriter.prototype.instruction = function (target, data) { + var value = (data === "" ? target : target + " " + data); + if (this._currentList.length === 0) { + this._currentList.push({ "?": value }); + } + else { + var lastItem = this._currentList[this._currentList.length - 1]; + if (this._isInstructionNode(lastItem)) { + if (util_1.isArray(lastItem["?"])) { + lastItem["?"].push(value); + } + else { + lastItem["?"] = [lastItem["?"], value]; + } + } + else { + this._currentList.push({ "?": value }); + } + } + }; + /** @inheritdoc */ + ObjectWriter.prototype.cdata = function (data) { + if (this._currentList.length === 0) { + this._currentList.push({ "$": data }); + } + else { + var lastItem = this._currentList[this._currentList.length - 1]; + if (this._isCDATANode(lastItem)) { + if (util_1.isArray(lastItem["$"])) { + lastItem["$"].push(data); + } + else { + lastItem["$"] = [lastItem["$"], data]; + } + } + else { + this._currentList.push({ "$": data }); + } + } + }; + ObjectWriter.prototype._isAttrNode = function (x) { + return "@" in x; + }; + ObjectWriter.prototype._isTextNode = function (x) { + return "#" in x; + }; + ObjectWriter.prototype._isCommentNode = function (x) { + return "!" in x; + }; + ObjectWriter.prototype._isInstructionNode = function (x) { + return "?" in x; + }; + ObjectWriter.prototype._isCDATANode = function (x) { + return "$" in x; + }; + ObjectWriter.prototype._isElementNode = function (x, name) { + return name in x; + }; + /** + * Returns an object key for an attribute or namespace declaration. + */ + ObjectWriter.prototype._getAttrKey = function () { + return this._builderOptions.convert.att; + }; + /** + * Returns an object key for the given node type. + * + * @param nodeType - node type to get a key for + */ + ObjectWriter.prototype._getNodeKey = function (nodeType) { + switch (nodeType) { + case interfaces_1.NodeType.Comment: + return this._builderOptions.convert.comment; + case interfaces_1.NodeType.Text: + return this._builderOptions.convert.text; + case interfaces_1.NodeType.ProcessingInstruction: + return this._builderOptions.convert.ins; + case interfaces_1.NodeType.CData: + return this._builderOptions.convert.cdata; + /* istanbul ignore next */ + default: + throw new Error("Invalid node type."); + } + }; + return ObjectWriter; +}(BaseWriter_1.BaseWriter)); +exports.ObjectWriter = ObjectWriter; +//# sourceMappingURL=ObjectWriter.js.map + +/***/ }), + +/***/ 77572: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", ({ value: true })); +var BaseCBWriter_1 = __nccwpck_require__(50708); +/** + * Serializes XML nodes. + */ +var XMLCBWriter = /** @class */ (function (_super) { + __extends(XMLCBWriter, _super); + /** + * Initializes a new instance of `XMLCBWriter`. + * + * @param builderOptions - XML builder options + */ + function XMLCBWriter(builderOptions) { + var _this = _super.call(this, builderOptions) || this; + _this._lineLength = 0; + return _this; + } + /** @inheritdoc */ + XMLCBWriter.prototype.frontMatter = function () { + return ""; + }; + /** @inheritdoc */ + XMLCBWriter.prototype.declaration = function (version, encoding, standalone) { + var markup = this._beginLine() + ""; + return markup; + }; + /** @inheritdoc */ + XMLCBWriter.prototype.docType = function (name, publicId, systemId) { + var markup = this._beginLine(); + if (publicId && systemId) { + markup += ""; + } + else if (publicId) { + markup += ""; + } + else if (systemId) { + markup += ""; + } + else { + markup += ""; + } + return markup; + }; + /** @inheritdoc */ + XMLCBWriter.prototype.comment = function (data) { + return this._beginLine() + ""; + }; + /** @inheritdoc */ + XMLCBWriter.prototype.text = function (data) { + return this._beginLine() + data; + }; + /** @inheritdoc */ + XMLCBWriter.prototype.instruction = function (target, data) { + if (data) { + return this._beginLine() + ""; + } + else { + return this._beginLine() + ""; + } + }; + /** @inheritdoc */ + XMLCBWriter.prototype.cdata = function (data) { + return this._beginLine() + ""; + }; + /** @inheritdoc */ + XMLCBWriter.prototype.openTagBegin = function (name) { + this._lineLength += 1 + name.length; + return this._beginLine() + "<" + name; + }; + /** @inheritdoc */ + XMLCBWriter.prototype.openTagEnd = function (name, selfClosing, voidElement) { + if (voidElement) { + return " />"; + } + else if (selfClosing) { + if (this._writerOptions.allowEmptyTags) { + return ">"; + } + else if (this._writerOptions.spaceBeforeSlash) { + return " />"; + } + else { + return "/>"; + } + } + else { + return ">"; + } + }; + /** @inheritdoc */ + XMLCBWriter.prototype.closeTag = function (name) { + return this._beginLine() + ""; + }; + /** @inheritdoc */ + XMLCBWriter.prototype.attribute = function (name, value) { + var str = name + "=\"" + value + "\""; + if (this._writerOptions.prettyPrint && this._writerOptions.width > 0 && + this._lineLength + 1 + str.length > this._writerOptions.width) { + str = this._beginLine() + this._indent(1) + str; + this._lineLength = str.length; + return str; + } + else { + this._lineLength += 1 + str.length; + return " " + str; + } + }; + /** @inheritdoc */ + XMLCBWriter.prototype.beginElement = function (name) { }; + /** @inheritdoc */ + XMLCBWriter.prototype.endElement = function (name) { }; + /** + * Produces characters to be prepended to a line of string in pretty-print + * mode. + */ + XMLCBWriter.prototype._beginLine = function () { + if (this._writerOptions.prettyPrint) { + var str = (this.hasData ? this._writerOptions.newline : "") + + this._indent(this._writerOptions.offset + this.level); + this._lineLength = str.length; + return str; + } + else { + return ""; + } + }; + /** + * Produces an indentation string. + * + * @param level - depth of the tree + */ + XMLCBWriter.prototype._indent = function (level) { + if (level <= 0) { + return ""; + } + else { + return this._writerOptions.indent.repeat(level); + } + }; + return XMLCBWriter; +}(BaseCBWriter_1.BaseCBWriter)); +exports.XMLCBWriter = XMLCBWriter; +//# sourceMappingURL=XMLCBWriter.js.map + +/***/ }), + +/***/ 59606: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", ({ value: true })); +var util_1 = __nccwpck_require__(76195); +var interfaces_1 = __nccwpck_require__(27305); +var BaseWriter_1 = __nccwpck_require__(37644); +var util_2 = __nccwpck_require__(65282); +/** + * Serializes XML nodes into strings. + */ +var XMLWriter = /** @class */ (function (_super) { + __extends(XMLWriter, _super); + /** + * Initializes a new instance of `XMLWriter`. + * + * @param builderOptions - XML builder options + * @param writerOptions - serialization options + */ + function XMLWriter(builderOptions, writerOptions) { + var _this = _super.call(this, builderOptions) || this; + _this._indentation = {}; + _this._lengthToLastNewline = 0; + // provide default options + _this._writerOptions = util_1.applyDefaults(writerOptions, { + wellFormed: false, + noDoubleEncoding: false, + headless: false, + prettyPrint: false, + indent: " ", + newline: "\n", + offset: 0, + width: 0, + allowEmptyTags: false, + indentTextOnlyNodes: false, + spaceBeforeSlash: false + }); + return _this; + } + /** + * Produces an XML serialization of the given node. + * + * @param node - node to serialize + */ + XMLWriter.prototype.serialize = function (node) { + this._refs = { suppressPretty: false, emptyNode: false, markup: "" }; + // Serialize XML declaration + if (node.nodeType === interfaces_1.NodeType.Document && !this._writerOptions.headless) { + this.declaration(this._builderOptions.version, this._builderOptions.encoding, this._builderOptions.standalone); + } + // recursively serialize node + this.serializeNode(node, this._writerOptions.wellFormed, this._writerOptions.noDoubleEncoding); + // remove trailing newline + if (this._writerOptions.prettyPrint && + this._refs.markup.slice(-this._writerOptions.newline.length) === this._writerOptions.newline) { + this._refs.markup = this._refs.markup.slice(0, -this._writerOptions.newline.length); + } + return this._refs.markup; + }; + /** @inheritdoc */ + XMLWriter.prototype.declaration = function (version, encoding, standalone) { + this._beginLine(); + this._refs.markup += ""; + this._endLine(); + }; + /** @inheritdoc */ + XMLWriter.prototype.docType = function (name, publicId, systemId) { + this._beginLine(); + if (publicId && systemId) { + this._refs.markup += ""; + } + else if (publicId) { + this._refs.markup += ""; + } + else if (systemId) { + this._refs.markup += ""; + } + else { + this._refs.markup += ""; + } + this._endLine(); + }; + /** @inheritdoc */ + XMLWriter.prototype.openTagBegin = function (name) { + this._beginLine(); + this._refs.markup += "<" + name; + }; + /** @inheritdoc */ + XMLWriter.prototype.openTagEnd = function (name, selfClosing, voidElement) { + // do not indent text only elements or elements with empty text nodes + this._refs.suppressPretty = false; + this._refs.emptyNode = false; + if (this._writerOptions.prettyPrint && !selfClosing && !voidElement) { + var textOnlyNode = true; + var emptyNode = true; + var childNode = this.currentNode.firstChild; + var cdataCount = 0; + var textCount = 0; + while (childNode) { + if (util_2.Guard.isExclusiveTextNode(childNode)) { + textCount++; + } + else if (util_2.Guard.isCDATASectionNode(childNode)) { + cdataCount++; + } + else { + textOnlyNode = false; + emptyNode = false; + break; + } + if (childNode.data !== '') { + emptyNode = false; + } + childNode = childNode.nextSibling; + } + this._refs.suppressPretty = !this._writerOptions.indentTextOnlyNodes && textOnlyNode && ((cdataCount <= 1 && textCount === 0) || cdataCount === 0); + this._refs.emptyNode = emptyNode; + } + if ((voidElement || selfClosing || this._refs.emptyNode) && this._writerOptions.allowEmptyTags) { + this._refs.markup += ">"; + } + else { + this._refs.markup += voidElement ? " />" : + (selfClosing || this._refs.emptyNode) ? (this._writerOptions.spaceBeforeSlash ? " />" : "/>") : ">"; + } + this._endLine(); + }; + /** @inheritdoc */ + XMLWriter.prototype.closeTag = function (name) { + if (!this._refs.emptyNode) { + this._beginLine(); + this._refs.markup += ""; + } + this._refs.suppressPretty = false; + this._refs.emptyNode = false; + this._endLine(); + }; + /** @inheritdoc */ + XMLWriter.prototype.attribute = function (name, value) { + var str = name + "=\"" + value + "\""; + if (this._writerOptions.prettyPrint && this._writerOptions.width > 0 && + this._refs.markup.length - this._lengthToLastNewline + 1 + str.length > this._writerOptions.width) { + this._endLine(); + this._beginLine(); + this._refs.markup += this._indent(1) + str; + } + else { + this._refs.markup += " " + str; + } + }; + /** @inheritdoc */ + XMLWriter.prototype.text = function (data) { + if (data !== '') { + this._beginLine(); + this._refs.markup += data; + this._endLine(); + } + }; + /** @inheritdoc */ + XMLWriter.prototype.cdata = function (data) { + if (data !== '') { + this._beginLine(); + this._refs.markup += ""; + this._endLine(); + } + }; + /** @inheritdoc */ + XMLWriter.prototype.comment = function (data) { + this._beginLine(); + this._refs.markup += ""; + this._endLine(); + }; + /** @inheritdoc */ + XMLWriter.prototype.instruction = function (target, data) { + this._beginLine(); + this._refs.markup += ""; + this._endLine(); + }; + /** + * Produces characters to be prepended to a line of string in pretty-print + * mode. + */ + XMLWriter.prototype._beginLine = function () { + if (this._writerOptions.prettyPrint && !this._refs.suppressPretty) { + this._refs.markup += this._indent(this._writerOptions.offset + this.level); + } + }; + /** + * Produces characters to be appended to a line of string in pretty-print + * mode. + */ + XMLWriter.prototype._endLine = function () { + if (this._writerOptions.prettyPrint && !this._refs.suppressPretty) { + this._refs.markup += this._writerOptions.newline; + this._lengthToLastNewline = this._refs.markup.length; + } + }; + /** + * Produces an indentation string. + * + * @param level - depth of the tree + */ + XMLWriter.prototype._indent = function (level) { + if (level <= 0) { + return ""; + } + else if (this._indentation[level] !== undefined) { + return this._indentation[level]; + } + else { + var str = this._writerOptions.indent.repeat(level); + this._indentation[level] = str; + return str; + } + }; + return XMLWriter; +}(BaseWriter_1.BaseWriter)); +exports.XMLWriter = XMLWriter; +//# sourceMappingURL=XMLWriter.js.map + +/***/ }), + +/***/ 42444: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", ({ value: true })); +var BaseCBWriter_1 = __nccwpck_require__(50708); +/** + * Serializes XML nodes. + */ +var YAMLCBWriter = /** @class */ (function (_super) { + __extends(YAMLCBWriter, _super); + /** + * Initializes a new instance of `BaseCBWriter`. + * + * @param builderOptions - XML builder options + */ + function YAMLCBWriter(builderOptions) { + var _this = _super.call(this, builderOptions) || this; + _this._rootWritten = false; + _this._additionalLevel = 0; + if (builderOptions.indent.length < 2) { + throw new Error("YAML indententation string must be at least two characters long."); + } + if (builderOptions.offset < 0) { + throw new Error("YAML offset should be zero or a positive number."); + } + return _this; + } + /** @inheritdoc */ + YAMLCBWriter.prototype.frontMatter = function () { + return this._beginLine() + "---"; + }; + /** @inheritdoc */ + YAMLCBWriter.prototype.declaration = function (version, encoding, standalone) { + return ""; + }; + /** @inheritdoc */ + YAMLCBWriter.prototype.docType = function (name, publicId, systemId) { + return ""; + }; + /** @inheritdoc */ + YAMLCBWriter.prototype.comment = function (data) { + // "!": "hello" + return this._beginLine() + + this._key(this._builderOptions.convert.comment) + " " + + this._val(data); + }; + /** @inheritdoc */ + YAMLCBWriter.prototype.text = function (data) { + // "#": "hello" + return this._beginLine() + + this._key(this._builderOptions.convert.text) + " " + + this._val(data); + }; + /** @inheritdoc */ + YAMLCBWriter.prototype.instruction = function (target, data) { + // "?": "target hello" + return this._beginLine() + + this._key(this._builderOptions.convert.ins) + " " + + this._val(data ? target + " " + data : target); + }; + /** @inheritdoc */ + YAMLCBWriter.prototype.cdata = function (data) { + // "$": "hello" + return this._beginLine() + + this._key(this._builderOptions.convert.cdata) + " " + + this._val(data); + }; + /** @inheritdoc */ + YAMLCBWriter.prototype.attribute = function (name, value) { + // "@name": "val" + this._additionalLevel++; + var str = this._beginLine() + + this._key(this._builderOptions.convert.att + name) + " " + + this._val(value); + this._additionalLevel--; + return str; + }; + /** @inheritdoc */ + YAMLCBWriter.prototype.openTagBegin = function (name) { + // "node": + // "#": + // - + var str = this._beginLine() + this._key(name); + if (!this._rootWritten) { + this._rootWritten = true; + } + this.hasData = true; + this._additionalLevel++; + str += this._beginLine(true) + this._key(this._builderOptions.convert.text); + return str; + }; + /** @inheritdoc */ + YAMLCBWriter.prototype.openTagEnd = function (name, selfClosing, voidElement) { + if (selfClosing) { + return " " + this._val(""); + } + return ""; + }; + /** @inheritdoc */ + YAMLCBWriter.prototype.closeTag = function (name) { + this._additionalLevel--; + return ""; + }; + /** @inheritdoc */ + YAMLCBWriter.prototype.beginElement = function (name) { }; + /** @inheritdoc */ + YAMLCBWriter.prototype.endElement = function (name) { }; + /** + * Produces characters to be prepended to a line of string in pretty-print + * mode. + */ + YAMLCBWriter.prototype._beginLine = function (suppressArray) { + if (suppressArray === void 0) { suppressArray = false; } + return (this.hasData ? this._writerOptions.newline : "") + + this._indent(this._writerOptions.offset + this.level, suppressArray); + }; + /** + * Produces an indentation string. + * + * @param level - depth of the tree + * @param suppressArray - whether the suppress array marker + */ + YAMLCBWriter.prototype._indent = function (level, suppressArray) { + if (level + this._additionalLevel <= 0) { + return ""; + } + else { + var chars = this._writerOptions.indent.repeat(level + this._additionalLevel); + if (!suppressArray && this._rootWritten) { + return chars.substr(0, chars.length - 2) + '-' + chars.substr(-1, 1); + } + return chars; + } + }; + /** + * Produces a YAML key string delimited with double quotes. + */ + YAMLCBWriter.prototype._key = function (key) { + return "\"" + key + "\":"; + }; + /** + * Produces a YAML value string delimited with double quotes. + */ + YAMLCBWriter.prototype._val = function (val) { + return JSON.stringify(val); + }; + return YAMLCBWriter; +}(BaseCBWriter_1.BaseCBWriter)); +exports.YAMLCBWriter = YAMLCBWriter; +//# sourceMappingURL=YAMLCBWriter.js.map + +/***/ }), + +/***/ 96517: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +var ObjectWriter_1 = __nccwpck_require__(50243); +var util_1 = __nccwpck_require__(76195); +var BaseWriter_1 = __nccwpck_require__(37644); +/** + * Serializes XML nodes into a YAML string. + */ +var YAMLWriter = /** @class */ (function (_super) { + __extends(YAMLWriter, _super); + /** + * Initializes a new instance of `YAMLWriter`. + * + * @param builderOptions - XML builder options + * @param writerOptions - serialization options + */ + function YAMLWriter(builderOptions, writerOptions) { + var _this = _super.call(this, builderOptions) || this; + // provide default options + _this._writerOptions = util_1.applyDefaults(writerOptions, { + wellFormed: false, + noDoubleEncoding: false, + indent: ' ', + newline: '\n', + offset: 0, + group: false, + verbose: false + }); + if (_this._writerOptions.indent.length < 2) { + throw new Error("YAML indententation string must be at least two characters long."); + } + if (_this._writerOptions.offset < 0) { + throw new Error("YAML offset should be zero or a positive number."); + } + return _this; + } + /** + * Produces an XML serialization of the given node. + * + * @param node - node to serialize + * @param writerOptions - serialization options + */ + YAMLWriter.prototype.serialize = function (node) { + // convert to object + var objectWriterOptions = util_1.applyDefaults(this._writerOptions, { + format: "object", + wellFormed: false, + noDoubleEncoding: false, + }); + var objectWriter = new ObjectWriter_1.ObjectWriter(this._builderOptions, objectWriterOptions); + var val = objectWriter.serialize(node); + var markup = this._beginLine(this._writerOptions, 0) + '---' + this._endLine(this._writerOptions) + + this._convertObject(val, this._writerOptions, 0); + // remove trailing newline + /* istanbul ignore else */ + if (markup.slice(-this._writerOptions.newline.length) === this._writerOptions.newline) { + markup = markup.slice(0, -this._writerOptions.newline.length); + } + return markup; + }; + /** + * Produces an XML serialization of the given object. + * + * @param obj - object to serialize + * @param options - serialization options + * @param level - depth of the XML tree + * @param indentLeaf - indents leaf nodes + */ + YAMLWriter.prototype._convertObject = function (obj, options, level, suppressIndent) { + var e_1, _a; + var _this = this; + if (suppressIndent === void 0) { suppressIndent = false; } + var markup = ''; + if (util_1.isArray(obj)) { + try { + for (var obj_1 = __values(obj), obj_1_1 = obj_1.next(); !obj_1_1.done; obj_1_1 = obj_1.next()) { + var val = obj_1_1.value; + markup += this._beginLine(options, level, true); + if (!util_1.isObject(val)) { + markup += this._val(val) + this._endLine(options); + } + else if (util_1.isEmpty(val)) { + markup += '""' + this._endLine(options); + } + else { + markup += this._convertObject(val, options, level, true); + } + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (obj_1_1 && !obj_1_1.done && (_a = obj_1.return)) _a.call(obj_1); + } + finally { if (e_1) throw e_1.error; } + } + } + else /* if (isObject(obj)) */ { + util_1.forEachObject(obj, function (key, val) { + if (suppressIndent) { + markup += _this._key(key); + suppressIndent = false; + } + else { + markup += _this._beginLine(options, level) + _this._key(key); + } + if (!util_1.isObject(val)) { + markup += ' ' + _this._val(val) + _this._endLine(options); + } + else if (util_1.isEmpty(val)) { + markup += ' ""' + _this._endLine(options); + } + else { + markup += _this._endLine(options) + + _this._convertObject(val, options, level + 1); + } + }, this); + } + return markup; + }; + /** + * Produces characters to be prepended to a line of string in pretty-print + * mode. + * + * @param options - serialization options + * @param level - current depth of the XML tree + * @param isArray - whether this line is an array item + */ + YAMLWriter.prototype._beginLine = function (options, level, isArray) { + if (isArray === void 0) { isArray = false; } + var indentLevel = options.offset + level + 1; + var chars = new Array(indentLevel).join(options.indent); + if (isArray) { + return chars.substr(0, chars.length - 2) + '-' + chars.substr(-1, 1); + } + else { + return chars; + } + }; + /** + * Produces characters to be appended to a line of string in pretty-print + * mode. + * + * @param options - serialization options + */ + YAMLWriter.prototype._endLine = function (options) { + return options.newline; + }; + /** + * Produces a YAML key string delimited with double quotes. + */ + YAMLWriter.prototype._key = function (key) { + return "\"" + key + "\":"; + }; + /** + * Produces a YAML value string delimited with double quotes. + */ + YAMLWriter.prototype._val = function (val) { + return JSON.stringify(val); + }; + return YAMLWriter; +}(BaseWriter_1.BaseWriter)); +exports.YAMLWriter = YAMLWriter; +//# sourceMappingURL=YAMLWriter.js.map + +/***/ }), + +/***/ 17476: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +var MapWriter_1 = __nccwpck_require__(41397); +exports.MapWriter = MapWriter_1.MapWriter; +var XMLWriter_1 = __nccwpck_require__(59606); +exports.XMLWriter = XMLWriter_1.XMLWriter; +var ObjectWriter_1 = __nccwpck_require__(50243); +exports.ObjectWriter = ObjectWriter_1.ObjectWriter; +var JSONWriter_1 = __nccwpck_require__(37510); +exports.JSONWriter = JSONWriter_1.JSONWriter; +var YAMLWriter_1 = __nccwpck_require__(96517); +exports.YAMLWriter = YAMLWriter_1.YAMLWriter; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 10829: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + + +var yaml = __nccwpck_require__(59625); + + +module.exports = yaml; + + +/***/ }), + +/***/ 59625: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + + +var loader = __nccwpck_require__(40342); +var dumper = __nccwpck_require__(98069); + + +function deprecated(name) { + return function () { + throw new Error('Function ' + name + ' is deprecated and cannot be used.'); + }; +} + + +module.exports.Type = __nccwpck_require__(90256); +module.exports.Schema = __nccwpck_require__(66280); +module.exports.FAILSAFE_SCHEMA = __nccwpck_require__(70026); +module.exports.JSON_SCHEMA = __nccwpck_require__(2168); +module.exports.CORE_SCHEMA = __nccwpck_require__(11950); +module.exports.DEFAULT_SAFE_SCHEMA = __nccwpck_require__(42881); +module.exports.DEFAULT_FULL_SCHEMA = __nccwpck_require__(145); +module.exports.load = loader.load; +module.exports.loadAll = loader.loadAll; +module.exports.safeLoad = loader.safeLoad; +module.exports.safeLoadAll = loader.safeLoadAll; +module.exports.dump = dumper.dump; +module.exports.safeDump = dumper.safeDump; +module.exports.YAMLException = __nccwpck_require__(29291); + +// Deprecated schema names from JS-YAML 2.0.x +module.exports.MINIMAL_SCHEMA = __nccwpck_require__(70026); +module.exports.SAFE_SCHEMA = __nccwpck_require__(42881); +module.exports.DEFAULT_SCHEMA = __nccwpck_require__(145); + +// Deprecated functions from JS-YAML 1.x.x +module.exports.scan = deprecated('scan'); +module.exports.parse = deprecated('parse'); +module.exports.compose = deprecated('compose'); +module.exports.addConstructor = deprecated('addConstructor'); + + +/***/ }), + +/***/ 59941: +/***/ ((module) => { + +"use strict"; + + + +function isNothing(subject) { + return (typeof subject === 'undefined') || (subject === null); +} + + +function isObject(subject) { + return (typeof subject === 'object') && (subject !== null); +} + + +function toArray(sequence) { + if (Array.isArray(sequence)) return sequence; + else if (isNothing(sequence)) return []; + + return [ sequence ]; +} + + +function extend(target, source) { + var index, length, key, sourceKeys; + + if (source) { + sourceKeys = Object.keys(source); + + for (index = 0, length = sourceKeys.length; index < length; index += 1) { + key = sourceKeys[index]; + target[key] = source[key]; + } + } + + return target; +} + + +function repeat(string, count) { + var result = '', cycle; + + for (cycle = 0; cycle < count; cycle += 1) { + result += string; + } + + return result; +} + + +function isNegativeZero(number) { + return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number); +} + + +module.exports.isNothing = isNothing; +module.exports.isObject = isObject; +module.exports.toArray = toArray; +module.exports.repeat = repeat; +module.exports.isNegativeZero = isNegativeZero; +module.exports.extend = extend; + + +/***/ }), + +/***/ 98069: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +/*eslint-disable no-use-before-define*/ + +var common = __nccwpck_require__(59941); +var YAMLException = __nccwpck_require__(29291); +var DEFAULT_FULL_SCHEMA = __nccwpck_require__(145); +var DEFAULT_SAFE_SCHEMA = __nccwpck_require__(42881); + +var _toString = Object.prototype.toString; +var _hasOwnProperty = Object.prototype.hasOwnProperty; + +var CHAR_TAB = 0x09; /* Tab */ +var CHAR_LINE_FEED = 0x0A; /* LF */ +var CHAR_CARRIAGE_RETURN = 0x0D; /* CR */ +var CHAR_SPACE = 0x20; /* Space */ +var CHAR_EXCLAMATION = 0x21; /* ! */ +var CHAR_DOUBLE_QUOTE = 0x22; /* " */ +var CHAR_SHARP = 0x23; /* # */ +var CHAR_PERCENT = 0x25; /* % */ +var CHAR_AMPERSAND = 0x26; /* & */ +var CHAR_SINGLE_QUOTE = 0x27; /* ' */ +var CHAR_ASTERISK = 0x2A; /* * */ +var CHAR_COMMA = 0x2C; /* , */ +var CHAR_MINUS = 0x2D; /* - */ +var CHAR_COLON = 0x3A; /* : */ +var CHAR_EQUALS = 0x3D; /* = */ +var CHAR_GREATER_THAN = 0x3E; /* > */ +var CHAR_QUESTION = 0x3F; /* ? */ +var CHAR_COMMERCIAL_AT = 0x40; /* @ */ +var CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */ +var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */ +var CHAR_GRAVE_ACCENT = 0x60; /* ` */ +var CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */ +var CHAR_VERTICAL_LINE = 0x7C; /* | */ +var CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */ + +var ESCAPE_SEQUENCES = {}; + +ESCAPE_SEQUENCES[0x00] = '\\0'; +ESCAPE_SEQUENCES[0x07] = '\\a'; +ESCAPE_SEQUENCES[0x08] = '\\b'; +ESCAPE_SEQUENCES[0x09] = '\\t'; +ESCAPE_SEQUENCES[0x0A] = '\\n'; +ESCAPE_SEQUENCES[0x0B] = '\\v'; +ESCAPE_SEQUENCES[0x0C] = '\\f'; +ESCAPE_SEQUENCES[0x0D] = '\\r'; +ESCAPE_SEQUENCES[0x1B] = '\\e'; +ESCAPE_SEQUENCES[0x22] = '\\"'; +ESCAPE_SEQUENCES[0x5C] = '\\\\'; +ESCAPE_SEQUENCES[0x85] = '\\N'; +ESCAPE_SEQUENCES[0xA0] = '\\_'; +ESCAPE_SEQUENCES[0x2028] = '\\L'; +ESCAPE_SEQUENCES[0x2029] = '\\P'; + +var DEPRECATED_BOOLEANS_SYNTAX = [ + 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', + 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF' +]; + +function compileStyleMap(schema, map) { + var result, keys, index, length, tag, style, type; + + if (map === null) return {}; + + result = {}; + keys = Object.keys(map); + + for (index = 0, length = keys.length; index < length; index += 1) { + tag = keys[index]; + style = String(map[tag]); + + if (tag.slice(0, 2) === '!!') { + tag = 'tag:yaml.org,2002:' + tag.slice(2); + } + type = schema.compiledTypeMap['fallback'][tag]; + + if (type && _hasOwnProperty.call(type.styleAliases, style)) { + style = type.styleAliases[style]; + } + + result[tag] = style; + } + + return result; +} + +function encodeHex(character) { + var string, handle, length; + + string = character.toString(16).toUpperCase(); + + if (character <= 0xFF) { + handle = 'x'; + length = 2; + } else if (character <= 0xFFFF) { + handle = 'u'; + length = 4; + } else if (character <= 0xFFFFFFFF) { + handle = 'U'; + length = 8; + } else { + throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF'); + } + + return '\\' + handle + common.repeat('0', length - string.length) + string; +} + +function State(options) { + this.schema = options['schema'] || DEFAULT_FULL_SCHEMA; + this.indent = Math.max(1, (options['indent'] || 2)); + this.noArrayIndent = options['noArrayIndent'] || false; + this.skipInvalid = options['skipInvalid'] || false; + this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']); + this.styleMap = compileStyleMap(this.schema, options['styles'] || null); + this.sortKeys = options['sortKeys'] || false; + this.lineWidth = options['lineWidth'] || 80; + this.noRefs = options['noRefs'] || false; + this.noCompatMode = options['noCompatMode'] || false; + this.condenseFlow = options['condenseFlow'] || false; + + this.implicitTypes = this.schema.compiledImplicit; + this.explicitTypes = this.schema.compiledExplicit; + + this.tag = null; + this.result = ''; + + this.duplicates = []; + this.usedDuplicates = null; +} + +// Indents every line in a string. Empty lines (\n only) are not indented. +function indentString(string, spaces) { + var ind = common.repeat(' ', spaces), + position = 0, + next = -1, + result = '', + line, + length = string.length; + + while (position < length) { + next = string.indexOf('\n', position); + if (next === -1) { + line = string.slice(position); + position = length; + } else { + line = string.slice(position, next + 1); + position = next + 1; + } + + if (line.length && line !== '\n') result += ind; + + result += line; + } + + return result; +} + +function generateNextLine(state, level) { + return '\n' + common.repeat(' ', state.indent * level); +} + +function testImplicitResolving(state, str) { + var index, length, type; + + for (index = 0, length = state.implicitTypes.length; index < length; index += 1) { + type = state.implicitTypes[index]; + + if (type.resolve(str)) { + return true; + } + } + + return false; +} + +// [33] s-white ::= s-space | s-tab +function isWhitespace(c) { + return c === CHAR_SPACE || c === CHAR_TAB; +} + +// Returns true if the character can be printed without escaping. +// From YAML 1.2: "any allowed characters known to be non-printable +// should also be escaped. [However,] This isn’t mandatory" +// Derived from nb-char - \t - #x85 - #xA0 - #x2028 - #x2029. +function isPrintable(c) { + return (0x00020 <= c && c <= 0x00007E) + || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029) + || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */) + || (0x10000 <= c && c <= 0x10FFFF); +} + +// [34] ns-char ::= nb-char - s-white +// [27] nb-char ::= c-printable - b-char - c-byte-order-mark +// [26] b-char ::= b-line-feed | b-carriage-return +// [24] b-line-feed ::= #xA /* LF */ +// [25] b-carriage-return ::= #xD /* CR */ +// [3] c-byte-order-mark ::= #xFEFF +function isNsChar(c) { + return isPrintable(c) && !isWhitespace(c) + // byte-order-mark + && c !== 0xFEFF + // b-char + && c !== CHAR_CARRIAGE_RETURN + && c !== CHAR_LINE_FEED; +} + +// Simplified test for values allowed after the first character in plain style. +function isPlainSafe(c, prev) { + // Uses a subset of nb-char - c-flow-indicator - ":" - "#" + // where nb-char ::= c-printable - b-char - c-byte-order-mark. + return isPrintable(c) && c !== 0xFEFF + // - c-flow-indicator + && c !== CHAR_COMMA + && c !== CHAR_LEFT_SQUARE_BRACKET + && c !== CHAR_RIGHT_SQUARE_BRACKET + && c !== CHAR_LEFT_CURLY_BRACKET + && c !== CHAR_RIGHT_CURLY_BRACKET + // - ":" - "#" + // /* An ns-char preceding */ "#" + && c !== CHAR_COLON + && ((c !== CHAR_SHARP) || (prev && isNsChar(prev))); +} + +// Simplified test for values allowed as the first character in plain style. +function isPlainSafeFirst(c) { + // Uses a subset of ns-char - c-indicator + // where ns-char = nb-char - s-white. + return isPrintable(c) && c !== 0xFEFF + && !isWhitespace(c) // - s-white + // - (c-indicator ::= + // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}” + && c !== CHAR_MINUS + && c !== CHAR_QUESTION + && c !== CHAR_COLON + && c !== CHAR_COMMA + && c !== CHAR_LEFT_SQUARE_BRACKET + && c !== CHAR_RIGHT_SQUARE_BRACKET + && c !== CHAR_LEFT_CURLY_BRACKET + && c !== CHAR_RIGHT_CURLY_BRACKET + // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “"” + && c !== CHAR_SHARP + && c !== CHAR_AMPERSAND + && c !== CHAR_ASTERISK + && c !== CHAR_EXCLAMATION + && c !== CHAR_VERTICAL_LINE + && c !== CHAR_EQUALS + && c !== CHAR_GREATER_THAN + && c !== CHAR_SINGLE_QUOTE + && c !== CHAR_DOUBLE_QUOTE + // | “%” | “@” | “`”) + && c !== CHAR_PERCENT + && c !== CHAR_COMMERCIAL_AT + && c !== CHAR_GRAVE_ACCENT; +} + +// Determines whether block indentation indicator is required. +function needIndentIndicator(string) { + var leadingSpaceRe = /^\n* /; + return leadingSpaceRe.test(string); +} + +var STYLE_PLAIN = 1, + STYLE_SINGLE = 2, + STYLE_LITERAL = 3, + STYLE_FOLDED = 4, + STYLE_DOUBLE = 5; + +// Determines which scalar styles are possible and returns the preferred style. +// lineWidth = -1 => no limit. +// Pre-conditions: str.length > 0. +// Post-conditions: +// STYLE_PLAIN or STYLE_SINGLE => no \n are in the string. +// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1). +// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1). +function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) { + var i; + var char, prev_char; + var hasLineBreak = false; + var hasFoldableLine = false; // only checked if shouldTrackWidth + var shouldTrackWidth = lineWidth !== -1; + var previousLineBreak = -1; // count the first line correctly + var plain = isPlainSafeFirst(string.charCodeAt(0)) + && !isWhitespace(string.charCodeAt(string.length - 1)); + + if (singleLineOnly) { + // Case: no block styles. + // Check for disallowed characters to rule out plain and single. + for (i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + prev_char = i > 0 ? string.charCodeAt(i - 1) : null; + plain = plain && isPlainSafe(char, prev_char); + } + } else { + // Case: block styles permitted. + for (i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + if (char === CHAR_LINE_FEED) { + hasLineBreak = true; + // Check if any line can be folded. + if (shouldTrackWidth) { + hasFoldableLine = hasFoldableLine || + // Foldable line = too long, and not more-indented. + (i - previousLineBreak - 1 > lineWidth && + string[previousLineBreak + 1] !== ' '); + previousLineBreak = i; + } + } else if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + prev_char = i > 0 ? string.charCodeAt(i - 1) : null; + plain = plain && isPlainSafe(char, prev_char); + } + // in case the end is missing a \n + hasFoldableLine = hasFoldableLine || (shouldTrackWidth && + (i - previousLineBreak - 1 > lineWidth && + string[previousLineBreak + 1] !== ' ')); + } + // Although every style can represent \n without escaping, prefer block styles + // for multiline, since they're more readable and they don't add empty lines. + // Also prefer folding a super-long line. + if (!hasLineBreak && !hasFoldableLine) { + // Strings interpretable as another type have to be quoted; + // e.g. the string 'true' vs. the boolean true. + return plain && !testAmbiguousType(string) + ? STYLE_PLAIN : STYLE_SINGLE; + } + // Edge case: block indentation indicator can only have one digit. + if (indentPerLevel > 9 && needIndentIndicator(string)) { + return STYLE_DOUBLE; + } + // At this point we know block styles are valid. + // Prefer literal style unless we want to fold. + return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL; +} + +// Note: line breaking/folding is implemented for only the folded style. +// NB. We drop the last trailing newline (if any) of a returned block scalar +// since the dumper adds its own newline. This always works: +// • No ending newline => unaffected; already using strip "-" chomping. +// • Ending newline => removed then restored. +// Importantly, this keeps the "+" chomp indicator from gaining an extra line. +function writeScalar(state, string, level, iskey) { + state.dump = (function () { + if (string.length === 0) { + return "''"; + } + if (!state.noCompatMode && + DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) { + return "'" + string + "'"; + } + + var indent = state.indent * Math.max(1, level); // no 0-indent scalars + // As indentation gets deeper, let the width decrease monotonically + // to the lower bound min(state.lineWidth, 40). + // Note that this implies + // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound. + // state.lineWidth > 40 + state.indent: width decreases until the lower bound. + // This behaves better than a constant minimum width which disallows narrower options, + // or an indent threshold which causes the width to suddenly increase. + var lineWidth = state.lineWidth === -1 + ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent); + + // Without knowing if keys are implicit/explicit, assume implicit for safety. + var singleLineOnly = iskey + // No block styles in flow mode. + || (state.flowLevel > -1 && level >= state.flowLevel); + function testAmbiguity(string) { + return testImplicitResolving(state, string); + } + + switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) { + case STYLE_PLAIN: + return string; + case STYLE_SINGLE: + return "'" + string.replace(/'/g, "''") + "'"; + case STYLE_LITERAL: + return '|' + blockHeader(string, state.indent) + + dropEndingNewline(indentString(string, indent)); + case STYLE_FOLDED: + return '>' + blockHeader(string, state.indent) + + dropEndingNewline(indentString(foldString(string, lineWidth), indent)); + case STYLE_DOUBLE: + return '"' + escapeString(string, lineWidth) + '"'; + default: + throw new YAMLException('impossible error: invalid scalar style'); + } + }()); +} + +// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9. +function blockHeader(string, indentPerLevel) { + var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : ''; + + // note the special case: the string '\n' counts as a "trailing" empty line. + var clip = string[string.length - 1] === '\n'; + var keep = clip && (string[string.length - 2] === '\n' || string === '\n'); + var chomp = keep ? '+' : (clip ? '' : '-'); + + return indentIndicator + chomp + '\n'; +} + +// (See the note for writeScalar.) +function dropEndingNewline(string) { + return string[string.length - 1] === '\n' ? string.slice(0, -1) : string; +} + +// Note: a long line without a suitable break point will exceed the width limit. +// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0. +function foldString(string, width) { + // In folded style, $k$ consecutive newlines output as $k+1$ newlines— + // unless they're before or after a more-indented line, or at the very + // beginning or end, in which case $k$ maps to $k$. + // Therefore, parse each chunk as newline(s) followed by a content line. + var lineRe = /(\n+)([^\n]*)/g; + + // first line (possibly an empty line) + var result = (function () { + var nextLF = string.indexOf('\n'); + nextLF = nextLF !== -1 ? nextLF : string.length; + lineRe.lastIndex = nextLF; + return foldLine(string.slice(0, nextLF), width); + }()); + // If we haven't reached the first content line yet, don't add an extra \n. + var prevMoreIndented = string[0] === '\n' || string[0] === ' '; + var moreIndented; + + // rest of the lines + var match; + while ((match = lineRe.exec(string))) { + var prefix = match[1], line = match[2]; + moreIndented = (line[0] === ' '); + result += prefix + + (!prevMoreIndented && !moreIndented && line !== '' + ? '\n' : '') + + foldLine(line, width); + prevMoreIndented = moreIndented; + } + + return result; +} + +// Greedy line breaking. +// Picks the longest line under the limit each time, +// otherwise settles for the shortest line over the limit. +// NB. More-indented lines *cannot* be folded, as that would add an extra \n. +function foldLine(line, width) { + if (line === '' || line[0] === ' ') return line; + + // Since a more-indented line adds a \n, breaks can't be followed by a space. + var breakRe = / [^ ]/g; // note: the match index will always be <= length-2. + var match; + // start is an inclusive index. end, curr, and next are exclusive. + var start = 0, end, curr = 0, next = 0; + var result = ''; + + // Invariants: 0 <= start <= length-1. + // 0 <= curr <= next <= max(0, length-2). curr - start <= width. + // Inside the loop: + // A match implies length >= 2, so curr and next are <= length-2. + while ((match = breakRe.exec(line))) { + next = match.index; + // maintain invariant: curr - start <= width + if (next - start > width) { + end = (curr > start) ? curr : next; // derive end <= length-2 + result += '\n' + line.slice(start, end); + // skip the space that was output as \n + start = end + 1; // derive start <= length-1 + } + curr = next; + } + + // By the invariants, start <= length-1, so there is something left over. + // It is either the whole string or a part starting from non-whitespace. + result += '\n'; + // Insert a break if the remainder is too long and there is a break available. + if (line.length - start > width && curr > start) { + result += line.slice(start, curr) + '\n' + line.slice(curr + 1); + } else { + result += line.slice(start); + } + + return result.slice(1); // drop extra \n joiner +} + +// Escapes a double-quoted string. +function escapeString(string) { + var result = ''; + var char, nextChar; + var escapeSeq; + + for (var i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + // Check for surrogate pairs (reference Unicode 3.0 section "3.7 Surrogates"). + if (char >= 0xD800 && char <= 0xDBFF/* high surrogate */) { + nextChar = string.charCodeAt(i + 1); + if (nextChar >= 0xDC00 && nextChar <= 0xDFFF/* low surrogate */) { + // Combine the surrogate pair and store it escaped. + result += encodeHex((char - 0xD800) * 0x400 + nextChar - 0xDC00 + 0x10000); + // Advance index one extra since we already used that char here. + i++; continue; + } + } + escapeSeq = ESCAPE_SEQUENCES[char]; + result += !escapeSeq && isPrintable(char) + ? string[i] + : escapeSeq || encodeHex(char); + } + + return result; +} + +function writeFlowSequence(state, level, object) { + var _result = '', + _tag = state.tag, + index, + length; + + for (index = 0, length = object.length; index < length; index += 1) { + // Write only valid elements. + if (writeNode(state, level, object[index], false, false)) { + if (index !== 0) _result += ',' + (!state.condenseFlow ? ' ' : ''); + _result += state.dump; + } + } + + state.tag = _tag; + state.dump = '[' + _result + ']'; +} + +function writeBlockSequence(state, level, object, compact) { + var _result = '', + _tag = state.tag, + index, + length; + + for (index = 0, length = object.length; index < length; index += 1) { + // Write only valid elements. + if (writeNode(state, level + 1, object[index], true, true)) { + if (!compact || index !== 0) { + _result += generateNextLine(state, level); + } + + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + _result += '-'; + } else { + _result += '- '; + } + + _result += state.dump; + } + } + + state.tag = _tag; + state.dump = _result || '[]'; // Empty sequence if no valid values. +} + +function writeFlowMapping(state, level, object) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + pairBuffer; + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + + pairBuffer = ''; + if (index !== 0) pairBuffer += ', '; + + if (state.condenseFlow) pairBuffer += '"'; + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + if (!writeNode(state, level, objectKey, false, false)) { + continue; // Skip this pair because of invalid key; + } + + if (state.dump.length > 1024) pairBuffer += '? '; + + pairBuffer += state.dump + (state.condenseFlow ? '"' : '') + ':' + (state.condenseFlow ? '' : ' '); + + if (!writeNode(state, level, objectValue, false, false)) { + continue; // Skip this pair because of invalid value. + } + + pairBuffer += state.dump; + + // Both key and value are valid. + _result += pairBuffer; + } + + state.tag = _tag; + state.dump = '{' + _result + '}'; +} + +function writeBlockMapping(state, level, object, compact) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + explicitPair, + pairBuffer; + + // Allow sorting keys so that the output file is deterministic + if (state.sortKeys === true) { + // Default sorting + objectKeyList.sort(); + } else if (typeof state.sortKeys === 'function') { + // Custom sort function + objectKeyList.sort(state.sortKeys); + } else if (state.sortKeys) { + // Something is wrong + throw new YAMLException('sortKeys must be a boolean or a function'); + } + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + pairBuffer = ''; + + if (!compact || index !== 0) { + pairBuffer += generateNextLine(state, level); + } + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + if (!writeNode(state, level + 1, objectKey, true, true, true)) { + continue; // Skip this pair because of invalid key. + } + + explicitPair = (state.tag !== null && state.tag !== '?') || + (state.dump && state.dump.length > 1024); + + if (explicitPair) { + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += '?'; + } else { + pairBuffer += '? '; + } + } + + pairBuffer += state.dump; + + if (explicitPair) { + pairBuffer += generateNextLine(state, level); + } + + if (!writeNode(state, level + 1, objectValue, true, explicitPair)) { + continue; // Skip this pair because of invalid value. + } + + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += ':'; + } else { + pairBuffer += ': '; + } + + pairBuffer += state.dump; + + // Both key and value are valid. + _result += pairBuffer; + } + + state.tag = _tag; + state.dump = _result || '{}'; // Empty mapping if no valid pairs. +} + +function detectType(state, object, explicit) { + var _result, typeList, index, length, type, style; + + typeList = explicit ? state.explicitTypes : state.implicitTypes; + + for (index = 0, length = typeList.length; index < length; index += 1) { + type = typeList[index]; + + if ((type.instanceOf || type.predicate) && + (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) && + (!type.predicate || type.predicate(object))) { + + state.tag = explicit ? type.tag : '?'; + + if (type.represent) { + style = state.styleMap[type.tag] || type.defaultStyle; + + if (_toString.call(type.represent) === '[object Function]') { + _result = type.represent(object, style); + } else if (_hasOwnProperty.call(type.represent, style)) { + _result = type.represent[style](object, style); + } else { + throw new YAMLException('!<' + type.tag + '> tag resolver accepts not "' + style + '" style'); + } + + state.dump = _result; + } + + return true; + } + } + + return false; +} + +// Serializes `object` and writes it to global `result`. +// Returns true on success, or false on invalid object. +// +function writeNode(state, level, object, block, compact, iskey) { + state.tag = null; + state.dump = object; + + if (!detectType(state, object, false)) { + detectType(state, object, true); + } + + var type = _toString.call(state.dump); + + if (block) { + block = (state.flowLevel < 0 || state.flowLevel > level); + } + + var objectOrArray = type === '[object Object]' || type === '[object Array]', + duplicateIndex, + duplicate; + + if (objectOrArray) { + duplicateIndex = state.duplicates.indexOf(object); + duplicate = duplicateIndex !== -1; + } + + if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) { + compact = false; + } + + if (duplicate && state.usedDuplicates[duplicateIndex]) { + state.dump = '*ref_' + duplicateIndex; + } else { + if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) { + state.usedDuplicates[duplicateIndex] = true; + } + if (type === '[object Object]') { + if (block && (Object.keys(state.dump).length !== 0)) { + writeBlockMapping(state, level, state.dump, compact); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowMapping(state, level, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object Array]') { + var arrayLevel = (state.noArrayIndent && (level > 0)) ? level - 1 : level; + if (block && (state.dump.length !== 0)) { + writeBlockSequence(state, arrayLevel, state.dump, compact); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowSequence(state, arrayLevel, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object String]') { + if (state.tag !== '?') { + writeScalar(state, state.dump, level, iskey); + } + } else { + if (state.skipInvalid) return false; + throw new YAMLException('unacceptable kind of an object to dump ' + type); + } + + if (state.tag !== null && state.tag !== '?') { + state.dump = '!<' + state.tag + '> ' + state.dump; + } + } + + return true; +} + +function getDuplicateReferences(object, state) { + var objects = [], + duplicatesIndexes = [], + index, + length; + + inspectNode(object, objects, duplicatesIndexes); + + for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) { + state.duplicates.push(objects[duplicatesIndexes[index]]); + } + state.usedDuplicates = new Array(length); +} + +function inspectNode(object, objects, duplicatesIndexes) { + var objectKeyList, + index, + length; + + if (object !== null && typeof object === 'object') { + index = objects.indexOf(object); + if (index !== -1) { + if (duplicatesIndexes.indexOf(index) === -1) { + duplicatesIndexes.push(index); + } + } else { + objects.push(object); + + if (Array.isArray(object)) { + for (index = 0, length = object.length; index < length; index += 1) { + inspectNode(object[index], objects, duplicatesIndexes); + } + } else { + objectKeyList = Object.keys(object); + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes); + } + } + } + } +} + +function dump(input, options) { + options = options || {}; + + var state = new State(options); + + if (!state.noRefs) getDuplicateReferences(input, state); + + if (writeNode(state, 0, input, true, true)) return state.dump + '\n'; + + return ''; +} + +function safeDump(input, options) { + return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); +} + +module.exports.dump = dump; +module.exports.safeDump = safeDump; + + +/***/ }), + +/***/ 29291: +/***/ ((module) => { + +"use strict"; +// YAML error class. http://stackoverflow.com/questions/8458984 +// + + +function YAMLException(reason, mark) { + // Super constructor + Error.call(this); + + this.name = 'YAMLException'; + this.reason = reason; + this.mark = mark; + this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : ''); + + // Include stack trace in error object + if (Error.captureStackTrace) { + // Chrome and NodeJS + Error.captureStackTrace(this, this.constructor); + } else { + // FF, IE 10+ and Safari 6+. Fallback for others + this.stack = (new Error()).stack || ''; + } +} + + +// Inherit from Error +YAMLException.prototype = Object.create(Error.prototype); +YAMLException.prototype.constructor = YAMLException; + + +YAMLException.prototype.toString = function toString(compact) { + var result = this.name + ': '; + + result += this.reason || '(unknown reason)'; + + if (!compact && this.mark) { + result += ' ' + this.mark.toString(); + } + + return result; +}; + + +module.exports = YAMLException; + + +/***/ }), + +/***/ 40342: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +/*eslint-disable max-len,no-use-before-define*/ + +var common = __nccwpck_require__(59941); +var YAMLException = __nccwpck_require__(29291); +var Mark = __nccwpck_require__(77262); +var DEFAULT_SAFE_SCHEMA = __nccwpck_require__(42881); +var DEFAULT_FULL_SCHEMA = __nccwpck_require__(145); + + +var _hasOwnProperty = Object.prototype.hasOwnProperty; + + +var CONTEXT_FLOW_IN = 1; +var CONTEXT_FLOW_OUT = 2; +var CONTEXT_BLOCK_IN = 3; +var CONTEXT_BLOCK_OUT = 4; + + +var CHOMPING_CLIP = 1; +var CHOMPING_STRIP = 2; +var CHOMPING_KEEP = 3; + + +var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; +var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; +var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; +var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; + + +function _class(obj) { return Object.prototype.toString.call(obj); } + +function is_EOL(c) { + return (c === 0x0A/* LF */) || (c === 0x0D/* CR */); +} + +function is_WHITE_SPACE(c) { + return (c === 0x09/* Tab */) || (c === 0x20/* Space */); +} + +function is_WS_OR_EOL(c) { + return (c === 0x09/* Tab */) || + (c === 0x20/* Space */) || + (c === 0x0A/* LF */) || + (c === 0x0D/* CR */); +} + +function is_FLOW_INDICATOR(c) { + return c === 0x2C/* , */ || + c === 0x5B/* [ */ || + c === 0x5D/* ] */ || + c === 0x7B/* { */ || + c === 0x7D/* } */; +} + +function fromHexCode(c) { + var lc; + + if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { + return c - 0x30; + } + + /*eslint-disable no-bitwise*/ + lc = c | 0x20; + + if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) { + return lc - 0x61 + 10; + } + + return -1; +} + +function escapedHexLen(c) { + if (c === 0x78/* x */) { return 2; } + if (c === 0x75/* u */) { return 4; } + if (c === 0x55/* U */) { return 8; } + return 0; +} + +function fromDecimalCode(c) { + if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { + return c - 0x30; + } + + return -1; +} + +function simpleEscapeSequence(c) { + /* eslint-disable indent */ + return (c === 0x30/* 0 */) ? '\x00' : + (c === 0x61/* a */) ? '\x07' : + (c === 0x62/* b */) ? '\x08' : + (c === 0x74/* t */) ? '\x09' : + (c === 0x09/* Tab */) ? '\x09' : + (c === 0x6E/* n */) ? '\x0A' : + (c === 0x76/* v */) ? '\x0B' : + (c === 0x66/* f */) ? '\x0C' : + (c === 0x72/* r */) ? '\x0D' : + (c === 0x65/* e */) ? '\x1B' : + (c === 0x20/* Space */) ? ' ' : + (c === 0x22/* " */) ? '\x22' : + (c === 0x2F/* / */) ? '/' : + (c === 0x5C/* \ */) ? '\x5C' : + (c === 0x4E/* N */) ? '\x85' : + (c === 0x5F/* _ */) ? '\xA0' : + (c === 0x4C/* L */) ? '\u2028' : + (c === 0x50/* P */) ? '\u2029' : ''; +} + +function charFromCodepoint(c) { + if (c <= 0xFFFF) { + return String.fromCharCode(c); + } + // Encode UTF-16 surrogate pair + // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF + return String.fromCharCode( + ((c - 0x010000) >> 10) + 0xD800, + ((c - 0x010000) & 0x03FF) + 0xDC00 + ); +} + +var simpleEscapeCheck = new Array(256); // integer, for fast access +var simpleEscapeMap = new Array(256); +for (var i = 0; i < 256; i++) { + simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; + simpleEscapeMap[i] = simpleEscapeSequence(i); +} + + +function State(input, options) { + this.input = input; + + this.filename = options['filename'] || null; + this.schema = options['schema'] || DEFAULT_FULL_SCHEMA; + this.onWarning = options['onWarning'] || null; + this.legacy = options['legacy'] || false; + this.json = options['json'] || false; + this.listener = options['listener'] || null; + + this.implicitTypes = this.schema.compiledImplicit; + this.typeMap = this.schema.compiledTypeMap; + + this.length = input.length; + this.position = 0; + this.line = 0; + this.lineStart = 0; + this.lineIndent = 0; + + this.documents = []; + + /* + this.version; + this.checkLineBreaks; + this.tagMap; + this.anchorMap; + this.tag; + this.anchor; + this.kind; + this.result;*/ + +} + + +function generateError(state, message) { + return new YAMLException( + message, + new Mark(state.filename, state.input, state.position, state.line, (state.position - state.lineStart))); +} + +function throwError(state, message) { + throw generateError(state, message); +} + +function throwWarning(state, message) { + if (state.onWarning) { + state.onWarning.call(null, generateError(state, message)); + } +} + + +var directiveHandlers = { + + YAML: function handleYamlDirective(state, name, args) { + + var match, major, minor; + + if (state.version !== null) { + throwError(state, 'duplication of %YAML directive'); + } + + if (args.length !== 1) { + throwError(state, 'YAML directive accepts exactly one argument'); + } + + match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); + + if (match === null) { + throwError(state, 'ill-formed argument of the YAML directive'); + } + + major = parseInt(match[1], 10); + minor = parseInt(match[2], 10); + + if (major !== 1) { + throwError(state, 'unacceptable YAML version of the document'); + } + + state.version = args[0]; + state.checkLineBreaks = (minor < 2); + + if (minor !== 1 && minor !== 2) { + throwWarning(state, 'unsupported YAML version of the document'); + } + }, + + TAG: function handleTagDirective(state, name, args) { + + var handle, prefix; + + if (args.length !== 2) { + throwError(state, 'TAG directive accepts exactly two arguments'); + } + + handle = args[0]; + prefix = args[1]; + + if (!PATTERN_TAG_HANDLE.test(handle)) { + throwError(state, 'ill-formed tag handle (first argument) of the TAG directive'); + } + + if (_hasOwnProperty.call(state.tagMap, handle)) { + throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle'); + } + + if (!PATTERN_TAG_URI.test(prefix)) { + throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive'); + } + + state.tagMap[handle] = prefix; + } +}; + + +function captureSegment(state, start, end, checkJson) { + var _position, _length, _character, _result; + + if (start < end) { + _result = state.input.slice(start, end); + + if (checkJson) { + for (_position = 0, _length = _result.length; _position < _length; _position += 1) { + _character = _result.charCodeAt(_position); + if (!(_character === 0x09 || + (0x20 <= _character && _character <= 0x10FFFF))) { + throwError(state, 'expected valid JSON character'); + } + } + } else if (PATTERN_NON_PRINTABLE.test(_result)) { + throwError(state, 'the stream contains non-printable characters'); + } + + state.result += _result; + } +} + +function mergeMappings(state, destination, source, overridableKeys) { + var sourceKeys, key, index, quantity; + + if (!common.isObject(source)) { + throwError(state, 'cannot merge mappings; the provided source object is unacceptable'); + } + + sourceKeys = Object.keys(source); + + for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { + key = sourceKeys[index]; + + if (!_hasOwnProperty.call(destination, key)) { + destination[key] = source[key]; + overridableKeys[key] = true; + } + } +} + +function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) { + var index, quantity; + + // The output is a plain object here, so keys can only be strings. + // We need to convert keyNode to a string, but doing so can hang the process + // (deeply nested arrays that explode exponentially using aliases). + if (Array.isArray(keyNode)) { + keyNode = Array.prototype.slice.call(keyNode); + + for (index = 0, quantity = keyNode.length; index < quantity; index += 1) { + if (Array.isArray(keyNode[index])) { + throwError(state, 'nested arrays are not supported inside keys'); + } + + if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') { + keyNode[index] = '[object Object]'; + } + } + } + + // Avoid code execution in load() via toString property + // (still use its own toString for arrays, timestamps, + // and whatever user schema extensions happen to have @@toStringTag) + if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') { + keyNode = '[object Object]'; + } + + + keyNode = String(keyNode); + + if (_result === null) { + _result = {}; + } + + if (keyTag === 'tag:yaml.org,2002:merge') { + if (Array.isArray(valueNode)) { + for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { + mergeMappings(state, _result, valueNode[index], overridableKeys); + } + } else { + mergeMappings(state, _result, valueNode, overridableKeys); + } + } else { + if (!state.json && + !_hasOwnProperty.call(overridableKeys, keyNode) && + _hasOwnProperty.call(_result, keyNode)) { + state.line = startLine || state.line; + state.position = startPos || state.position; + throwError(state, 'duplicated mapping key'); + } + _result[keyNode] = valueNode; + delete overridableKeys[keyNode]; + } + + return _result; +} + +function readLineBreak(state) { + var ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x0A/* LF */) { + state.position++; + } else if (ch === 0x0D/* CR */) { + state.position++; + if (state.input.charCodeAt(state.position) === 0x0A/* LF */) { + state.position++; + } + } else { + throwError(state, 'a line break is expected'); + } + + state.line += 1; + state.lineStart = state.position; +} + +function skipSeparationSpace(state, allowComments, checkIndent) { + var lineBreaks = 0, + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (allowComments && ch === 0x23/* # */) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0); + } + + if (is_EOL(ch)) { + readLineBreak(state); + + ch = state.input.charCodeAt(state.position); + lineBreaks++; + state.lineIndent = 0; + + while (ch === 0x20/* Space */) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + } else { + break; + } + } + + if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) { + throwWarning(state, 'deficient indentation'); + } + + return lineBreaks; +} + +function testDocumentSeparator(state) { + var _position = state.position, + ch; + + ch = state.input.charCodeAt(_position); + + // Condition state.position === state.lineStart is tested + // in parent on each call, for efficiency. No needs to test here again. + if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) && + ch === state.input.charCodeAt(_position + 1) && + ch === state.input.charCodeAt(_position + 2)) { + + _position += 3; + + ch = state.input.charCodeAt(_position); + + if (ch === 0 || is_WS_OR_EOL(ch)) { + return true; + } + } + + return false; +} + +function writeFoldedLines(state, count) { + if (count === 1) { + state.result += ' '; + } else if (count > 1) { + state.result += common.repeat('\n', count - 1); + } +} + + +function readPlainScalar(state, nodeIndent, withinFlowCollection) { + var preceding, + following, + captureStart, + captureEnd, + hasPendingContent, + _line, + _lineStart, + _lineIndent, + _kind = state.kind, + _result = state.result, + ch; + + ch = state.input.charCodeAt(state.position); + + if (is_WS_OR_EOL(ch) || + is_FLOW_INDICATOR(ch) || + ch === 0x23/* # */ || + ch === 0x26/* & */ || + ch === 0x2A/* * */ || + ch === 0x21/* ! */ || + ch === 0x7C/* | */ || + ch === 0x3E/* > */ || + ch === 0x27/* ' */ || + ch === 0x22/* " */ || + ch === 0x25/* % */ || + ch === 0x40/* @ */ || + ch === 0x60/* ` */) { + return false; + } + + if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following) || + withinFlowCollection && is_FLOW_INDICATOR(following)) { + return false; + } + } + + state.kind = 'scalar'; + state.result = ''; + captureStart = captureEnd = state.position; + hasPendingContent = false; + + while (ch !== 0) { + if (ch === 0x3A/* : */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following) || + withinFlowCollection && is_FLOW_INDICATOR(following)) { + break; + } + + } else if (ch === 0x23/* # */) { + preceding = state.input.charCodeAt(state.position - 1); + + if (is_WS_OR_EOL(preceding)) { + break; + } + + } else if ((state.position === state.lineStart && testDocumentSeparator(state)) || + withinFlowCollection && is_FLOW_INDICATOR(ch)) { + break; + + } else if (is_EOL(ch)) { + _line = state.line; + _lineStart = state.lineStart; + _lineIndent = state.lineIndent; + skipSeparationSpace(state, false, -1); + + if (state.lineIndent >= nodeIndent) { + hasPendingContent = true; + ch = state.input.charCodeAt(state.position); + continue; + } else { + state.position = captureEnd; + state.line = _line; + state.lineStart = _lineStart; + state.lineIndent = _lineIndent; + break; + } + } + + if (hasPendingContent) { + captureSegment(state, captureStart, captureEnd, false); + writeFoldedLines(state, state.line - _line); + captureStart = captureEnd = state.position; + hasPendingContent = false; + } + + if (!is_WHITE_SPACE(ch)) { + captureEnd = state.position + 1; + } + + ch = state.input.charCodeAt(++state.position); + } + + captureSegment(state, captureStart, captureEnd, false); + + if (state.result) { + return true; + } + + state.kind = _kind; + state.result = _result; + return false; +} + +function readSingleQuotedScalar(state, nodeIndent) { + var ch, + captureStart, captureEnd; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x27/* ' */) { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x27/* ' */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x27/* ' */) { + captureStart = state.position; + state.position++; + captureEnd = state.position; + } else { + return true; + } + + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a single quoted scalar'); + + } else { + state.position++; + captureEnd = state.position; + } + } + + throwError(state, 'unexpected end of the stream within a single quoted scalar'); +} + +function readDoubleQuotedScalar(state, nodeIndent) { + var captureStart, + captureEnd, + hexLength, + hexResult, + tmp, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x22/* " */) { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x22/* " */) { + captureSegment(state, captureStart, state.position, true); + state.position++; + return true; + + } else if (ch === 0x5C/* \ */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (is_EOL(ch)) { + skipSeparationSpace(state, false, nodeIndent); + + // TODO: rework to inline fn with no type cast? + } else if (ch < 256 && simpleEscapeCheck[ch]) { + state.result += simpleEscapeMap[ch]; + state.position++; + + } else if ((tmp = escapedHexLen(ch)) > 0) { + hexLength = tmp; + hexResult = 0; + + for (; hexLength > 0; hexLength--) { + ch = state.input.charCodeAt(++state.position); + + if ((tmp = fromHexCode(ch)) >= 0) { + hexResult = (hexResult << 4) + tmp; + + } else { + throwError(state, 'expected hexadecimal character'); + } + } + + state.result += charFromCodepoint(hexResult); + + state.position++; + + } else { + throwError(state, 'unknown escape sequence'); + } + + captureStart = captureEnd = state.position; + + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a double quoted scalar'); + + } else { + state.position++; + captureEnd = state.position; + } + } + + throwError(state, 'unexpected end of the stream within a double quoted scalar'); +} + +function readFlowCollection(state, nodeIndent) { + var readNext = true, + _line, + _tag = state.tag, + _result, + _anchor = state.anchor, + following, + terminator, + isPair, + isExplicitPair, + isMapping, + overridableKeys = {}, + keyNode, + keyTag, + valueNode, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x5B/* [ */) { + terminator = 0x5D;/* ] */ + isMapping = false; + _result = []; + } else if (ch === 0x7B/* { */) { + terminator = 0x7D;/* } */ + isMapping = true; + _result = {}; + } else { + return false; + } + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(++state.position); + + while (ch !== 0) { + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if (ch === terminator) { + state.position++; + state.tag = _tag; + state.anchor = _anchor; + state.kind = isMapping ? 'mapping' : 'sequence'; + state.result = _result; + return true; + } else if (!readNext) { + throwError(state, 'missed comma between flow collection entries'); + } + + keyTag = keyNode = valueNode = null; + isPair = isExplicitPair = false; + + if (ch === 0x3F/* ? */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following)) { + isPair = isExplicitPair = true; + state.position++; + skipSeparationSpace(state, true, nodeIndent); + } + } + + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + keyTag = state.tag; + keyNode = state.result; + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) { + isPair = true; + ch = state.input.charCodeAt(++state.position); + skipSeparationSpace(state, true, nodeIndent); + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + valueNode = state.result; + } + + if (isMapping) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode); + } else if (isPair) { + _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode)); + } else { + _result.push(keyNode); + } + + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x2C/* , */) { + readNext = true; + ch = state.input.charCodeAt(++state.position); + } else { + readNext = false; + } + } + + throwError(state, 'unexpected end of the stream within a flow collection'); +} + +function readBlockScalar(state, nodeIndent) { + var captureStart, + folding, + chomping = CHOMPING_CLIP, + didReadContent = false, + detectedIndent = false, + textIndent = nodeIndent, + emptyLines = 0, + atMoreIndented = false, + tmp, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x7C/* | */) { + folding = false; + } else if (ch === 0x3E/* > */) { + folding = true; + } else { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + + while (ch !== 0) { + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x2B/* + */ || ch === 0x2D/* - */) { + if (CHOMPING_CLIP === chomping) { + chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP; + } else { + throwError(state, 'repeat of a chomping mode identifier'); + } + + } else if ((tmp = fromDecimalCode(ch)) >= 0) { + if (tmp === 0) { + throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one'); + } else if (!detectedIndent) { + textIndent = nodeIndent + tmp - 1; + detectedIndent = true; + } else { + throwError(state, 'repeat of an indentation width identifier'); + } + + } else { + break; + } + } + + if (is_WHITE_SPACE(ch)) { + do { ch = state.input.charCodeAt(++state.position); } + while (is_WHITE_SPACE(ch)); + + if (ch === 0x23/* # */) { + do { ch = state.input.charCodeAt(++state.position); } + while (!is_EOL(ch) && (ch !== 0)); + } + } + + while (ch !== 0) { + readLineBreak(state); + state.lineIndent = 0; + + ch = state.input.charCodeAt(state.position); + + while ((!detectedIndent || state.lineIndent < textIndent) && + (ch === 0x20/* Space */)) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + + if (!detectedIndent && state.lineIndent > textIndent) { + textIndent = state.lineIndent; + } + + if (is_EOL(ch)) { + emptyLines++; + continue; + } + + // End of the scalar. + if (state.lineIndent < textIndent) { + + // Perform the chomping. + if (chomping === CHOMPING_KEEP) { + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } else if (chomping === CHOMPING_CLIP) { + if (didReadContent) { // i.e. only if the scalar is not empty. + state.result += '\n'; + } + } + + // Break this `while` cycle and go to the funciton's epilogue. + break; + } + + // Folded style: use fancy rules to handle line breaks. + if (folding) { + + // Lines starting with white space characters (more-indented lines) are not folded. + if (is_WHITE_SPACE(ch)) { + atMoreIndented = true; + // except for the first content line (cf. Example 8.1) + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + + // End of more-indented block. + } else if (atMoreIndented) { + atMoreIndented = false; + state.result += common.repeat('\n', emptyLines + 1); + + // Just one line break - perceive as the same line. + } else if (emptyLines === 0) { + if (didReadContent) { // i.e. only if we have already read some scalar content. + state.result += ' '; + } + + // Several line breaks - perceive as different lines. + } else { + state.result += common.repeat('\n', emptyLines); + } + + // Literal style: just add exact number of line breaks between content lines. + } else { + // Keep all line breaks except the header line break. + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } + + didReadContent = true; + detectedIndent = true; + emptyLines = 0; + captureStart = state.position; + + while (!is_EOL(ch) && (ch !== 0)) { + ch = state.input.charCodeAt(++state.position); + } + + captureSegment(state, captureStart, state.position, false); + } + + return true; +} + +function readBlockSequence(state, nodeIndent) { + var _line, + _tag = state.tag, + _anchor = state.anchor, + _result = [], + following, + detected = false, + ch; + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + + if (ch !== 0x2D/* - */) { + break; + } + + following = state.input.charCodeAt(state.position + 1); + + if (!is_WS_OR_EOL(following)) { + break; + } + + detected = true; + state.position++; + + if (skipSeparationSpace(state, true, -1)) { + if (state.lineIndent <= nodeIndent) { + _result.push(null); + ch = state.input.charCodeAt(state.position); + continue; + } + } + + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true); + _result.push(state.result); + skipSeparationSpace(state, true, -1); + + ch = state.input.charCodeAt(state.position); + + if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) { + throwError(state, 'bad indentation of a sequence entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'sequence'; + state.result = _result; + return true; + } + return false; +} + +function readBlockMapping(state, nodeIndent, flowIndent) { + var following, + allowCompact, + _line, + _pos, + _tag = state.tag, + _anchor = state.anchor, + _result = {}, + overridableKeys = {}, + keyTag = null, + keyNode = null, + valueNode = null, + atExplicitKey = false, + detected = false, + ch; + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + following = state.input.charCodeAt(state.position + 1); + _line = state.line; // Save the current line. + _pos = state.position; + + // + // Explicit notation case. There are two separate blocks: + // first for the key (denoted by "?") and second for the value (denoted by ":") + // + if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) { + + if (ch === 0x3F/* ? */) { + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = true; + allowCompact = true; + + } else if (atExplicitKey) { + // i.e. 0x3A/* : */ === character after the explicit key. + atExplicitKey = false; + allowCompact = true; + + } else { + throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line'); + } + + state.position += 1; + ch = following; + + // + // Implicit notation case. Flow-style node as the key first, then ":", and the value. + // + } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) { + + if (state.line === _line) { + ch = state.input.charCodeAt(state.position); + + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (ch === 0x3A/* : */) { + ch = state.input.charCodeAt(++state.position); + + if (!is_WS_OR_EOL(ch)) { + throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping'); + } + + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = false; + allowCompact = false; + keyTag = state.tag; + keyNode = state.result; + + } else if (detected) { + throwError(state, 'can not read an implicit mapping pair; a colon is missed'); + + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + + } else if (detected) { + throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key'); + + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + + } else { + break; // Reading is done. Go to the epilogue. + } + + // + // Common reading code for both explicit and implicit notations. + // + if (state.line === _line || state.lineIndent > nodeIndent) { + if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { + if (atExplicitKey) { + keyNode = state.result; + } else { + valueNode = state.result; + } + } + + if (!atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos); + keyTag = keyNode = valueNode = null; + } + + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + } + + if (state.lineIndent > nodeIndent && (ch !== 0)) { + throwError(state, 'bad indentation of a mapping entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + + // + // Epilogue. + // + + // Special case: last mapping's node contains only the key in explicit notation. + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + } + + // Expose the resulting mapping. + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'mapping'; + state.result = _result; + } + + return detected; +} + +function readTagProperty(state) { + var _position, + isVerbatim = false, + isNamed = false, + tagHandle, + tagName, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x21/* ! */) return false; + + if (state.tag !== null) { + throwError(state, 'duplication of a tag property'); + } + + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x3C/* < */) { + isVerbatim = true; + ch = state.input.charCodeAt(++state.position); + + } else if (ch === 0x21/* ! */) { + isNamed = true; + tagHandle = '!!'; + ch = state.input.charCodeAt(++state.position); + + } else { + tagHandle = '!'; + } + + _position = state.position; + + if (isVerbatim) { + do { ch = state.input.charCodeAt(++state.position); } + while (ch !== 0 && ch !== 0x3E/* > */); + + if (state.position < state.length) { + tagName = state.input.slice(_position, state.position); + ch = state.input.charCodeAt(++state.position); + } else { + throwError(state, 'unexpected end of the stream within a verbatim tag'); + } + } else { + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + + if (ch === 0x21/* ! */) { + if (!isNamed) { + tagHandle = state.input.slice(_position - 1, state.position + 1); + + if (!PATTERN_TAG_HANDLE.test(tagHandle)) { + throwError(state, 'named tag handle cannot contain such characters'); + } + + isNamed = true; + _position = state.position + 1; + } else { + throwError(state, 'tag suffix cannot contain exclamation marks'); + } + } + + ch = state.input.charCodeAt(++state.position); + } + + tagName = state.input.slice(_position, state.position); + + if (PATTERN_FLOW_INDICATORS.test(tagName)) { + throwError(state, 'tag suffix cannot contain flow indicator characters'); + } + } + + if (tagName && !PATTERN_TAG_URI.test(tagName)) { + throwError(state, 'tag name cannot contain such characters: ' + tagName); + } + + if (isVerbatim) { + state.tag = tagName; + + } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) { + state.tag = state.tagMap[tagHandle] + tagName; + + } else if (tagHandle === '!') { + state.tag = '!' + tagName; + + } else if (tagHandle === '!!') { + state.tag = 'tag:yaml.org,2002:' + tagName; + + } else { + throwError(state, 'undeclared tag handle "' + tagHandle + '"'); + } + + return true; +} + +function readAnchorProperty(state) { + var _position, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x26/* & */) return false; + + if (state.anchor !== null) { + throwError(state, 'duplication of an anchor property'); + } + + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (state.position === _position) { + throwError(state, 'name of an anchor node must contain at least one character'); + } + + state.anchor = state.input.slice(_position, state.position); + return true; +} + +function readAlias(state) { + var _position, alias, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x2A/* * */) return false; + + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (state.position === _position) { + throwError(state, 'name of an alias node must contain at least one character'); + } + + alias = state.input.slice(_position, state.position); + + if (!state.anchorMap.hasOwnProperty(alias)) { + throwError(state, 'unidentified alias "' + alias + '"'); + } + + state.result = state.anchorMap[alias]; + skipSeparationSpace(state, true, -1); + return true; +} + +function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) { + var allowBlockStyles, + allowBlockScalars, + allowBlockCollections, + indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } + } + + if (indentStatus === 1) { + while (readTagProperty(state) || readAnchorProperty(state)) { + if (skipSeparationSpace(state, true, -1)) { + atNewLine = true; + allowBlockCollections = allowBlockStyles; + + if (state.lineIndent > parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } else { + allowBlockCollections = false; + } + } + } + + if (allowBlockCollections) { + allowBlockCollections = atNewLine || allowCompact; + } + + if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { + if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { + flowIndent = parentIndent; + } else { + flowIndent = parentIndent + 1; + } + + blockIndent = state.position - state.lineStart; + + if (indentStatus === 1) { + if (allowBlockCollections && + (readBlockSequence(state, blockIndent) || + readBlockMapping(state, blockIndent, flowIndent)) || + readFlowCollection(state, flowIndent)) { + hasContent = true; + } else { + if ((allowBlockScalars && readBlockScalar(state, flowIndent)) || + readSingleQuotedScalar(state, flowIndent) || + readDoubleQuotedScalar(state, flowIndent)) { + hasContent = true; + + } else if (readAlias(state)) { + hasContent = true; + + if (state.tag !== null || state.anchor !== null) { + throwError(state, 'alias node should not have any properties'); + } + + } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { + hasContent = true; + + if (state.tag === null) { + state.tag = '?'; + } + } + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else if (indentStatus === 0) { + // Special case: block sequences are allowed to have same indentation level as the parent. + // http://www.yaml.org/spec/1.2/spec.html#id2799784 + hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); + } + } + + if (state.tag !== null && state.tag !== '!') { + if (state.tag === '?') { + // Implicit resolving is not allowed for non-scalar types, and '?' + // non-specific tag is only automatically assigned to plain scalars. + // + // We only need to check kind conformity in case user explicitly assigns '?' + // tag, for example like this: "! [0]" + // + if (state.result !== null && state.kind !== 'scalar') { + throwError(state, 'unacceptable node kind for ! tag; it should be "scalar", not "' + state.kind + '"'); + } + + for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { + type = state.implicitTypes[typeIndex]; + + if (type.resolve(state.result)) { // `state.result` updated in resolver if matched + state.result = type.construct(state.result); + state.tag = type.tag; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + break; + } + } + } else if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) { + type = state.typeMap[state.kind || 'fallback'][state.tag]; + + if (state.result !== null && type.kind !== state.kind) { + throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"'); + } + + if (!type.resolve(state.result)) { // `state.result` updated in resolver if matched + throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag'); + } else { + state.result = type.construct(state.result); + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else { + throwError(state, 'unknown tag !<' + state.tag + '>'); + } + } + + if (state.listener !== null) { + state.listener('close', state); + } + return state.tag !== null || state.anchor !== null || hasContent; +} + +function readDocument(state) { + var documentStart = state.position, + _position, + directiveName, + directiveArgs, + hasDirectives = false, + ch; + + state.version = null; + state.checkLineBreaks = state.legacy; + state.tagMap = {}; + state.anchorMap = {}; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + skipSeparationSpace(state, true, -1); + + ch = state.input.charCodeAt(state.position); + + if (state.lineIndent > 0 || ch !== 0x25/* % */) { + break; + } + + hasDirectives = true; + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + directiveName = state.input.slice(_position, state.position); + directiveArgs = []; + + if (directiveName.length < 1) { + throwError(state, 'directive name must not be less than one character in length'); + } + + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (ch === 0x23/* # */) { + do { ch = state.input.charCodeAt(++state.position); } + while (ch !== 0 && !is_EOL(ch)); + break; + } + + if (is_EOL(ch)) break; + + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + directiveArgs.push(state.input.slice(_position, state.position)); + } + + if (ch !== 0) readLineBreak(state); + + if (_hasOwnProperty.call(directiveHandlers, directiveName)) { + directiveHandlers[directiveName](state, directiveName, directiveArgs); + } else { + throwWarning(state, 'unknown document directive "' + directiveName + '"'); + } + } + + skipSeparationSpace(state, true, -1); + + if (state.lineIndent === 0 && + state.input.charCodeAt(state.position) === 0x2D/* - */ && + state.input.charCodeAt(state.position + 1) === 0x2D/* - */ && + state.input.charCodeAt(state.position + 2) === 0x2D/* - */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + + } else if (hasDirectives) { + throwError(state, 'directives end mark is expected'); + } + + composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); + skipSeparationSpace(state, true, -1); + + if (state.checkLineBreaks && + PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) { + throwWarning(state, 'non-ASCII line breaks are interpreted as content'); + } + + state.documents.push(state.result); + + if (state.position === state.lineStart && testDocumentSeparator(state)) { + + if (state.input.charCodeAt(state.position) === 0x2E/* . */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } + return; + } + + if (state.position < (state.length - 1)) { + throwError(state, 'end of the stream or a document separator is expected'); + } else { + return; + } +} + + +function loadDocuments(input, options) { + input = String(input); + options = options || {}; + + if (input.length !== 0) { + + // Add tailing `\n` if not exists + if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ && + input.charCodeAt(input.length - 1) !== 0x0D/* CR */) { + input += '\n'; + } + + // Strip BOM + if (input.charCodeAt(0) === 0xFEFF) { + input = input.slice(1); + } + } + + var state = new State(input, options); + + var nullpos = input.indexOf('\0'); + + if (nullpos !== -1) { + state.position = nullpos; + throwError(state, 'null byte is not allowed in input'); + } + + // Use 0 as string terminator. That significantly simplifies bounds check. + state.input += '\0'; + + while (state.input.charCodeAt(state.position) === 0x20/* Space */) { + state.lineIndent += 1; + state.position += 1; + } + + while (state.position < (state.length - 1)) { + readDocument(state); + } + + return state.documents; +} + + +function loadAll(input, iterator, options) { + if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') { + options = iterator; + iterator = null; + } + + var documents = loadDocuments(input, options); + + if (typeof iterator !== 'function') { + return documents; + } + + for (var index = 0, length = documents.length; index < length; index += 1) { + iterator(documents[index]); + } +} + + +function load(input, options) { + var documents = loadDocuments(input, options); + + if (documents.length === 0) { + /*eslint-disable no-undefined*/ + return undefined; + } else if (documents.length === 1) { + return documents[0]; + } + throw new YAMLException('expected a single document in the stream, but found more'); +} + + +function safeLoadAll(input, iterator, options) { + if (typeof iterator === 'object' && iterator !== null && typeof options === 'undefined') { + options = iterator; + iterator = null; + } + + return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); +} + + +function safeLoad(input, options) { + return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); +} + + +module.exports.loadAll = loadAll; +module.exports.load = load; +module.exports.safeLoadAll = safeLoadAll; +module.exports.safeLoad = safeLoad; + + +/***/ }), + +/***/ 77262: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + + +var common = __nccwpck_require__(59941); + + +function Mark(name, buffer, position, line, column) { + this.name = name; + this.buffer = buffer; + this.position = position; + this.line = line; + this.column = column; +} + + +Mark.prototype.getSnippet = function getSnippet(indent, maxLength) { + var head, start, tail, end, snippet; + + if (!this.buffer) return null; + + indent = indent || 4; + maxLength = maxLength || 75; + + head = ''; + start = this.position; + + while (start > 0 && '\x00\r\n\x85\u2028\u2029'.indexOf(this.buffer.charAt(start - 1)) === -1) { + start -= 1; + if (this.position - start > (maxLength / 2 - 1)) { + head = ' ... '; + start += 5; + break; + } + } + + tail = ''; + end = this.position; + + while (end < this.buffer.length && '\x00\r\n\x85\u2028\u2029'.indexOf(this.buffer.charAt(end)) === -1) { + end += 1; + if (end - this.position > (maxLength / 2 - 1)) { + tail = ' ... '; + end -= 5; + break; + } + } + + snippet = this.buffer.slice(start, end); + + return common.repeat(' ', indent) + head + snippet + tail + '\n' + + common.repeat(' ', indent + this.position - start + head.length) + '^'; +}; + + +Mark.prototype.toString = function toString(compact) { + var snippet, where = ''; + + if (this.name) { + where += 'in "' + this.name + '" '; + } + + where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1); + + if (!compact) { + snippet = this.getSnippet(); + + if (snippet) { + where += ':\n' + snippet; + } + } + + return where; +}; + + +module.exports = Mark; + + +/***/ }), + +/***/ 66280: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +/*eslint-disable max-len*/ + +var common = __nccwpck_require__(59941); +var YAMLException = __nccwpck_require__(29291); +var Type = __nccwpck_require__(90256); + + +function compileList(schema, name, result) { + var exclude = []; + + schema.include.forEach(function (includedSchema) { + result = compileList(includedSchema, name, result); + }); + + schema[name].forEach(function (currentType) { + result.forEach(function (previousType, previousIndex) { + if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) { + exclude.push(previousIndex); + } + }); + + result.push(currentType); + }); + + return result.filter(function (type, index) { + return exclude.indexOf(index) === -1; + }); +} + + +function compileMap(/* lists... */) { + var result = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {} + }, index, length; + + function collectType(type) { + result[type.kind][type.tag] = result['fallback'][type.tag] = type; + } + + for (index = 0, length = arguments.length; index < length; index += 1) { + arguments[index].forEach(collectType); + } + return result; +} + + +function Schema(definition) { + this.include = definition.include || []; + this.implicit = definition.implicit || []; + this.explicit = definition.explicit || []; + + this.implicit.forEach(function (type) { + if (type.loadKind && type.loadKind !== 'scalar') { + throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'); + } + }); + + this.compiledImplicit = compileList(this, 'implicit', []); + this.compiledExplicit = compileList(this, 'explicit', []); + this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit); +} + + +Schema.DEFAULT = null; + + +Schema.create = function createSchema() { + var schemas, types; + + switch (arguments.length) { + case 1: + schemas = Schema.DEFAULT; + types = arguments[0]; + break; + + case 2: + schemas = arguments[0]; + types = arguments[1]; + break; + + default: + throw new YAMLException('Wrong number of arguments for Schema.create function'); + } + + schemas = common.toArray(schemas); + types = common.toArray(types); + + if (!schemas.every(function (schema) { return schema instanceof Schema; })) { + throw new YAMLException('Specified list of super schemas (or a single Schema object) contains a non-Schema object.'); + } + + if (!types.every(function (type) { return type instanceof Type; })) { + throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + + return new Schema({ + include: schemas, + explicit: types + }); +}; + + +module.exports = Schema; + + +/***/ }), + +/***/ 11950: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; +// Standard YAML's Core schema. +// http://www.yaml.org/spec/1.2/spec.html#id2804923 +// +// NOTE: JS-YAML does not support schema-specific tag resolution restrictions. +// So, Core schema has no distinctions from JSON schema is JS-YAML. + + + + + +var Schema = __nccwpck_require__(66280); + + +module.exports = new Schema({ + include: [ + __nccwpck_require__(2168) + ] +}); + + +/***/ }), + +/***/ 145: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; +// JS-YAML's default schema for `load` function. +// It is not described in the YAML specification. +// +// This schema is based on JS-YAML's default safe schema and includes +// JavaScript-specific types: !!js/undefined, !!js/regexp and !!js/function. +// +// Also this schema is used as default base schema at `Schema.create` function. + + + + + +var Schema = __nccwpck_require__(66280); + + +module.exports = Schema.DEFAULT = new Schema({ + include: [ + __nccwpck_require__(42881) + ], + explicit: [ + __nccwpck_require__(34801), + __nccwpck_require__(77234), + __nccwpck_require__(35361) + ] +}); + + +/***/ }), + +/***/ 42881: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; +// JS-YAML's default schema for `safeLoad` function. +// It is not described in the YAML specification. +// +// This schema is based on standard YAML's Core schema and includes most of +// extra types described at YAML tag repository. (http://yaml.org/type/) + + + + + +var Schema = __nccwpck_require__(66280); + + +module.exports = new Schema({ + include: [ + __nccwpck_require__(11950) + ], + implicit: [ + __nccwpck_require__(82018), + __nccwpck_require__(60194) + ], + explicit: [ + __nccwpck_require__(21716), + __nccwpck_require__(96439), + __nccwpck_require__(33730), + __nccwpck_require__(9047) + ] +}); + + +/***/ }), + +/***/ 70026: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; +// Standard YAML's Failsafe schema. +// http://www.yaml.org/spec/1.2/spec.html#id2802346 + + + + + +var Schema = __nccwpck_require__(66280); + + +module.exports = new Schema({ + explicit: [ + __nccwpck_require__(24649), + __nccwpck_require__(65629), + __nccwpck_require__(15938) + ] +}); + + +/***/ }), + +/***/ 2168: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; +// Standard YAML's JSON schema. +// http://www.yaml.org/spec/1.2/spec.html#id2803231 +// +// NOTE: JS-YAML does not support schema-specific tag resolution restrictions. +// So, this schema is not such strict as defined in the YAML specification. +// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc. + + + + + +var Schema = __nccwpck_require__(66280); + + +module.exports = new Schema({ + include: [ + __nccwpck_require__(70026) + ], + implicit: [ + __nccwpck_require__(26058), + __nccwpck_require__(93195), + __nccwpck_require__(76865), + __nccwpck_require__(16480) + ] +}); + + +/***/ }), + +/***/ 90256: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var YAMLException = __nccwpck_require__(29291); + +var TYPE_CONSTRUCTOR_OPTIONS = [ + 'kind', + 'resolve', + 'construct', + 'instanceOf', + 'predicate', + 'represent', + 'defaultStyle', + 'styleAliases' +]; + +var YAML_NODE_KINDS = [ + 'scalar', + 'sequence', + 'mapping' +]; + +function compileStyleAliases(map) { + var result = {}; + + if (map !== null) { + Object.keys(map).forEach(function (style) { + map[style].forEach(function (alias) { + result[String(alias)] = style; + }); + }); + } + + return result; +} + +function Type(tag, options) { + options = options || {}; + + Object.keys(options).forEach(function (name) { + if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { + throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); + } + }); + + // TODO: Add tag format check. + this.tag = tag; + this.kind = options['kind'] || null; + this.resolve = options['resolve'] || function () { return true; }; + this.construct = options['construct'] || function (data) { return data; }; + this.instanceOf = options['instanceOf'] || null; + this.predicate = options['predicate'] || null; + this.represent = options['represent'] || null; + this.defaultStyle = options['defaultStyle'] || null; + this.styleAliases = compileStyleAliases(options['styleAliases'] || null); + + if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { + throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); + } +} + +module.exports = Type; + + +/***/ }), + +/***/ 21716: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +/*eslint-disable no-bitwise*/ + +var NodeBuffer; + +try { + // A trick for browserified version, to not include `Buffer` shim + var _require = require; + NodeBuffer = _require('buffer').Buffer; +} catch (__) {} + +var Type = __nccwpck_require__(90256); + + +// [ 64, 65, 66 ] -> [ padding, CR, LF ] +var BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r'; + + +function resolveYamlBinary(data) { + if (data === null) return false; + + var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP; + + // Convert one by one. + for (idx = 0; idx < max; idx++) { + code = map.indexOf(data.charAt(idx)); + + // Skip CR/LF + if (code > 64) continue; + + // Fail on illegal characters + if (code < 0) return false; + + bitlen += 6; + } + + // If there are any bits left, source was corrupted + return (bitlen % 8) === 0; +} + +function constructYamlBinary(data) { + var idx, tailbits, + input = data.replace(/[\r\n=]/g, ''), // remove CR/LF & padding to simplify scan + max = input.length, + map = BASE64_MAP, + bits = 0, + result = []; + + // Collect by 6*4 bits (3 bytes) + + for (idx = 0; idx < max; idx++) { + if ((idx % 4 === 0) && idx) { + result.push((bits >> 16) & 0xFF); + result.push((bits >> 8) & 0xFF); + result.push(bits & 0xFF); + } + + bits = (bits << 6) | map.indexOf(input.charAt(idx)); + } + + // Dump tail + + tailbits = (max % 4) * 6; + + if (tailbits === 0) { + result.push((bits >> 16) & 0xFF); + result.push((bits >> 8) & 0xFF); + result.push(bits & 0xFF); + } else if (tailbits === 18) { + result.push((bits >> 10) & 0xFF); + result.push((bits >> 2) & 0xFF); + } else if (tailbits === 12) { + result.push((bits >> 4) & 0xFF); + } + + // Wrap into Buffer for NodeJS and leave Array for browser + if (NodeBuffer) { + // Support node 6.+ Buffer API when available + return NodeBuffer.from ? NodeBuffer.from(result) : new NodeBuffer(result); + } + + return result; +} + +function representYamlBinary(object /*, style*/) { + var result = '', bits = 0, idx, tail, + max = object.length, + map = BASE64_MAP; + + // Convert every three bytes to 4 ASCII characters. + + for (idx = 0; idx < max; idx++) { + if ((idx % 3 === 0) && idx) { + result += map[(bits >> 18) & 0x3F]; + result += map[(bits >> 12) & 0x3F]; + result += map[(bits >> 6) & 0x3F]; + result += map[bits & 0x3F]; + } + + bits = (bits << 8) + object[idx]; + } + + // Dump tail + + tail = max % 3; + + if (tail === 0) { + result += map[(bits >> 18) & 0x3F]; + result += map[(bits >> 12) & 0x3F]; + result += map[(bits >> 6) & 0x3F]; + result += map[bits & 0x3F]; + } else if (tail === 2) { + result += map[(bits >> 10) & 0x3F]; + result += map[(bits >> 4) & 0x3F]; + result += map[(bits << 2) & 0x3F]; + result += map[64]; + } else if (tail === 1) { + result += map[(bits >> 2) & 0x3F]; + result += map[(bits << 4) & 0x3F]; + result += map[64]; + result += map[64]; + } + + return result; +} + +function isBinary(object) { + return NodeBuffer && NodeBuffer.isBuffer(object); +} + +module.exports = new Type('tag:yaml.org,2002:binary', { + kind: 'scalar', + resolve: resolveYamlBinary, + construct: constructYamlBinary, + predicate: isBinary, + represent: representYamlBinary +}); + + +/***/ }), + +/***/ 93195: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(90256); + +function resolveYamlBoolean(data) { + if (data === null) return false; + + var max = data.length; + + return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) || + (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE')); +} + +function constructYamlBoolean(data) { + return data === 'true' || + data === 'True' || + data === 'TRUE'; +} + +function isBoolean(object) { + return Object.prototype.toString.call(object) === '[object Boolean]'; +} + +module.exports = new Type('tag:yaml.org,2002:bool', { + kind: 'scalar', + resolve: resolveYamlBoolean, + construct: constructYamlBoolean, + predicate: isBoolean, + represent: { + lowercase: function (object) { return object ? 'true' : 'false'; }, + uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; }, + camelcase: function (object) { return object ? 'True' : 'False'; } + }, + defaultStyle: 'lowercase' +}); + + +/***/ }), + +/***/ 16480: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var common = __nccwpck_require__(59941); +var Type = __nccwpck_require__(90256); + +var YAML_FLOAT_PATTERN = new RegExp( + // 2.5e4, 2.5 and integers + '^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' + + // .2e4, .2 + // special case, seems not from spec + '|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' + + // 20:59 + '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*' + + // .inf + '|[-+]?\\.(?:inf|Inf|INF)' + + // .nan + '|\\.(?:nan|NaN|NAN))$'); + +function resolveYamlFloat(data) { + if (data === null) return false; + + if (!YAML_FLOAT_PATTERN.test(data) || + // Quick hack to not allow integers end with `_` + // Probably should update regexp & check speed + data[data.length - 1] === '_') { + return false; + } + + return true; +} + +function constructYamlFloat(data) { + var value, sign, base, digits; + + value = data.replace(/_/g, '').toLowerCase(); + sign = value[0] === '-' ? -1 : 1; + digits = []; + + if ('+-'.indexOf(value[0]) >= 0) { + value = value.slice(1); + } + + if (value === '.inf') { + return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; + + } else if (value === '.nan') { + return NaN; + + } else if (value.indexOf(':') >= 0) { + value.split(':').forEach(function (v) { + digits.unshift(parseFloat(v, 10)); + }); + + value = 0.0; + base = 1; + + digits.forEach(function (d) { + value += d * base; + base *= 60; + }); + + return sign * value; + + } + return sign * parseFloat(value, 10); +} + + +var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; + +function representYamlFloat(object, style) { + var res; + + if (isNaN(object)) { + switch (style) { + case 'lowercase': return '.nan'; + case 'uppercase': return '.NAN'; + case 'camelcase': return '.NaN'; + } + } else if (Number.POSITIVE_INFINITY === object) { + switch (style) { + case 'lowercase': return '.inf'; + case 'uppercase': return '.INF'; + case 'camelcase': return '.Inf'; + } + } else if (Number.NEGATIVE_INFINITY === object) { + switch (style) { + case 'lowercase': return '-.inf'; + case 'uppercase': return '-.INF'; + case 'camelcase': return '-.Inf'; + } + } else if (common.isNegativeZero(object)) { + return '-0.0'; + } + + res = object.toString(10); + + // JS stringifier can build scientific format without dots: 5e-100, + // while YAML requres dot: 5.e-100. Fix it with simple hack + + return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res; +} + +function isFloat(object) { + return (Object.prototype.toString.call(object) === '[object Number]') && + (object % 1 !== 0 || common.isNegativeZero(object)); +} + +module.exports = new Type('tag:yaml.org,2002:float', { + kind: 'scalar', + resolve: resolveYamlFloat, + construct: constructYamlFloat, + predicate: isFloat, + represent: representYamlFloat, + defaultStyle: 'lowercase' +}); + + +/***/ }), + +/***/ 76865: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var common = __nccwpck_require__(59941); +var Type = __nccwpck_require__(90256); + +function isHexCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) || + ((0x41/* A */ <= c) && (c <= 0x46/* F */)) || + ((0x61/* a */ <= c) && (c <= 0x66/* f */)); +} + +function isOctCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */)); +} + +function isDecCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)); +} + +function resolveYamlInteger(data) { + if (data === null) return false; + + var max = data.length, + index = 0, + hasDigits = false, + ch; + + if (!max) return false; + + ch = data[index]; + + // sign + if (ch === '-' || ch === '+') { + ch = data[++index]; + } + + if (ch === '0') { + // 0 + if (index + 1 === max) return true; + ch = data[++index]; + + // base 2, base 8, base 16 + + if (ch === 'b') { + // base 2 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (ch !== '0' && ch !== '1') return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + + if (ch === 'x') { + // base 16 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isHexCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + // base 8 + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isOctCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + // base 10 (except 0) or base 60 + + // value should not start with `_`; + if (ch === '_') return false; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (ch === ':') break; + if (!isDecCode(data.charCodeAt(index))) { + return false; + } + hasDigits = true; + } + + // Should have digits and should not end with `_` + if (!hasDigits || ch === '_') return false; + + // if !base60 - done; + if (ch !== ':') return true; + + // base60 almost not used, no needs to optimize + return /^(:[0-5]?[0-9])+$/.test(data.slice(index)); +} + +function constructYamlInteger(data) { + var value = data, sign = 1, ch, base, digits = []; + + if (value.indexOf('_') !== -1) { + value = value.replace(/_/g, ''); + } + + ch = value[0]; + + if (ch === '-' || ch === '+') { + if (ch === '-') sign = -1; + value = value.slice(1); + ch = value[0]; + } + + if (value === '0') return 0; + + if (ch === '0') { + if (value[1] === 'b') return sign * parseInt(value.slice(2), 2); + if (value[1] === 'x') return sign * parseInt(value, 16); + return sign * parseInt(value, 8); + } + + if (value.indexOf(':') !== -1) { + value.split(':').forEach(function (v) { + digits.unshift(parseInt(v, 10)); + }); + + value = 0; + base = 1; + + digits.forEach(function (d) { + value += (d * base); + base *= 60; + }); + + return sign * value; + + } + + return sign * parseInt(value, 10); +} + +function isInteger(object) { + return (Object.prototype.toString.call(object)) === '[object Number]' && + (object % 1 === 0 && !common.isNegativeZero(object)); +} + +module.exports = new Type('tag:yaml.org,2002:int', { + kind: 'scalar', + resolve: resolveYamlInteger, + construct: constructYamlInteger, + predicate: isInteger, + represent: { + binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); }, + octal: function (obj) { return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1); }, + decimal: function (obj) { return obj.toString(10); }, + /* eslint-disable max-len */ + hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); } + }, + defaultStyle: 'decimal', + styleAliases: { + binary: [ 2, 'bin' ], + octal: [ 8, 'oct' ], + decimal: [ 10, 'dec' ], + hexadecimal: [ 16, 'hex' ] + } +}); + + +/***/ }), + +/***/ 35361: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var esprima; + +// Browserified version does not have esprima +// +// 1. For node.js just require module as deps +// 2. For browser try to require mudule via external AMD system. +// If not found - try to fallback to window.esprima. If not +// found too - then fail to parse. +// +try { + // workaround to exclude package from browserify list. + var _require = require; + esprima = _require('esprima'); +} catch (_) { + /* eslint-disable no-redeclare */ + /* global window */ + if (typeof window !== 'undefined') esprima = window.esprima; +} + +var Type = __nccwpck_require__(90256); + +function resolveJavascriptFunction(data) { + if (data === null) return false; + + try { + var source = '(' + data + ')', + ast = esprima.parse(source, { range: true }); + + if (ast.type !== 'Program' || + ast.body.length !== 1 || + ast.body[0].type !== 'ExpressionStatement' || + (ast.body[0].expression.type !== 'ArrowFunctionExpression' && + ast.body[0].expression.type !== 'FunctionExpression')) { + return false; + } + + return true; + } catch (err) { + return false; + } +} + +function constructJavascriptFunction(data) { + /*jslint evil:true*/ + + var source = '(' + data + ')', + ast = esprima.parse(source, { range: true }), + params = [], + body; + + if (ast.type !== 'Program' || + ast.body.length !== 1 || + ast.body[0].type !== 'ExpressionStatement' || + (ast.body[0].expression.type !== 'ArrowFunctionExpression' && + ast.body[0].expression.type !== 'FunctionExpression')) { + throw new Error('Failed to resolve function'); + } + + ast.body[0].expression.params.forEach(function (param) { + params.push(param.name); + }); + + body = ast.body[0].expression.body.range; + + // Esprima's ranges include the first '{' and the last '}' characters on + // function expressions. So cut them out. + if (ast.body[0].expression.body.type === 'BlockStatement') { + /*eslint-disable no-new-func*/ + return new Function(params, source.slice(body[0] + 1, body[1] - 1)); + } + // ES6 arrow functions can omit the BlockStatement. In that case, just return + // the body. + /*eslint-disable no-new-func*/ + return new Function(params, 'return ' + source.slice(body[0], body[1])); +} + +function representJavascriptFunction(object /*, style*/) { + return object.toString(); +} + +function isFunction(object) { + return Object.prototype.toString.call(object) === '[object Function]'; +} + +module.exports = new Type('tag:yaml.org,2002:js/function', { + kind: 'scalar', + resolve: resolveJavascriptFunction, + construct: constructJavascriptFunction, + predicate: isFunction, + represent: representJavascriptFunction +}); + + +/***/ }), + +/***/ 77234: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(90256); + +function resolveJavascriptRegExp(data) { + if (data === null) return false; + if (data.length === 0) return false; + + var regexp = data, + tail = /\/([gim]*)$/.exec(data), + modifiers = ''; + + // if regexp starts with '/' it can have modifiers and must be properly closed + // `/foo/gim` - modifiers tail can be maximum 3 chars + if (regexp[0] === '/') { + if (tail) modifiers = tail[1]; + + if (modifiers.length > 3) return false; + // if expression starts with /, is should be properly terminated + if (regexp[regexp.length - modifiers.length - 1] !== '/') return false; + } + + return true; +} + +function constructJavascriptRegExp(data) { + var regexp = data, + tail = /\/([gim]*)$/.exec(data), + modifiers = ''; + + // `/foo/gim` - tail can be maximum 4 chars + if (regexp[0] === '/') { + if (tail) modifiers = tail[1]; + regexp = regexp.slice(1, regexp.length - modifiers.length - 1); + } + + return new RegExp(regexp, modifiers); +} + +function representJavascriptRegExp(object /*, style*/) { + var result = '/' + object.source + '/'; + + if (object.global) result += 'g'; + if (object.multiline) result += 'm'; + if (object.ignoreCase) result += 'i'; + + return result; +} + +function isRegExp(object) { + return Object.prototype.toString.call(object) === '[object RegExp]'; +} + +module.exports = new Type('tag:yaml.org,2002:js/regexp', { + kind: 'scalar', + resolve: resolveJavascriptRegExp, + construct: constructJavascriptRegExp, + predicate: isRegExp, + represent: representJavascriptRegExp +}); + + +/***/ }), + +/***/ 34801: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(90256); + +function resolveJavascriptUndefined() { + return true; +} + +function constructJavascriptUndefined() { + /*eslint-disable no-undefined*/ + return undefined; +} + +function representJavascriptUndefined() { + return ''; +} + +function isUndefined(object) { + return typeof object === 'undefined'; +} + +module.exports = new Type('tag:yaml.org,2002:js/undefined', { + kind: 'scalar', + resolve: resolveJavascriptUndefined, + construct: constructJavascriptUndefined, + predicate: isUndefined, + represent: representJavascriptUndefined +}); + + +/***/ }), + +/***/ 15938: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(90256); + +module.exports = new Type('tag:yaml.org,2002:map', { + kind: 'mapping', + construct: function (data) { return data !== null ? data : {}; } +}); + + +/***/ }), + +/***/ 60194: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(90256); + +function resolveYamlMerge(data) { + return data === '<<' || data === null; +} + +module.exports = new Type('tag:yaml.org,2002:merge', { + kind: 'scalar', + resolve: resolveYamlMerge +}); + + +/***/ }), + +/***/ 26058: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(90256); + +function resolveYamlNull(data) { + if (data === null) return true; + + var max = data.length; + + return (max === 1 && data === '~') || + (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL')); +} + +function constructYamlNull() { + return null; +} + +function isNull(object) { + return object === null; +} + +module.exports = new Type('tag:yaml.org,2002:null', { + kind: 'scalar', + resolve: resolveYamlNull, + construct: constructYamlNull, + predicate: isNull, + represent: { + canonical: function () { return '~'; }, + lowercase: function () { return 'null'; }, + uppercase: function () { return 'NULL'; }, + camelcase: function () { return 'Null'; } + }, + defaultStyle: 'lowercase' +}); + + +/***/ }), + +/***/ 96439: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(90256); + +var _hasOwnProperty = Object.prototype.hasOwnProperty; +var _toString = Object.prototype.toString; + +function resolveYamlOmap(data) { + if (data === null) return true; + + var objectKeys = [], index, length, pair, pairKey, pairHasKey, + object = data; + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + pairHasKey = false; + + if (_toString.call(pair) !== '[object Object]') return false; + + for (pairKey in pair) { + if (_hasOwnProperty.call(pair, pairKey)) { + if (!pairHasKey) pairHasKey = true; + else return false; + } + } + + if (!pairHasKey) return false; + + if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey); + else return false; + } + + return true; +} + +function constructYamlOmap(data) { + return data !== null ? data : []; +} + +module.exports = new Type('tag:yaml.org,2002:omap', { + kind: 'sequence', + resolve: resolveYamlOmap, + construct: constructYamlOmap +}); + + +/***/ }), + +/***/ 33730: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(90256); + +var _toString = Object.prototype.toString; + +function resolveYamlPairs(data) { + if (data === null) return true; + + var index, length, pair, keys, result, + object = data; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + if (_toString.call(pair) !== '[object Object]') return false; + + keys = Object.keys(pair); + + if (keys.length !== 1) return false; + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return true; +} + +function constructYamlPairs(data) { + if (data === null) return []; + + var index, length, pair, keys, result, + object = data; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + keys = Object.keys(pair); + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return result; +} + +module.exports = new Type('tag:yaml.org,2002:pairs', { + kind: 'sequence', + resolve: resolveYamlPairs, + construct: constructYamlPairs +}); + + +/***/ }), + +/***/ 65629: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(90256); + +module.exports = new Type('tag:yaml.org,2002:seq', { + kind: 'sequence', + construct: function (data) { return data !== null ? data : []; } +}); + + +/***/ }), + +/***/ 9047: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(90256); + +var _hasOwnProperty = Object.prototype.hasOwnProperty; + +function resolveYamlSet(data) { + if (data === null) return true; + + var key, object = data; + + for (key in object) { + if (_hasOwnProperty.call(object, key)) { + if (object[key] !== null) return false; + } + } + + return true; +} + +function constructYamlSet(data) { + return data !== null ? data : {}; +} + +module.exports = new Type('tag:yaml.org,2002:set', { + kind: 'mapping', + resolve: resolveYamlSet, + construct: constructYamlSet +}); + + +/***/ }), + +/***/ 24649: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(90256); + +module.exports = new Type('tag:yaml.org,2002:str', { + kind: 'scalar', + construct: function (data) { return data !== null ? data : ''; } +}); + + +/***/ }), + +/***/ 82018: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(90256); + +var YAML_DATE_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9])' + // [2] month + '-([0-9][0-9])$'); // [3] day + +var YAML_TIMESTAMP_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9]?)' + // [2] month + '-([0-9][0-9]?)' + // [3] day + '(?:[Tt]|[ \\t]+)' + // ... + '([0-9][0-9]?)' + // [4] hour + ':([0-9][0-9])' + // [5] minute + ':([0-9][0-9])' + // [6] second + '(?:\\.([0-9]*))?' + // [7] fraction + '(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour + '(?::([0-9][0-9]))?))?$'); // [11] tz_minute + +function resolveYamlTimestamp(data) { + if (data === null) return false; + if (YAML_DATE_REGEXP.exec(data) !== null) return true; + if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true; + return false; +} + +function constructYamlTimestamp(data) { + var match, year, month, day, hour, minute, second, fraction = 0, + delta = null, tz_hour, tz_minute, date; + + match = YAML_DATE_REGEXP.exec(data); + if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data); + + if (match === null) throw new Error('Date resolve error'); + + // match: [1] year [2] month [3] day + + year = +(match[1]); + month = +(match[2]) - 1; // JS month starts with 0 + day = +(match[3]); + + if (!match[4]) { // no hour + return new Date(Date.UTC(year, month, day)); + } + + // match: [4] hour [5] minute [6] second [7] fraction + + hour = +(match[4]); + minute = +(match[5]); + second = +(match[6]); + + if (match[7]) { + fraction = match[7].slice(0, 3); + while (fraction.length < 3) { // milli-seconds + fraction += '0'; + } + fraction = +fraction; + } + + // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute + + if (match[9]) { + tz_hour = +(match[10]); + tz_minute = +(match[11] || 0); + delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds + if (match[9] === '-') delta = -delta; + } + + date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); + + if (delta) date.setTime(date.getTime() - delta); + + return date; +} + +function representYamlTimestamp(object /*, style*/) { + return object.toISOString(); +} + +module.exports = new Type('tag:yaml.org,2002:timestamp', { + kind: 'scalar', + resolve: resolveYamlTimestamp, + construct: constructYamlTimestamp, + instanceOf: Date, + represent: representYamlTimestamp +}); + + /***/ }), /***/ 53497: @@ -74946,7 +84331,7 @@ const core = __importStar(__nccwpck_require__(42186)); const io = __importStar(__nccwpck_require__(47351)); const fs = __importStar(__nccwpck_require__(57147)); const os = __importStar(__nccwpck_require__(22037)); -const xmlbuilder2_1 = __nccwpck_require__(69075); +const xmlbuilder2_1 = __nccwpck_require__(70151); const constants = __importStar(__nccwpck_require__(69042)); const gpg = __importStar(__nccwpck_require__(23759)); const util_1 = __nccwpck_require__(92629); @@ -78252,7 +87637,7 @@ const core = __importStar(__nccwpck_require__(42186)); const io = __importStar(__nccwpck_require__(47351)); const constants = __importStar(__nccwpck_require__(69042)); const util_1 = __nccwpck_require__(92629); -const xmlbuilder2_1 = __nccwpck_require__(69075); +const xmlbuilder2_1 = __nccwpck_require__(70151); function configureToolchains(version, distributionName, jdkHome, toolchainId) { return __awaiter(this, void 0, void 0, function* () { const vendor = core.getInput(constants.INPUT_MVN_TOOLCHAIN_VENDOR) || distributionName; @@ -121601,5466 +130986,6 @@ function randomUUID() { /***/ }), -/***/ 13810: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.builder = builder; -exports.create = create; -exports.fragment = fragment; -exports.convert = convert; -const interfaces_1 = __nccwpck_require__(81348); -const util_1 = __nccwpck_require__(76195); -const util_2 = __nccwpck_require__(65282); -const _1 = __nccwpck_require__(2106); -const dom_1 = __nccwpck_require__(1256); -/** @inheritdoc */ -function builder(p1, p2) { - const options = formatBuilderOptions(isXMLBuilderCreateOptions(p1) ? p1 : interfaces_1.DefaultBuilderOptions); - const nodes = util_2.Guard.isNode(p1) || (0, util_1.isArray)(p1) ? p1 : p2; - if (nodes === undefined) { - throw new Error("Invalid arguments."); - } - if ((0, util_1.isArray)(nodes)) { - const builders = []; - for (let i = 0; i < nodes.length; i++) { - const builder = new _1.XMLBuilderImpl(nodes[i]); - builder.set(options); - builders.push(builder); - } - return builders; - } - else { - const builder = new _1.XMLBuilderImpl(nodes); - builder.set(options); - return builder; - } -} -/** @inheritdoc */ -function create(p1, p2) { - const options = formatBuilderOptions(p1 === undefined || isXMLBuilderCreateOptions(p1) ? - p1 : interfaces_1.DefaultBuilderOptions); - const contents = isXMLBuilderCreateOptions(p1) ? p2 : p1; - const doc = (0, dom_1.createDocument)(); - setOptions(doc, options); - const builder = new _1.XMLBuilderImpl(doc); - if (contents !== undefined) { - // parse contents - builder.ele(contents); - } - return builder; -} -/** @inheritdoc */ -function fragment(p1, p2) { - const options = formatBuilderOptions(p1 === undefined || isXMLBuilderCreateOptions(p1) ? - p1 : interfaces_1.DefaultBuilderOptions); - const contents = isXMLBuilderCreateOptions(p1) ? p2 : p1; - const doc = (0, dom_1.createDocument)(); - setOptions(doc, options, true); - const builder = new _1.XMLBuilderImpl(doc.createDocumentFragment()); - if (contents !== undefined) { - // parse contents - builder.ele(contents); - } - return builder; -} -/** @inheritdoc */ -function convert(p1, p2, p3) { - let builderOptions; - let contents; - let convertOptions; - if (isXMLBuilderCreateOptions(p1) && p2 !== undefined) { - builderOptions = p1; - contents = p2; - convertOptions = p3; - } - else { - builderOptions = interfaces_1.DefaultBuilderOptions; - contents = p1; - convertOptions = p2 || undefined; - } - return create(builderOptions, contents).end(convertOptions); -} -function isXMLBuilderCreateOptions(obj) { - if (!(0, util_1.isPlainObject)(obj)) - return false; - for (const key in obj) { - /* istanbul ignore else */ - if (obj.hasOwnProperty(key)) { - if (!interfaces_1.XMLBuilderOptionKeys.has(key)) - return false; - } - } - return true; -} -function formatBuilderOptions(createOptions = {}) { - const options = (0, util_1.applyDefaults)(createOptions, interfaces_1.DefaultBuilderOptions); - if (options.convert.att.length === 0 || - options.convert.ins.length === 0 || - options.convert.text.length === 0 || - options.convert.cdata.length === 0 || - options.convert.comment.length === 0) { - throw new Error("JS object converter strings cannot be zero length."); - } - return options; -} -function setOptions(doc, options, isFragment) { - const docWithSettings = doc; - docWithSettings._xmlBuilderOptions = options; - docWithSettings._isFragment = isFragment; -} -//# sourceMappingURL=BuilderFunctions.js.map - -/***/ }), - -/***/ 47059: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.createCB = createCB; -exports.fragmentCB = fragmentCB; -const _1 = __nccwpck_require__(2106); -/** - * Creates an XML builder which serializes the document in chunks. - * - * @param options - callback builder options - * - * @returns callback builder - */ -function createCB(options) { - return new _1.XMLBuilderCBImpl(options); -} -/** - * Creates an XML builder which serializes the fragment in chunks. - * - * @param options - callback builder options - * - * @returns callback builder - */ -function fragmentCB(options) { - return new _1.XMLBuilderCBImpl(options, true); -} -//# sourceMappingURL=BuilderFunctionsCB.js.map - -/***/ }), - -/***/ 20282: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.XMLBuilderCBImpl = void 0; -const interfaces_1 = __nccwpck_require__(81348); -const util_1 = __nccwpck_require__(76195); -const BuilderFunctions_1 = __nccwpck_require__(13810); -const algorithm_1 = __nccwpck_require__(61); -const infra_1 = __nccwpck_require__(84251); -const NamespacePrefixMap_1 = __nccwpck_require__(90283); -const LocalNameSet_1 = __nccwpck_require__(19049); -const util_2 = __nccwpck_require__(65282); -const XMLCBWriter_1 = __nccwpck_require__(7299); -const JSONCBWriter_1 = __nccwpck_require__(3198); -const YAMLCBWriter_1 = __nccwpck_require__(32770); -const events_1 = __nccwpck_require__(82361); -/** - * Represents a readable XML document stream. - */ -class XMLBuilderCBImpl extends events_1.EventEmitter { - static _VoidElementNames = new Set(['area', 'base', 'basefont', - 'bgsound', 'br', 'col', 'embed', 'frame', 'hr', 'img', 'input', 'keygen', - 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr']); - _options; - _builderOptions; - _writer; - _fragment; - _hasDeclaration = false; - _docTypeName = ""; - _hasDocumentElement = false; - _currentElement; - _currentElementSerialized = false; - _openTags = []; - _prefixMap; - _prefixIndex; - _ended = false; - /** - * Initializes a new instance of `XMLStream`. - * - * @param options - stream writer options - * @param fragment - whether to create fragment stream or a document stream - * - * @returns XML stream - */ - constructor(options, fragment = false) { - super(); - this._fragment = fragment; - // provide default options - this._options = (0, util_1.applyDefaults)(options || {}, interfaces_1.DefaultXMLBuilderCBOptions); - this._builderOptions = { - defaultNamespace: this._options.defaultNamespace, - namespaceAlias: this._options.namespaceAlias - }; - if (this._options.format === "json") { - this._writer = new JSONCBWriter_1.JSONCBWriter(this._options); - } - else if (this._options.format === "yaml") { - this._writer = new YAMLCBWriter_1.YAMLCBWriter(this._options); - } - else { - this._writer = new XMLCBWriter_1.XMLCBWriter(this._options); - } - // automatically create listeners for callbacks passed via options - if (this._options.data !== undefined) { - this.on("data", this._options.data); - } - if (this._options.end !== undefined) { - this.on("end", this._options.end); - } - if (this._options.error !== undefined) { - this.on("error", this._options.error); - } - this._prefixMap = new NamespacePrefixMap_1.NamespacePrefixMap(); - this._prefixMap.set("xml", infra_1.namespace.XML); - this._prefixIndex = { value: 1 }; - this._push(this._writer.frontMatter()); - } - /** @inheritdoc */ - ele(p1, p2, p3) { - // parse if JS object or XML or JSON string - if ((0, util_1.isObject)(p1) || ((0, util_1.isString)(p1) && (/^\s*/g, '>'); - this._push(this._writer.text(markup)); - const lastEl = this._openTags[this._openTags.length - 1]; - // edge case: text on top level. - if (lastEl) { - lastEl[lastEl.length - 1] = true; - } - return this; - } - /** @inheritdoc */ - ins(target, content = '') { - this._serializeOpenTag(true); - let node; - try { - node = (0, BuilderFunctions_1.fragment)(this._builderOptions).ins(target, content).first().node; - } - catch (err) { - /* istanbul ignore next */ - this.emit("error", err); - /* istanbul ignore next */ - return this; - } - if (this._options.wellFormed && (node.target.indexOf(":") !== -1 || (/^xml$/i).test(node.target))) { - this.emit("error", new Error("Processing instruction target contains invalid characters (well-formed required).")); - return this; - } - if (this._options.wellFormed && !(0, algorithm_1.xml_isLegalChar)(node.data)) { - this.emit("error", Error("Processing instruction data contains invalid characters (well-formed required).")); - return this; - } - this._push(this._writer.instruction(node.target, node.data)); - return this; - } - /** @inheritdoc */ - dat(content) { - this._serializeOpenTag(true); - let node; - try { - node = (0, BuilderFunctions_1.fragment)(this._builderOptions).dat(content).first().node; - } - catch (err) { - this.emit("error", err); - return this; - } - this._push(this._writer.cdata(node.data)); - return this; - } - /** @inheritdoc */ - dec(options = { version: "1.0" }) { - if (this._fragment) { - this.emit("error", Error("Cannot insert an XML declaration into a document fragment.")); - return this; - } - if (this._hasDeclaration) { - this.emit("error", Error("XML declaration is already inserted.")); - return this; - } - this._push(this._writer.declaration(options.version || "1.0", options.encoding, options.standalone)); - this._hasDeclaration = true; - return this; - } - /** @inheritdoc */ - dtd(options) { - if (this._fragment) { - this.emit("error", Error("Cannot insert a DocType declaration into a document fragment.")); - return this; - } - if (this._docTypeName !== "") { - this.emit("error", new Error("DocType declaration is already inserted.")); - return this; - } - if (this._hasDocumentElement) { - this.emit("error", new Error("Cannot insert DocType declaration after document element.")); - return this; - } - let node; - try { - node = (0, BuilderFunctions_1.create)().dtd(options).first().node; - } - catch (err) { - this.emit("error", err); - return this; - } - if (this._options.wellFormed && !(0, algorithm_1.xml_isPubidChar)(node.publicId)) { - this.emit("error", new Error("DocType public identifier does not match PubidChar construct (well-formed required).")); - return this; - } - if (this._options.wellFormed && - (!(0, algorithm_1.xml_isLegalChar)(node.systemId) || - (node.systemId.indexOf('"') !== -1 && node.systemId.indexOf("'") !== -1))) { - this.emit("error", new Error("DocType system identifier contains invalid characters (well-formed required).")); - return this; - } - this._docTypeName = options.name; - this._push(this._writer.docType(options.name, node.publicId, node.systemId)); - return this; - } - /** @inheritdoc */ - import(node) { - const frag = (0, BuilderFunctions_1.fragment)().set(this._options); - try { - frag.import(node); - } - catch (err) { - this.emit("error", err); - return this; - } - for (const node of frag.node.childNodes) { - this._fromNode(node); - } - return this; - } - /** @inheritdoc */ - up() { - this._serializeOpenTag(false); - this._serializeCloseTag(); - return this; - } - /** @inheritdoc */ - end() { - this._serializeOpenTag(false); - while (this._openTags.length > 0) { - this._serializeCloseTag(); - } - this._push(null); - return this; - } - /** - * Serializes the opening tag of an element node. - * - * @param hasChildren - whether the element node has child nodes - */ - _serializeOpenTag(hasChildren) { - if (this._currentElementSerialized) - return; - if (this._currentElement === undefined) - return; - const node = this._currentElement.node; - if (this._options.wellFormed && (node.localName.indexOf(":") !== -1 || - !(0, algorithm_1.xml_isName)(node.localName))) { - this.emit("error", new Error("Node local name contains invalid characters (well-formed required).")); - return; - } - let qualifiedName = ""; - let ignoreNamespaceDefinitionAttribute = false; - let map = this._prefixMap.copy(); - let localPrefixesMap = {}; - let localDefaultNamespace = this._recordNamespaceInformation(node, map, localPrefixesMap); - let inheritedNS = this._openTags.length === 0 ? null : this._openTags[this._openTags.length - 1][1]; - let ns = node.namespaceURI; - if (ns === null) - ns = inheritedNS; - if (inheritedNS === ns) { - if (localDefaultNamespace !== null) { - ignoreNamespaceDefinitionAttribute = true; - } - if (ns === infra_1.namespace.XML) { - qualifiedName = "xml:" + node.localName; - } - else { - qualifiedName = node.localName; - } - this._writer.beginElement(qualifiedName); - this._push(this._writer.openTagBegin(qualifiedName)); - } - else { - let prefix = node.prefix; - let candidatePrefix = null; - if (prefix !== null || ns !== localDefaultNamespace) { - candidatePrefix = map.get(prefix, ns); - } - if (prefix === "xmlns") { - if (this._options.wellFormed) { - this.emit("error", new Error("An element cannot have the 'xmlns' prefix (well-formed required).")); - return; - } - candidatePrefix = prefix; - } - if (candidatePrefix !== null) { - qualifiedName = candidatePrefix + ':' + node.localName; - if (localDefaultNamespace !== null && localDefaultNamespace !== infra_1.namespace.XML) { - inheritedNS = localDefaultNamespace || null; - } - this._writer.beginElement(qualifiedName); - this._push(this._writer.openTagBegin(qualifiedName)); - } - else if (prefix !== null) { - if (prefix in localPrefixesMap) { - prefix = this._generatePrefix(ns, map, this._prefixIndex); - } - map.set(prefix, ns); - qualifiedName += prefix + ':' + node.localName; - this._writer.beginElement(qualifiedName); - this._push(this._writer.openTagBegin(qualifiedName)); - this._push(this._writer.attribute("xmlns:" + prefix, this._serializeAttributeValue(ns, this._options.wellFormed))); - if (localDefaultNamespace !== null) { - inheritedNS = localDefaultNamespace || null; - } - } - else if (localDefaultNamespace === null || - (localDefaultNamespace !== null && localDefaultNamespace !== ns)) { - ignoreNamespaceDefinitionAttribute = true; - qualifiedName += node.localName; - inheritedNS = ns; - this._writer.beginElement(qualifiedName); - this._push(this._writer.openTagBegin(qualifiedName)); - this._push(this._writer.attribute("xmlns", this._serializeAttributeValue(ns, this._options.wellFormed))); - } - else { - qualifiedName += node.localName; - inheritedNS = ns; - this._writer.beginElement(qualifiedName); - this._push(this._writer.openTagBegin(qualifiedName)); - } - } - this._serializeAttributes(node, map, this._prefixIndex, localPrefixesMap, ignoreNamespaceDefinitionAttribute, this._options.wellFormed); - const isHTML = (ns === infra_1.namespace.HTML); - if (isHTML && !hasChildren && - XMLBuilderCBImpl._VoidElementNames.has(node.localName)) { - this._push(this._writer.openTagEnd(qualifiedName, true, true)); - this._writer.endElement(qualifiedName); - } - else if (!isHTML && !hasChildren) { - this._push(this._writer.openTagEnd(qualifiedName, true, false)); - this._writer.endElement(qualifiedName); - } - else { - this._push(this._writer.openTagEnd(qualifiedName, false, false)); - } - this._currentElementSerialized = true; - /** - * Save qualified name, original inherited ns, original prefix map, and - * hasChildren flag. - */ - this._openTags.push([qualifiedName, inheritedNS, this._prefixMap, hasChildren, undefined]); - /** - * New values of inherited namespace and prefix map will be used while - * serializing child nodes. They will be returned to their original values - * when this node is closed using the _openTags array item we saved above. - */ - if (this._isPrefixMapModified(this._prefixMap, map)) { - this._prefixMap = map; - } - /** - * Calls following this will either serialize child nodes or close this tag. - */ - this._writer.level++; - } - /** - * Serializes the closing tag of an element node. - */ - _serializeCloseTag() { - this._writer.level--; - const lastEle = this._openTags.pop(); - /* istanbul ignore next */ - if (lastEle === undefined) { - this.emit("error", new Error("Last element is undefined.")); - return; - } - const [qualifiedName, ns, map, hasChildren, hasTextPayload] = lastEle; - /** - * Restore original values of inherited namespace and prefix map. - */ - this._prefixMap = map; - if (!hasChildren) - return; - this._push(this._writer.closeTag(qualifiedName, hasTextPayload)); - this._writer.endElement(qualifiedName); - } - /** - * Pushes data to internal buffer. - * - * @param data - data - */ - _push(data) { - if (data === null) { - this._ended = true; - this.emit("end"); - } - else if (this._ended) { - this.emit("error", new Error("Cannot push to ended stream.")); - } - else if (data.length !== 0) { - this._writer.hasData = true; - this.emit("data", data, this._writer.level); - } - } - /** - * Reads and serializes an XML tree. - * - * @param node - root node - */ - _fromNode(node) { - if (util_2.Guard.isElementNode(node)) { - const name = node.prefix ? node.prefix + ":" + node.localName : node.localName; - if (node.namespaceURI !== null) { - this.ele(node.namespaceURI, name); - } - else { - this.ele(name); - } - for (const attr of node.attributes) { - const name = attr.prefix ? attr.prefix + ":" + attr.localName : attr.localName; - if (attr.namespaceURI !== null) { - this.att(attr.namespaceURI, name, attr.value); - } - else { - this.att(name, attr.value); - } - } - for (const child of node.childNodes) { - this._fromNode(child); - } - this.up(); - } - else if (util_2.Guard.isExclusiveTextNode(node) && node.data) { - this.txt(node.data); - } - else if (util_2.Guard.isCommentNode(node)) { - this.com(node.data); - } - else if (util_2.Guard.isCDATASectionNode(node)) { - this.dat(node.data); - } - else if (util_2.Guard.isProcessingInstructionNode(node)) { - this.ins(node.target, node.data); - } - } - /** - * Produces an XML serialization of the attributes of an element node. - * - * @param node - node to serialize - * @param map - namespace prefix map - * @param prefixIndex - generated namespace prefix index - * @param localPrefixesMap - local prefixes map - * @param ignoreNamespaceDefinitionAttribute - whether to ignore namespace - * attributes - * @param requireWellFormed - whether to check conformance - */ - _serializeAttributes(node, map, prefixIndex, localPrefixesMap, ignoreNamespaceDefinitionAttribute, requireWellFormed) { - const localNameSet = requireWellFormed ? new LocalNameSet_1.LocalNameSet() : undefined; - for (const attr of node.attributes) { - // Optimize common case - if (!requireWellFormed && !ignoreNamespaceDefinitionAttribute && attr.namespaceURI === null) { - this._push(this._writer.attribute(attr.localName, this._serializeAttributeValue(attr.value, this._options.wellFormed))); - continue; - } - if (requireWellFormed && localNameSet && localNameSet.has(attr.namespaceURI, attr.localName)) { - this.emit("error", new Error("Element contains duplicate attributes (well-formed required).")); - return; - } - if (requireWellFormed && localNameSet) - localNameSet.set(attr.namespaceURI, attr.localName); - let attributeNamespace = attr.namespaceURI; - let candidatePrefix = null; - if (attributeNamespace !== null) { - candidatePrefix = map.get(attr.prefix, attributeNamespace); - if (attributeNamespace === infra_1.namespace.XMLNS) { - if (attr.value === infra_1.namespace.XML || - (attr.prefix === null && ignoreNamespaceDefinitionAttribute) || - (attr.prefix !== null && (!(attr.localName in localPrefixesMap) || - localPrefixesMap[attr.localName] !== attr.value) && - map.has(attr.localName, attr.value))) - continue; - if (requireWellFormed && attr.value === infra_1.namespace.XMLNS) { - this.emit("error", new Error("XMLNS namespace is reserved (well-formed required).")); - return; - } - if (requireWellFormed && attr.value === '') { - this.emit("error", new Error("Namespace prefix declarations cannot be used to undeclare a namespace (well-formed required).")); - return; - } - if (attr.prefix === 'xmlns') - candidatePrefix = 'xmlns'; - /** - * _Note:_ The (candidatePrefix === null) check is not in the spec. - * We deviate from the spec here. Otherwise a prefix is generated for - * all attributes with namespaces. - */ - } - else if (candidatePrefix === null) { - if (attr.prefix !== null && - (!map.hasPrefix(attr.prefix) || - map.has(attr.prefix, attributeNamespace))) { - /** - * Check if we can use the attribute's own prefix. - * We deviate from the spec here. - * TODO: This is not an efficient way of searching for prefixes. - * Follow developments to the spec. - */ - candidatePrefix = attr.prefix; - } - else { - candidatePrefix = this._generatePrefix(attributeNamespace, map, prefixIndex); - } - this._push(this._writer.attribute("xmlns:" + candidatePrefix, this._serializeAttributeValue(attributeNamespace, this._options.wellFormed))); - } - } - if (requireWellFormed && (attr.localName.indexOf(":") !== -1 || - !(0, algorithm_1.xml_isName)(attr.localName) || - (attr.localName === "xmlns" && attributeNamespace === null))) { - this.emit("error", new Error("Attribute local name contains invalid characters (well-formed required).")); - return; - } - this._push(this._writer.attribute((candidatePrefix !== null ? candidatePrefix + ":" : "") + attr.localName, this._serializeAttributeValue(attr.value, this._options.wellFormed))); - } - } - /** - * Produces an XML serialization of an attribute value. - * - * @param value - attribute value - * @param requireWellFormed - whether to check conformance - */ - _serializeAttributeValue(value, requireWellFormed) { - if (requireWellFormed && value !== null && !(0, algorithm_1.xml_isLegalChar)(value)) { - this.emit("error", new Error("Invalid characters in attribute value.")); - return ""; - } - if (value === null) - return ""; - return value.replace(/(?!&(lt|gt|amp|apos|quot);)&/g, '&') - .replace(//g, '>') - .replace(/"/g, '"'); - } - /** - * Records namespace information for the given element and returns the - * default namespace attribute value. - * - * @param node - element node to process - * @param map - namespace prefix map - * @param localPrefixesMap - local prefixes map - */ - _recordNamespaceInformation(node, map, localPrefixesMap) { - let defaultNamespaceAttrValue = null; - for (const attr of node.attributes) { - let attributeNamespace = attr.namespaceURI; - let attributePrefix = attr.prefix; - if (attributeNamespace === infra_1.namespace.XMLNS) { - if (attributePrefix === null) { - defaultNamespaceAttrValue = attr.value; - continue; - } - else { - let prefixDefinition = attr.localName; - let namespaceDefinition = attr.value; - if (namespaceDefinition === infra_1.namespace.XML) { - continue; - } - if (namespaceDefinition === '') { - namespaceDefinition = null; - } - if (map.has(prefixDefinition, namespaceDefinition)) { - continue; - } - map.set(prefixDefinition, namespaceDefinition); - localPrefixesMap[prefixDefinition] = namespaceDefinition || ''; - } - } - } - return defaultNamespaceAttrValue; - } - /** - * Generates a new prefix for the given namespace. - * - * @param newNamespace - a namespace to generate prefix for - * @param prefixMap - namespace prefix map - * @param prefixIndex - generated namespace prefix index - */ - _generatePrefix(newNamespace, prefixMap, prefixIndex) { - let generatedPrefix = "ns" + prefixIndex.value; - prefixIndex.value++; - prefixMap.set(generatedPrefix, newNamespace); - return generatedPrefix; - } - /** - * Determines if the namespace prefix map was modified from its original. - * - * @param originalMap - original namespace prefix map - * @param newMap - new namespace prefix map - */ - _isPrefixMapModified(originalMap, newMap) { - const items1 = originalMap._items; - const items2 = newMap._items; - const nullItems1 = originalMap._nullItems; - const nullItems2 = newMap._nullItems; - for (const key in items2) { - const arr1 = items1[key]; - if (arr1 === undefined) - return true; - const arr2 = items2[key]; - if (arr1.length !== arr2.length) - return true; - for (let i = 0; i < arr1.length; i++) { - if (arr1[i] !== arr2[i]) - return true; - } - } - if (nullItems1.length !== nullItems2.length) - return true; - for (let i = 0; i < nullItems1.length; i++) { - if (nullItems1[i] !== nullItems2[i]) - return true; - } - return false; - } -} -exports.XMLBuilderCBImpl = XMLBuilderCBImpl; -//# sourceMappingURL=XMLBuilderCBImpl.js.map - -/***/ }), - -/***/ 10584: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.XMLBuilderImpl = void 0; -const interfaces_1 = __nccwpck_require__(81348); -const util_1 = __nccwpck_require__(76195); -const writers_1 = __nccwpck_require__(70469); -const interfaces_2 = __nccwpck_require__(27305); -const util_2 = __nccwpck_require__(65282); -const algorithm_1 = __nccwpck_require__(61); -const dom_1 = __nccwpck_require__(1256); -const infra_1 = __nccwpck_require__(84251); -const readers_1 = __nccwpck_require__(90241); -/** - * Represents a wrapper that extends XML nodes to implement easy to use and - * chainable document builder methods. - */ -class XMLBuilderImpl { - _domNode; - /** - * Initializes a new instance of `XMLBuilderNodeImpl`. - * - * @param domNode - the DOM node to wrap - */ - constructor(domNode) { - this._domNode = domNode; - } - /** @inheritdoc */ - get node() { return this._domNode; } - /** @inheritdoc */ - get options() { return this._options; } - /** @inheritdoc */ - set(options) { - this._options = (0, util_1.applyDefaults)((0, util_1.applyDefaults)(this._options, options, true), // apply user settings - interfaces_1.DefaultBuilderOptions); // provide defaults - return this; - } - /** @inheritdoc */ - ele(p1, p2, p3) { - let namespace; - let name; - let attributes; - if ((0, util_1.isObject)(p1)) { - // ele(obj: ExpandObject) - return new readers_1.ObjectReader(this._options).parse(this, p1); - } - else if ((0, util_1.isString)(p1) && p1 !== null && /^\s* this.att(attName, attValue), this); - return this; - } - // get primitive values - if (p1 !== undefined && p1 !== null) - p1 = (0, util_1.getValue)(p1 + ""); - if (p2 !== undefined && p2 !== null) - p2 = (0, util_1.getValue)(p2 + ""); - if (p3 !== undefined && p3 !== null) - p3 = (0, util_1.getValue)(p3 + ""); - let namespace; - let name; - let value; - if ((p1 === null || (0, util_1.isString)(p1)) && (0, util_1.isString)(p2) && (p3 === null || (0, util_1.isString)(p3))) { - // att(namespace: string, name: string, value: string) - [namespace, name, value] = [p1, p2, p3]; - } - else if ((0, util_1.isString)(p1) && (p2 == null || (0, util_1.isString)(p2))) { - // ele(name: string, value: string) - [namespace, name, value] = [undefined, p1, p2]; - } - else { - throw new Error("Attribute name and value not specified. " + this._debugInfo()); - } - if (this._options.keepNullAttributes && (value == null)) { - // keep null attributes - value = ""; - } - else if (value == null) { - // skip null|undefined attributes - return this; - } - if (!util_2.Guard.isElementNode(this.node)) { - throw new Error("An attribute can only be assigned to an element node."); - } - let ele = this.node; - [namespace, name] = this._extractNamespace(namespace, name, false); - name = (0, dom_1.sanitizeInput)(name, this._options.invalidCharReplacement); - namespace = (0, dom_1.sanitizeInput)(namespace, this._options.invalidCharReplacement); - value = (0, dom_1.sanitizeInput)(value, this._options.invalidCharReplacement); - const [prefix, localName] = (0, algorithm_1.namespace_extractQName)(name); - const [elePrefix] = (0, algorithm_1.namespace_extractQName)(ele.prefix ? ele.prefix + ':' + ele.localName : ele.localName); - // check if this is a namespace declaration attribute - // assign a new element namespace if it wasn't previously assigned - let eleNamespace = null; - if (prefix === "xmlns") { - namespace = infra_1.namespace.XMLNS; - if (ele.namespaceURI === null && elePrefix === localName) { - eleNamespace = value; - } - } - else if (prefix === null && localName === "xmlns" && elePrefix === null) { - namespace = infra_1.namespace.XMLNS; - eleNamespace = value; - } - // re-create the element node if its namespace changed - // we can't simply change the namespaceURI since its read-only - if (eleNamespace !== null) { - this._updateNamespace(eleNamespace); - ele = this.node; - } - if (namespace !== undefined) { - ele.setAttributeNS(namespace, name, value); - } - else { - ele.setAttribute(name, value); - } - return this; - } - /** @inheritdoc */ - removeAtt(p1, p2) { - if (!util_2.Guard.isElementNode(this.node)) { - throw new Error("An attribute can only be removed from an element node."); - } - // get primitive values - p1 = (0, util_1.getValue)(p1); - if (p2 !== undefined) { - p2 = (0, util_1.getValue)(p2); - } - let namespace; - let name; - if (p1 !== null && p2 === undefined) { - name = p1; - } - else if ((p1 === null || (0, util_1.isString)(p1)) && p2 !== undefined) { - namespace = p1; - name = p2; - } - else { - throw new Error("Attribute namespace must be a string. " + this._debugInfo()); - } - if ((0, util_1.isArray)(name) || (0, util_1.isSet)(name)) { - // removeAtt(names: string[]) - // removeAtt(namespace: string, names: string[]) - (0, util_1.forEachArray)(name, attName => namespace === undefined ? this.removeAtt(attName) : this.removeAtt(namespace, attName), this); - } - else if (namespace !== undefined) { - // removeAtt(namespace: string, name: string) - name = (0, dom_1.sanitizeInput)(name, this._options.invalidCharReplacement); - namespace = (0, dom_1.sanitizeInput)(namespace, this._options.invalidCharReplacement); - this.node.removeAttributeNS(namespace, name); - } - else { - // removeAtt(name: string) - name = (0, dom_1.sanitizeInput)(name, this._options.invalidCharReplacement); - this.node.removeAttribute(name); - } - return this; - } - /** @inheritdoc */ - txt(content) { - if (content === null || content === undefined) { - if (this._options.keepNullNodes) { - // keep null nodes - content = ""; - } - else { - // skip null|undefined nodes - return this; - } - } - const child = this._doc.createTextNode((0, dom_1.sanitizeInput)(content, this._options.invalidCharReplacement)); - this.node.appendChild(child); - return this; - } - /** @inheritdoc */ - com(content) { - if (content === null || content === undefined) { - if (this._options.keepNullNodes) { - // keep null nodes - content = ""; - } - else { - // skip null|undefined nodes - return this; - } - } - const child = this._doc.createComment((0, dom_1.sanitizeInput)(content, this._options.invalidCharReplacement)); - this.node.appendChild(child); - return this; - } - /** @inheritdoc */ - dat(content) { - if (content === null || content === undefined) { - if (this._options.keepNullNodes) { - // keep null nodes - content = ""; - } - else { - // skip null|undefined nodes - return this; - } - } - const child = this._doc.createCDATASection((0, dom_1.sanitizeInput)(content, this._options.invalidCharReplacement)); - this.node.appendChild(child); - return this; - } - /** @inheritdoc */ - ins(target, content = '') { - if (content === null || content === undefined) { - if (this._options.keepNullNodes) { - // keep null nodes - content = ""; - } - else { - // skip null|undefined nodes - return this; - } - } - if ((0, util_1.isArray)(target) || (0, util_1.isSet)(target)) { - (0, util_1.forEachArray)(target, item => { - item += ""; - const insIndex = item.indexOf(' '); - const insTarget = (insIndex === -1 ? item : item.substr(0, insIndex)); - const insValue = (insIndex === -1 ? '' : item.substr(insIndex + 1)); - this.ins(insTarget, insValue); - }, this); - } - else if ((0, util_1.isMap)(target) || (0, util_1.isObject)(target)) { - (0, util_1.forEachObject)(target, (insTarget, insValue) => this.ins(insTarget, insValue), this); - } - else { - const child = this._doc.createProcessingInstruction((0, dom_1.sanitizeInput)(target, this._options.invalidCharReplacement), (0, dom_1.sanitizeInput)(content, this._options.invalidCharReplacement)); - this.node.appendChild(child); - } - return this; - } - /** @inheritdoc */ - dec(options) { - this._options.version = options.version || "1.0"; - this._options.encoding = options.encoding; - this._options.standalone = options.standalone; - return this; - } - /** @inheritdoc */ - dtd(options) { - const name = (0, dom_1.sanitizeInput)((options && options.name) || (this._doc.documentElement ? this._doc.documentElement.tagName : "ROOT"), this._options.invalidCharReplacement); - const pubID = (0, dom_1.sanitizeInput)((options && options.pubID) || "", this._options.invalidCharReplacement); - const sysID = (0, dom_1.sanitizeInput)((options && options.sysID) || "", this._options.invalidCharReplacement); - // name must match document element - if (this._doc.documentElement !== null && name !== this._doc.documentElement.tagName) { - throw new Error("DocType name does not match document element name."); - } - // create doctype node - const docType = this._doc.implementation.createDocumentType(name, pubID, sysID); - if (this._doc.doctype !== null) { - // replace existing doctype - this._doc.replaceChild(docType, this._doc.doctype); - } - else { - // insert before document element node or append to end - this._doc.insertBefore(docType, this._doc.documentElement); - } - return this; - } - /** @inheritdoc */ - import(node) { - const hostNode = this._domNode; - const hostDoc = this._doc; - const importedNode = node.node; - const updateImportedNodeNs = (clone) => { - // update namespace of imported node only when not specified - if (!clone._namespace) { - const [prefix] = (0, algorithm_1.namespace_extractQName)(clone.prefix ? clone.prefix + ':' + clone.localName : clone.localName); - const namespace = hostNode.lookupNamespaceURI(prefix); - new XMLBuilderImpl(clone)._updateNamespace(namespace); - } - }; - if (util_2.Guard.isDocumentNode(importedNode)) { - // import document node - const elementNode = importedNode.documentElement; - if (elementNode === null) { - throw new Error("Imported document has no document element node. " + this._debugInfo()); - } - const clone = hostDoc.importNode(elementNode, true); - hostNode.appendChild(clone); - updateImportedNodeNs(clone); - } - else if (util_2.Guard.isDocumentFragmentNode(importedNode)) { - // import child nodes - for (const childNode of importedNode.childNodes) { - const clone = hostDoc.importNode(childNode, true); - hostNode.appendChild(clone); - if (util_2.Guard.isElementNode(clone)) { - updateImportedNodeNs(clone); - } - } - } - else { - // import node - const clone = hostDoc.importNode(importedNode, true); - hostNode.appendChild(clone); - if (util_2.Guard.isElementNode(clone)) { - updateImportedNodeNs(clone); - } - } - return this; - } - /** @inheritdoc */ - doc() { - if (this._doc._isFragment) { - let node = this.node; - while (node && node.nodeType !== interfaces_2.NodeType.DocumentFragment) { - node = node.parentNode; - } - /* istanbul ignore next */ - if (node === null) { - throw new Error("Node has no parent node while searching for document fragment ancestor. " + this._debugInfo()); - } - return new XMLBuilderImpl(node); - } - else { - return new XMLBuilderImpl(this._doc); - } - } - /** @inheritdoc */ - root() { - const ele = this._doc.documentElement; - if (!ele) { - throw new Error("Document root element is null. " + this._debugInfo()); - } - return new XMLBuilderImpl(ele); - } - /** @inheritdoc */ - up() { - const parent = this._domNode.parentNode; - if (!parent) { - throw new Error("Parent node is null. " + this._debugInfo()); - } - return new XMLBuilderImpl(parent); - } - /** @inheritdoc */ - prev() { - const node = this._domNode.previousSibling; - if (!node) { - throw new Error("Previous sibling node is null. " + this._debugInfo()); - } - return new XMLBuilderImpl(node); - } - /** @inheritdoc */ - next() { - const node = this._domNode.nextSibling; - if (!node) { - throw new Error("Next sibling node is null. " + this._debugInfo()); - } - return new XMLBuilderImpl(node); - } - /** @inheritdoc */ - first() { - const node = this._domNode.firstChild; - if (!node) { - throw new Error("First child node is null. " + this._debugInfo()); - } - return new XMLBuilderImpl(node); - } - /** @inheritdoc */ - last() { - const node = this._domNode.lastChild; - if (!node) { - throw new Error("Last child node is null. " + this._debugInfo()); - } - return new XMLBuilderImpl(node); - } - /** @inheritdoc */ - each(callback, self = false, recursive = false, thisArg) { - let result = this._getFirstDescendantNode(this._domNode, self, recursive); - while (result[0]) { - const nextResult = this._getNextDescendantNode(this._domNode, result[0], recursive, result[1], result[2]); - callback.call(thisArg, new XMLBuilderImpl(result[0]), result[1], result[2]); - result = nextResult; - } - return this; - } - /** @inheritdoc */ - map(callback, self = false, recursive = false, thisArg) { - let result = []; - this.each((node, index, level) => result.push(callback.call(thisArg, node, index, level)), self, recursive); - return result; - } - /** @inheritdoc */ - reduce(callback, initialValue, self = false, recursive = false, thisArg) { - let value = initialValue; - this.each((node, index, level) => value = callback.call(thisArg, value, node, index, level), self, recursive); - return value; - } - /** @inheritdoc */ - find(predicate, self = false, recursive = false, thisArg) { - let result = this._getFirstDescendantNode(this._domNode, self, recursive); - while (result[0]) { - const builder = new XMLBuilderImpl(result[0]); - if (predicate.call(thisArg, builder, result[1], result[2])) { - return builder; - } - result = this._getNextDescendantNode(this._domNode, result[0], recursive, result[1], result[2]); - } - return undefined; - } - /** @inheritdoc */ - filter(predicate, self = false, recursive = false, thisArg) { - let result = []; - this.each((node, index, level) => { - if (predicate.call(thisArg, node, index, level)) { - result.push(node); - } - }, self, recursive); - return result; - } - /** @inheritdoc */ - every(predicate, self = false, recursive = false, thisArg) { - let result = this._getFirstDescendantNode(this._domNode, self, recursive); - while (result[0]) { - const builder = new XMLBuilderImpl(result[0]); - if (!predicate.call(thisArg, builder, result[1], result[2])) { - return false; - } - result = this._getNextDescendantNode(this._domNode, result[0], recursive, result[1], result[2]); - } - return true; - } - /** @inheritdoc */ - some(predicate, self = false, recursive = false, thisArg) { - let result = this._getFirstDescendantNode(this._domNode, self, recursive); - while (result[0]) { - const builder = new XMLBuilderImpl(result[0]); - if (predicate.call(thisArg, builder, result[1], result[2])) { - return true; - } - result = this._getNextDescendantNode(this._domNode, result[0], recursive, result[1], result[2]); - } - return false; - } - /** @inheritdoc */ - toArray(self = false, recursive = false) { - let result = []; - this.each(node => result.push(node), self, recursive); - return result; - } - /** @inheritdoc */ - toString(writerOptions) { - writerOptions = writerOptions || {}; - if (writerOptions.format === undefined) { - writerOptions.format = "xml"; - } - return this._serialize(writerOptions); - } - /** @inheritdoc */ - toObject(writerOptions) { - writerOptions = writerOptions || {}; - if (writerOptions.format === undefined) { - writerOptions.format = "object"; - } - return this._serialize(writerOptions); - } - /** @inheritdoc */ - end(writerOptions) { - writerOptions = writerOptions || {}; - if (writerOptions.format === undefined) { - writerOptions.format = "xml"; - } - return this.doc()._serialize(writerOptions); - } - /** - * Gets the next descendant of the given node of the tree rooted at `root` - * in depth-first pre-order. Returns a three-tuple with - * [descendant, descendant_index, descendant_level]. - * - * @param root - root node of the tree - * @param self - whether to visit the current node along with child nodes - * @param recursive - whether to visit all descendant nodes in tree-order or - * only the immediate child nodes - */ - _getFirstDescendantNode(root, self, recursive) { - if (self) - return [this._domNode, 0, 0]; - else if (recursive) - return this._getNextDescendantNode(root, root, recursive, 0, 0); - else - return [this._domNode.firstChild, 0, 1]; - } - /** - * Gets the next descendant of the given node of the tree rooted at `root` - * in depth-first pre-order. Returns a three-tuple with - * [descendant, descendant_index, descendant_level]. - * - * @param root - root node of the tree - * @param node - current node - * @param recursive - whether to visit all descendant nodes in tree-order or - * only the immediate child nodes - * @param index - child node index - * @param level - current depth of the XML tree - */ - _getNextDescendantNode(root, node, recursive, index, level) { - if (recursive) { - // traverse child nodes - if (node.firstChild) - return [node.firstChild, 0, level + 1]; - if (node === root) - return [null, -1, -1]; - // traverse siblings - if (node.nextSibling) - return [node.nextSibling, index + 1, level]; - // traverse parent's next sibling - let parent = node.parentNode; - while (parent && parent !== root) { - if (parent.nextSibling) - return [parent.nextSibling, (0, algorithm_1.tree_index)(parent.nextSibling), level - 1]; - parent = parent.parentNode; - level--; - } - } - else { - if (root === node) - return [node.firstChild, 0, level + 1]; - else - return [node.nextSibling, index + 1, level]; - } - return [null, -1, -1]; - } - /** - * Converts the node into its string or object representation. - * - * @param options - serialization options - */ - _serialize(writerOptions) { - if (writerOptions.format === "xml") { - const writer = new writers_1.XMLWriter(this._options, writerOptions); - return writer.serialize(this.node); - } - else if (writerOptions.format === "map") { - const writer = new writers_1.MapWriter(this._options, writerOptions); - return writer.serialize(this.node); - } - else if (writerOptions.format === "object") { - const writer = new writers_1.ObjectWriter(this._options, writerOptions); - return writer.serialize(this.node); - } - else if (writerOptions.format === "json") { - const writer = new writers_1.JSONWriter(this._options, writerOptions); - return writer.serialize(this.node); - } - else if (writerOptions.format === "yaml") { - const writer = new writers_1.YAMLWriter(this._options, writerOptions); - return writer.serialize(this.node); - } - else { - throw new Error("Invalid writer format: " + writerOptions.format + ". " + this._debugInfo()); - } - } - /** - * Extracts a namespace and name from the given string. - * - * @param namespace - namespace - * @param name - a string containing both a name and namespace separated by an - * `'@'` character - * @param ele - `true` if this is an element namespace; otherwise `false` - */ - _extractNamespace(namespace, name, ele) { - // extract from name - const atIndex = name.indexOf("@"); - if (atIndex > 0) { - if (namespace === undefined) - namespace = name.slice(atIndex + 1); - name = name.slice(0, atIndex); - } - if (namespace === undefined) { - // look-up default namespace - namespace = (ele ? this._options.defaultNamespace.ele : this._options.defaultNamespace.att); - } - else if (namespace !== null && namespace[0] === "@") { - // look-up namespace aliases - const alias = namespace.slice(1); - namespace = this._options.namespaceAlias[alias]; - if (namespace === undefined) { - throw new Error("Namespace alias `" + alias + "` is not defined. " + this._debugInfo()); - } - } - return [namespace, name]; - } - /** - * Updates the element's namespace. - * - * @param ns - new namespace - */ - _updateNamespace(ns) { - const ele = this._domNode; - if (util_2.Guard.isElementNode(ele) && ns !== null && ele.namespaceURI !== ns) { - const [elePrefix, eleLocalName] = (0, algorithm_1.namespace_extractQName)(ele.prefix ? ele.prefix + ':' + ele.localName : ele.localName); - // re-create the element node if its namespace changed - // we can't simply change the namespaceURI since its read-only - const newEle = (0, algorithm_1.create_element)(this._doc, eleLocalName, ns, elePrefix); - for (const attr of ele.attributes) { - const attrQName = attr.prefix ? attr.prefix + ':' + attr.localName : attr.localName; - const [attrPrefix] = (0, algorithm_1.namespace_extractQName)(attrQName); - let newAttrNS = attr.namespaceURI; - if (newAttrNS === null && attrPrefix !== null) { - newAttrNS = ele.lookupNamespaceURI(attrPrefix); - } - if (newAttrNS === null) { - newEle.setAttribute(attrQName, attr.value); - } - else { - newEle.setAttributeNS(newAttrNS, attrQName, attr.value); - } - } - // replace the new node in parent node - const parent = ele.parentNode; - /* istanbul ignore next */ - if (parent === null) { - throw new Error("Parent node is null." + this._debugInfo()); - } - parent.replaceChild(newEle, ele); - this._domNode = newEle; - // check child nodes - for (const childNode of ele.childNodes) { - const newChildNode = childNode.cloneNode(true); - newEle.appendChild(newChildNode); - if (util_2.Guard.isElementNode(newChildNode) && !newChildNode._namespace) { - const [newChildNodePrefix] = (0, algorithm_1.namespace_extractQName)(newChildNode.prefix ? newChildNode.prefix + ':' + newChildNode.localName : newChildNode.localName); - const newChildNodeNS = newEle.lookupNamespaceURI(newChildNodePrefix); - new XMLBuilderImpl(newChildNode)._updateNamespace(newChildNodeNS); - } - } - } - } - /** - * Returns the document owning this node. - */ - get _doc() { - const node = this.node; - if (util_2.Guard.isDocumentNode(node)) { - return node; - } - else { - const docNode = node.ownerDocument; - /* istanbul ignore next */ - if (!docNode) - throw new Error("Owner document is null. " + this._debugInfo()); - return docNode; - } - } - /** - * Returns debug information for this node. - * - * @param name - node name - */ - _debugInfo(name) { - const node = this.node; - const parentNode = node.parentNode; - name = name || node.nodeName; - const parentName = parentNode ? parentNode.nodeName : ''; - if (!parentName) { - return "node: <" + name + ">"; - } - else { - return "node: <" + name + ">, parent: <" + parentName + ">"; - } - } - /** - * Gets or sets builder options. - */ - get _options() { - const doc = this._doc; - /* istanbul ignore next */ - if (doc._xmlBuilderOptions === undefined) { - throw new Error("Builder options is not set."); - } - return doc._xmlBuilderOptions; - } - set _options(value) { - const doc = this._doc; - doc._xmlBuilderOptions = value; - } -} -exports.XMLBuilderImpl = XMLBuilderImpl; -//# sourceMappingURL=XMLBuilderImpl.js.map - -/***/ }), - -/***/ 1256: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.createDocument = createDocument; -exports.sanitizeInput = sanitizeInput; -const dom_1 = __nccwpck_require__(54646); -const dom_2 = __nccwpck_require__(50633); -const util_1 = __nccwpck_require__(76195); -dom_2.dom.setFeatures(false); -/** - * Creates an XML document without any child nodes. - */ -function createDocument() { - const impl = new dom_1.DOMImplementation(); - const doc = impl.createDocument(null, 'root', null); - /* istanbul ignore else */ - if (doc.documentElement) { - doc.removeChild(doc.documentElement); - } - return doc; -} -/** - * Sanitizes input strings with user supplied replacement characters. - * - * @param str - input string - * @param replacement - replacement character or function - */ -function sanitizeInput(str, replacement) { - if (str == null) { - return str; - } - else if (replacement === undefined) { - return str + ""; - } - else { - let result = ""; - str = str + ""; - for (let i = 0; i < str.length; i++) { - let n = str.charCodeAt(i); - // #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] - if (n === 0x9 || n === 0xA || n === 0xD || - (n >= 0x20 && n <= 0xD7FF) || - (n >= 0xE000 && n <= 0xFFFD)) { - // valid character - not surrogate pair - result += str.charAt(i); - } - else if (n >= 0xD800 && n <= 0xDBFF && i < str.length - 1) { - const n2 = str.charCodeAt(i + 1); - if (n2 >= 0xDC00 && n2 <= 0xDFFF) { - // valid surrogate pair - n = (n - 0xD800) * 0x400 + n2 - 0xDC00 + 0x10000; - result += String.fromCodePoint(n); - i++; - } - else { - // invalid lone surrogate - result += (0, util_1.isString)(replacement) ? replacement : replacement(str.charAt(i), i, str); - } - } - else { - // invalid character - result += (0, util_1.isString)(replacement) ? replacement : replacement(str.charAt(i), i, str); - } - } - return result; - } -} -//# sourceMappingURL=dom.js.map - -/***/ }), - -/***/ 2106: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.fragmentCB = exports.createCB = exports.convert = exports.fragment = exports.create = exports.builder = exports.XMLBuilderCBImpl = exports.XMLBuilderImpl = void 0; -var XMLBuilderImpl_1 = __nccwpck_require__(10584); -Object.defineProperty(exports, "XMLBuilderImpl", ({ enumerable: true, get: function () { return XMLBuilderImpl_1.XMLBuilderImpl; } })); -var XMLBuilderCBImpl_1 = __nccwpck_require__(20282); -Object.defineProperty(exports, "XMLBuilderCBImpl", ({ enumerable: true, get: function () { return XMLBuilderCBImpl_1.XMLBuilderCBImpl; } })); -var BuilderFunctions_1 = __nccwpck_require__(13810); -Object.defineProperty(exports, "builder", ({ enumerable: true, get: function () { return BuilderFunctions_1.builder; } })); -Object.defineProperty(exports, "create", ({ enumerable: true, get: function () { return BuilderFunctions_1.create; } })); -Object.defineProperty(exports, "fragment", ({ enumerable: true, get: function () { return BuilderFunctions_1.fragment; } })); -Object.defineProperty(exports, "convert", ({ enumerable: true, get: function () { return BuilderFunctions_1.convert; } })); -var BuilderFunctionsCB_1 = __nccwpck_require__(47059); -Object.defineProperty(exports, "createCB", ({ enumerable: true, get: function () { return BuilderFunctionsCB_1.createCB; } })); -Object.defineProperty(exports, "fragmentCB", ({ enumerable: true, get: function () { return BuilderFunctionsCB_1.fragmentCB; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 9311: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.nonEntityAmpersandRegex = void 0; -exports.nonEntityAmpersandRegex = /&(?![A-Za-z]+;|#\d+;)/g; -//# sourceMappingURL=constants.js.map - -/***/ }), - -/***/ 69075: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.fragmentCB = exports.createCB = exports.convert = exports.fragment = exports.create = exports.builder = void 0; -var builder_1 = __nccwpck_require__(2106); -Object.defineProperty(exports, "builder", ({ enumerable: true, get: function () { return builder_1.builder; } })); -Object.defineProperty(exports, "create", ({ enumerable: true, get: function () { return builder_1.create; } })); -Object.defineProperty(exports, "fragment", ({ enumerable: true, get: function () { return builder_1.fragment; } })); -Object.defineProperty(exports, "convert", ({ enumerable: true, get: function () { return builder_1.convert; } })); -Object.defineProperty(exports, "createCB", ({ enumerable: true, get: function () { return builder_1.createCB; } })); -Object.defineProperty(exports, "fragmentCB", ({ enumerable: true, get: function () { return builder_1.fragmentCB; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 81348: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.DefaultXMLBuilderCBOptions = exports.XMLBuilderOptionKeys = exports.DefaultBuilderOptions = void 0; -/** - * Defines default values for builder options. - */ -exports.DefaultBuilderOptions = { - version: "1.0", - encoding: undefined, - standalone: undefined, - keepNullNodes: false, - keepNullAttributes: false, - ignoreConverters: false, - skipWhitespaceOnlyText: true, - convert: { - att: "@", - ins: "?", - text: "#", - cdata: "$", - comment: "!" - }, - defaultNamespace: { - ele: undefined, - att: undefined - }, - namespaceAlias: { - html: "http://www.w3.org/1999/xhtml", - xml: "http://www.w3.org/XML/1998/namespace", - xmlns: "http://www.w3.org/2000/xmlns/", - mathml: "http://www.w3.org/1998/Math/MathML", - svg: "http://www.w3.org/2000/svg", - xlink: "http://www.w3.org/1999/xlink" - }, - invalidCharReplacement: undefined, - parser: undefined -}; -/** - * Contains keys of `XMLBuilderOptions`. - */ -exports.XMLBuilderOptionKeys = new Set(Object.keys(exports.DefaultBuilderOptions)); -/** - * Defines default values for builder options. - */ -exports.DefaultXMLBuilderCBOptions = { - format: "xml", - wellFormed: false, - prettyPrint: false, - indent: " ", - newline: "\n", - offset: 0, - width: 0, - allowEmptyTags: false, - spaceBeforeSlash: false, - keepNullNodes: false, - keepNullAttributes: false, - ignoreConverters: false, - convert: { - att: "@", - ins: "?", - text: "#", - cdata: "$", - comment: "!" - }, - defaultNamespace: { - ele: undefined, - att: undefined - }, - namespaceAlias: { - html: "http://www.w3.org/1999/xhtml", - xml: "http://www.w3.org/XML/1998/namespace", - xmlns: "http://www.w3.org/2000/xmlns/", - mathml: "http://www.w3.org/1998/Math/MathML", - svg: "http://www.w3.org/2000/svg", - xlink: "http://www.w3.org/1999/xlink" - } -}; -//# sourceMappingURL=interfaces.js.map - -/***/ }), - -/***/ 87825: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.BaseReader = void 0; -const dom_1 = __nccwpck_require__(1256); -/** - * Parses XML nodes. - */ -class BaseReader { - _builderOptions; - static _entityTable = { - "lt": "<", - "gt": ">", - "amp": "&", - "quot": '"', - "apos": "'", - }; - /** - * Initializes a new instance of `BaseReader`. - * - * @param builderOptions - XML builder options - */ - constructor(builderOptions) { - this._builderOptions = builderOptions; - if (builderOptions.parser) { - Object.assign(this, builderOptions.parser); - } - } - _docType(parent, name, publicId, systemId) { - return parent.dtd({ name: name, pubID: publicId, sysID: systemId }); - } - _comment(parent, data) { - return parent.com(data); - } - _text(parent, data) { - return parent.txt(data); - } - _instruction(parent, target, data) { - return parent.ins(target, data); - } - _cdata(parent, data) { - return parent.dat(data); - } - _element(parent, namespace, name) { - return (namespace === undefined ? parent.ele(name) : parent.ele(namespace, name)); - } - _attribute(parent, namespace, name, value) { - return (namespace === undefined ? parent.att(name, value) : parent.att(namespace, name, value)); - } - _sanitize(str) { - return (0, dom_1.sanitizeInput)(str, this._builderOptions.invalidCharReplacement); - } - /** - * Decodes serialized text. - * - * @param text - text value to serialize - */ - _decodeText(text) { - if (text == null) - return text; - return text.replace(/&(quot|amp|apos|lt|gt);/g, (_match, tag) => BaseReader._entityTable[tag]).replace(/&#(?:x([a-fA-F0-9]+)|([0-9]+));/g, (_match, hexStr, numStr) => String.fromCodePoint(parseInt(hexStr || numStr, hexStr ? 16 : 10))); - } - /** - * Decodes serialized attribute value. - * - * @param text - attribute value to serialize - */ - _decodeAttributeValue(text) { - return this._decodeText(text); - } - /** - * Main parser function which parses the given object and returns an XMLBuilder. - * - * @param node - node to recieve parsed content - * @param obj - object to parse - */ - parse(node, obj) { - return this._parse(node, obj); - } - /** - * Creates a DocType node. - * The node will be skipped if the function returns `undefined`. - * - * @param name - node name - * @param publicId - public identifier - * @param systemId - system identifier - */ - docType(parent, name, publicId, systemId) { - return this._docType(parent, name, publicId, systemId); - } - /** - * Creates a comment node. - * The node will be skipped if the function returns `undefined`. - * - * @param parent - parent node - * @param data - node data - */ - comment(parent, data) { - return this._comment(parent, data); - } - /** - * Creates a text node. - * The node will be skipped if the function returns `undefined`. - * - * @param parent - parent node - * @param data - node data - */ - text(parent, data) { - return this._text(parent, data); - } - /** - * Creates a processing instruction node. - * The node will be skipped if the function returns `undefined`. - * - * @param parent - parent node - * @param target - instruction target - * @param data - node data - */ - instruction(parent, target, data) { - return this._instruction(parent, target, data); - } - /** - * Creates a CData section node. - * The node will be skipped if the function returns `undefined`. - * - * @param parent - parent node - * @param data - node data - */ - cdata(parent, data) { - return this._cdata(parent, data); - } - /** - * Creates an element node. - * The node will be skipped if the function returns `undefined`. - * - * @param parent - parent node - * @param namespace - node namespace - * @param name - node name - */ - element(parent, namespace, name) { - return this._element(parent, namespace, name); - } - /** - * Creates an attribute or namespace declaration. - * The node will be skipped if the function returns `undefined`. - * - * @param parent - parent node - * @param namespace - node namespace - * @param name - node name - * @param value - node value - */ - attribute(parent, namespace, name, value) { - return this._attribute(parent, namespace, name, value); - } - /** - * Sanitizes input strings. - * - * @param str - input string - */ - sanitize(str) { - return this._sanitize(str); - } -} -exports.BaseReader = BaseReader; -//# sourceMappingURL=BaseReader.js.map - -/***/ }), - -/***/ 24520: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.JSONReader = void 0; -const ObjectReader_1 = __nccwpck_require__(74573); -const BaseReader_1 = __nccwpck_require__(87825); -/** - * Parses XML nodes from a JSON string. - */ -class JSONReader extends BaseReader_1.BaseReader { - /** - * Parses the given document representation. - * - * @param node - node receive parsed XML nodes - * @param str - JSON string to parse - */ - _parse(node, str) { - return new ObjectReader_1.ObjectReader(this._builderOptions).parse(node, JSON.parse(str)); - } -} -exports.JSONReader = JSONReader; -//# sourceMappingURL=JSONReader.js.map - -/***/ }), - -/***/ 74573: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ObjectReader = void 0; -const util_1 = __nccwpck_require__(76195); -const BaseReader_1 = __nccwpck_require__(87825); -/** - * Parses XML nodes from objects and arrays. - * ES6 maps and sets are also supoorted. - */ -class ObjectReader extends BaseReader_1.BaseReader { - /** - * Parses the given document representation. - * - * @param node - node receive parsed XML nodes - * @param obj - object to parse - */ - _parse(node, obj) { - const options = this._builderOptions; - let lastChild = null; - if ((0, util_1.isFunction)(obj)) { - // evaluate if function - lastChild = this.parse(node, obj.call(this)); - } - else if ((0, util_1.isArray)(obj) || (0, util_1.isSet)(obj)) { - (0, util_1.forEachArray)(obj, item => lastChild = this.parse(node, item), this); - } - else if ((0, util_1.isMap)(obj) || (0, util_1.isObject)(obj)) { - // expand if object - (0, util_1.forEachObject)(obj, (key, val) => { - if ((0, util_1.isFunction)(val)) { - // evaluate if function - val = val.call(this); - } - if (!options.ignoreConverters && key.indexOf(options.convert.att) === 0) { - // assign attributes - if (key === options.convert.att) { - if ((0, util_1.isArray)(val) || (0, util_1.isSet)(val)) { - throw new Error("Invalid attribute: " + val.toString() + ". " + node._debugInfo()); - } - else /* if (isMap(val) || isObject(val)) */ { - (0, util_1.forEachObject)(val, (attrKey, attrVal) => { - lastChild = this.attribute(node, undefined, this.sanitize(attrKey), this._decodeAttributeValue(this.sanitize(attrVal))) || lastChild; - }); - } - } - else { - lastChild = this.attribute(node, undefined, this.sanitize(key.substring(options.convert.att.length)), this._decodeAttributeValue(this.sanitize(val?.toString()))) || lastChild; - } - } - else if (!options.ignoreConverters && key.indexOf(options.convert.text) === 0) { - // text node - if ((0, util_1.isMap)(val) || (0, util_1.isObject)(val)) { - // if the key is #text expand child nodes under this node to support mixed content - lastChild = this.parse(node, val); - } - else { - lastChild = this.text(node, this._decodeText(this.sanitize(val?.toString()))) || lastChild; - } - } - else if (!options.ignoreConverters && key.indexOf(options.convert.cdata) === 0) { - // cdata node - if ((0, util_1.isArray)(val) || (0, util_1.isSet)(val)) { - (0, util_1.forEachArray)(val, item => lastChild = this.cdata(node, this.sanitize(item)) || lastChild, this); - } - else { - lastChild = this.cdata(node, this.sanitize(val?.toString())) || lastChild; - } - } - else if (!options.ignoreConverters && key.indexOf(options.convert.comment) === 0) { - // comment node - if ((0, util_1.isArray)(val) || (0, util_1.isSet)(val)) { - (0, util_1.forEachArray)(val, item => lastChild = this.comment(node, this.sanitize(item)) || lastChild, this); - } - else { - lastChild = this.comment(node, this.sanitize(val?.toString())) || lastChild; - } - } - else if (!options.ignoreConverters && key.indexOf(options.convert.ins) === 0) { - // processing instruction - if ((0, util_1.isString)(val)) { - const insIndex = val.indexOf(' '); - const insTarget = (insIndex === -1 ? val : val.substr(0, insIndex)); - const insValue = (insIndex === -1 ? '' : val.substr(insIndex + 1)); - lastChild = this.instruction(node, this.sanitize(insTarget), this.sanitize(insValue)) || lastChild; - } - else if ((0, util_1.isArray)(val) || (0, util_1.isSet)(val)) { - (0, util_1.forEachArray)(val, item => { - const insIndex = item.indexOf(' '); - const insTarget = (insIndex === -1 ? item : item.substr(0, insIndex)); - const insValue = (insIndex === -1 ? '' : item.substr(insIndex + 1)); - lastChild = this.instruction(node, this.sanitize(insTarget), this.sanitize(insValue)) || lastChild; - }, this); - } - else /* if (isMap(target) || isObject(target)) */ { - (0, util_1.forEachObject)(val, (insTarget, insValue) => lastChild = this.instruction(node, this.sanitize(insTarget), this.sanitize(insValue)) || lastChild, this); - } - } - else if (((0, util_1.isArray)(val) || (0, util_1.isSet)(val)) && (0, util_1.isEmpty)(val)) { - // skip empty arrays - } - else if (((0, util_1.isMap)(val) || (0, util_1.isObject)(val)) && (0, util_1.isEmpty)(val)) { - // empty objects produce one node - lastChild = this.element(node, undefined, this.sanitize(key)) || lastChild; - } - else if (!options.keepNullNodes && (val == null)) { - // skip null and undefined nodes - } - else if ((0, util_1.isArray)(val) || (0, util_1.isSet)(val)) { - // expand list by creating child nodes - (0, util_1.forEachArray)(val, item => { - const childNode = {}; - childNode[key] = item; - lastChild = this.parse(node, childNode); - }, this); - } - else if ((0, util_1.isMap)(val) || (0, util_1.isObject)(val)) { - // create a parent node - const parent = this.element(node, undefined, this.sanitize(key)); - if (parent) { - lastChild = parent; - // expand child nodes under parent - this.parse(parent, val); - } - } - else if (val != null && (!(0, util_1.isString)(val) || val !== '')) { - // leaf element node with a single text node - const parent = this.element(node, undefined, this.sanitize(key)); - if (parent) { - lastChild = parent; - this.text(parent, this._decodeText(this.sanitize(val?.toString()))); - } - } - else { - // leaf element node - lastChild = this.element(node, undefined, this.sanitize(key)) || lastChild; - } - }, this); - } - else if (!options.keepNullNodes && (obj == null)) { - // skip null and undefined nodes - } - else { - // text node - lastChild = this.text(node, this._decodeText(this.sanitize(obj?.toString()))) || lastChild; - } - return lastChild || node; - } -} -exports.ObjectReader = ObjectReader; -//# sourceMappingURL=ObjectReader.js.map - -/***/ }), - -/***/ 21190: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.XMLReader = void 0; -const XMLStringLexer_1 = __nccwpck_require__(47061); -const interfaces_1 = __nccwpck_require__(97707); -const interfaces_2 = __nccwpck_require__(27305); -const infra_1 = __nccwpck_require__(84251); -const algorithm_1 = __nccwpck_require__(61); -const BaseReader_1 = __nccwpck_require__(87825); -/** - * Parses XML nodes from an XML document string. - */ -class XMLReader extends BaseReader_1.BaseReader { - /** - * Parses the given document representation. - * - * @param node - node receive parsed XML nodes - * @param str - XML document string to parse - */ - _parse(node, str) { - const lexer = new XMLStringLexer_1.XMLStringLexer(str, { skipWhitespaceOnlyText: this._builderOptions.skipWhitespaceOnlyText }); - let lastChild = node; - let context = node; - let token = lexer.nextToken(); - while (token.type !== interfaces_1.TokenType.EOF) { - switch (token.type) { - case interfaces_1.TokenType.Declaration: - const declaration = token; - const version = this.sanitize(declaration.version); - if (version !== "1.0") { - throw new Error("Invalid xml version: " + version); - } - const builderOptions = { - version: version - }; - if (declaration.encoding) { - builderOptions.encoding = this.sanitize(declaration.encoding); - } - if (declaration.standalone) { - builderOptions.standalone = (this.sanitize(declaration.standalone) === "yes"); - } - context.set(builderOptions); - break; - case interfaces_1.TokenType.DocType: - const doctype = token; - context = this.docType(context, this.sanitize(doctype.name), this.sanitize(doctype.pubId), this.sanitize(doctype.sysId)) || context; - break; - case interfaces_1.TokenType.CDATA: - const cdata = token; - context = this.cdata(context, this.sanitize(cdata.data)) || context; - break; - case interfaces_1.TokenType.Comment: - const comment = token; - context = this.comment(context, this.sanitize(comment.data)) || context; - break; - case interfaces_1.TokenType.PI: - const pi = token; - context = this.instruction(context, this.sanitize(pi.target), this.sanitize(pi.data)) || context; - break; - case interfaces_1.TokenType.Text: - if (context.node.nodeType === interfaces_2.NodeType.Document) - break; - const text = token; - context = this.text(context, this._decodeText(this.sanitize(text.data))) || context; - break; - case interfaces_1.TokenType.Element: - const element = token; - const elementName = this.sanitize(element.name); - // inherit namespace from parent - const [prefix] = (0, algorithm_1.namespace_extractQName)(elementName); - let namespace = context.node.lookupNamespaceURI(prefix); - // override namespace if there is a namespace declaration - // attribute - // also lookup namespace declaration attributes - const nsDeclarations = {}; - for (let [attName, attValue] of element.attributes) { - attName = this.sanitize(attName); - attValue = this.sanitize(attValue); - if (attName === "xmlns") { - namespace = attValue; - } - else { - const [attPrefix, attLocalName] = (0, algorithm_1.namespace_extractQName)(attName); - if (attPrefix === "xmlns") { - if (attLocalName === prefix) { - namespace = attValue; - } - nsDeclarations[attLocalName] = attValue; - } - } - } - // create the DOM element node - const elementNode = (namespace !== null ? - this.element(context, namespace, elementName) : - this.element(context, undefined, elementName)); - if (elementNode === undefined) - break; - if (context.node === node.node) - lastChild = elementNode; - // assign attributes - for (let [attName, attValue] of element.attributes) { - attName = this.sanitize(attName); - attValue = this.sanitize(attValue); - const [attPrefix, attLocalName] = (0, algorithm_1.namespace_extractQName)(attName); - let attNamespace = null; - if (attPrefix === "xmlns" || (attPrefix === null && attLocalName === "xmlns")) { - // namespace declaration attribute - attNamespace = infra_1.namespace.XMLNS; - } - else { - attNamespace = elementNode.node.lookupNamespaceURI(attPrefix); - if (attNamespace !== null && elementNode.node.isDefaultNamespace(attNamespace)) { - attNamespace = null; - } - else if (attNamespace === null && attPrefix !== null) { - attNamespace = nsDeclarations[attPrefix] || null; - } - } - if (attNamespace !== null) - this.attribute(elementNode, attNamespace, attName, this._decodeAttributeValue(attValue)); - else - this.attribute(elementNode, undefined, attName, this._decodeAttributeValue(attValue)); - } - if (!element.selfClosing) { - context = elementNode; - } - break; - case interfaces_1.TokenType.ClosingTag: - /* istanbul ignore else */ - if (context.node.parentNode) { - context = context.up(); - } - break; - } - token = lexer.nextToken(); - } - return lastChild; - } -} -exports.XMLReader = XMLReader; -//# sourceMappingURL=XMLReader.js.map - -/***/ }), - -/***/ 3905: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.YAMLReader = void 0; -const ObjectReader_1 = __nccwpck_require__(74573); -const BaseReader_1 = __nccwpck_require__(87825); -const js_yaml_1 = __nccwpck_require__(21917); -/** - * Parses XML nodes from a YAML string. - */ -class YAMLReader extends BaseReader_1.BaseReader { - /** - * Parses the given document representation. - * - * @param node - node receive parsed XML nodes - * @param str - YAML string to parse - */ - _parse(node, str) { - const result = (0, js_yaml_1.load)(str); - /* istanbul ignore next */ - if (result === undefined) { - throw new Error("Unable to parse YAML document."); - } - return new ObjectReader_1.ObjectReader(this._builderOptions).parse(node, result); - } -} -exports.YAMLReader = YAMLReader; -//# sourceMappingURL=YAMLReader.js.map - -/***/ }), - -/***/ 90241: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.YAMLReader = exports.JSONReader = exports.ObjectReader = exports.XMLReader = void 0; -var XMLReader_1 = __nccwpck_require__(21190); -Object.defineProperty(exports, "XMLReader", ({ enumerable: true, get: function () { return XMLReader_1.XMLReader; } })); -var ObjectReader_1 = __nccwpck_require__(74573); -Object.defineProperty(exports, "ObjectReader", ({ enumerable: true, get: function () { return ObjectReader_1.ObjectReader; } })); -var JSONReader_1 = __nccwpck_require__(24520); -Object.defineProperty(exports, "JSONReader", ({ enumerable: true, get: function () { return JSONReader_1.JSONReader; } })); -var YAMLReader_1 = __nccwpck_require__(3905); -Object.defineProperty(exports, "YAMLReader", ({ enumerable: true, get: function () { return YAMLReader_1.YAMLReader; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 63210: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.BaseCBWriter = void 0; -/** - * Pre-serializes XML nodes. - */ -class BaseCBWriter { - _builderOptions; - _writerOptions; - /** - * Gets the current depth of the XML tree. - */ - level = 0; - /** - * Determines whether any data has been written. - */ - hasData; - /** - * Initializes a new instance of `BaseCBWriter`. - * - * @param builderOptions - XML builder options - */ - constructor(builderOptions) { - this._builderOptions = builderOptions; - this._writerOptions = builderOptions; - } -} -exports.BaseCBWriter = BaseCBWriter; -//# sourceMappingURL=BaseCBWriter.js.map - -/***/ }), - -/***/ 24189: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.BaseWriter = void 0; -const interfaces_1 = __nccwpck_require__(27305); -const LocalNameSet_1 = __nccwpck_require__(19049); -const NamespacePrefixMap_1 = __nccwpck_require__(90283); -const infra_1 = __nccwpck_require__(84251); -const algorithm_1 = __nccwpck_require__(61); -const constants_1 = __nccwpck_require__(9311); -/** - * Pre-serializes XML nodes. - */ -class BaseWriter { - static _VoidElementNames = new Set(['area', 'base', 'basefont', - 'bgsound', 'br', 'col', 'embed', 'frame', 'hr', 'img', 'input', 'keygen', - 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr']); - _builderOptions; - _writerOptions; - /** - * Initializes a new instance of `BaseWriter`. - * - * @param builderOptions - XML builder options - */ - constructor(builderOptions) { - this._builderOptions = builderOptions; - } - /** - * Used by derived classes to serialize the XML declaration. - * - * @param version - a version number string - * @param encoding - encoding declaration - * @param standalone - standalone document declaration - */ - declaration(version, encoding, standalone) { } - /** - * Used by derived classes to serialize a DocType node. - * - * @param name - node name - * @param publicId - public identifier - * @param systemId - system identifier - */ - docType(name, publicId, systemId) { } - /** - * Used by derived classes to serialize a comment node. - * - * @param data - node data - */ - comment(data) { } - /** - * Used by derived classes to serialize a text node. - * - * @param data - node data - */ - text(data) { } - /** - * Used by derived classes to serialize a processing instruction node. - * - * @param target - instruction target - * @param data - node data - */ - instruction(target, data) { } - /** - * Used by derived classes to serialize a CData section node. - * - * @param data - node data - */ - cdata(data) { } - /** - * Used by derived classes to serialize the beginning of the opening tag of an - * element node. - * - * @param name - node name - */ - openTagBegin(name) { } - /** - * Used by derived classes to serialize the ending of the opening tag of an - * element node. - * - * @param name - node name - * @param selfClosing - whether the element node is self closing - * @param voidElement - whether the element node is a HTML void element - */ - openTagEnd(name, selfClosing, voidElement) { } - /** - * Used by derived classes to serialize the closing tag of an element node. - * - * @param name - node name - */ - closeTag(name) { } - /** - * Used by derived classes to serialize attributes or namespace declarations. - * - * @param attributes - attribute array - */ - attributes(attributes) { - for (const attr of attributes) { - this.attribute(attr[1] === null ? attr[2] : attr[1] + ':' + attr[2], attr[3]); - } - } - /** - * Used by derived classes to serialize an attribute or namespace declaration. - * - * @param name - node name - * @param value - node value - */ - attribute(name, value) { } - /** - * Used by derived classes to perform any pre-processing steps before starting - * serializing an element node. - * - * @param name - node name - */ - beginElement(name) { } - /** - * Used by derived classes to perform any post-processing steps after - * completing serializing an element node. - * - * @param name - node name - */ - endElement(name) { } - /** - * Gets the current depth of the XML tree. - */ - level = 0; - /** - * Gets the current XML node. - */ - currentNode; - /** - * Produces an XML serialization of the given node. The pre-serializer inserts - * namespace declarations where necessary and produces qualified names for - * nodes and attributes. - * - * @param node - node to serialize - * @param requireWellFormed - whether to check conformance - */ - serializeNode(node, requireWellFormed) { - const hasNamespaces = (node._nodeDocument !== undefined && node._nodeDocument._hasNamespaces); - this.level = 0; - this.currentNode = node; - if (hasNamespaces) { - /** From: https://w3c.github.io/DOM-Parsing/#xml-serialization - * - * 1. Let namespace be a context namespace with value null. - * The context namespace tracks the XML serialization algorithm's current - * default namespace. The context namespace is changed when either an Element - * Node has a default namespace declaration, or the algorithm generates a - * default namespace declaration for the Element Node to match its own - * namespace. The algorithm assumes no namespace (null) to start. - * 2. Let prefix map be a new namespace prefix map. - * 3. Add the XML namespace with prefix value "xml" to prefix map. - * 4. Let prefix index be a generated namespace prefix index with value 1. - * The generated namespace prefix index is used to generate a new unique - * prefix value when no suitable existing namespace prefix is available to - * serialize a node's namespaceURI (or the namespaceURI of one of node's - * attributes). See the generate a prefix algorithm. - */ - let namespace = null; - const prefixMap = new NamespacePrefixMap_1.NamespacePrefixMap(); - prefixMap.set("xml", infra_1.namespace.XML); - const prefixIndex = { value: 1 }; - /** - * 5. Return the result of running the XML serialization algorithm on node - * passing the context namespace namespace, namespace prefix map prefix map, - * generated namespace prefix index reference to prefix index, and the - * flag require well-formed. If an exception occurs during the execution - * of the algorithm, then catch that exception and throw an - * "InvalidStateError" DOMException. - */ - this._serializeNodeNS(node, namespace, prefixMap, prefixIndex, requireWellFormed); - } - else { - this._serializeNode(node, requireWellFormed); - } - } - /** - * Produces an XML serialization of a node. - * - * @param node - node to serialize - * @param namespace - context namespace - * @param prefixMap - namespace prefix map - * @param prefixIndex - generated namespace prefix index - * @param requireWellFormed - whether to check conformance - */ - _serializeNodeNS(node, namespace, prefixMap, prefixIndex, requireWellFormed) { - this.currentNode = node; - switch (node.nodeType) { - case interfaces_1.NodeType.Element: - this._serializeElementNS(node, namespace, prefixMap, prefixIndex, requireWellFormed); - break; - case interfaces_1.NodeType.Document: - this._serializeDocumentNS(node, namespace, prefixMap, prefixIndex, requireWellFormed); - break; - case interfaces_1.NodeType.Comment: - this._serializeComment(node, requireWellFormed); - break; - case interfaces_1.NodeType.Text: - this._serializeText(node, requireWellFormed); - break; - case interfaces_1.NodeType.DocumentFragment: - this._serializeDocumentFragmentNS(node, namespace, prefixMap, prefixIndex, requireWellFormed); - break; - case interfaces_1.NodeType.DocumentType: - this._serializeDocumentType(node, requireWellFormed); - break; - case interfaces_1.NodeType.ProcessingInstruction: - this._serializeProcessingInstruction(node, requireWellFormed); - break; - case interfaces_1.NodeType.CData: - this._serializeCData(node, requireWellFormed); - break; - default: - throw new Error(`Unknown node type: ${node.nodeType}`); - } - } - /** - * Produces an XML serialization of a node. - * - * @param node - node to serialize - * @param requireWellFormed - whether to check conformance - */ - _serializeNode(node, requireWellFormed) { - this.currentNode = node; - switch (node.nodeType) { - case interfaces_1.NodeType.Element: - this._serializeElement(node, requireWellFormed); - break; - case interfaces_1.NodeType.Document: - this._serializeDocument(node, requireWellFormed); - break; - case interfaces_1.NodeType.Comment: - this._serializeComment(node, requireWellFormed); - break; - case interfaces_1.NodeType.Text: - this._serializeText(node, requireWellFormed); - break; - case interfaces_1.NodeType.DocumentFragment: - this._serializeDocumentFragment(node, requireWellFormed); - break; - case interfaces_1.NodeType.DocumentType: - this._serializeDocumentType(node, requireWellFormed); - break; - case interfaces_1.NodeType.ProcessingInstruction: - this._serializeProcessingInstruction(node, requireWellFormed); - break; - case interfaces_1.NodeType.CData: - this._serializeCData(node, requireWellFormed); - break; - default: - throw new Error(`Unknown node type: ${node.nodeType}`); - } - } - /** - * Produces an XML serialization of an element node. - * - * @param node - node to serialize - * @param namespace - context namespace - * @param prefixMap - namespace prefix map - * @param prefixIndex - generated namespace prefix index - * @param requireWellFormed - whether to check conformance - */ - _serializeElementNS(node, namespace, prefixMap, prefixIndex, requireWellFormed) { - const attributes = []; - /** - * From: https://w3c.github.io/DOM-Parsing/#xml-serializing-an-element-node - * - * 1. If the require well-formed flag is set (its value is true), and this - * node's localName attribute contains the character ":" (U+003A COLON) or - * does not match the XML Name production, then throw an exception; the - * serialization of this node would not be a well-formed element. - */ - if (requireWellFormed && (node.localName.indexOf(":") !== -1 || - !(0, algorithm_1.xml_isName)(node.localName))) { - throw new Error("Node local name contains invalid characters (well-formed required)."); - } - /** - * 2. Let markup be the string "<" (U+003C LESS-THAN SIGN). - * 3. Let qualified name be an empty string. - * 4. Let skip end tag be a boolean flag with value false. - * 5. Let ignore namespace definition attribute be a boolean flag with value - * false. - * 6. Given prefix map, copy a namespace prefix map and let map be the - * result. - * 7. Let local prefixes map be an empty map. The map has unique Node prefix - * strings as its keys, with corresponding namespaceURI Node values as the - * map's key values (in this map, the null namespace is represented by the - * empty string). - * - * _Note:_ This map is local to each element. It is used to ensure there - * are no conflicting prefixes should a new namespace prefix attribute need - * to be generated. It is also used to enable skipping of duplicate prefix - * definitions when writing an element's attributes: the map allows the - * algorithm to distinguish between a prefix in the namespace prefix map - * that might be locally-defined (to the current Element) and one that is - * not. - * 8. Let local default namespace be the result of recording the namespace - * information for node given map and local prefixes map. - * - * _Note:_ The above step will update map with any found namespace prefix - * definitions, add the found prefix definitions to the local prefixes map - * and return a local default namespace value defined by a default namespace - * attribute if one exists. Otherwise it returns null. - * 9. Let inherited ns be a copy of namespace. - * 10. Let ns be the value of node's namespaceURI attribute. - */ - let qualifiedName = ''; - let skipEndTag = false; - let ignoreNamespaceDefinitionAttribute = false; - let map = prefixMap.copy(); - let localPrefixesMap = {}; - let localDefaultNamespace = this._recordNamespaceInformation(node, map, localPrefixesMap); - let inheritedNS = namespace; - let ns = node.namespaceURI; - /** 11. If inherited ns is equal to ns, then: */ - if (inheritedNS === ns) { - /** - * 11.1. If local default namespace is not null, then set ignore - * namespace definition attribute to true. - */ - if (localDefaultNamespace !== null) { - ignoreNamespaceDefinitionAttribute = true; - } - /** - * 11.2. If ns is the XML namespace, then append to qualified name the - * concatenation of the string "xml:" and the value of node's localName. - * 11.3. Otherwise, append to qualified name the value of node's - * localName. The node's prefix if it exists, is dropped. - */ - if (ns === infra_1.namespace.XML) { - qualifiedName = 'xml:' + node.localName; - } - else { - qualifiedName = node.localName; - } - /** 11.4. Append the value of qualified name to markup. */ - this.beginElement(qualifiedName); - this.openTagBegin(qualifiedName); - } - else { - /** - * 12. Otherwise, inherited ns is not equal to ns (the node's own - * namespace is different from the context namespace of its parent). - * Run these sub-steps: - * - * 12.1. Let prefix be the value of node's prefix attribute. - * 12.2. Let candidate prefix be the result of retrieving a preferred - * prefix string prefix from map given namespace ns. The above may return - * null if no namespace key ns exists in map. - */ - let prefix = node.prefix; - /** - * We don't need to run "retrieving a preferred prefix string" algorithm if - * the element has no prefix and its namespace matches to the default - * namespace. - * See: https://github.com/web-platform-tests/wpt/pull/16703 - */ - let candidatePrefix = null; - if (prefix !== null || ns !== localDefaultNamespace) { - candidatePrefix = map.get(prefix, ns); - } - /** - * 12.3. If the value of prefix matches "xmlns", then run the following - * steps: - */ - if (prefix === "xmlns") { - /** - * 12.3.1. If the require well-formed flag is set, then throw an error. - * An Element with prefix "xmlns" will not legally round-trip in a - * conforming XML parser. - */ - if (requireWellFormed) { - throw new Error("An element cannot have the 'xmlns' prefix (well-formed required)."); - } - /** - * 12.3.2. Let candidate prefix be the value of prefix. - */ - candidatePrefix = prefix; - } - /** - * 12.4.Found a suitable namespace prefix: if candidate prefix is not - * null (a namespace prefix is defined which maps to ns), then: - */ - if (candidatePrefix !== null) { - /** - * The following may serialize a different prefix than the Element's - * existing prefix if it already had one. However, the retrieving a - * preferred prefix string algorithm already tried to match the - * existing prefix if possible. - * - * 12.4.1. Append to qualified name the concatenation of candidate - * prefix, ":" (U+003A COLON), and node's localName. There exists on - * this node or the node's ancestry a namespace prefix definition that - * defines the node's namespace. - * 12.4.2. If the local default namespace is not null (there exists a - * locally-defined default namespace declaration attribute) and its - * value is not the XML namespace, then let inherited ns get the value - * of local default namespace unless the local default namespace is the - * empty string in which case let it get null (the context namespace - * is changed to the declared default, rather than this node's own - * namespace). - * - * _Note:_ Any default namespace definitions or namespace prefixes that - * define the XML namespace are omitted when serializing this node's - * attributes. - */ - qualifiedName = candidatePrefix + ':' + node.localName; - if (localDefaultNamespace !== null && localDefaultNamespace !== infra_1.namespace.XML) { - inheritedNS = localDefaultNamespace || null; - } - /** - * 12.4.3. Append the value of qualified name to markup. - */ - this.beginElement(qualifiedName); - this.openTagBegin(qualifiedName); - /** 12.5. Otherwise, if prefix is not null, then: */ - } - else if (prefix !== null) { - /** - * _Note:_ By this step, there is no namespace or prefix mapping - * declaration in this node (or any parent node visited by this - * algorithm) that defines prefix otherwise the step labelled Found - * a suitable namespace prefix would have been followed. The sub-steps - * that follow will create a new namespace prefix declaration for prefix - * and ensure that prefix does not conflict with an existing namespace - * prefix declaration of the same localName in node's attribute list. - * - * 12.5.1. If the local prefixes map contains a key matching prefix, - * then let prefix be the result of generating a prefix providing as - * input map, ns, and prefix index. - */ - if (prefix in localPrefixesMap) { - prefix = this._generatePrefix(ns, map, prefixIndex); - } - /** - * 12.5.2. Add prefix to map given namespace ns. - * 12.5.3. Append to qualified name the concatenation of prefix, ":" - * (U+003A COLON), and node's localName. - * 12.5.4. Append the value of qualified name to markup. - */ - map.set(prefix, ns); - qualifiedName += prefix + ':' + node.localName; - this.beginElement(qualifiedName); - this.openTagBegin(qualifiedName); - /** - * 12.5.5. Append the following to markup, in the order listed: - * - * _Note:_ The following serializes a namespace prefix declaration for - * prefix which was just added to the map. - * - * 12.5.5.1. " " (U+0020 SPACE); - * 12.5.5.2. The string "xmlns:"; - * 12.5.5.3. The value of prefix; - * 12.5.5.4. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); - * 12.5.5.5. The result of serializing an attribute value given ns and - * the require well-formed flag as input; - * 12.5.5.6. """ (U+0022 QUOTATION MARK). - */ - attributes.push([null, 'xmlns', prefix, - this._serializeAttributeValue(ns, requireWellFormed)]); - /** - * 12.5.5.7. If local default namespace is not null (there exists a - * locally-defined default namespace declaration attribute), then - * let inherited ns get the value of local default namespace unless the - * local default namespace is the empty string in which case let it get - * null. - */ - if (localDefaultNamespace !== null) { - inheritedNS = localDefaultNamespace || null; - } - /** - * 12.6. Otherwise, if local default namespace is null, or local - * default namespace is not null and its value is not equal to ns, then: - */ - } - else if (localDefaultNamespace === null || - (localDefaultNamespace !== null && localDefaultNamespace !== ns)) { - /** - * _Note:_ At this point, the namespace for this node still needs to be - * serialized, but there's no prefix (or candidate prefix) available; the - * following uses the default namespace declaration to define the - * namespace--optionally replacing an existing default declaration - * if present. - * - * 12.6.1. Set the ignore namespace definition attribute flag to true. - * 12.6.2. Append to qualified name the value of node's localName. - * 12.6.3. Let the value of inherited ns be ns. - * - * _Note:_ The new default namespace will be used in the serialization - * to define this node's namespace and act as the context namespace for - * its children. - */ - ignoreNamespaceDefinitionAttribute = true; - qualifiedName += node.localName; - inheritedNS = ns; - /** - * 12.6.4. Append the value of qualified name to markup. - */ - this.beginElement(qualifiedName); - this.openTagBegin(qualifiedName); - /** - * 12.6.5. Append the following to markup, in the order listed: - * - * _Note:_ The following serializes the new (or replacement) default - * namespace definition. - * - * 12.6.5.1. " " (U+0020 SPACE); - * 12.6.5.2. The string "xmlns"; - * 12.6.5.3. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); - * 12.6.5.4. The result of serializing an attribute value given ns - * and the require well-formed flag as input; - * 12.6.5.5. """ (U+0022 QUOTATION MARK). - */ - attributes.push([null, null, 'xmlns', - this._serializeAttributeValue(ns, requireWellFormed)]); - /** - * 12.7. Otherwise, the node has a local default namespace that matches - * ns. Append to qualified name the value of node's localName, let the - * value of inherited ns be ns, and append the value of qualified name - * to markup. - */ - } - else { - qualifiedName += node.localName; - inheritedNS = ns; - this.beginElement(qualifiedName); - this.openTagBegin(qualifiedName); - } - } - /** - * 13. Append to markup the result of the XML serialization of node's - * attributes given map, prefix index, local prefixes map, ignore namespace - * definition attribute flag, and require well-formed flag. - */ - attributes.push(...this._serializeAttributesNS(node, map, prefixIndex, localPrefixesMap, ignoreNamespaceDefinitionAttribute, requireWellFormed)); - this.attributes(attributes); - /** - * 14. If ns is the HTML namespace, and the node's list of children is - * empty, and the node's localName matches any one of the following void - * elements: "area", "base", "basefont", "bgsound", "br", "col", "embed", - * "frame", "hr", "img", "input", "keygen", "link", "menuitem", "meta", - * "param", "source", "track", "wbr"; then append the following to markup, - * in the order listed: - * 14.1. " " (U+0020 SPACE); - * 14.2. "/" (U+002F SOLIDUS). - * and set the skip end tag flag to true. - * 15. If ns is not the HTML namespace, and the node's list of children is - * empty, then append "/" (U+002F SOLIDUS) to markup and set the skip end - * tag flag to true. - * 16. Append ">" (U+003E GREATER-THAN SIGN) to markup. - */ - const isHTML = (ns === infra_1.namespace.HTML); - if (isHTML && node.childNodes.length === 0 && - BaseWriter._VoidElementNames.has(node.localName)) { - this.openTagEnd(qualifiedName, true, true); - this.endElement(qualifiedName); - skipEndTag = true; - } - else if (!isHTML && node.childNodes.length === 0) { - this.openTagEnd(qualifiedName, true, false); - this.endElement(qualifiedName); - skipEndTag = true; - } - else { - this.openTagEnd(qualifiedName, false, false); - } - /** - * 17. If the value of skip end tag is true, then return the value of markup - * and skip the remaining steps. The node is a leaf-node. - */ - if (skipEndTag) - return; - /** - * 18. If ns is the HTML namespace, and the node's localName matches the - * string "template", then this is a template element. Append to markup the - * result of XML serializing a DocumentFragment node given the template - * element's template contents (a DocumentFragment), providing inherited - * ns, map, prefix index, and the require well-formed flag. - * - * _Note:_ This allows template content to round-trip, given the rules for - * parsing XHTML documents. - * - * 19. Otherwise, append to markup the result of running the XML - * serialization algorithm on each of node's children, in tree order, - * providing inherited ns, map, prefix index, and the require well-formed - * flag. - */ - if (isHTML && node.localName === "template") { - // TODO: serialize template contents - } - else { - for (const childNode of node.childNodes) { - this.level++; - this._serializeNodeNS(childNode, inheritedNS, map, prefixIndex, requireWellFormed); - this.level--; - } - } - /** - * 20. Append the following to markup, in the order listed: - * 20.1. "" (U+003E GREATER-THAN SIGN). - * 21. Return the value of markup. - */ - this.closeTag(qualifiedName); - this.endElement(qualifiedName); - } - /** - * Produces an XML serialization of an element node. - * - * @param node - node to serialize - * @param requireWellFormed - whether to check conformance - */ - _serializeElement(node, requireWellFormed) { - /** - * From: https://w3c.github.io/DOM-Parsing/#xml-serializing-an-element-node - * - * 1. If the require well-formed flag is set (its value is true), and this - * node's localName attribute contains the character ":" (U+003A COLON) or - * does not match the XML Name production, then throw an exception; the - * serialization of this node would not be a well-formed element. - */ - if (requireWellFormed && (node.localName.indexOf(":") !== -1 || - !(0, algorithm_1.xml_isName)(node.localName))) { - throw new Error("Node local name contains invalid characters (well-formed required)."); - } - /** - * 2. Let markup be the string "<" (U+003C LESS-THAN SIGN). - * 3. Let qualified name be an empty string. - * 4. Let skip end tag be a boolean flag with value false. - * 5. Let ignore namespace definition attribute be a boolean flag with value - * false. - * 6. Given prefix map, copy a namespace prefix map and let map be the - * result. - * 7. Let local prefixes map be an empty map. The map has unique Node prefix - * strings as its keys, with corresponding namespaceURI Node values as the - * map's key values (in this map, the null namespace is represented by the - * empty string). - * - * _Note:_ This map is local to each element. It is used to ensure there - * are no conflicting prefixes should a new namespace prefix attribute need - * to be generated. It is also used to enable skipping of duplicate prefix - * definitions when writing an element's attributes: the map allows the - * algorithm to distinguish between a prefix in the namespace prefix map - * that might be locally-defined (to the current Element) and one that is - * not. - * 8. Let local default namespace be the result of recording the namespace - * information for node given map and local prefixes map. - * - * _Note:_ The above step will update map with any found namespace prefix - * definitions, add the found prefix definitions to the local prefixes map - * and return a local default namespace value defined by a default namespace - * attribute if one exists. Otherwise it returns null. - * 9. Let inherited ns be a copy of namespace. - * 10. Let ns be the value of node's namespaceURI attribute. - */ - let skipEndTag = false; - /** 11. If inherited ns is equal to ns, then: */ - /** - * 11.1. If local default namespace is not null, then set ignore - * namespace definition attribute to true. - */ - /** - * 11.2. If ns is the XML namespace, then append to qualified name the - * concatenation of the string "xml:" and the value of node's localName. - * 11.3. Otherwise, append to qualified name the value of node's - * localName. The node's prefix if it exists, is dropped. - */ - const qualifiedName = node.localName; - /** 11.4. Append the value of qualified name to markup. */ - this.beginElement(qualifiedName); - this.openTagBegin(qualifiedName); - /** - * 13. Append to markup the result of the XML serialization of node's - * attributes given map, prefix index, local prefixes map, ignore namespace - * definition attribute flag, and require well-formed flag. - */ - const attributes = this._serializeAttributes(node, requireWellFormed); - this.attributes(attributes); - /** - * 14. If ns is the HTML namespace, and the node's list of children is - * empty, and the node's localName matches any one of the following void - * elements: "area", "base", "basefont", "bgsound", "br", "col", "embed", - * "frame", "hr", "img", "input", "keygen", "link", "menuitem", "meta", - * "param", "source", "track", "wbr"; then append the following to markup, - * in the order listed: - * 14.1. " " (U+0020 SPACE); - * 14.2. "/" (U+002F SOLIDUS). - * and set the skip end tag flag to true. - * 15. If ns is not the HTML namespace, and the node's list of children is - * empty, then append "/" (U+002F SOLIDUS) to markup and set the skip end - * tag flag to true. - * 16. Append ">" (U+003E GREATER-THAN SIGN) to markup. - */ - if (!node.hasChildNodes()) { - this.openTagEnd(qualifiedName, true, false); - this.endElement(qualifiedName); - skipEndTag = true; - } - else { - this.openTagEnd(qualifiedName, false, false); - } - /** - * 17. If the value of skip end tag is true, then return the value of markup - * and skip the remaining steps. The node is a leaf-node. - */ - if (skipEndTag) - return; - /** - * 18. If ns is the HTML namespace, and the node's localName matches the - * string "template", then this is a template element. Append to markup the - * result of XML serializing a DocumentFragment node given the template - * element's template contents (a DocumentFragment), providing inherited - * ns, map, prefix index, and the require well-formed flag. - * - * _Note:_ This allows template content to round-trip, given the rules for - * parsing XHTML documents. - * - * 19. Otherwise, append to markup the result of running the XML - * serialization algorithm on each of node's children, in tree order, - * providing inherited ns, map, prefix index, and the require well-formed - * flag. - */ - for (const childNode of node._children) { - this.level++; - this._serializeNode(childNode, requireWellFormed); - this.level--; - } - /** - * 20. Append the following to markup, in the order listed: - * 20.1. "" (U+003E GREATER-THAN SIGN). - * 21. Return the value of markup. - */ - this.closeTag(qualifiedName); - this.endElement(qualifiedName); - } - /** - * Produces an XML serialization of a document node. - * - * @param node - node to serialize - * @param namespace - context namespace - * @param prefixMap - namespace prefix map - * @param prefixIndex - generated namespace prefix index - * @param requireWellFormed - whether to check conformance - */ - _serializeDocumentNS(node, namespace, prefixMap, prefixIndex, requireWellFormed) { - /** - * If the require well-formed flag is set (its value is true), and this node - * has no documentElement (the documentElement attribute's value is null), - * then throw an exception; the serialization of this node would not be a - * well-formed document. - */ - if (requireWellFormed && node.documentElement === null) { - throw new Error("Missing document element (well-formed required)."); - } - /** - * Otherwise, run the following steps: - * 1. Let serialized document be an empty string. - * 2. For each child child of node, in tree order, run the XML - * serialization algorithm on the child passing along the provided - * arguments, and append the result to serialized document. - * - * _Note:_ This will serialize any number of ProcessingInstruction and - * Comment nodes both before and after the Document's documentElement node, - * including at most one DocumentType node. (Text nodes are not allowed as - * children of the Document.) - * - * 3. Return the value of serialized document. - */ - for (const childNode of node.childNodes) { - this._serializeNodeNS(childNode, namespace, prefixMap, prefixIndex, requireWellFormed); - } - } - /** - * Produces an XML serialization of a document node. - * - * @param node - node to serialize - * @param requireWellFormed - whether to check conformance - */ - _serializeDocument(node, requireWellFormed) { - /** - * If the require well-formed flag is set (its value is true), and this node - * has no documentElement (the documentElement attribute's value is null), - * then throw an exception; the serialization of this node would not be a - * well-formed document. - */ - if (requireWellFormed && node.documentElement === null) { - throw new Error("Missing document element (well-formed required)."); - } - /** - * Otherwise, run the following steps: - * 1. Let serialized document be an empty string. - * 2. For each child child of node, in tree order, run the XML - * serialization algorithm on the child passing along the provided - * arguments, and append the result to serialized document. - * - * _Note:_ This will serialize any number of ProcessingInstruction and - * Comment nodes both before and after the Document's documentElement node, - * including at most one DocumentType node. (Text nodes are not allowed as - * children of the Document.) - * - * 3. Return the value of serialized document. - */ - for (const childNode of node._children) { - this._serializeNode(childNode, requireWellFormed); - } - } - /** - * Produces an XML serialization of a comment node. - * - * @param node - node to serialize - * @param requireWellFormed - whether to check conformance - */ - _serializeComment(node, requireWellFormed) { - /** - * If the require well-formed flag is set (its value is true), and node's - * data contains characters that are not matched by the XML Char production - * or contains "--" (two adjacent U+002D HYPHEN-MINUS characters) or that - * ends with a "-" (U+002D HYPHEN-MINUS) character, then throw an exception; - * the serialization of this node's data would not be well-formed. - */ - if (requireWellFormed && (!(0, algorithm_1.xml_isLegalChar)(node.data) || - node.data.indexOf("--") !== -1 || node.data.endsWith("-"))) { - throw new Error("Comment data contains invalid characters (well-formed required)."); - } - /** - * Otherwise, return the concatenation of "". - */ - this.comment(node.data); - } - /** - * Produces an XML serialization of a text node. - * - * @param node - node to serialize - * @param requireWellFormed - whether to check conformance - * @param level - current depth of the XML tree - */ - _serializeText(node, requireWellFormed) { - /** - * 1. If the require well-formed flag is set (its value is true), and - * node's data contains characters that are not matched by the XML Char - * production, then throw an exception; the serialization of this node's - * data would not be well-formed. - */ - if (requireWellFormed && !(0, algorithm_1.xml_isLegalChar)(node.data)) { - throw new Error("Text data contains invalid characters (well-formed required)."); - } - /** - * 2. Let markup be the value of node's data. - * 3. Replace any occurrences of "&" in markup by "&". - * 4. Replace any occurrences of "<" in markup by "<". - * 5. Replace any occurrences of ">" in markup by ">". - * 6. Return the value of markup. - */ - const markup = node.data.replace(constants_1.nonEntityAmpersandRegex, '&') - .replace(//g, '>'); - this.text(markup); - } - /** - * Produces an XML serialization of a document fragment node. - * - * @param node - node to serialize - * @param namespace - context namespace - * @param prefixMap - namespace prefix map - * @param prefixIndex - generated namespace prefix index - * @param requireWellFormed - whether to check conformance - */ - _serializeDocumentFragmentNS(node, namespace, prefixMap, prefixIndex, requireWellFormed) { - /** - * 1. Let markup the empty string. - * 2. For each child child of node, in tree order, run the XML serialization - * algorithm on the child given namespace, prefix map, a reference to prefix - * index, and flag require well-formed. Concatenate the result to markup. - * 3. Return the value of markup. - */ - for (const childNode of node.childNodes) { - this._serializeNodeNS(childNode, namespace, prefixMap, prefixIndex, requireWellFormed); - } - } - /** - * Produces an XML serialization of a document fragment node. - * - * @param node - node to serialize - * @param requireWellFormed - whether to check conformance - */ - _serializeDocumentFragment(node, requireWellFormed) { - /** - * 1. Let markup the empty string. - * 2. For each child child of node, in tree order, run the XML serialization - * algorithm on the child given namespace, prefix map, a reference to prefix - * index, and flag require well-formed. Concatenate the result to markup. - * 3. Return the value of markup. - */ - for (const childNode of node._children) { - this._serializeNode(childNode, requireWellFormed); - } - } - /** - * Produces an XML serialization of a document type node. - * - * @param node - node to serialize - * @param requireWellFormed - whether to check conformance - */ - _serializeDocumentType(node, requireWellFormed) { - /** - * 1. If the require well-formed flag is true and the node's publicId - * attribute contains characters that are not matched by the XML PubidChar - * production, then throw an exception; the serialization of this node - * would not be a well-formed document type declaration. - */ - if (requireWellFormed && !(0, algorithm_1.xml_isPubidChar)(node.publicId)) { - throw new Error("DocType public identifier does not match PubidChar construct (well-formed required)."); - } - /** - * 2. If the require well-formed flag is true and the node's systemId - * attribute contains characters that are not matched by the XML Char - * production or that contains both a """ (U+0022 QUOTATION MARK) and a - * "'" (U+0027 APOSTROPHE), then throw an exception; the serialization - * of this node would not be a well-formed document type declaration. - */ - if (requireWellFormed && - (!(0, algorithm_1.xml_isLegalChar)(node.systemId) || - (node.systemId.indexOf('"') !== -1 && node.systemId.indexOf("'") !== -1))) { - throw new Error("DocType system identifier contains invalid characters (well-formed required)."); - } - /** - * 3. Let markup be an empty string. - * 4. Append the string "" (U+003E GREATER-THAN SIGN) to markup. - * 11. Return the value of markup. - */ - this.docType(node.name, node.publicId, node.systemId); - } - /** - * Produces an XML serialization of a processing instruction node. - * - * @param node - node to serialize - * @param requireWellFormed - whether to check conformance - */ - _serializeProcessingInstruction(node, requireWellFormed) { - /** - * 1. If the require well-formed flag is set (its value is true), and node's - * target contains a ":" (U+003A COLON) character or is an ASCII - * case-insensitive match for the string "xml", then throw an exception; - * the serialization of this node's target would not be well-formed. - */ - if (requireWellFormed && (node.target.indexOf(":") !== -1 || (/^xml$/i).test(node.target))) { - throw new Error("Processing instruction target contains invalid characters (well-formed required)."); - } - /** - * 2. If the require well-formed flag is set (its value is true), and node's - * data contains characters that are not matched by the XML Char production - * or contains the string "?>" (U+003F QUESTION MARK, - * U+003E GREATER-THAN SIGN), then throw an exception; the serialization of - * this node's data would not be well-formed. - */ - if (requireWellFormed && (!(0, algorithm_1.xml_isLegalChar)(node.data) || - node.data.indexOf("?>") !== -1)) { - throw new Error("Processing instruction data contains invalid characters (well-formed required)."); - } - /** - * 3. Let markup be the concatenation of the following, in the order listed: - * 3.1. "" (U+003F QUESTION MARK, U+003E GREATER-THAN SIGN). - * 4. Return the value of markup. - */ - this.instruction(node.target, node.data); - } - /** - * Produces an XML serialization of a CDATA node. - * - * @param node - node to serialize - * @param requireWellFormed - whether to check conformance - */ - _serializeCData(node, requireWellFormed) { - if (requireWellFormed && (node.data.indexOf("]]>") !== -1)) { - throw new Error("CDATA contains invalid characters (well-formed required)."); - } - this.cdata(node.data); - } - /** - * Produces an XML serialization of the attributes of an element node. - * - * @param node - node to serialize - * @param map - namespace prefix map - * @param prefixIndex - generated namespace prefix index - * @param localPrefixesMap - local prefixes map - * @param ignoreNamespaceDefinitionAttribute - whether to ignore namespace - * attributes - * @param requireWellFormed - whether to check conformance - */ - _serializeAttributesNS(node, map, prefixIndex, localPrefixesMap, ignoreNamespaceDefinitionAttribute, requireWellFormed) { - /** - * 1. Let result be the empty string. - * 2. Let localname set be a new empty namespace localname set. This - * localname set will contain tuples of unique attribute namespaceURI and - * localName pairs, and is populated as each attr is processed. This set is - * used to [optionally] enforce the well-formed constraint that an element - * cannot have two attributes with the same namespaceURI and localName. - * This can occur when two otherwise identical attributes on the same - * element differ only by their prefix values. - */ - const result = []; - const localNameSet = requireWellFormed ? new LocalNameSet_1.LocalNameSet() : undefined; - /** - * 3. Loop: For each attribute attr in element's attributes, in the order - * they are specified in the element's attribute list: - */ - for (const attr of node.attributes) { - // Optimize common case - if (!requireWellFormed && !ignoreNamespaceDefinitionAttribute && attr.namespaceURI === null) { - result.push([null, null, attr.localName, - this._serializeAttributeValue(attr.value, requireWellFormed)]); - continue; - } - /** - * 3.1. If the require well-formed flag is set (its value is true), and the - * localname set contains a tuple whose values match those of a new tuple - * consisting of attr's namespaceURI attribute and localName attribute, - * then throw an exception; the serialization of this attr would fail to - * produce a well-formed element serialization. - */ - if (requireWellFormed && localNameSet && localNameSet.has(attr.namespaceURI, attr.localName)) { - throw new Error("Element contains duplicate attributes (well-formed required)."); - } - /** - * 3.2. Create a new tuple consisting of attr's namespaceURI attribute and - * localName attribute, and add it to the localname set. - * 3.3. Let attribute namespace be the value of attr's namespaceURI value. - * 3.4. Let candidate prefix be null. - */ - if (requireWellFormed && localNameSet) - localNameSet.set(attr.namespaceURI, attr.localName); - let attributeNamespace = attr.namespaceURI; - let candidatePrefix = null; - /** 3.5. If attribute namespace is not null, then run these sub-steps: */ - if (attributeNamespace !== null) { - /** - * 3.5.1. Let candidate prefix be the result of retrieving a preferred - * prefix string from map given namespace attribute namespace with - * preferred prefix being attr's prefix value. - */ - candidatePrefix = map.get(attr.prefix, attributeNamespace); - /** - * 3.5.2. If the value of attribute namespace is the XMLNS namespace, - * then run these steps: - */ - if (attributeNamespace === infra_1.namespace.XMLNS) { - /** - * 3.5.2.1. If any of the following are true, then stop running these - * steps and goto Loop to visit the next attribute: - * - the attr's value is the XML namespace; - * _Note:_ The XML namespace cannot be redeclared and survive - * round-tripping (unless it defines the prefix "xml"). To avoid this - * problem, this algorithm always prefixes elements in the XML - * namespace with "xml" and drops any related definitions as seen - * in the above condition. - * - the attr's prefix is null and the ignore namespace definition - * attribute flag is true (the Element's default namespace attribute - * should be skipped); - * - the attr's prefix is not null and either - * * the attr's localName is not a key contained in the local - * prefixes map, or - * * the attr's localName is present in the local prefixes map but - * the value of the key does not match attr's value - * and furthermore that the attr's localName (as the prefix to find) - * is found in the namespace prefix map given the namespace consisting - * of the attr's value (the current namespace prefix definition was - * exactly defined previously--on an ancestor element not the current - * element whose attributes are being processed). - */ - if (attr.value === infra_1.namespace.XML || - (attr.prefix === null && ignoreNamespaceDefinitionAttribute) || - (attr.prefix !== null && (!(attr.localName in localPrefixesMap) || - localPrefixesMap[attr.localName] !== attr.value) && - map.has(attr.localName, attr.value))) - continue; - /** - * 3.5.2.2. If the require well-formed flag is set (its value is true), - * and the value of attr's value attribute matches the XMLNS - * namespace, then throw an exception; the serialization of this - * attribute would produce invalid XML because the XMLNS namespace - * is reserved and cannot be applied as an element's namespace via - * XML parsing. - * - * _Note:_ DOM APIs do allow creation of elements in the XMLNS - * namespace but with strict qualifications. - */ - if (requireWellFormed && attr.value === infra_1.namespace.XMLNS) { - throw new Error("XMLNS namespace is reserved (well-formed required)."); - } - /** - * 3.5.2.3. If the require well-formed flag is set (its value is true), - * and the value of attr's value attribute is the empty string, then - * throw an exception; namespace prefix declarations cannot be used - * to undeclare a namespace (use a default namespace declaration - * instead). - */ - if (requireWellFormed && attr.value === '') { - throw new Error("Namespace prefix declarations cannot be used to undeclare a namespace (well-formed required)."); - } - /** - * 3.5.2.4. the attr's prefix matches the string "xmlns", then let - * candidate prefix be the string "xmlns". - */ - if (attr.prefix === 'xmlns') - candidatePrefix = 'xmlns'; - /** - * 3.5.3. Otherwise, the attribute namespace is not the XMLNS namespace. - * Run these steps: - * - * _Note:_ The (candidatePrefix === null) check is not in the spec. - * We deviate from the spec here. Otherwise a prefix is generated for - * all attributes with namespaces. - */ - } - else if (candidatePrefix === null) { - if (attr.prefix !== null && - (!map.hasPrefix(attr.prefix) || - map.has(attr.prefix, attributeNamespace))) { - /** - * Check if we can use the attribute's own prefix. - * We deviate from the spec here. - * TODO: This is not an efficient way of searching for prefixes. - * Follow developments to the spec. - */ - candidatePrefix = attr.prefix; - } - else { - /** - * 3.5.3.1. Let candidate prefix be the result of generating a prefix - * providing map, attribute namespace, and prefix index as input. - */ - candidatePrefix = this._generatePrefix(attributeNamespace, map, prefixIndex); - } - /** - * 3.5.3.2. Append the following to result, in the order listed: - * 3.5.3.2.1. " " (U+0020 SPACE); - * 3.5.3.2.2. The string "xmlns:"; - * 3.5.3.2.3. The value of candidate prefix; - * 3.5.3.2.4. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); - * 3.5.3.2.5. The result of serializing an attribute value given - * attribute namespace and the require well-formed flag as input; - * 3.5.3.2.6. """ (U+0022 QUOTATION MARK). - */ - result.push([null, "xmlns", candidatePrefix, - this._serializeAttributeValue(attributeNamespace, requireWellFormed)]); - } - } - /** - * 3.6. Append a " " (U+0020 SPACE) to result. - * 3.7. If candidate prefix is not null, then append to result the - * concatenation of candidate prefix with ":" (U+003A COLON). - */ - let attrName = ''; - if (candidatePrefix !== null) { - attrName = candidatePrefix; - } - /** - * 3.8. If the require well-formed flag is set (its value is true), and - * this attr's localName attribute contains the character - * ":" (U+003A COLON) or does not match the XML Name production or - * equals "xmlns" and attribute namespace is null, then throw an - * exception; the serialization of this attr would not be a - * well-formed attribute. - */ - if (requireWellFormed && (attr.localName.indexOf(":") !== -1 || - !(0, algorithm_1.xml_isName)(attr.localName) || - (attr.localName === "xmlns" && attributeNamespace === null))) { - throw new Error("Attribute local name contains invalid characters (well-formed required)."); - } - /** - * 3.9. Append the following strings to result, in the order listed: - * 3.9.1. The value of attr's localName; - * 3.9.2. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); - * 3.9.3. The result of serializing an attribute value given attr's value - * attribute and the require well-formed flag as input; - * 3.9.4. """ (U+0022 QUOTATION MARK). - */ - result.push([attributeNamespace, candidatePrefix, attr.localName, - this._serializeAttributeValue(attr.value, requireWellFormed)]); - } - /** - * 4. Return the value of result. - */ - return result; - } - /** - * Produces an XML serialization of the attributes of an element node. - * - * @param node - node to serialize - * @param requireWellFormed - whether to check conformance - */ - _serializeAttributes(node, requireWellFormed) { - /** - * 1. Let result be the empty string. - * 2. Let localname set be a new empty namespace localname set. This - * localname set will contain tuples of unique attribute namespaceURI and - * localName pairs, and is populated as each attr is processed. This set is - * used to [optionally] enforce the well-formed constraint that an element - * cannot have two attributes with the same namespaceURI and localName. - * This can occur when two otherwise identical attributes on the same - * element differ only by their prefix values. - */ - const result = []; - const localNameSet = requireWellFormed ? {} : undefined; - /** - * 3. Loop: For each attribute attr in element's attributes, in the order - * they are specified in the element's attribute list: - */ - for (const attr of node.attributes) { - // Optimize common case - if (!requireWellFormed) { - result.push([null, null, attr.localName, - this._serializeAttributeValue(attr.value, requireWellFormed)]); - continue; - } - /** - * 3.1. If the require well-formed flag is set (its value is true), and the - * localname set contains a tuple whose values match those of a new tuple - * consisting of attr's namespaceURI attribute and localName attribute, - * then throw an exception; the serialization of this attr would fail to - * produce a well-formed element serialization. - */ - if (requireWellFormed && localNameSet && (attr.localName in localNameSet)) { - throw new Error("Element contains duplicate attributes (well-formed required)."); - } - /** - * 3.2. Create a new tuple consisting of attr's namespaceURI attribute and - * localName attribute, and add it to the localname set. - * 3.3. Let attribute namespace be the value of attr's namespaceURI value. - * 3.4. Let candidate prefix be null. - */ - /* istanbul ignore else */ - if (requireWellFormed && localNameSet) - localNameSet[attr.localName] = true; - /** 3.5. If attribute namespace is not null, then run these sub-steps: */ - /** - * 3.6. Append a " " (U+0020 SPACE) to result. - * 3.7. If candidate prefix is not null, then append to result the - * concatenation of candidate prefix with ":" (U+003A COLON). - */ - /** - * 3.8. If the require well-formed flag is set (its value is true), and - * this attr's localName attribute contains the character - * ":" (U+003A COLON) or does not match the XML Name production or - * equals "xmlns" and attribute namespace is null, then throw an - * exception; the serialization of this attr would not be a - * well-formed attribute. - */ - if (requireWellFormed && (attr.localName.indexOf(":") !== -1 || - !(0, algorithm_1.xml_isName)(attr.localName))) { - throw new Error("Attribute local name contains invalid characters (well-formed required)."); - } - /** - * 3.9. Append the following strings to result, in the order listed: - * 3.9.1. The value of attr's localName; - * 3.9.2. "="" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK); - * 3.9.3. The result of serializing an attribute value given attr's value - * attribute and the require well-formed flag as input; - * 3.9.4. """ (U+0022 QUOTATION MARK). - */ - result.push([null, null, attr.localName, - this._serializeAttributeValue(attr.value, requireWellFormed)]); - } - /** - * 4. Return the value of result. - */ - return result; - } - /** - * Records namespace information for the given element and returns the - * default namespace attribute value. - * - * @param node - element node to process - * @param map - namespace prefix map - * @param localPrefixesMap - local prefixes map - */ - _recordNamespaceInformation(node, map, localPrefixesMap) { - /** - * 1. Let default namespace attr value be null. - */ - let defaultNamespaceAttrValue = null; - /** - * 2. Main: For each attribute attr in element's attributes, in the order - * they are specified in the element's attribute list: - */ - for (const attr of node.attributes) { - /** - * _Note:_ The following conditional steps find namespace prefixes. Only - * attributes in the XMLNS namespace are considered (e.g., attributes made - * to look like namespace declarations via - * setAttribute("xmlns:pretend-prefix", "pretend-namespace") are not - * included). - */ - /** 2.1. Let attribute namespace be the value of attr's namespaceURI value. */ - let attributeNamespace = attr.namespaceURI; - /** 2.2. Let attribute prefix be the value of attr's prefix. */ - let attributePrefix = attr.prefix; - /** 2.3. If the attribute namespace is the XMLNS namespace, then: */ - if (attributeNamespace === infra_1.namespace.XMLNS) { - /** - * 2.3.1. If attribute prefix is null, then attr is a default namespace - * declaration. Set the default namespace attr value to attr's value and - * stop running these steps, returning to Main to visit the next - * attribute. - */ - if (attributePrefix === null) { - defaultNamespaceAttrValue = attr.value; - continue; - /** - * 2.3.2. Otherwise, the attribute prefix is not null and attr is a - * namespace prefix definition. Run the following steps: - */ - } - else { - /** 2.3.2.1. Let prefix definition be the value of attr's localName. */ - let prefixDefinition = attr.localName; - /** 2.3.2.2. Let namespace definition be the value of attr's value. */ - let namespaceDefinition = attr.value; - /** - * 2.3.2.3. If namespace definition is the XML namespace, then stop - * running these steps, and return to Main to visit the next - * attribute. - * - * _Note:_ XML namespace definitions in prefixes are completely - * ignored (in order to avoid unnecessary work when there might be - * prefix conflicts). XML namespaced elements are always handled - * uniformly by prefixing (and overriding if necessary) the element's - * localname with the reserved "xml" prefix. - */ - if (namespaceDefinition === infra_1.namespace.XML) { - continue; - } - /** - * 2.3.2.4. If namespace definition is the empty string (the - * declarative form of having no namespace), then let namespace - * definition be null instead. - */ - if (namespaceDefinition === '') { - namespaceDefinition = null; - } - /** - * 2.3.2.5. If prefix definition is found in map given the namespace - * namespace definition, then stop running these steps, and return to - * Main to visit the next attribute. - * - * _Note:_ This step avoids adding duplicate prefix definitions for - * the same namespace in the map. This has the side-effect of avoiding - * later serialization of duplicate namespace prefix declarations in - * any descendant nodes. - */ - if (map.has(prefixDefinition, namespaceDefinition)) { - continue; - } - /** - * 2.3.2.6. Add the prefix prefix definition to map given namespace - * namespace definition. - */ - map.set(prefixDefinition, namespaceDefinition); - /** - * 2.3.2.7. Add the value of prefix definition as a new key to the - * local prefixes map, with the namespace definition as the key's - * value replacing the value of null with the empty string if - * applicable. - */ - localPrefixesMap[prefixDefinition] = namespaceDefinition || ''; - } - } - } - /** - * 3. Return the value of default namespace attr value. - * - * _Note:_ The empty string is a legitimate return value and is not - * converted to null. - */ - return defaultNamespaceAttrValue; - } - /** - * Generates a new prefix for the given namespace. - * - * @param newNamespace - a namespace to generate prefix for - * @param prefixMap - namespace prefix map - * @param prefixIndex - generated namespace prefix index - */ - _generatePrefix(newNamespace, prefixMap, prefixIndex) { - /** - * 1. Let generated prefix be the concatenation of the string "ns" and the - * current numerical value of prefix index. - * 2. Let the value of prefix index be incremented by one. - * 3. Add to map the generated prefix given the new namespace namespace. - * 4. Return the value of generated prefix. - */ - const generatedPrefix = "ns" + prefixIndex.value.toString(); - prefixIndex.value++; - prefixMap.set(generatedPrefix, newNamespace); - return generatedPrefix; - } - /** - * Produces an XML serialization of an attribute value. - * - * @param value - attribute value - * @param requireWellFormed - whether to check conformance - */ - _serializeAttributeValue(value, requireWellFormed) { - /** - * From: https://w3c.github.io/DOM-Parsing/#dfn-serializing-an-attribute-value - * - * 1. If the require well-formed flag is set (its value is true), and - * attribute value contains characters that are not matched by the XML Char - * production, then throw an exception; the serialization of this attribute - * value would fail to produce a well-formed element serialization. - */ - if (requireWellFormed && value !== null && !(0, algorithm_1.xml_isLegalChar)(value)) { - throw new Error("Invalid characters in attribute value."); - } - /** - * 2. If attribute value is null, then return the empty string. - */ - if (value === null) - return ""; - /** - * 3. Otherwise, attribute value is a string. Return the value of attribute - * value, first replacing any occurrences of the following: - * - "&" with "&" - * - """ with """ - * - "<" with "<" - * - ">" with ">" - * NOTE - * This matches behavior present in browsers, and goes above and beyond the - * grammar requirement in the XML specification's AttValue production by - * also replacing ">" characters. - */ - return value.replace(constants_1.nonEntityAmpersandRegex, '&') - .replace(//g, '>') - .replace(/"/g, '"'); - } -} -exports.BaseWriter = BaseWriter; -//# sourceMappingURL=BaseWriter.js.map - -/***/ }), - -/***/ 3198: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.JSONCBWriter = void 0; -const BaseCBWriter_1 = __nccwpck_require__(63210); -/** - * Serializes XML nodes. - */ -class JSONCBWriter extends BaseCBWriter_1.BaseCBWriter { - _hasChildren = []; - _additionalLevel = 0; - /** - * Initializes a new instance of `JSONCBWriter`. - * - * @param builderOptions - XML builder options - */ - constructor(builderOptions) { - super(builderOptions); - } - /** @inheritdoc */ - frontMatter() { - return ""; - } - /** @inheritdoc */ - declaration(version, encoding, standalone) { - return ""; - } - /** @inheritdoc */ - docType(name, publicId, systemId) { - return ""; - } - /** @inheritdoc */ - comment(data) { - // { "!": "hello" } - return this._comma() + this._beginLine() + "{" + this._sep() + - this._key(this._builderOptions.convert.comment) + this._sep() + - this._val(data) + this._sep() + "}"; - } - /** @inheritdoc */ - text(data) { - // { "#": "hello" } - return this._comma() + this._beginLine() + "{" + this._sep() + - this._key(this._builderOptions.convert.text) + this._sep() + - this._val(data) + this._sep() + "}"; - } - /** @inheritdoc */ - instruction(target, data) { - // { "?": "target hello" } - return this._comma() + this._beginLine() + "{" + this._sep() + - this._key(this._builderOptions.convert.ins) + this._sep() + - this._val(data ? target + " " + data : target) + this._sep() + "}"; - } - /** @inheritdoc */ - cdata(data) { - // { "$": "hello" } - return this._comma() + this._beginLine() + "{" + this._sep() + - this._key(this._builderOptions.convert.cdata) + this._sep() + - this._val(data) + this._sep() + "}"; - } - /** @inheritdoc */ - attribute(name, value) { - // { "@name": "val" } - return this._comma() + this._beginLine(1) + "{" + this._sep() + - this._key(this._builderOptions.convert.att + name) + this._sep() + - this._val(value) + this._sep() + "}"; - } - /** @inheritdoc */ - openTagBegin(name) { - // { "node": { "#": [ - let str = this._comma() + this._beginLine() + "{" + this._sep() + this._key(name) + this._sep() + "{"; - this._additionalLevel++; - this.hasData = true; - str += this._beginLine() + this._key(this._builderOptions.convert.text) + this._sep() + "["; - this._hasChildren.push(false); - return str; - } - /** @inheritdoc */ - openTagEnd(name, selfClosing, voidElement) { - if (selfClosing) { - let str = this._sep() + "]"; - this._additionalLevel--; - str += this._beginLine() + "}" + this._sep() + "}"; - return str; - } - else { - return ""; - } - } - /** @inheritdoc */ - closeTag(name) { - // ] } } - let str = this._beginLine() + "]"; - this._additionalLevel--; - str += this._beginLine() + "}" + this._sep() + "}"; - return str; - } - /** @inheritdoc */ - beginElement(name) { } - /** @inheritdoc */ - endElement(name) { this._hasChildren.pop(); } - /** - * Produces characters to be prepended to a line of string in pretty-print - * mode. - */ - _beginLine(additionalOffset = 0) { - if (this._writerOptions.prettyPrint) { - return (this.hasData ? this._writerOptions.newline : "") + - this._indent(this._writerOptions.offset + this.level + additionalOffset); - } - else { - return ""; - } - } - /** - * Produces an indentation string. - * - * @param level - depth of the tree - */ - _indent(level) { - if (level + this._additionalLevel <= 0) { - return ""; - } - else { - return this._writerOptions.indent.repeat(level + this._additionalLevel); - } - } - /** - * Produces a comma before a child node if it has previous siblings. - */ - _comma() { - const str = (this._hasChildren[this._hasChildren.length - 1] ? "," : ""); - if (this._hasChildren.length > 0) { - this._hasChildren[this._hasChildren.length - 1] = true; - } - return str; - } - /** - * Produces a separator string. - */ - _sep() { - return (this._writerOptions.prettyPrint ? " " : ""); - } - /** - * Produces a JSON key string delimited with double quotes. - */ - _key(key) { - return "\"" + key + "\":"; - } - /** - * Produces a JSON value string delimited with double quotes. - */ - _val(val) { - return JSON.stringify(val); - } -} -exports.JSONCBWriter = JSONCBWriter; -//# sourceMappingURL=JSONCBWriter.js.map - -/***/ }), - -/***/ 53775: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.JSONWriter = void 0; -const ObjectWriter_1 = __nccwpck_require__(24393); -const util_1 = __nccwpck_require__(76195); -const BaseWriter_1 = __nccwpck_require__(24189); -/** - * Serializes XML nodes into a JSON string. - */ -class JSONWriter extends BaseWriter_1.BaseWriter { - /** - * Initializes a new instance of `JSONWriter`. - * - * @param builderOptions - XML builder options - * @param writerOptions - serialization options - */ - constructor(builderOptions, writerOptions) { - super(builderOptions); - // provide default options - this._writerOptions = (0, util_1.applyDefaults)(writerOptions, { - wellFormed: false, - prettyPrint: false, - indent: ' ', - newline: '\n', - offset: 0, - group: false, - verbose: false - }); - } - /** - * Produces an XML serialization of the given node. - * - * @param node - node to serialize - * @param writerOptions - serialization options - */ - serialize(node) { - // convert to object - const objectWriterOptions = (0, util_1.applyDefaults)(this._writerOptions, { - format: "object", - wellFormed: false - }); - const objectWriter = new ObjectWriter_1.ObjectWriter(this._builderOptions, objectWriterOptions); - const val = objectWriter.serialize(node); - // recursively convert object into JSON string - return this._beginLine(this._writerOptions, 0) + this._convertObject(val, this._writerOptions); - } - /** - * Produces an XML serialization of the given object. - * - * @param obj - object to serialize - * @param options - serialization options - * @param level - depth of the XML tree - */ - _convertObject(obj, options, level = 0) { - let markup = ''; - const isLeaf = this._isLeafNode(obj); - if ((0, util_1.isArray)(obj)) { - markup += '['; - const len = obj.length; - let i = 0; - for (const val of obj) { - markup += this._endLine(options, level + 1) + - this._beginLine(options, level + 1) + - this._convertObject(val, options, level + 1); - if (i < len - 1) { - markup += ','; - } - i++; - } - markup += this._endLine(options, level) + this._beginLine(options, level); - markup += ']'; - } - else if ((0, util_1.isObject)(obj)) { - markup += '{'; - const len = (0, util_1.objectLength)(obj); - let i = 0; - (0, util_1.forEachObject)(obj, (key, val) => { - if (isLeaf && options.prettyPrint) { - markup += ' '; - } - else { - markup += this._endLine(options, level + 1) + this._beginLine(options, level + 1); - } - markup += this._key(key); - if (options.prettyPrint) { - markup += ' '; - } - markup += this._convertObject(val, options, level + 1); - if (i < len - 1) { - markup += ','; - } - i++; - }, this); - if (isLeaf && options.prettyPrint) { - markup += ' '; - } - else { - markup += this._endLine(options, level) + this._beginLine(options, level); - } - markup += '}'; - } - else { - markup += this._val(obj); - } - return markup; - } - /** - * Produces characters to be prepended to a line of string in pretty-print - * mode. - * - * @param options - serialization options - * @param level - current depth of the XML tree - */ - _beginLine(options, level) { - if (!options.prettyPrint) { - return ''; - } - else { - const indentLevel = options.offset + level + 1; - if (indentLevel > 0) { - return new Array(indentLevel).join(options.indent); - } - } - return ''; - } - /** - * Produces characters to be appended to a line of string in pretty-print - * mode. - * - * @param options - serialization options - * @param level - current depth of the XML tree - */ - _endLine(options, level) { - if (!options.prettyPrint) { - return ''; - } - else { - return options.newline; - } - } - /** - * Produces a JSON key string delimited with double quotes. - */ - _key(key) { - return "\"" + key + "\":"; - } - /** - * Produces a JSON value string delimited with double quotes. - */ - _val(val) { - return JSON.stringify(val); - } - /** - * Determines if an object is a leaf node. - * - * @param obj - */ - _isLeafNode(obj) { - return this._descendantCount(obj) <= 1; - } - /** - * Counts the number of descendants of the given object. - * - * @param obj - * @param count - */ - _descendantCount(obj, count = 0) { - if ((0, util_1.isArray)(obj)) { - (0, util_1.forEachArray)(obj, val => count += this._descendantCount(val, count), this); - } - else if ((0, util_1.isObject)(obj)) { - (0, util_1.forEachObject)(obj, (key, val) => count += this._descendantCount(val, count), this); - } - else { - count++; - } - return count; - } -} -exports.JSONWriter = JSONWriter; -//# sourceMappingURL=JSONWriter.js.map - -/***/ }), - -/***/ 99675: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.MapWriter = void 0; -const util_1 = __nccwpck_require__(76195); -const ObjectWriter_1 = __nccwpck_require__(24393); -const BaseWriter_1 = __nccwpck_require__(24189); -/** - * Serializes XML nodes into ES6 maps and arrays. - */ -class MapWriter extends BaseWriter_1.BaseWriter { - /** - * Initializes a new instance of `MapWriter`. - * - * @param builderOptions - XML builder options - * @param writerOptions - serialization options - */ - constructor(builderOptions, writerOptions) { - super(builderOptions); - // provide default options - this._writerOptions = (0, util_1.applyDefaults)(writerOptions, { - format: "map", - wellFormed: false, - group: false, - verbose: false - }); - } - /** - * Produces an XML serialization of the given node. - * - * @param node - node to serialize - */ - serialize(node) { - // convert to object - const objectWriterOptions = (0, util_1.applyDefaults)(this._writerOptions, { - format: "object", - wellFormed: false, - verbose: false - }); - const objectWriter = new ObjectWriter_1.ObjectWriter(this._builderOptions, objectWriterOptions); - const val = objectWriter.serialize(node); - // recursively convert object into Map - return this._convertObject(val); - } - /** - * Recursively converts a JS object into an ES5 map. - * - * @param obj - a JS object - */ - _convertObject(obj) { - if ((0, util_1.isArray)(obj)) { - for (let i = 0; i < obj.length; i++) { - obj[i] = this._convertObject(obj[i]); - } - return obj; - } - else if ((0, util_1.isObject)(obj)) { - const map = new Map(); - for (const key in obj) { - map.set(key, this._convertObject(obj[key])); - } - return map; - } - else { - return obj; - } - } -} -exports.MapWriter = MapWriter; -//# sourceMappingURL=MapWriter.js.map - -/***/ }), - -/***/ 24393: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ObjectWriter = void 0; -const util_1 = __nccwpck_require__(76195); -const interfaces_1 = __nccwpck_require__(27305); -const BaseWriter_1 = __nccwpck_require__(24189); -/** - * Serializes XML nodes into objects and arrays. - */ -class ObjectWriter extends BaseWriter_1.BaseWriter { - _currentList; - _currentIndex; - _listRegister; - /** - * Initializes a new instance of `ObjectWriter`. - * - * @param builderOptions - XML builder options - * @param writerOptions - serialization options - */ - constructor(builderOptions, writerOptions) { - super(builderOptions); - this._writerOptions = (0, util_1.applyDefaults)(writerOptions, { - format: "object", - wellFormed: false, - group: false, - verbose: false - }); - } - /** - * Produces an XML serialization of the given node. - * - * @param node - node to serialize - */ - serialize(node) { - this._currentList = []; - this._currentIndex = 0; - this._listRegister = [this._currentList]; - /** - * First pass, serialize nodes - * This creates a list of nodes grouped under node types while preserving - * insertion order. For example: - * [ - * root: [ - * node: [ - * { "@" : { "att1": "val1", "att2": "val2" } - * { "#": "node text" } - * { childNode: [] } - * { "#": "more text" } - * ], - * node: [ - * { "@" : { "att": "val" } - * { "#": [ "text line1", "text line2" ] } - * ] - * ] - * ] - */ - this.serializeNode(node, this._writerOptions.wellFormed); - /** - * Second pass, process node lists. Above example becomes: - * { - * root: { - * node: [ - * { - * "@att1": "val1", - * "@att2": "val2", - * "#1": "node text", - * childNode: {}, - * "#2": "more text" - * }, - * { - * "@att": "val", - * "#": [ "text line1", "text line2" ] - * } - * ] - * } - * } - */ - return this._process(this._currentList, this._writerOptions); - } - _process(items, options) { - if (items.length === 0) - return {}; - // determine if there are non-unique element names - const namesSeen = {}; - let hasNonUniqueNames = false; - let textCount = 0; - let commentCount = 0; - let instructionCount = 0; - let cdataCount = 0; - for (let i = 0; i < items.length; i++) { - const item = items[i]; - const key = Object.keys(item)[0]; - switch (key) { - case "@": - continue; - case "#": - textCount++; - break; - case "!": - commentCount++; - break; - case "?": - instructionCount++; - break; - case "$": - cdataCount++; - break; - default: - if (namesSeen[key]) { - hasNonUniqueNames = true; - } - else { - namesSeen[key] = true; - } - break; - } - } - const defAttrKey = this._getAttrKey(); - const defTextKey = this._getNodeKey(interfaces_1.NodeType.Text); - const defCommentKey = this._getNodeKey(interfaces_1.NodeType.Comment); - const defInstructionKey = this._getNodeKey(interfaces_1.NodeType.ProcessingInstruction); - const defCdataKey = this._getNodeKey(interfaces_1.NodeType.CData); - if (textCount === 1 && items.length === 1 && (0, util_1.isString)(items[0]["#"])) { - // special case of an element node with a single text node - return items[0]["#"]; - } - else if (hasNonUniqueNames) { - const obj = {}; - // process attributes first - for (let i = 0; i < items.length; i++) { - const item = items[i]; - const key = Object.keys(item)[0]; - if (key === "@") { - const attrs = item["@"]; - const attrKeys = Object.keys(attrs); - if (!options.group || attrKeys.length === 1) { - for (const attrName in attrs) { - obj[defAttrKey + attrName] = attrs[attrName]; - } - } - else { - obj[defAttrKey] = attrs; - } - } - } - // list contains element nodes with non-unique names - // return an array with mixed content notation - const result = []; - for (let i = 0; i < items.length; i++) { - const item = items[i]; - const key = Object.keys(item)[0]; - switch (key) { - case "@": - // attributes were processed above - break; - case "#": - result.push({ [defTextKey]: item["#"] }); - break; - case "!": - result.push({ [defCommentKey]: item["!"] }); - break; - case "?": - result.push({ [defInstructionKey]: item["?"] }); - break; - case "$": - result.push({ [defCdataKey]: item["$"] }); - break; - default: - // element node - const ele = item; - if (ele[key].length !== 0 && (0, util_1.isArray)(ele[key][0])) { - // group of element nodes - const eleGroup = []; - const listOfLists = ele[key]; - for (let i = 0; i < listOfLists.length; i++) { - eleGroup.push(this._process(listOfLists[i], options)); - } - result.push({ [key]: eleGroup }); - } - else { - // single element node - if (options.verbose) { - result.push({ [key]: [this._process(ele[key], options)] }); - } - else { - result.push({ [key]: this._process(ele[key], options) }); - } - } - break; - } - } - obj[defTextKey] = result; - return obj; - } - else { - // all element nodes have unique names - // return an object while prefixing data node keys - let textId = 1; - let commentId = 1; - let instructionId = 1; - let cdataId = 1; - const obj = {}; - for (let i = 0; i < items.length; i++) { - const item = items[i]; - const key = Object.keys(item)[0]; - switch (key) { - case "@": - const attrs = item["@"]; - const attrKeys = Object.keys(attrs); - if (!options.group || attrKeys.length === 1) { - for (const attrName in attrs) { - obj[defAttrKey + attrName] = attrs[attrName]; - } - } - else { - obj[defAttrKey] = attrs; - } - break; - case "#": - textId = this._processSpecItem(item["#"], obj, options.group, defTextKey, textCount, textId); - break; - case "!": - commentId = this._processSpecItem(item["!"], obj, options.group, defCommentKey, commentCount, commentId); - break; - case "?": - instructionId = this._processSpecItem(item["?"], obj, options.group, defInstructionKey, instructionCount, instructionId); - break; - case "$": - cdataId = this._processSpecItem(item["$"], obj, options.group, defCdataKey, cdataCount, cdataId); - break; - default: - // element node - const ele = item; - if (ele[key].length !== 0 && (0, util_1.isArray)(ele[key][0])) { - // group of element nodes - const eleGroup = []; - const listOfLists = ele[key]; - for (let i = 0; i < listOfLists.length; i++) { - eleGroup.push(this._process(listOfLists[i], options)); - } - obj[key] = eleGroup; - } - else { - // single element node - if (options.verbose) { - obj[key] = [this._process(ele[key], options)]; - } - else { - obj[key] = this._process(ele[key], options); - } - } - break; - } - } - return obj; - } - } - _processSpecItem(item, obj, group, defKey, count, id) { - if (!group && (0, util_1.isArray)(item) && count + item.length > 2) { - for (const subItem of item) { - const key = defKey + (id++).toString(); - obj[key] = subItem; - } - } - else { - const key = count > 1 ? defKey + (id++).toString() : defKey; - obj[key] = item; - } - return id; - } - /** @inheritdoc */ - beginElement(name) { - const childItems = []; - if (this._currentList.length === 0) { - this._currentList.push({ [name]: childItems }); - } - else { - const lastItem = this._currentList[this._currentList.length - 1]; - if (this._isElementNode(lastItem, name)) { - if (lastItem[name].length !== 0 && (0, util_1.isArray)(lastItem[name][0])) { - const listOfLists = lastItem[name]; - listOfLists.push(childItems); - } - else { - lastItem[name] = [lastItem[name], childItems]; - } - } - else { - this._currentList.push({ [name]: childItems }); - } - } - this._currentIndex++; - if (this._listRegister.length > this._currentIndex) { - this._listRegister[this._currentIndex] = childItems; - } - else { - this._listRegister.push(childItems); - } - this._currentList = childItems; - } - /** @inheritdoc */ - endElement() { - this._currentList = this._listRegister[--this._currentIndex]; - } - /** @inheritdoc */ - attribute(name, value) { - if (this._currentList.length === 0) { - this._currentList.push({ "@": { [name]: value } }); - } - else { - const lastItem = this._currentList[this._currentList.length - 1]; - /* istanbul ignore else */ - if (this._isAttrNode(lastItem)) { - lastItem["@"][name] = value; - } - else { - this._currentList.push({ "@": { [name]: value } }); - } - } - } - /** @inheritdoc */ - comment(data) { - if (this._currentList.length === 0) { - this._currentList.push({ "!": data }); - } - else { - const lastItem = this._currentList[this._currentList.length - 1]; - if (this._isCommentNode(lastItem)) { - if ((0, util_1.isArray)(lastItem["!"])) { - lastItem["!"].push(data); - } - else { - lastItem["!"] = [lastItem["!"], data]; - } - } - else { - this._currentList.push({ "!": data }); - } - } - } - /** @inheritdoc */ - text(data) { - if (this._currentList.length === 0) { - this._currentList.push({ "#": data }); - } - else { - const lastItem = this._currentList[this._currentList.length - 1]; - if (this._isTextNode(lastItem)) { - if ((0, util_1.isArray)(lastItem["#"])) { - lastItem["#"].push(data); - } - else { - lastItem["#"] = [lastItem["#"], data]; - } - } - else { - this._currentList.push({ "#": data }); - } - } - } - /** @inheritdoc */ - instruction(target, data) { - const value = (data === "" ? target : target + " " + data); - if (this._currentList.length === 0) { - this._currentList.push({ "?": value }); - } - else { - const lastItem = this._currentList[this._currentList.length - 1]; - if (this._isInstructionNode(lastItem)) { - if ((0, util_1.isArray)(lastItem["?"])) { - lastItem["?"].push(value); - } - else { - lastItem["?"] = [lastItem["?"], value]; - } - } - else { - this._currentList.push({ "?": value }); - } - } - } - /** @inheritdoc */ - cdata(data) { - if (this._currentList.length === 0) { - this._currentList.push({ "$": data }); - } - else { - const lastItem = this._currentList[this._currentList.length - 1]; - if (this._isCDATANode(lastItem)) { - if ((0, util_1.isArray)(lastItem["$"])) { - lastItem["$"].push(data); - } - else { - lastItem["$"] = [lastItem["$"], data]; - } - } - else { - this._currentList.push({ "$": data }); - } - } - } - _isAttrNode(x) { - return "@" in x; - } - _isTextNode(x) { - return "#" in x; - } - _isCommentNode(x) { - return "!" in x; - } - _isInstructionNode(x) { - return "?" in x; - } - _isCDATANode(x) { - return "$" in x; - } - _isElementNode(x, name) { - return name in x; - } - /** - * Returns an object key for an attribute or namespace declaration. - */ - _getAttrKey() { - return this._builderOptions.convert.att; - } - /** - * Returns an object key for the given node type. - * - * @param nodeType - node type to get a key for - */ - _getNodeKey(nodeType) { - switch (nodeType) { - case interfaces_1.NodeType.Comment: - return this._builderOptions.convert.comment; - case interfaces_1.NodeType.Text: - return this._builderOptions.convert.text; - case interfaces_1.NodeType.ProcessingInstruction: - return this._builderOptions.convert.ins; - case interfaces_1.NodeType.CData: - return this._builderOptions.convert.cdata; - /* istanbul ignore next */ - default: - throw new Error("Invalid node type."); - } - } -} -exports.ObjectWriter = ObjectWriter; -//# sourceMappingURL=ObjectWriter.js.map - -/***/ }), - -/***/ 7299: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.XMLCBWriter = void 0; -const BaseCBWriter_1 = __nccwpck_require__(63210); -/** - * Serializes XML nodes. - */ -class XMLCBWriter extends BaseCBWriter_1.BaseCBWriter { - _lineLength = 0; - /** - * Initializes a new instance of `XMLCBWriter`. - * - * @param builderOptions - XML builder options - */ - constructor(builderOptions) { - super(builderOptions); - } - /** @inheritdoc */ - frontMatter() { - return ""; - } - /** @inheritdoc */ - declaration(version, encoding, standalone) { - let markup = this._beginLine() + ""; - return markup; - } - /** @inheritdoc */ - docType(name, publicId, systemId) { - let markup = this._beginLine(); - if (publicId && systemId) { - markup += ""; - } - else if (publicId) { - markup += ""; - } - else if (systemId) { - markup += ""; - } - else { - markup += ""; - } - return markup; - } - /** @inheritdoc */ - comment(data) { - return this._beginLine() + ""; - } - /** @inheritdoc */ - text(data) { - return data; - } - /** @inheritdoc */ - instruction(target, data) { - if (data) { - return this._beginLine() + ""; - } - else { - return this._beginLine() + ""; - } - } - /** @inheritdoc */ - cdata(data) { - return this._beginLine() + ""; - } - /** @inheritdoc */ - openTagBegin(name) { - this._lineLength += 1 + name.length; - return this._beginLine() + "<" + name; - } - /** @inheritdoc */ - openTagEnd(name, selfClosing, voidElement) { - if (voidElement) { - return " />"; - } - else if (selfClosing) { - if (this._writerOptions.allowEmptyTags) { - return ">"; - } - else if (this._writerOptions.spaceBeforeSlash) { - return " />"; - } - else { - return "/>"; - } - } - else { - return ">"; - } - } - /** @inheritdoc */ - closeTag(name, hasTextPayload) { - const ending = hasTextPayload ? '' : this._beginLine(); - return ending + ""; - } - /** @inheritdoc */ - attribute(name, value) { - let str = name + "=\"" + value + "\""; - if (this._writerOptions.prettyPrint && this._writerOptions.width > 0 && - this._lineLength + 1 + str.length > this._writerOptions.width) { - str = this._beginLine() + this._indent(1) + str; - this._lineLength = str.length; - return str; - } - else { - this._lineLength += 1 + str.length; - return " " + str; - } - } - /** @inheritdoc */ - beginElement(name) { } - /** @inheritdoc */ - endElement(name) { } - /** - * Produces characters to be prepended to a line of string in pretty-print - * mode. - */ - _beginLine() { - if (this._writerOptions.prettyPrint) { - const str = (this.hasData ? this._writerOptions.newline : "") + - this._indent(this._writerOptions.offset + this.level); - this._lineLength = str.length; - return str; - } - else { - return ""; - } - } - /** - * Produces an indentation string. - * - * @param level - depth of the tree - */ - _indent(level) { - if (level <= 0) { - return ""; - } - else { - return this._writerOptions.indent.repeat(level); - } - } -} -exports.XMLCBWriter = XMLCBWriter; -//# sourceMappingURL=XMLCBWriter.js.map - -/***/ }), - -/***/ 68998: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.XMLWriter = void 0; -const util_1 = __nccwpck_require__(76195); -const interfaces_1 = __nccwpck_require__(27305); -const BaseWriter_1 = __nccwpck_require__(24189); -const util_2 = __nccwpck_require__(65282); -/** - * Serializes XML nodes into strings. - */ -class XMLWriter extends BaseWriter_1.BaseWriter { - _refs; - _indentation = {}; - _lengthToLastNewline = 0; - /** - * Initializes a new instance of `XMLWriter`. - * - * @param builderOptions - XML builder options - * @param writerOptions - serialization options - */ - constructor(builderOptions, writerOptions) { - super(builderOptions); - // provide default options - this._writerOptions = (0, util_1.applyDefaults)(writerOptions, { - wellFormed: false, - headless: false, - prettyPrint: false, - indent: " ", - newline: "\n", - offset: 0, - width: 0, - allowEmptyTags: false, - indentTextOnlyNodes: false, - spaceBeforeSlash: false - }); - } - /** - * Produces an XML serialization of the given node. - * - * @param node - node to serialize - */ - serialize(node) { - this._refs = { suppressPretty: false, emptyNode: false, markup: "" }; - // Serialize XML declaration - if (node.nodeType === interfaces_1.NodeType.Document && !this._writerOptions.headless) { - this.declaration(this._builderOptions.version, this._builderOptions.encoding, this._builderOptions.standalone); - } - // recursively serialize node - this.serializeNode(node, this._writerOptions.wellFormed); - // remove trailing newline - if (this._writerOptions.prettyPrint && - this._refs.markup.slice(-this._writerOptions.newline.length) === this._writerOptions.newline) { - this._refs.markup = this._refs.markup.slice(0, -this._writerOptions.newline.length); - } - return this._refs.markup; - } - /** @inheritdoc */ - declaration(version, encoding, standalone) { - this._beginLine(); - this._refs.markup += ""; - this._endLine(); - } - /** @inheritdoc */ - docType(name, publicId, systemId) { - this._beginLine(); - if (publicId && systemId) { - this._refs.markup += ""; - } - else if (publicId) { - this._refs.markup += ""; - } - else if (systemId) { - this._refs.markup += ""; - } - else { - this._refs.markup += ""; - } - this._endLine(); - } - /** @inheritdoc */ - openTagBegin(name) { - this._beginLine(); - this._refs.markup += "<" + name; - } - /** @inheritdoc */ - openTagEnd(name, selfClosing, voidElement) { - // do not indent text only elements or elements with empty text nodes - this._refs.suppressPretty = false; - this._refs.emptyNode = false; - if (this._writerOptions.prettyPrint && !selfClosing && !voidElement) { - let textOnlyNode = true; - let emptyNode = true; - let childNode = this.currentNode.firstChild; - let cdataCount = 0; - let textCount = 0; - while (childNode) { - if (util_2.Guard.isExclusiveTextNode(childNode)) { - textCount++; - } - else if (util_2.Guard.isCDATASectionNode(childNode)) { - cdataCount++; - } - else { - textOnlyNode = false; - emptyNode = false; - break; - } - if (childNode.data !== '') { - emptyNode = false; - } - childNode = childNode.nextSibling; - } - this._refs.suppressPretty = !this._writerOptions.indentTextOnlyNodes && textOnlyNode && ((cdataCount <= 1 && textCount === 0) || cdataCount === 0); - this._refs.emptyNode = emptyNode; - } - if ((voidElement || selfClosing || this._refs.emptyNode) && this._writerOptions.allowEmptyTags) { - this._refs.markup += ">"; - } - else { - this._refs.markup += voidElement ? " />" : - (selfClosing || this._refs.emptyNode) ? (this._writerOptions.spaceBeforeSlash ? " />" : "/>") : ">"; - } - this._endLine(); - } - /** @inheritdoc */ - closeTag(name) { - if (!this._refs.emptyNode) { - this._beginLine(); - this._refs.markup += ""; - } - this._refs.suppressPretty = false; - this._refs.emptyNode = false; - this._endLine(); - } - /** @inheritdoc */ - attribute(name, value) { - const str = name + "=\"" + value + "\""; - if (this._writerOptions.prettyPrint && this._writerOptions.width > 0 && - this._refs.markup.length - this._lengthToLastNewline + 1 + str.length > this._writerOptions.width) { - this._endLine(); - this._beginLine(); - this._refs.markup += this._indent(1) + str; - } - else { - this._refs.markup += " " + str; - } - } - /** @inheritdoc */ - text(data) { - if (data !== '') { - this._beginLine(); - this._refs.markup += data; - this._endLine(); - } - } - /** @inheritdoc */ - cdata(data) { - if (data !== '') { - this._beginLine(); - this._refs.markup += ""; - this._endLine(); - } - } - /** @inheritdoc */ - comment(data) { - this._beginLine(); - this._refs.markup += ""; - this._endLine(); - } - /** @inheritdoc */ - instruction(target, data) { - this._beginLine(); - this._refs.markup += ""; - this._endLine(); - } - /** - * Produces characters to be prepended to a line of string in pretty-print - * mode. - */ - _beginLine() { - if (this._writerOptions.prettyPrint && !this._refs.suppressPretty) { - this._refs.markup += this._indent(this._writerOptions.offset + this.level); - } - } - /** - * Produces characters to be appended to a line of string in pretty-print - * mode. - */ - _endLine() { - if (this._writerOptions.prettyPrint && !this._refs.suppressPretty) { - this._refs.markup += this._writerOptions.newline; - this._lengthToLastNewline = this._refs.markup.length; - } - } - /** - * Produces an indentation string. - * - * @param level - depth of the tree - */ - _indent(level) { - if (level <= 0) { - return ""; - } - else if (this._indentation[level] !== undefined) { - return this._indentation[level]; - } - else { - const str = this._writerOptions.indent.repeat(level); - this._indentation[level] = str; - return str; - } - } -} -exports.XMLWriter = XMLWriter; -//# sourceMappingURL=XMLWriter.js.map - -/***/ }), - -/***/ 32770: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.YAMLCBWriter = void 0; -const BaseCBWriter_1 = __nccwpck_require__(63210); -/** - * Serializes XML nodes. - */ -class YAMLCBWriter extends BaseCBWriter_1.BaseCBWriter { - _rootWritten = false; - _additionalLevel = 0; - /** - * Initializes a new instance of `BaseCBWriter`. - * - * @param builderOptions - XML builder options - */ - constructor(builderOptions) { - super(builderOptions); - if (builderOptions.indent.length < 2) { - throw new Error("YAML indententation string must be at least two characters long."); - } - if (builderOptions.offset < 0) { - throw new Error("YAML offset should be zero or a positive number."); - } - } - /** @inheritdoc */ - frontMatter() { - return this._beginLine() + "---"; - } - /** @inheritdoc */ - declaration(version, encoding, standalone) { - return ""; - } - /** @inheritdoc */ - docType(name, publicId, systemId) { - return ""; - } - /** @inheritdoc */ - comment(data) { - // "!": "hello" - return this._beginLine() + - this._key(this._builderOptions.convert.comment) + " " + - this._val(data); - } - /** @inheritdoc */ - text(data) { - // "#": "hello" - return this._beginLine() + - this._key(this._builderOptions.convert.text) + " " + - this._val(data); - } - /** @inheritdoc */ - instruction(target, data) { - // "?": "target hello" - return this._beginLine() + - this._key(this._builderOptions.convert.ins) + " " + - this._val(data ? target + " " + data : target); - } - /** @inheritdoc */ - cdata(data) { - // "$": "hello" - return this._beginLine() + - this._key(this._builderOptions.convert.cdata) + " " + - this._val(data); - } - /** @inheritdoc */ - attribute(name, value) { - // "@name": "val" - this._additionalLevel++; - const str = this._beginLine() + - this._key(this._builderOptions.convert.att + name) + " " + - this._val(value); - this._additionalLevel--; - return str; - } - /** @inheritdoc */ - openTagBegin(name) { - // "node": - // "#": - // - - let str = this._beginLine() + this._key(name); - if (!this._rootWritten) { - this._rootWritten = true; - } - this.hasData = true; - this._additionalLevel++; - str += this._beginLine(true) + this._key(this._builderOptions.convert.text); - return str; - } - /** @inheritdoc */ - openTagEnd(name, selfClosing, voidElement) { - if (selfClosing) { - return " " + this._val(""); - } - return ""; - } - /** @inheritdoc */ - closeTag(name) { - this._additionalLevel--; - return ""; - } - /** @inheritdoc */ - beginElement(name) { } - /** @inheritdoc */ - endElement(name) { } - /** - * Produces characters to be prepended to a line of string in pretty-print - * mode. - */ - _beginLine(suppressArray = false) { - return (this.hasData ? this._writerOptions.newline : "") + - this._indent(this._writerOptions.offset + this.level, suppressArray); - } - /** - * Produces an indentation string. - * - * @param level - depth of the tree - * @param suppressArray - whether the suppress array marker - */ - _indent(level, suppressArray) { - if (level + this._additionalLevel <= 0) { - return ""; - } - else { - const chars = this._writerOptions.indent.repeat(level + this._additionalLevel); - if (!suppressArray && this._rootWritten) { - return chars.substr(0, chars.length - 2) + '-' + chars.substr(-1, 1); - } - return chars; - } - } - /** - * Produces a YAML key string delimited with double quotes. - */ - _key(key) { - return "\"" + key + "\":"; - } - /** - * Produces a YAML value string delimited with double quotes. - */ - _val(val) { - return JSON.stringify(val); - } -} -exports.YAMLCBWriter = YAMLCBWriter; -//# sourceMappingURL=YAMLCBWriter.js.map - -/***/ }), - -/***/ 60469: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.YAMLWriter = void 0; -const ObjectWriter_1 = __nccwpck_require__(24393); -const util_1 = __nccwpck_require__(76195); -const BaseWriter_1 = __nccwpck_require__(24189); -/** - * Serializes XML nodes into a YAML string. - */ -class YAMLWriter extends BaseWriter_1.BaseWriter { - /** - * Initializes a new instance of `YAMLWriter`. - * - * @param builderOptions - XML builder options - * @param writerOptions - serialization options - */ - constructor(builderOptions, writerOptions) { - super(builderOptions); - // provide default options - this._writerOptions = (0, util_1.applyDefaults)(writerOptions, { - wellFormed: false, - indent: ' ', - newline: '\n', - offset: 0, - group: false, - verbose: false - }); - if (this._writerOptions.indent.length < 2) { - throw new Error("YAML indententation string must be at least two characters long."); - } - if (this._writerOptions.offset < 0) { - throw new Error("YAML offset should be zero or a positive number."); - } - } - /** - * Produces an XML serialization of the given node. - * - * @param node - node to serialize - * @param writerOptions - serialization options - */ - serialize(node) { - // convert to object - const objectWriterOptions = (0, util_1.applyDefaults)(this._writerOptions, { - format: "object", - wellFormed: false - }); - const objectWriter = new ObjectWriter_1.ObjectWriter(this._builderOptions, objectWriterOptions); - const val = objectWriter.serialize(node); - let markup = this._beginLine(this._writerOptions, 0) + '---' + this._endLine(this._writerOptions) + - this._convertObject(val, this._writerOptions, 0); - // remove trailing newline - /* istanbul ignore else */ - if (markup.slice(-this._writerOptions.newline.length) === this._writerOptions.newline) { - markup = markup.slice(0, -this._writerOptions.newline.length); - } - return markup; - } - /** - * Produces an XML serialization of the given object. - * - * @param obj - object to serialize - * @param options - serialization options - * @param level - depth of the XML tree - * @param indentLeaf - indents leaf nodes - */ - _convertObject(obj, options, level, suppressIndent = false) { - let markup = ''; - if ((0, util_1.isArray)(obj)) { - for (const val of obj) { - markup += this._beginLine(options, level, true); - if (!(0, util_1.isObject)(val)) { - markup += this._val(val) + this._endLine(options); - } - else if ((0, util_1.isEmpty)(val)) { - markup += '""' + this._endLine(options); - } - else { - markup += this._convertObject(val, options, level, true); - } - } - } - else /* if (isObject(obj)) */ { - (0, util_1.forEachObject)(obj, (key, val) => { - if (suppressIndent) { - markup += this._key(key); - suppressIndent = false; - } - else { - markup += this._beginLine(options, level) + this._key(key); - } - if (!(0, util_1.isObject)(val) && !(0, util_1.isArray)(val)) { - markup += ' ' + this._val(val) + this._endLine(options); - } - else if ((0, util_1.isEmpty)(val)) { - markup += ' ""' + this._endLine(options); - } - else { - markup += this._endLine(options) + - this._convertObject(val, options, level + 1); - } - }, this); - } - return markup; - } - /** - * Produces characters to be prepended to a line of string in pretty-print - * mode. - * - * @param options - serialization options - * @param level - current depth of the XML tree - * @param isArray - whether this line is an array item - */ - _beginLine(options, level, isArray = false) { - const indentLevel = options.offset + level + 1; - const chars = new Array(indentLevel).join(options.indent); - if (isArray) { - return chars.substr(0, chars.length - 2) + '-' + chars.substr(-1, 1); - } - else { - return chars; - } - } - /** - * Produces characters to be appended to a line of string in pretty-print - * mode. - * - * @param options - serialization options - */ - _endLine(options) { - return options.newline; - } - /** - * Produces a YAML key string delimited with double quotes. - */ - _key(key) { - return "\"" + key + "\":"; - } - /** - * Produces a YAML value string delimited with double quotes. - */ - _val(val) { - return JSON.stringify(val); - } -} -exports.YAMLWriter = YAMLWriter; -//# sourceMappingURL=YAMLWriter.js.map - -/***/ }), - -/***/ 70469: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.YAMLWriter = exports.JSONWriter = exports.ObjectWriter = exports.XMLWriter = exports.MapWriter = void 0; -var MapWriter_1 = __nccwpck_require__(99675); -Object.defineProperty(exports, "MapWriter", ({ enumerable: true, get: function () { return MapWriter_1.MapWriter; } })); -var XMLWriter_1 = __nccwpck_require__(68998); -Object.defineProperty(exports, "XMLWriter", ({ enumerable: true, get: function () { return XMLWriter_1.XMLWriter; } })); -var ObjectWriter_1 = __nccwpck_require__(24393); -Object.defineProperty(exports, "ObjectWriter", ({ enumerable: true, get: function () { return ObjectWriter_1.ObjectWriter; } })); -var JSONWriter_1 = __nccwpck_require__(53775); -Object.defineProperty(exports, "JSONWriter", ({ enumerable: true, get: function () { return JSONWriter_1.JSONWriter; } })); -var YAMLWriter_1 = __nccwpck_require__(60469); -Object.defineProperty(exports, "YAMLWriter", ({ enumerable: true, get: function () { return YAMLWriter_1.YAMLWriter; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - /***/ 74577: /***/ ((module) => { diff --git a/package-lock.json b/package-lock.json index 382cd32..b199c07 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@actions/io": "^1.0.2", "@actions/tool-cache": "^2.0.1", "semver": "^7.6.0", - "xmlbuilder2": "^4.0.3" + "xmlbuilder2": "^2.4.0" }, "devDependencies": { "@types/jest": "^29.5.14", @@ -1540,51 +1540,47 @@ } }, "node_modules/@oozcitak/dom": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-2.0.2.tgz", - "integrity": "sha512-GjpKhkSYC3Mj4+lfwEyI1dqnsKTgwGy48ytZEhm4A/xnH/8z9M3ZVXKr/YGQi3uCLs1AEBS+x5T2JPiueEDW8w==", - "license": "MIT", + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.8.tgz", + "integrity": "sha512-MoOnLBNsF+ok0HjpAvxYxR4piUhRDCEWK0ot3upwOOHYudJd30j6M+LNcE8RKpwfnclAX9T66nXXzkytd29XSw==", "dependencies": { - "@oozcitak/infra": "^2.0.2", - "@oozcitak/url": "^3.0.0", - "@oozcitak/util": "^10.0.0" + "@oozcitak/infra": "1.0.8", + "@oozcitak/url": "1.0.4", + "@oozcitak/util": "8.3.8" }, "engines": { - "node": ">=20.0" + "node": ">=8.0" } }, "node_modules/@oozcitak/infra": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-2.0.2.tgz", - "integrity": "sha512-2g+E7hoE2dgCz/APPOEK5s3rMhJvNxSMBrP+U+j1OWsIbtSpWxxlUjq1lU8RIsFJNYv7NMlnVsCuHcUzJW+8vA==", - "license": "MIT", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.8.tgz", + "integrity": "sha512-JRAUc9VR6IGHOL7OGF+yrvs0LO8SlqGnPAMqyzOuFZPSZSXI7Xf2O9+awQPSMXgIWGtgUf/dA6Hs6X6ySEaWTg==", "dependencies": { - "@oozcitak/util": "^10.0.0" + "@oozcitak/util": "8.3.8" }, "engines": { - "node": ">=20.0" + "node": ">=6.0" } }, "node_modules/@oozcitak/url": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-3.0.0.tgz", - "integrity": "sha512-ZKfET8Ak1wsLAiLWNfFkZc/BraDccuTJKR6svTYc7sVjbR+Iu0vtXdiDMY4o6jaFl5TW2TlS7jbLl4VovtAJWQ==", - "license": "MIT", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.4.tgz", + "integrity": "sha512-kDcD8y+y3FCSOvnBI6HJgl00viO/nGbQoCINmQ0h98OhnGITrWR3bOGfwYCthgcrV8AnTJz8MzslTQbC3SOAmw==", "dependencies": { - "@oozcitak/infra": "^2.0.2", - "@oozcitak/util": "^10.0.0" + "@oozcitak/infra": "1.0.8", + "@oozcitak/util": "8.3.8" }, "engines": { - "node": ">=20.0" + "node": ">=8.0" } }, "node_modules/@oozcitak/util": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-10.0.0.tgz", - "integrity": "sha512-hAX0pT/73190NLqBPPWSdBVGtbY6VOhWYK3qqHqtXQ1gK7kS2yz4+ivsN07hpJ6I3aeMtKP6J6npsEKOAzuTLA==", - "license": "MIT", + "version": "8.3.8", + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.8.tgz", + "integrity": "sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ==", "engines": { - "node": ">=20.0" + "node": ">=8.0" } }, "node_modules/@protobuf-ts/runtime": { @@ -1715,7 +1711,6 @@ "version": "24.1.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz", "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==", - "dev": true, "license": "MIT", "dependencies": { "undici-types": "~7.8.0" @@ -2148,7 +2143,8 @@ "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, "node_modules/async": { "version": "3.2.6", @@ -2904,7 +2900,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -4195,6 +4190,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -5006,8 +5002,7 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/stack-utils": { "version": "2.0.6", @@ -5321,7 +5316,6 @@ "version": "7.8.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", - "dev": true, "license": "MIT" }, "node_modules/update-browserslist-db": { @@ -5447,18 +5441,38 @@ } }, "node_modules/xmlbuilder2": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-4.0.3.tgz", - "integrity": "sha512-bx8Q1STctnNaaDymWnkfQLKofs0mGNN7rLLapJlGuV3VlvegD7Ls4ggMjE3aUSWItCCzU0PEv45lI87iSigiCA==", - "license": "MIT", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-2.4.1.tgz", + "integrity": "sha512-vliUplZsk5vJnhxXN/mRcij/AE24NObTUm/Zo4vkLusgayO6s3Et5zLEA14XZnY1c3hX5o1ToR0m0BJOPy0UvQ==", "dependencies": { - "@oozcitak/dom": "^2.0.2", - "@oozcitak/infra": "^2.0.2", - "@oozcitak/util": "^10.0.0", - "js-yaml": "^4.1.1" + "@oozcitak/dom": "1.15.8", + "@oozcitak/infra": "1.0.8", + "@oozcitak/util": "8.3.8", + "@types/node": "*", + "js-yaml": "3.14.0" }, "engines": { - "node": ">=20.0" + "node": ">=10.0" + } + }, + "node_modules/xmlbuilder2/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/xmlbuilder2/node_modules/js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/y18n": { diff --git a/package.json b/package.json index 7b10e83..97b4d0b 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@actions/io": "^1.0.2", "@actions/tool-cache": "^2.0.1", "semver": "^7.6.0", - "xmlbuilder2": "^4.0.3" + "xmlbuilder2": "^2.4.0" }, "devDependencies": { "@types/jest": "^29.5.14",