diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 2746c695..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -name: Bug report -about: Create a bug report -title: '' -labels: bug, needs triage -assignees: '' - ---- - -**Description:** -A clear and concise description of what the bug is. - -**Task version:** -Specify the task version - -**Platform:** -- [ ] Ubuntu -- [ ] macOS -- [ ] Windows - -**Runner type:** -- [ ] Hosted -- [ ] Self-hosted - -**Repro steps:** -A description with steps to reproduce the issue. If your have a public example or repo to share, please provide the link. - -**Expected behavior:** -A description of what you expected to happen. - -**Actual behavior:** -A description of what is actually happening. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index ec4bb386..00000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1 +0,0 @@ -blank_issues_enabled: false \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 2c9d47d9..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: feature request, needs triage -assignees: '' ---- - -**Description:** -Describe your proposal. - -**Justification:** -Justification or a use case for your proposal. - -**Are you willing to submit a PR?** - \ No newline at end of file diff --git a/.github/workflows/licensed.yml b/.github/workflows/licensed.yml deleted file mode 100644 index ae62613f..00000000 --- a/.github/workflows/licensed.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Licensed - -on: - push: {branches: main} - pull_request: {branches: main} - -jobs: - test: - runs-on: ubuntu-latest - name: Check licenses - steps: - - uses: actions/checkout@v2 - - run: npm ci - - name: Install licensed - run: | - cd $RUNNER_TEMP - curl -Lfs -o licensed.tar.gz https://github.com/github/licensed/releases/download/2.12.2/licensed-2.12.2-linux-x64.tar.gz - sudo tar -xzf licensed.tar.gz - sudo mv licensed /usr/local/bin/licensed - - run: licensed status \ No newline at end of file diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 1b7aa658..ba6cde42 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -5,7 +5,7 @@ jobs: runs-on: ${{ matrix.operating-system }} strategy: matrix: - operating-system: [ubuntu-latest, windows-latest] + operating-system: [ubuntu-latest] steps: - name: Checkout uses: actions/checkout@v2 @@ -24,7 +24,7 @@ jobs: runs-on: ${{ matrix.operating-system }} strategy: matrix: - operating-system: [ubuntu-latest, windows-latest] + operating-system: [ubuntu-latest] steps: - name: Checkout uses: actions/checkout@v2 diff --git a/action.yml b/action.yml index 74572687..8212ec95 100644 --- a/action.yml +++ b/action.yml @@ -9,6 +9,21 @@ inputs: Early access versions can be specified in the form of e.g. 14-ea, 14.0.0-ea, or 14.0.0-ea.28' required: true + maven-ca-cert-b64: + description: 'CA cert in the format of a base64 blob used to connect to private + maven repo protected by MTLS' + maven-keystore-p12-b64: + description: 'Keystore p12 in the format of a base64 blob used to connect to private + maven repo protected by MTLS' + maven-keystore-password: + description: 'Password to perform extractions from the keystore used to connect to private + maven repo protected by MTLS' + maven-settings-b64: + description: 'Settings xml in the format of base64 blob used to connect to private + maven repo protected by MTLS' + maven-security-settings-b64: + description: 'Security ettings xml in the format of base64 blob used to connect to private + maven repo protected by MTLS' java-package: description: 'The package type (jre, jdk, jdk+fx)' required: false diff --git a/dist/cleanup/index.js b/dist/cleanup/index.js index 0fe3844c..87609ede 100644 --- a/dist/cleanup/index.js +++ b/dist/cleanup/index.js @@ -354,13 +354,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; +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 }); -const os = __webpack_require__(87); -const events = __webpack_require__(614); -const child = __webpack_require__(129); -const path = __webpack_require__(622); -const io = __webpack_require__(1); -const ioUtil = __webpack_require__(672); +const os = __importStar(__webpack_require__(87)); +const events = __importStar(__webpack_require__(614)); +const child = __importStar(__webpack_require__(129)); +const path = __importStar(__webpack_require__(622)); +const io = __importStar(__webpack_require__(1)); +const ioUtil = __importStar(__webpack_require__(672)); /* eslint-disable @typescript-eslint/unbound-method */ const IS_WINDOWS = process.platform === 'win32'; /* @@ -804,6 +811,12 @@ class ToolRunner extends events.EventEmitter { resolve(exitCode); } }); + if (this.options.input) { + if (!cp.stdin) { + throw new Error('child process missing stdin'); + } + cp.stdin.end(this.options.input); + } }); }); } @@ -1016,6 +1029,7 @@ module.exports = require("child_process"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.STATE_GPG_PRIVATE_KEY_FINGERPRINT = exports.INPUT_DEFAULT_GPG_PASSPHRASE = exports.INPUT_DEFAULT_GPG_PRIVATE_KEY = exports.INPUT_MAVEN_SECURITY_SETTINGS_B64 = exports.INPUT_MAVEN_SETTINGS_B64 = exports.INPUT_MAVEN_KEYSTORE_PASSWORD = exports.INPUT_MAVEN_KEYSTORE_P12_B64 = exports.INPUT_MAVEN_CA_CERT_B64 = exports.INPUT_GPG_PASSPHRASE = exports.INPUT_GPG_PRIVATE_KEY = exports.INPUT_SETTINGS_PATH = exports.INPUT_SERVER_PASSWORD = exports.INPUT_SERVER_USERNAME = exports.INPUT_SERVER_ID = exports.INPUT_JDK_FILE = exports.INPUT_JAVA_PACKAGE = exports.INPUT_ARCHITECTURE = exports.INPUT_JAVA_VERSION = exports.INPUT_VERSION = void 0; exports.INPUT_VERSION = 'version'; exports.INPUT_JAVA_VERSION = 'java-version'; exports.INPUT_ARCHITECTURE = 'architecture'; @@ -1027,6 +1041,11 @@ exports.INPUT_SERVER_PASSWORD = 'server-password'; exports.INPUT_SETTINGS_PATH = 'settings-path'; exports.INPUT_GPG_PRIVATE_KEY = 'gpg-private-key'; exports.INPUT_GPG_PASSPHRASE = 'gpg-passphrase'; +exports.INPUT_MAVEN_CA_CERT_B64 = 'maven-ca-cert-b64'; +exports.INPUT_MAVEN_KEYSTORE_P12_B64 = 'maven-keystore-p12-b64'; +exports.INPUT_MAVEN_KEYSTORE_PASSWORD = 'maven-keystore-password'; +exports.INPUT_MAVEN_SETTINGS_B64 = 'maven-settings-b64'; +exports.INPUT_MAVEN_SECURITY_SETTINGS_B64 = 'maven-security-settings-b64'; exports.INPUT_DEFAULT_GPG_PRIVATE_KEY = undefined; exports.INPUT_DEFAULT_GPG_PASSPHRASE = 'GPG_PASSPHRASE'; exports.STATE_GPG_PRIVATE_KEY_FINGERPRINT = 'gpg-private-key-fingerprint'; @@ -1039,6 +1058,25 @@ exports.STATE_GPG_PRIVATE_KEY_FINGERPRINT = 'gpg-private-key-fingerprint'; "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (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 (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -1048,13 +1086,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -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 }); const core = __importStar(__webpack_require__(470)); const gpg = __importStar(__webpack_require__(884)); @@ -1083,14 +1114,27 @@ run(); "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (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 (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; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); +exports.isWindows = exports.getTempDir = void 0; const path = __importStar(__webpack_require__(622)); function getTempDir() { let tempDirectory = process.env.RUNNER_TEMP; @@ -1696,6 +1740,25 @@ module.exports = require("fs"); "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (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 (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -1705,14 +1768,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -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.deleteKey = exports.importKey = exports.PRIVATE_KEY_FILE = void 0; const fs = __importStar(__webpack_require__(747)); const path = __importStar(__webpack_require__(622)); const io = __importStar(__webpack_require__(1)); @@ -1773,8 +1830,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; +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 }); -const tr = __webpack_require__(9); +const tr = __importStar(__webpack_require__(9)); /** * Exec a command. * Output will be streamed to the live console. diff --git a/dist/setup/index.js b/dist/setup/index.js index a1ef83a2..8ee7ae36 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -354,13 +354,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; +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 }); -const os = __webpack_require__(87); -const events = __webpack_require__(614); -const child = __webpack_require__(129); -const path = __webpack_require__(622); -const io = __webpack_require__(1); -const ioUtil = __webpack_require__(672); +const os = __importStar(__webpack_require__(87)); +const events = __importStar(__webpack_require__(614)); +const child = __importStar(__webpack_require__(129)); +const path = __importStar(__webpack_require__(622)); +const io = __importStar(__webpack_require__(1)); +const ioUtil = __importStar(__webpack_require__(672)); /* eslint-disable @typescript-eslint/unbound-method */ const IS_WINDOWS = process.platform === 'win32'; /* @@ -804,6 +811,12 @@ class ToolRunner extends events.EventEmitter { resolve(exitCode); } }); + if (this.options.input) { + if (!cp.stdin) { + throw new Error('child process missing stdin'); + } + cp.stdin.end(this.options.input); + } }); }); } @@ -1026,28 +1039,6 @@ exports.ASCIIAlphanumeric = /[0-9A-Za-z]/; /***/ }), -/***/ 15: -/***/ (function(__unusedmodule, exports) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Determines if the given number is an ASCII byte. - * - * @param byte - a byte - */ -function isASCIIByte(byte) { - /** - * An ASCII byte is a byte in the range 0x00 (NUL) to 0x7F (DEL), inclusive. - */ - return byte >= 0x00 && byte <= 0x7F; -} -exports.isASCIIByte = isASCIIByte; -//# sourceMappingURL=Byte.js.map - -/***/ }), - /***/ 16: /***/ (function(module) { @@ -1061,44 +1052,55 @@ module.exports = require("tls"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = __webpack_require__(918); +var util_1 = __webpack_require__(918); /** * 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 @@ -1109,17 +1111,48 @@ exports.NonDocumentTypeChildNodeImpl = NonDocumentTypeChildNodeImpl; "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 }); -const interfaces_1 = __webpack_require__(970); -const DOMException_1 = __webpack_require__(35); -const util_1 = __webpack_require__(918); -const CreateAlgorithm_1 = __webpack_require__(86); -const TreeAlgorithm_1 = __webpack_require__(873); -const BoundaryPointAlgorithm_1 = __webpack_require__(350); -const CharacterDataAlgorithm_1 = __webpack_require__(27); -const NodeAlgorithm_1 = __webpack_require__(541); -const MutationAlgorithm_1 = __webpack_require__(479); -const TextAlgorithm_1 = __webpack_require__(154); +var interfaces_1 = __webpack_require__(970); +var DOMException_1 = __webpack_require__(35); +var util_1 = __webpack_require__(918); +var CreateAlgorithm_1 = __webpack_require__(86); +var TreeAlgorithm_1 = __webpack_require__(873); +var BoundaryPointAlgorithm_1 = __webpack_require__(350); +var CharacterDataAlgorithm_1 = __webpack_require__(27); +var NodeAlgorithm_1 = __webpack_require__(541); +var MutationAlgorithm_1 = __webpack_require__(479); +var TextAlgorithm_1 = __webpack_require__(154); /** * Determines if the node's start boundary point is at its end boundary * point. @@ -1174,8 +1207,8 @@ function range_isPartiallyContained(node, range) { * ancestor of the live range’s start node but not its end node, * or vice versa. */ - const startCheck = TreeAlgorithm_1.tree_isAncestorOf(range._startNode, node, true); - const endCheck = 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; @@ -1203,7 +1236,7 @@ function range_setTheStart(range, node, offset) { if (offset > TreeAlgorithm_1.tree_nodeLength(node)) { throw new DOMException_1.IndexSizeError(); } - const bp = [node, offset]; + 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; @@ -1235,7 +1268,7 @@ function range_setTheEnd(range, node, offset) { if (offset > TreeAlgorithm_1.tree_nodeLength(node)) { throw new DOMException_1.IndexSizeError(); } - const bp = [node, offset]; + 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; @@ -1254,7 +1287,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(); /** @@ -1262,7 +1295,7 @@ 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 = TreeAlgorithm_1.tree_index(node); + var index = TreeAlgorithm_1.tree_index(node); range._start = [parent, index]; range._end = [parent, index + 1]; } @@ -1273,12 +1306,13 @@ exports.range_select = range_select; * @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 = CreateAlgorithm_1.create_documentFragment(range._startNode._nodeDocument); + var fragment = CreateAlgorithm_1.create_documentFragment(range._startNode._nodeDocument); if (range_collapsed(range)) return fragment; /** @@ -1286,10 +1320,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: @@ -1305,7 +1339,7 @@ function range_extract(range) { */ if (originalStartNode === originalEndNode && util_1.Guard.isCharacterDataNode(originalStartNode)) { - const clone = NodeAlgorithm_1.node_clone(originalStartNode); + 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, ''); @@ -1316,7 +1350,7 @@ 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; + var commonAncestor = originalStartNode; while (!TreeAlgorithm_1.tree_isAncestorOf(originalEndNode, commonAncestor, true)) { if (commonAncestor._parent === null) { throw new Error("Parent node is null."); @@ -1329,14 +1363,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; + var firstPartiallyContainedChild = null; if (!TreeAlgorithm_1.tree_isAncestorOf(originalEndNode, originalStartNode, true)) { - for (const node of commonAncestor._children) { - if (range_isPartiallyContained(node, range)) { - firstPartiallyContainedChild = node; - break; + 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. @@ -1344,11 +1388,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; + var lastPartiallyContainedChild = null; if (!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 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; @@ -1361,17 +1405,27 @@ 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; + 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, @@ -1390,7 +1444,7 @@ 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 && !TreeAlgorithm_1.tree_isAncestorOf(originalEndNode, referenceNode._parent)) { referenceNode = referenceNode._parent; @@ -1420,7 +1474,7 @@ function range_extract(range) { * start offset, count original start node’s length minus original start * offset, and data the empty string. */ - const clone = NodeAlgorithm_1.node_clone(originalStartNode); + 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, ''); @@ -1436,18 +1490,28 @@ function range_extract(range) { * 16.4. Let subfragment be the result of extracting subrange. * 16.5. Append subfragment to clone. */ - const clone = NodeAlgorithm_1.node_clone(firstPartiallyContainedChild); + var clone = NodeAlgorithm_1.node_clone(firstPartiallyContainedChild); MutationAlgorithm_1.mutation_append(clone, fragment); - const subrange = CreateAlgorithm_1.create_range([originalStartNode, originalStartOffset], [firstPartiallyContainedChild, TreeAlgorithm_1.tree_nodeLength(firstPartiallyContainedChild)]); - const subfragment = range_extract(subrange); + 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) { - 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)) { /** @@ -1460,7 +1524,7 @@ 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 = NodeAlgorithm_1.node_clone(originalEndNode); + 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, ''); @@ -1476,10 +1540,10 @@ function range_extract(range) { * 19.4. Let subfragment be the result of extracting subrange. * 19.5. Append subfragment to clone. */ - const clone = NodeAlgorithm_1.node_clone(lastPartiallyContainedChild); + var clone = NodeAlgorithm_1.node_clone(lastPartiallyContainedChild); MutationAlgorithm_1.mutation_append(clone, fragment); - const subrange = CreateAlgorithm_1.create_range([lastPartiallyContainedChild, 0], [originalEndNode, originalEndOffset]); - const subfragment = range_extract(subrange); + var subrange = CreateAlgorithm_1.create_range([lastPartiallyContainedChild, 0], [originalEndNode, originalEndOffset]); + var subfragment = range_extract(subrange); MutationAlgorithm_1.mutation_append(subfragment, clone); } /** @@ -1499,12 +1563,13 @@ exports.range_extract = range_extract; * @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 = CreateAlgorithm_1.create_documentFragment(range._startNode._nodeDocument); + var fragment = CreateAlgorithm_1.create_documentFragment(range._startNode._nodeDocument); if (range_collapsed(range)) return fragment; /** @@ -1520,13 +1585,13 @@ 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 = NodeAlgorithm_1.node_clone(originalStartNode); + var clone = NodeAlgorithm_1.node_clone(originalStartNode); clone._data = CharacterDataAlgorithm_1.characterData_substringData(originalStartNode, originalStartOffset, originalEndOffset - originalStartOffset); MutationAlgorithm_1.mutation_append(clone, fragment); } @@ -1535,7 +1600,7 @@ function range_cloneTheContents(range) { * 6. While common ancestor is not an inclusive ancestor of original end * node, set common ancestor to its own parent. */ - let commonAncestor = originalStartNode; + var commonAncestor = originalStartNode; while (!TreeAlgorithm_1.tree_isAncestorOf(originalEndNode, commonAncestor, true)) { if (commonAncestor._parent === null) { throw new Error("Parent node is null."); @@ -1548,14 +1613,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; + var firstPartiallyContainedChild = null; if (!TreeAlgorithm_1.tree_isAncestorOf(originalEndNode, originalStartNode, true)) { - for (const node of commonAncestor._children) { - if (range_isPartiallyContained(node, range)) { - firstPartiallyContainedChild = node; - break; + 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. @@ -1563,11 +1638,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; + var lastPartiallyContainedChild = null; if (!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 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; @@ -1580,15 +1655,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, @@ -1599,7 +1684,7 @@ function range_cloneTheContents(range) { * original start node’s length minus original start offset. * 13.3. Append clone to fragment. */ - const clone = NodeAlgorithm_1.node_clone(originalStartNode); + 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); } @@ -1615,22 +1700,32 @@ function range_cloneTheContents(range) { * subrange. * 14.5. Append subfragment to clone. */ - const clone = NodeAlgorithm_1.node_clone(firstPartiallyContainedChild); + var clone = NodeAlgorithm_1.node_clone(firstPartiallyContainedChild); MutationAlgorithm_1.mutation_append(clone, fragment); - const subrange = CreateAlgorithm_1.create_range([originalStartNode, originalStartOffset], [firstPartiallyContainedChild, TreeAlgorithm_1.tree_nodeLength(firstPartiallyContainedChild)]); - const subfragment = range_cloneTheContents(subrange); + 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 = NodeAlgorithm_1.node_clone(child); - 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)) { /** @@ -1641,7 +1736,7 @@ function range_cloneTheContents(range) { * node original end node, offset 0, and count original end offset. * 16.3. Append clone to fragment. */ - const clone = NodeAlgorithm_1.node_clone(originalEndNode); + var clone = NodeAlgorithm_1.node_clone(originalEndNode); clone._data = CharacterDataAlgorithm_1.characterData_substringData(originalEndNode, 0, originalEndOffset); MutationAlgorithm_1.mutation_append(clone, fragment); } @@ -1656,10 +1751,10 @@ 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 = NodeAlgorithm_1.node_clone(lastPartiallyContainedChild); + var clone = NodeAlgorithm_1.node_clone(lastPartiallyContainedChild); fragment.append(clone); - const subrange = CreateAlgorithm_1.create_range([lastPartiallyContainedChild, 0], [originalEndNode, originalEndOffset]); - const subfragment = range_extract(subrange); + var subrange = CreateAlgorithm_1.create_range([lastPartiallyContainedChild, 0], [originalEndNode, originalEndOffset]); + var subfragment = range_extract(subrange); MutationAlgorithm_1.mutation_append(subfragment, clone); } /** @@ -1675,6 +1770,7 @@ exports.range_cloneTheContents = range_cloneTheContents; * @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 @@ -1693,25 +1789,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; } @@ -1748,7 +1854,7 @@ function range_insert(node, range) { * 10. Let newOffset be parent’s length if referenceNode is null, and * referenceNode’s index otherwise. */ - let newOffset = (referenceNode === null ? + 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 @@ -1778,12 +1884,13 @@ exports.range_insert = range_insert; * @param range - a range */ function range_getContainedNodes(range) { - return { - [Symbol.iterator]: () => { - const container = range.commonAncestorContainer; - let currentNode = 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 = TreeAlgorithm_1.tree_getNextDescendantNode(container, currentNode); } @@ -1791,14 +1898,14 @@ function range_getContainedNodes(range) { return { done: true, value: null }; } else { - const result = { done: false, value: currentNode }; + var result = { done: false, value: currentNode }; currentNode = TreeAlgorithm_1.tree_getNextDescendantNode(container, currentNode); return result; } } }; - } - }; + }, + _a; } exports.range_getContainedNodes = range_getContainedNodes; /** @@ -1807,12 +1914,13 @@ exports.range_getContainedNodes = range_getContainedNodes; * @param range - a range */ function range_getPartiallyContainedNodes(range) { - return { - [Symbol.iterator]: () => { - const container = range.commonAncestorContainer; - let currentNode = 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 = TreeAlgorithm_1.tree_getNextDescendantNode(container, currentNode); } @@ -1820,14 +1928,14 @@ function range_getPartiallyContainedNodes(range) { return { done: true, value: null }; } else { - const result = { done: false, value: 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 @@ -1847,29 +1955,29 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); -const base64 = __importStar(__webpack_require__(763)); +var base64 = __importStar(__webpack_require__(763)); exports.base64 = base64; -const byte = __importStar(__webpack_require__(782)); +var byte = __importStar(__webpack_require__(782)); exports.byte = byte; -const byteSequence = __importStar(__webpack_require__(263)); +var byteSequence = __importStar(__webpack_require__(263)); exports.byteSequence = byteSequence; -const codePoint = __importStar(__webpack_require__(11)); +var codePoint = __importStar(__webpack_require__(11)); exports.codePoint = codePoint; -const json = __importStar(__webpack_require__(522)); +var json = __importStar(__webpack_require__(522)); exports.json = json; -const list = __importStar(__webpack_require__(657)); +var list = __importStar(__webpack_require__(657)); exports.list = list; -const map = __importStar(__webpack_require__(279)); +var map = __importStar(__webpack_require__(279)); exports.map = map; -const namespace = __importStar(__webpack_require__(916)); +var namespace = __importStar(__webpack_require__(916)); exports.namespace = namespace; -const queue = __importStar(__webpack_require__(501)); +var queue = __importStar(__webpack_require__(501)); exports.queue = queue; -const set = __importStar(__webpack_require__(496)); +var set = __importStar(__webpack_require__(496)); exports.set = set; -const stack = __importStar(__webpack_require__(134)); +var stack = __importStar(__webpack_require__(134)); exports.stack = stack; -const string = __importStar(__webpack_require__(97)); +var string = __importStar(__webpack_require__(97)); exports.string = string; //# sourceMappingURL=index.js.map @@ -1880,13 +1988,24 @@ exports.string = string; "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 }); -const dom_1 = __webpack_require__(113); -const util_1 = __webpack_require__(918); -const DOMException_1 = __webpack_require__(35); -const TreeAlgorithm_1 = __webpack_require__(873); -const MutationObserverAlgorithm_1 = __webpack_require__(151); -const DOMAlgorithm_1 = __webpack_require__(304); +var DOMImpl_1 = __webpack_require__(648); +var util_1 = __webpack_require__(918); +var DOMException_1 = __webpack_require__(35); +var TreeAlgorithm_1 = __webpack_require__(873); +var MutationObserverAlgorithm_1 = __webpack_require__(151); +var DOMAlgorithm_1 = __webpack_require__(304); /** * Replaces character data. * @@ -1896,6 +2015,7 @@ const DOMAlgorithm_1 = __webpack_require__(304); * @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" @@ -1903,9 +2023,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 = 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; @@ -1914,7 +2034,7 @@ function characterData_replaceData(node, offset, count, data) { * 4. Queue a mutation record of "characterData" for node with null, null, * node’s data, « », « », null, and null. */ - if (dom_1.dom.features.mutationObservers) { + if (DOMImpl_1.dom.features.mutationObservers) { MutationObserverAlgorithm_1.observer_queueMutationRecord("characterData", node, null, null, node._data, [], [], null, null); } /** @@ -1923,42 +2043,52 @@ 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 dom_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 * text content change steps for node’s parent. */ - if (dom_1.dom.features.steps) { + if (DOMImpl_1.dom.features.steps) { if (util_1.Guard.isTextNode(node) && node._parent !== null) { DOMAlgorithm_1.dom_runChildTextContentChangeSteps(node._parent); } @@ -1984,9 +2114,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 = 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); @@ -2000,22 +2130,135 @@ exports.characterData_substringData = characterData_substringData; /***/ }), +/***/ 31: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +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 }); +const semver = __importStar(__webpack_require__(280)); +const core_1 = __webpack_require__(470); +// needs to be require for core node modules to be mocked +/* eslint @typescript-eslint/no-require-imports: 0 */ +const os = __webpack_require__(87); +const cp = __webpack_require__(129); +const fs = __webpack_require__(747); +function _findMatch(versionSpec, stable, candidates, archFilter) { + return __awaiter(this, void 0, void 0, function* () { + const platFilter = os.platform(); + let result; + let match; + let file; + for (const candidate of candidates) { + const version = candidate.version; + core_1.debug(`check ${version} satisfies ${versionSpec}`); + if (semver.satisfies(version, versionSpec) && + (!stable || candidate.stable === stable)) { + file = candidate.files.find(item => { + core_1.debug(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`); + let chk = item.arch === archFilter && item.platform === platFilter; + if (chk && item.platform_version) { + const osVersion = module.exports._getOsVersion(); + if (osVersion === item.platform_version) { + chk = true; + } + else { + chk = semver.satisfies(osVersion, item.platform_version); + } + } + return chk; + }); + if (file) { + core_1.debug(`matched ${candidate.version}`); + match = candidate; + break; + } + } + } + if (match && file) { + // clone since we're mutating the file list to be only the file that matches + result = Object.assign({}, match); + result.files = [file]; + } + return result; + }); +} +exports._findMatch = _findMatch; +function _getOsVersion() { + // TODO: add windows and other linux, arm variants + // right now filtering on version is only an ubuntu and macos scenario for tools we build for hosted (python) + const plat = os.platform(); + let version = ''; + if (plat === 'darwin') { + version = cp.execSync('sw_vers -productVersion').toString(); + } + else if (plat === 'linux') { + // lsb_release process not in some containers, readfile + // Run cat /etc/lsb-release + // DISTRIB_ID=Ubuntu + // DISTRIB_RELEASE=18.04 + // DISTRIB_CODENAME=bionic + // DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS" + const lsbContents = module.exports._readLinuxVersionFile(); + if (lsbContents) { + const lines = lsbContents.split('\n'); + for (const line of lines) { + const parts = line.split('='); + if (parts.length === 2 && parts[0].trim() === 'DISTRIB_RELEASE') { + version = parts[1].trim(); + break; + } + } + } + } + return version; +} +exports._getOsVersion = _getOsVersion; +function _readLinuxVersionFile() { + const lsbFile = '/etc/lsb-release'; + let contents = ''; + if (fs.existsSync(lsbFile)) { + contents = fs.readFileSync(lsbFile).toString(); + } + return contents; +} +exports._readLinuxVersionFile = _readLinuxVersionFile; +//# sourceMappingURL=manifest.js.map + +/***/ }), + /***/ 33: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const dom_1 = __webpack_require__(113); -const infra_1 = __webpack_require__(23); -const util_1 = __webpack_require__(918); -const DOMException_1 = __webpack_require__(35); -const CreateAlgorithm_1 = __webpack_require__(86); -const CustomElementAlgorithm_1 = __webpack_require__(344); -const MutationObserverAlgorithm_1 = __webpack_require__(151); -const DOMAlgorithm_1 = __webpack_require__(304); -const MutationAlgorithm_1 = __webpack_require__(479); -const DocumentAlgorithm_1 = __webpack_require__(493); +var DOMImpl_1 = __webpack_require__(648); +var infra_1 = __webpack_require__(23); +var util_1 = __webpack_require__(918); +var DOMException_1 = __webpack_require__(35); +var CreateAlgorithm_1 = __webpack_require__(86); +var CustomElementAlgorithm_1 = __webpack_require__(344); +var MutationObserverAlgorithm_1 = __webpack_require__(151); +var DOMAlgorithm_1 = __webpack_require__(304); +var MutationAlgorithm_1 = __webpack_require__(479); +var DocumentAlgorithm_1 = __webpack_require__(493); /** * Determines whether the element's attribute list contains the given * attribute. @@ -2042,7 +2285,7 @@ function element_change(attribute, element, value) { * 1. Queue an attribute mutation record for element with attribute’s * local name, attribute’s namespace, and attribute’s value. */ - if (dom_1.dom.features.mutationObservers) { + if (DOMImpl_1.dom.features.mutationObservers) { MutationObserverAlgorithm_1.observer_queueAttributeMutationRecord(element, attribute._localName, attribute._namespace, attribute._value); } /** @@ -2051,7 +2294,7 @@ function element_change(attribute, element, value) { * list containing attribute’s local name, attribute’s value, value, and * attribute’s namespace. */ - if (dom_1.dom.features.customElements) { + if (DOMImpl_1.dom.features.customElements) { if (util_1.Guard.isCustomElementNode(element)) { CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(element, "attributeChangedCallback", [attribute._localName, attribute._value, value, attribute._namespace]); } @@ -2061,7 +2304,7 @@ function element_change(attribute, element, value) { * attribute’s value, value, and attribute’s namespace. * 4. Set attribute’s value to value. */ - if (dom_1.dom.features.steps) { + if (DOMImpl_1.dom.features.steps) { DOMAlgorithm_1.dom_runAttributeChangeSteps(element, attribute._localName, attribute._value, value, attribute._namespace); } attribute._value = value; @@ -2078,7 +2321,7 @@ function element_append(attribute, element) { * 1. Queue an attribute mutation record for element with attribute’s * local name, attribute’s namespace, and null. */ - if (dom_1.dom.features.mutationObservers) { + if (DOMImpl_1.dom.features.mutationObservers) { MutationObserverAlgorithm_1.observer_queueAttributeMutationRecord(element, attribute._localName, attribute._namespace, null); } /** @@ -2087,7 +2330,7 @@ function element_append(attribute, element) { * list containing attribute’s local name, null, attribute’s value, and * attribute’s namespace. */ - if (dom_1.dom.features.customElements) { + if (DOMImpl_1.dom.features.customElements) { if (util_1.Guard.isCustomElementNode(element)) { CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(element, "attributeChangedCallback", [attribute._localName, null, attribute._value, attribute._namespace]); } @@ -2096,7 +2339,7 @@ function element_append(attribute, element) { * 3. Run the attribute change steps with element, attribute’s local name, * null, attribute’s value, and attribute’s namespace. */ - if (dom_1.dom.features.steps) { + if (DOMImpl_1.dom.features.steps) { DOMAlgorithm_1.dom_runAttributeChangeSteps(element, attribute._localName, null, attribute._value, attribute._namespace); } /** @@ -2123,7 +2366,7 @@ function element_remove(attribute, element) { * 1. Queue an attribute mutation record for element with attribute’s * local name, attribute’s namespace, and attribute’s value. */ - if (dom_1.dom.features.mutationObservers) { + if (DOMImpl_1.dom.features.mutationObservers) { MutationObserverAlgorithm_1.observer_queueAttributeMutationRecord(element, attribute._localName, attribute._namespace, attribute._value); } /** @@ -2132,7 +2375,7 @@ function element_remove(attribute, element) { * list containing attribute’s local name, attribute’s value, null, * and attribute’s namespace. */ - if (dom_1.dom.features.customElements) { + if (DOMImpl_1.dom.features.customElements) { if (util_1.Guard.isCustomElementNode(element)) { CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(element, "attributeChangedCallback", [attribute._localName, attribute._value, null, attribute._namespace]); } @@ -2141,14 +2384,14 @@ function element_remove(attribute, element) { * 3. Run the attribute change steps with element, attribute’s local name, * attribute’s value, null, and attribute’s namespace. */ - if (dom_1.dom.features.steps) { + if (DOMImpl_1.dom.features.steps) { 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; } @@ -2165,7 +2408,7 @@ function element_replace(oldAttr, newAttr, element) { * 1. Queue an attribute mutation record for element with oldAttr’s * local name, oldAttr’s namespace, and oldAttr’s value. */ - if (dom_1.dom.features.mutationObservers) { + if (DOMImpl_1.dom.features.mutationObservers) { MutationObserverAlgorithm_1.observer_queueAttributeMutationRecord(element, oldAttr._localName, oldAttr._namespace, oldAttr._value); } /** @@ -2174,7 +2417,7 @@ function element_replace(oldAttr, newAttr, element) { * list containing oldAttr’s local name, oldAttr’s value, newAttr’s value, * and oldAttr’s namespace. */ - if (dom_1.dom.features.customElements) { + if (DOMImpl_1.dom.features.customElements) { if (util_1.Guard.isCustomElementNode(element)) { CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(element, "attributeChangedCallback", [oldAttr._localName, oldAttr._value, newAttr._value, oldAttr._namespace]); } @@ -2183,7 +2426,7 @@ function element_replace(oldAttr, newAttr, element) { * 3. Run the attribute change steps with element, oldAttr’s local name, * oldAttr’s value, newAttr’s value, and oldAttr’s namespace. */ - if (dom_1.dom.features.steps) { + if (DOMImpl_1.dom.features.steps) { DOMAlgorithm_1.dom_runAttributeChangeSteps(element, oldAttr._localName, oldAttr._value, newAttr._value, oldAttr._namespace); } /** @@ -2191,7 +2434,7 @@ function element_replace(oldAttr, newAttr, element) { * 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; } @@ -2220,7 +2463,7 @@ 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; /** @@ -2237,8 +2480,8 @@ 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; /** @@ -2249,14 +2492,15 @@ exports.element_getAnAttributeByNamespaceAndLocalName = element_getAnAttributeBy * @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 @@ -2281,8 +2525,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) { @@ -2303,7 +2547,9 @@ exports.element_setAnAttribute = element_setAnAttribute; * @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. @@ -2315,9 +2561,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 = 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; @@ -2340,7 +2586,7 @@ 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); } @@ -2361,7 +2607,7 @@ 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); } @@ -2379,14 +2625,17 @@ exports.element_removeAnAttributeByNamespaceAndLocalName = element_removeAnAttri * @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; - if (!dom_1.dom.features.customElements) { + var result = null; + if (!DOMImpl_1.dom.features.customElements) { result = CreateAlgorithm_1.create_element(document, localName, namespace, prefix); result._customElementState = "uncustomized"; result._customElementDefinition = null; @@ -2397,7 +2646,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 = 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 @@ -2415,7 +2664,7 @@ function element_createAnElement(document, localName, namespace, prefix = null, * 5.4. Otherwise, enqueue a custom element upgrade reaction given result * and definition. */ - const elemenInterface = 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; @@ -2450,11 +2699,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. @@ -2467,22 +2716,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) { /** @@ -2530,7 +2779,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 = DocumentAlgorithm_1.document_elementInterface(localName, namespace); + var elementInterface = DocumentAlgorithm_1.document_elementInterface(localName, namespace); result = new elementInterface(); result._localName = localName; result._namespace = namespace; @@ -2601,7 +2850,7 @@ function element_insertAdjacent(element, where, node) { return null; 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; @@ -2614,646 +2863,970 @@ exports.element_insertAdjacent = element_insertAdjacent; "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 }); /** * Represents the base class of `Error` objects used by this module. */ -class DOMException extends Error { +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 /***/ }), -/***/ 42: -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var ObjectCache_1 = __webpack_require__(568); -exports.ObjectCache = ObjectCache_1.ObjectCache; -var CompareCache_1 = __webpack_require__(938); -exports.CompareCache = CompareCache_1.CompareCache; -/** - * Applies the mixin to a given class. - * - * @param baseClass - class to receive the mixin - * @param mixinClass - mixin class - * @param overrides - an array with names of function overrides. Base class - * 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 => { - if (overrides.includes(name)) { - const orgPropDesc = Object.getOwnPropertyDescriptor(baseClass.prototype, name); - /* istanbul ignore else */ - if (orgPropDesc) { - Object.defineProperty(baseClass.prototype, "_" + name, orgPropDesc); - } - } - const propDesc = Object.getOwnPropertyDescriptor(mixinClass.prototype, name); - /* istanbul ignore else */ - if (propDesc) { - Object.defineProperty(baseClass.prototype, name, propDesc); - } - }); -} -exports.applyMixin = applyMixin; -/** - * Applies default values to the given object. - * - * @param obj - an object - * @param defaults - an object with default values - * @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 || {}); - for (const [key, val] of forEachObject(defaults)) { - if (isObject(val)) { - result[key] = applyDefaults(result[key], val); - } - else if (overwrite || result[key] === undefined) { - result[key] = val; - } - } - return result; -} -exports.applyDefaults = applyDefaults; -/** - * Iterates over items pairs of an array. - * - * @param arr - array to iterate - */ -function* forEachArray(arr) { - yield* arr; -} -exports.forEachArray = forEachArray; -/** - * Iterates over key/value pairs of a map or object. - * - * @param obj - map or object to iterate - */ -function* forEachObject(obj) { - if (isMap(obj)) { - yield* obj; - } - else { - for (const key in obj) { - /* istanbul ignore next */ - if (!obj.hasOwnProperty(key)) - continue; - yield [key, obj[key]]; - } - } -} -exports.forEachObject = forEachObject; -/** - * Returns the number of entries in a map or object. - * - * @param obj - map or object - */ -function objectLength(obj) { - if (isMap(obj)) { - return obj.size; - } - else { - return Object.keys(obj).length; - } -} -exports.objectLength = objectLength; -/** - * Gets the value of a key from a map or object. - * - * @param obj - map or object - * @param key - the key to retrieve - */ -function getObjectValue(obj, key) { - if (isMap(obj)) { - return obj.get(key); - } - else { - return obj[key]; - } -} -exports.getObjectValue = getObjectValue; -/** - * Removes a property from a map or object. - * - * @param obj - map or object - * @param key - the key to remove - */ -function removeObjectValue(obj, key) { - if (isMap(obj)) { - obj.delete(key); - } - else { - delete obj[key]; - } -} -exports.removeObjectValue = removeObjectValue; -/** - * Deep clones the given object. - * - * @param obj - an object - */ -function clone(obj) { - if (isFunction(obj)) { - return obj; - } - else if (isArray(obj)) { - const result = []; - for (const item of obj) { - result.push(clone(item)); - } - return result; - } - else if (isObject(obj)) { - const result = {}; - for (const key in obj) { - /* istanbul ignore next */ - if (obj.hasOwnProperty(key)) { - const val = obj[key]; - result[key] = clone(val); - } - } - return result; - } - else { - return obj; - } -} -exports.clone = clone; -/** - * Type guard for boolean types - * - * @param x - a variable to type check - */ -function isBoolean(x) { - return typeof x === "boolean"; -} -exports.isBoolean = isBoolean; -/** - * Type guard for numeric types - * - * @param x - a variable to type check - */ -function isNumber(x) { - return typeof x === "number"; -} -exports.isNumber = isNumber; -/** - * Type guard for strings - * - * @param x - a variable to type check - */ -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 && Object.prototype.toString.call(x) === '[object Function]'; -} -exports.isFunction = isFunction; -/** - * Type guard for JS objects - * - * _Note:_ Functions are objects too - * - * @param x - a variable to type check - */ -function isObject(x) { - const type = typeof x; - return !!x && (type === 'function' || type === 'object'); -} -exports.isObject = isObject; -/** - * Type guard for arrays - * - * @param x - a variable to type check - */ -function isArray(x) { - return Array.isArray(x); -} -exports.isArray = isArray; -/** - * Type guard for maps. - * - * @param x - a variable to check - */ -function isMap(x) { - return x instanceof Map; -} -exports.isMap = isMap; -/** - * Determines if `x` is an empty Array or an Object with no own properties. - * - * @param x - a variable to check - */ -function isEmpty(x) { - if (isArray(x)) { - return !x.length; - } - else if (isObject(x)) { - for (const key in x) { - if (x.hasOwnProperty(key)) { - return false; - } - } - return true; - } - return false; -} -exports.isEmpty = isEmpty; -/** - * Determines if `x` is a plain Object. - * - * @param x - a variable to check - */ -function isPlainObject(x) { - if (isObject(x)) { - const proto = Object.getPrototypeOf(x); - const 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. - * - * @param x - a variable to check - */ -function isIterable(x) { - return x && (typeof x[Symbol.iterator] === 'function'); -} -exports.isIterable = isIterable; -/** - * Gets the primitive value of an object. - */ -function getValue(obj) { - if (isFunction(obj.valueOf)) { - return obj.valueOf(); - } - else { - return obj; - } -} -exports.getValue = getValue; -//# sourceMappingURL=index.js.map - -/***/ }), - /***/ 43: /***/ (function(__unusedmodule, exports, __webpack_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 }); -const NodeImpl_1 = __webpack_require__(935); -const algorithm_1 = __webpack_require__(163); +var NodeImpl_1 = __webpack_require__(935); +var algorithm_1 = __webpack_require__(163); /** * Represents a generic text node. */ -class CharacterDataImpl extends NodeImpl_1.NodeImpl { +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) { - 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 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 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. */ 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. */ 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. */ 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."); } + }; + 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 /***/ }), +/***/ 44: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var common = __webpack_require__(740); +var Type = __webpack_require__(945); + +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' ] + } +}); + + +/***/ }), + +/***/ 47: +/***/ (function(__unusedmodule, exports) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Walks through the code points of a string. + */ +var StringWalker = /** @class */ (function () { + /** + * Initializes a new `StringWalker`. + * + * @param input - input string + */ + function StringWalker(input) { + this._pointer = 0; + this._chars = Array.from(input); + this._length = this._chars.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. + */ + StringWalker.prototype.codePoint = function () { + if (this._codePoint === undefined) { + if (this.eof) { + this._codePoint = -1; + } + else { + var cp = this._chars[this._pointer].codePointAt(0); + /* istanbul ignore else */ + if (cp !== undefined) { + this._codePoint = cp; + } + else { + this._codePoint = -1; + } + } + } + return this._codePoint; + }; + /** + * Returns the current character. Returns an empty string if the position is + * beyond the end of string. + */ + StringWalker.prototype.c = function () { + if (this._c === undefined) { + this._c = (this.eof ? "" : this._chars[this._pointer]); + } + return this._c; + }; + /** + * Returns the remaining string. + */ + 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. + */ + StringWalker.prototype.substring = function () { + if (this._substring === undefined) { + this._substring = (this.eof ? + "" : this._chars.slice(this._pointer).join('')); + } + return this._substring; + }; + 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 + +/***/ }), + +/***/ 50: +/***/ (function(__unusedmodule, exports, __webpack_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 = __webpack_require__(592); +var BaseReader_1 = __webpack_require__(305); +var dom_1 = __webpack_require__(743); +/** + * 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; + // sanitizes input characters + var invalidCharReplacement = options.invalidCharReplacement; + var s = function (str) { + return dom_1.sanitizeInput(str, invalidCharReplacement); + }; + 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, s(attrKey), s(attrVal)) || lastChild; + }); + } + } + else { + lastChild = _this.attribute(node, undefined, s(key.substr(options.convert.att.length)), s(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, s(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, s(item)) || lastChild; }, _this); + } + else { + lastChild = _this.cdata(node, s(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, s(item)) || lastChild; }, _this); + } + else { + lastChild = _this.comment(node, s(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, s(insTarget), s(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, s(insTarget), s(insValue)) || lastChild; + }, _this); + } + else /* if (isMap(target) || isObject(target)) */ { + util_1.forEachObject(val, function (insTarget, insValue) { return lastChild = _this.instruction(node, s(insTarget), s(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, s(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, 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, key); + if (parent) { + lastChild = parent; + _this.text(parent, s(val)); + } + } + else { + // leaf element node + lastChild = _this.element(node, undefined, s(key)) || lastChild; + } + }, this); + } + return lastChild || node; + }; + return ObjectReader; +}(BaseReader_1.BaseReader)); +exports.ObjectReader = ObjectReader; +//# sourceMappingURL=ObjectReader.js.map + +/***/ }), + /***/ 54: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const OrderedSetAlgorithm_1 = __webpack_require__(146); -const DOMAlgorithm_1 = __webpack_require__(304); -const ElementAlgorithm_1 = __webpack_require__(33); +var OrderedSetAlgorithm_1 = __webpack_require__(146); +var DOMAlgorithm_1 = __webpack_require__(304); +var ElementAlgorithm_1 = __webpack_require__(33); /** * Validates a given token against the supported tokens defined for the given * token lists' associated attribute. @@ -3270,7 +3843,7 @@ function tokenList_validationSteps(tokenList, token) { * 4. Return false. */ if (!DOMAlgorithm_1.dom_hasSupportedTokens(tokenList._attribute._localName)) { - throw new TypeError(`There are no supported tokens defined for attribute name: '${tokenList._attribute._localName}'.`); + throw new TypeError("There are no supported tokens defined for attribute name: '" + tokenList._attribute._localName + "'."); } return DOMAlgorithm_1.dom_getSupportedTokens(tokenList._attribute._localName).has(token.toLowerCase()); } @@ -3318,9 +3891,20 @@ exports.tokenList_serializeSteps = tokenList_serializeSteps; "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 }); -const util_1 = __webpack_require__(337); -const CreateAlgorithm_1 = __webpack_require__(86); +var util_1 = __webpack_require__(592); +var CreateAlgorithm_1 = __webpack_require__(86); /** * Converts the given nodes or strings into a node (if `nodes` has * only one element) or a document fragment. @@ -3329,16 +3913,17 @@ const CreateAlgorithm_1 = __webpack_require__(86); * @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]; + var node = null; + for (var i = 0; i < nodes.length; i++) { + var item = nodes[i]; if (util_1.isString(item)) { - const text = CreateAlgorithm_1.create_text(document, item); + var text = CreateAlgorithm_1.create_text(document, item); nodes[i] = text; } } @@ -3352,9 +3937,19 @@ function parentNode_convertNodesIntoANode(nodes, document) { } else { node = CreateAlgorithm_1.create_documentFragment(document); - const ns = node; - for (const item of nodes) { - ns.appendChild(item); + 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; } } } /** @@ -3367,418 +3962,64 @@ exports.parentNode_convertNodesIntoANode = parentNode_convertNodesIntoANode; /***/ }), -/***/ 68: -/***/ (function(__unusedmodule, exports, __webpack_require__) { +/***/ 75: +/***/ (function(module, __unusedexports, __webpack_require__) { "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var FixedSizeSet_1 = __webpack_require__(319); -exports.FixedSizeSet = FixedSizeSet_1.FixedSizeSet; -var ObjectCache_1 = __webpack_require__(973); -exports.ObjectCache = ObjectCache_1.ObjectCache; -var CompareCache_1 = __webpack_require__(441); -exports.CompareCache = CompareCache_1.CompareCache; -var Lazy_1 = __webpack_require__(271); -exports.Lazy = Lazy_1.Lazy; -/** - * Applies the mixin to a given class. - * - * @param baseClass - class to receive the mixin - * @param mixinClass - mixin class - * @param overrides - an array with names of function overrides. Base class - * 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 => { - if (overrides.includes(name)) { - const orgPropDesc = Object.getOwnPropertyDescriptor(baseClass.prototype, name); - /* istanbul ignore else */ - if (orgPropDesc) { - Object.defineProperty(baseClass.prototype, "_" + name, orgPropDesc); - } - } - const propDesc = Object.getOwnPropertyDescriptor(mixinClass.prototype, name); - /* istanbul ignore else */ - if (propDesc) { - Object.defineProperty(baseClass.prototype, name, propDesc); - } - }); + +var Type = __webpack_require__(945); + +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; } -exports.applyMixin = applyMixin; -/** - * Applies default values to the given object. - * - * @param obj - an object - * @param defaults - an object with default values - * @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) => { - if (isObject(val)) { - result[key] = applyDefaults(result[key], val); - } - else if (overwrite || result[key] === undefined) { - result[key] = val; - } - }); - return result; + +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; } -exports.applyDefaults = applyDefaults; -/** - * Iterates over items of an array or set. - * - * @param arr - array or set to iterate - * @param callback - a callback function which receives each array item as its - * single argument - * @param thisArg - the value of this inside callback - */ -function forEachArray(arr, callback, thisArg) { - arr.forEach(callback, thisArg); -} -exports.forEachArray = forEachArray; -/** - * Iterates over key/value pairs of a map or object. - * - * @param obj - map or object to iterate - * @param callback - a callback function which receives object key as its first - * argument and object value as its second argument - * @param thisArg - the value of this inside callback - */ -function forEachObject(obj, callback, thisArg) { - if (isMap(obj)) { - obj.forEach((value, key) => callback.call(thisArg, key, value)); - } - else { - for (const key in obj) { - /* istanbul ignore else */ - if (obj.hasOwnProperty(key)) { - callback.call(thisArg, key, obj[key]); - } - } - } -} -exports.forEachObject = forEachObject; -/** - * Returns the number of entries in an array or set. - * - * @param arr - array or set - */ -function arrayLength(obj) { - if (isSet(obj)) { - return obj.size; - } - else { - return obj.length; - } -} -exports.arrayLength = arrayLength; -/** - * Returns the number of entries in a map or object. - * - * @param obj - map or object - */ -function objectLength(obj) { - if (isMap(obj)) { - return obj.size; - } - else { - return Object.keys(obj).length; - } -} -exports.objectLength = objectLength; -/** - * Gets the value of a key from a map or object. - * - * @param obj - map or object - * @param key - the key to retrieve - */ -function getObjectValue(obj, key) { - if (isMap(obj)) { - return obj.get(key); - } - else { - return obj[key]; - } -} -exports.getObjectValue = getObjectValue; -/** - * Removes a property from a map or object. - * - * @param obj - map or object - * @param key - the key to remove - */ -function removeObjectValue(obj, key) { - if (isMap(obj)) { - obj.delete(key); - } - else { - delete obj[key]; - } -} -exports.removeObjectValue = removeObjectValue; -/** - * Deep clones the given object. - * - * @param obj - an object - */ -function clone(obj) { - if (isFunction(obj)) { - return obj; - } - else if (isArray(obj)) { - const result = []; - for (const item of obj) { - result.push(clone(item)); - } - return result; - } - else if (isObject(obj)) { - const result = {}; - for (const key in obj) { - /* istanbul ignore next */ - if (obj.hasOwnProperty(key)) { - const val = obj[key]; - result[key] = clone(val); - } - } - return result; - } - else { - return obj; - } -} -exports.clone = clone; -/** - * Type guard for boolean types - * - * @param x - a variable to type check - */ -function isBoolean(x) { - return typeof x === "boolean"; -} -exports.isBoolean = isBoolean; -/** - * Type guard for numeric types - * - * @param x - a variable to type check - */ -function isNumber(x) { - return typeof x === "number"; -} -exports.isNumber = isNumber; -/** - * Type guard for strings - * - * @param x - a variable to type check - */ -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 && Object.prototype.toString.call(x) === '[object Function]'; -} -exports.isFunction = isFunction; -/** - * Type guard for JS objects - * - * _Note:_ Functions are objects too - * - * @param x - a variable to type check - */ -function isObject(x) { - const type = typeof x; - return !!x && (type === 'function' || type === 'object'); -} -exports.isObject = isObject; -/** - * Type guard for arrays - * - * @param x - a variable to type check - */ -function isArray(x) { - return Array.isArray(x); -} -exports.isArray = isArray; -/** - * Type guard for sets. - * - * @param x - a variable to check - */ -function isSet(x) { - return x instanceof Set; -} -exports.isSet = isSet; -/** - * Type guard for maps. - * - * @param x - a variable to check - */ -function isMap(x) { - return x instanceof Map; -} -exports.isMap = isMap; -/** - * Determines if `x` is an empty Array or an Object with no own properties. - * - * @param x - a variable to check - */ -function isEmpty(x) { - if (isArray(x)) { - return !x.length; - } - else if (isSet(x)) { - return !x.size; - } - else if (isMap(x)) { - return !x.size; - } - else if (isObject(x)) { - for (const key in x) { - if (x.hasOwnProperty(key)) { - return false; - } - } - return true; - } - return false; -} -exports.isEmpty = isEmpty; -/** - * Determines if `x` is a plain Object. - * - * @param x - a variable to check - */ -function isPlainObject(x) { - if (isObject(x)) { - const proto = Object.getPrototypeOf(x); - const 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. - * - * @param x - a variable to check - */ -function isIterable(x) { - return x && (typeof x[Symbol.iterator] === 'function'); -} -exports.isIterable = isIterable; -/** - * Gets the primitive value of an object. - */ -function getValue(obj) { - if (isFunction(obj.valueOf)) { - return obj.valueOf(); - } - else { - 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); - if (char < 128) { - bytes[byteIndex++] = char; - continue; - } - else if (char < 2048) { - bytes[byteIndex++] = char >> 6 | 192; - } - else { - if (char > 0xd7ff && char < 0xdc00) { - if (++i >= input.length) { - throw new Error("Incomplete surrogate pair."); - } - const c2 = input.charCodeAt(i); - if (c2 < 0xdc00 || c2 > 0xdfff) { - throw new Error("Invalid surrogate character."); - } - char = 0x10000 + ((char & 0x03ff) << 10) + (c2 & 0x03ff); - bytes[byteIndex++] = char >> 18 | 240; - bytes[byteIndex++] = char >> 12 & 63 | 128; - } - else { - bytes[byteIndex++] = char >> 12 | 224; - } - bytes[byteIndex++] = char >> 6 & 63 | 128; - } - bytes[byteIndex++] = char & 63 | 128; - } - 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; - while (i < bytes.length) { - var c = bytes[i++]; - if (c > 127) { - if (c > 191 && c < 224) { - if (i >= bytes.length) { - throw new Error("Incomplete 2-byte sequence."); - } - c = (c & 31) << 6 | bytes[i++] & 63; - } - else if (c > 223 && c < 240) { - if (i + 1 >= bytes.length) { - throw new Error("Incomplete 3-byte sequence."); - } - c = (c & 15) << 12 | (bytes[i++] & 63) << 6 | bytes[i++] & 63; - } - else if (c > 239 && c < 248) { - if (i + 2 >= bytes.length) { - throw new Error("Incomplete 4-byte sequence."); - } - c = (c & 7) << 18 | (bytes[i++] & 63) << 12 | (bytes[i++] & 63) << 6 | bytes[i++] & 63; - } - else { - throw new Error("Unknown multi-byte start."); - } - } - if (c <= 0xffff) { - result += String.fromCharCode(c); - } - else if (c <= 0x10ffff) { - c -= 0x10000; - result += String.fromCharCode(c >> 10 | 0xd800); - result += String.fromCharCode(c & 0x3FF | 0xdc00); - } - else { - throw new Error("Code point exceeds UTF-16 limit."); - } - } - return result; -} -exports.utf8Decode = utf8Decode; -//# sourceMappingURL=index.js.map + +module.exports = new Type('tag:yaml.org,2002:pairs', { + kind: 'sequence', + resolve: resolveYamlPairs, + construct: constructYamlPairs +}); + /***/ }), @@ -3814,31 +4055,31 @@ exports.toCommandValue = toCommandValue; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const DOMImplementationImpl_1 = __webpack_require__(290); -const WindowImpl_1 = __webpack_require__(932); -const XMLDocumentImpl_1 = __webpack_require__(661); -const DocumentImpl_1 = __webpack_require__(488); -const AbortControllerImpl_1 = __webpack_require__(990); -const AbortSignalImpl_1 = __webpack_require__(784); -const DocumentTypeImpl_1 = __webpack_require__(558); -const ElementImpl_1 = __webpack_require__(695); -const DocumentFragmentImpl_1 = __webpack_require__(796); -const ShadowRootImpl_1 = __webpack_require__(581); -const AttrImpl_1 = __webpack_require__(866); -const TextImpl_1 = __webpack_require__(820); -const CDATASectionImpl_1 = __webpack_require__(920); -const CommentImpl_1 = __webpack_require__(760); -const ProcessingInstructionImpl_1 = __webpack_require__(619); -const HTMLCollectionImpl_1 = __webpack_require__(204); -const NodeListImpl_1 = __webpack_require__(636); -const NodeListStaticImpl_1 = __webpack_require__(266); -const NamedNodeMapImpl_1 = __webpack_require__(88); -const RangeImpl_1 = __webpack_require__(90); -const NodeIteratorImpl_1 = __webpack_require__(800); -const TreeWalkerImpl_1 = __webpack_require__(646); -const NodeFilterImpl_1 = __webpack_require__(774); -const MutationRecordImpl_1 = __webpack_require__(730); -const DOMTokenListImpl_1 = __webpack_require__(742); +var DOMImplementationImpl_1 = __webpack_require__(174); +var WindowImpl_1 = __webpack_require__(932); +var XMLDocumentImpl_1 = __webpack_require__(661); +var DocumentImpl_1 = __webpack_require__(488); +var AbortControllerImpl_1 = __webpack_require__(990); +var AbortSignalImpl_1 = __webpack_require__(784); +var DocumentTypeImpl_1 = __webpack_require__(558); +var ElementImpl_1 = __webpack_require__(695); +var DocumentFragmentImpl_1 = __webpack_require__(796); +var ShadowRootImpl_1 = __webpack_require__(581); +var AttrImpl_1 = __webpack_require__(866); +var TextImpl_1 = __webpack_require__(820); +var CDATASectionImpl_1 = __webpack_require__(920); +var CommentImpl_1 = __webpack_require__(760); +var ProcessingInstructionImpl_1 = __webpack_require__(619); +var HTMLCollectionImpl_1 = __webpack_require__(204); +var NodeListImpl_1 = __webpack_require__(636); +var NodeListStaticImpl_1 = __webpack_require__(266); +var NamedNodeMapImpl_1 = __webpack_require__(88); +var RangeImpl_1 = __webpack_require__(90); +var NodeIteratorImpl_1 = __webpack_require__(800); +var TreeWalkerImpl_1 = __webpack_require__(646); +var NodeFilterImpl_1 = __webpack_require__(774); +var MutationRecordImpl_1 = __webpack_require__(730); +var DOMTokenListImpl_1 = __webpack_require__(425); /** * Creates a `DOMImplementation`. * @@ -4009,7 +4250,8 @@ exports.create_processingInstruction = create_processingInstruction; * @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; @@ -4129,25 +4371,42 @@ module.exports = require("os"); "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 }); -const DOMException_1 = __webpack_require__(35); -const algorithm_1 = __webpack_require__(163); +var DOMException_1 = __webpack_require__(35); +var algorithm_1 = __webpack_require__(163); /** * Represents a collection of attributes. */ -class NamedNodeMapImpl extends Array { +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); + 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. @@ -4155,71 +4414,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 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 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 algorithm_1.element_setAnAttribute(attr, this._element); - } + }; /** @inheritdoc */ - setNamedItemNS(attr) { + 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 = 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 = 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 @@ -4230,119 +4490,149 @@ exports.NamedNodeMapImpl = NamedNodeMapImpl; "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 }); -const _1 = __webpack_require__(113); -const interfaces_1 = __webpack_require__(970); -const AbstractRangeImpl_1 = __webpack_require__(537); -const DOMException_1 = __webpack_require__(35); -const algorithm_1 = __webpack_require__(163); -const WebIDLAlgorithm_1 = __webpack_require__(495); -const util_1 = __webpack_require__(918); +var DOMImpl_1 = __webpack_require__(648); +var interfaces_1 = __webpack_require__(970); +var AbstractRangeImpl_1 = __webpack_require__(537); +var DOMException_1 = __webpack_require__(35); +var algorithm_1 = __webpack_require__(163); +var WebIDLAlgorithm_1 = __webpack_require__(495); +var util_1 = __webpack_require__(918); /** * Represents a live range. */ -class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { +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 = _1.dom.window._associatedDocument; - this._start = [doc, 0]; - this._end = [doc, 0]; - _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 (!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). */ 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). */ 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(); 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(); 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(); 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(); 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. @@ -4353,17 +4643,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. */ 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. @@ -4372,12 +4662,12 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { */ if (util_1.Guard.isDocumentTypeNode(node)) throw new DOMException_1.InvalidNodeTypeError(); - const length = 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, @@ -4410,8 +4700,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; @@ -4442,7 +4732,7 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { * - after * Return 1. */ - const position = algorithm_1.boundaryPoint_position(thisPoint, otherPoint); + var position = algorithm_1.boundaryPoint_position(thisPoint, otherPoint); if (position === interfaces_1.BoundaryPosition.Before) { return -1; } @@ -4452,9 +4742,10 @@ 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, @@ -4463,10 +4754,10 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { */ 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 @@ -4484,16 +4775,26 @@ 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 algorithm_1.range_getContainedNodes(this)) { - const parent = node._parent; - if (parent !== null && 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; + 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 @@ -4512,7 +4813,7 @@ 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 && !algorithm_1.tree_isAncestorOf(originalEndNode, referenceNode._parent, true)) { referenceNode = referenceNode._parent; @@ -4533,16 +4834,26 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { if (util_1.Guard.isCharacterDataNode(originalStartNode)) { 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) { - 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 @@ -4556,42 +4867,53 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { */ 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 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 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 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 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. @@ -4604,7 +4926,7 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { /** * 3. Let fragment be the result of extracting the context object. */ - const fragment = algorithm_1.range_extract(this); + var fragment = algorithm_1.range_extract(this); /** * 4. If newParent has children, then replace all with null within newParent. */ @@ -4621,26 +4943,26 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { * 7. Select newParent within the context object. */ 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 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 */ - _1.dom.rangeList.delete(this); - } + 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. */ @@ -4659,7 +4981,7 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { /** * 4. If (node, offset) is before start or after end, return false. */ - const bp = [node, offset]; + 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; @@ -4668,9 +4990,9 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { * 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. @@ -4689,7 +5011,7 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { * 5. If (node, offset) is after end, return 1. * 6. Return 0. */ - const bp = [node, offset]; + var bp = [node, offset]; if (algorithm_1.boundaryPoint_position(bp, this._start) === interfaces_1.BoundaryPosition.Before) { return -1; } @@ -4699,9 +5021,9 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { 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. */ @@ -4712,13 +5034,13 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { * 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 = 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. @@ -4731,12 +5053,13 @@ class RangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { * 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 @@ -4754,15 +5077,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 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 @@ -4775,27 +5108,28 @@ 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; -RangeImpl.START_TO_START = 0; -RangeImpl.START_TO_END = 1; -RangeImpl.END_TO_END = 2; -RangeImpl.END_TO_START = 3; /** * Define constants on prototype. */ @@ -4812,42 +5146,78 @@ WebIDLAlgorithm_1.idl_defineConst(RangeImpl.prototype, "END_TO_START", 3); "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 }); -const ObjectWriter_1 = __webpack_require__(419); -const util_1 = __webpack_require__(592); -const BaseWriter_1 = __webpack_require__(462); +var ObjectWriter_1 = __webpack_require__(419); +var util_1 = __webpack_require__(592); +var BaseWriter_1 = __webpack_require__(462); /** * Serializes XML nodes into a JSON string. */ -class JSONWriter extends BaseWriter_1.BaseWriter { +var JSONWriter = /** @class */ (function (_super) { + __extends(JSONWriter, _super); /** - * Produces an XML serialization of the given node. + * Initializes a new instance of `JSONWriter`. * - * @param node - node to serialize + * @param builderOptions - XML builder options * @param writerOptions - serialization options */ - serialize(node, writerOptions) { + function JSONWriter(builderOptions, writerOptions) { + var _this = _super.call(this, builderOptions) || this; // provide default options - const options = util_1.applyDefaults(writerOptions, { + _this._writerOptions = util_1.applyDefaults(writerOptions, { wellFormed: false, noDoubleEncoding: false, prettyPrint: false, indent: ' ', newline: '\n', offset: 0, - group: false + 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 - const objectWriterOptions = util_1.applyDefaults(options, { + var objectWriterOptions = util_1.applyDefaults(this._writerOptions, { format: "object", wellFormed: false, noDoubleEncoding: false, }); - const objectWriter = new ObjectWriter_1.ObjectWriter(this._builderOptions); - const val = objectWriter.serialize(node, objectWriterOptions); + var objectWriter = new ObjectWriter_1.ObjectWriter(this._builderOptions, objectWriterOptions); + var val = objectWriter.serialize(node); // recursively convert object into JSON string - return this._beginLine(options, 0) + this._convertObject(val, options); - } + return this._beginLine(this._writerOptions, 0) + this._convertObject(val, this._writerOptions); + }; /** * Produces an XML serialization of the given object. * @@ -4855,45 +5225,58 @@ class JSONWriter extends BaseWriter_1.BaseWriter { * @param options - serialization options * @param level - depth of the XML tree */ - _convertObject(obj, options, level = 0) { - let markup = ''; - const isLeaf = this._isLeafNode(obj); + 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 += '['; - 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 += ','; + 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++; } - 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 += '{'; - const len = util_1.objectLength(obj); - let i = 0; - util_1.forEachObject(obj, (key, val) => { + 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._endLine(options, level + 1) + _this._beginLine(options, level + 1); } - markup += '"' + key + '":'; + markup += _this._key(key); if (options.prettyPrint) { markup += ' '; } - markup += this._convertObject(val, options, level + 1); - if (i < len - 1) { + markup += _this._convertObject(val, options, level + 1); + if (i_1 < len_1 - 1) { markup += ','; } - i++; + i_1++; }, this); if (isLeaf && options.prettyPrint) { markup += ' '; @@ -4904,10 +5287,10 @@ class JSONWriter extends BaseWriter_1.BaseWriter { markup += '}'; } else { - markup += '"' + obj + '"'; + markup += this._val(obj); } return markup; - } + }; /** * Produces characters to be prepended to a line of string in pretty-print * mode. @@ -4915,18 +5298,18 @@ class JSONWriter extends BaseWriter_1.BaseWriter { * @param options - serialization options * @param level - current depth of the XML tree */ - _beginLine(options, level) { + JSONWriter.prototype._beginLine = function (options, level) { if (!options.prettyPrint) { return ''; } else { - const indentLevel = options.offset + level + 1; + 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. @@ -4934,44 +5317,143 @@ class JSONWriter extends BaseWriter_1.BaseWriter { * @param options - serialization options * @param level - current depth of the XML tree */ - _endLine(options, level) { + 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 */ - _isLeafNode(obj) { + JSONWriter.prototype._isLeafNode = function (obj) { return this._descendantCount(obj) <= 1; - } + }; /** * Counts the number of descendants of the given object. * * @param obj * @param count */ - _descendantCount(obj, count = 0) { + JSONWriter.prototype._descendantCount = function (obj, count) { + var _this = this; + if (count === void 0) { count = 0; } if (util_1.isArray(obj)) { - util_1.forEachArray(obj, val => count += this._descendantCount(val, count), this); + util_1.forEachArray(obj, function (val) { return count += _this._descendantCount(val, count); }, this); } else if (util_1.isObject(obj)) { - util_1.forEachObject(obj, (key, val) => count += this._descendantCount(val, count), this); + 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 +/***/ }), + +/***/ 93: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + + +var common = __webpack_require__(740); + + +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; + + /***/ }), /***/ 95: @@ -4988,6 +5470,8 @@ var ObjectWriter_1 = __webpack_require__(419); exports.ObjectWriter = ObjectWriter_1.ObjectWriter; var JSONWriter_1 = __webpack_require__(92); exports.JSONWriter = JSONWriter_1.JSONWriter; +var YAMLWriter_1 = __webpack_require__(325); +exports.YAMLWriter = YAMLWriter_1.YAMLWriter; //# sourceMappingURL=index.js.map /***/ }), @@ -4997,11 +5481,22 @@ exports.JSONWriter = JSONWriter_1.JSONWriter; "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 }); -const CodePoints_1 = __webpack_require__(11); -const ByteSequence_1 = __webpack_require__(263); -const Byte_1 = __webpack_require__(782); -const util_1 = __webpack_require__(68); +var CodePoints_1 = __webpack_require__(11); +var ByteSequence_1 = __webpack_require__(263); +var Byte_1 = __webpack_require__(782); +var util_1 = __webpack_require__(592); /** * Determines if the string `a` is a code unit prefix of string `b`. * @@ -5020,10 +5515,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) @@ -5053,9 +5548,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); @@ -5070,21 +5565,32 @@ exports.isCodeUnitLessThan = isCodeUnitLessThan; * @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; @@ -5106,19 +5612,30 @@ exports.isASCIIString = isASCIIString; * @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; } @@ -5129,19 +5646,30 @@ exports.asciiLowercase = asciiLowercase; * @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; } @@ -5180,12 +5708,23 @@ exports.asciiEncode = asciiEncode; * @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(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."); + } + } + 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); } @@ -5266,7 +5805,7 @@ function collectASequenceOfCodePoints(condition, input, options) { */ 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++; @@ -5287,7 +5826,7 @@ 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; /** @@ -5314,14 +5853,14 @@ function strictlySplit(input, delimiter) { */ 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; @@ -5347,11 +5886,11 @@ function splitAStringOnASCIIWhitespace(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); } @@ -5380,10 +5919,10 @@ function splitAStringOnCommas(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."); @@ -5399,7 +5938,8 @@ exports.splitAStringOnCommas = splitAStringOnCommas; * @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. @@ -5420,35 +5960,48 @@ exports.concatenate = concatenate; "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 }); -const interfaces_1 = __webpack_require__(970); -const LocalNameSet_1 = __webpack_require__(575); -const NamespacePrefixMap_1 = __webpack_require__(392); -const DOMException_1 = __webpack_require__(35); -const infra_1 = __webpack_require__(23); -const algorithm_1 = __webpack_require__(163); +var interfaces_1 = __webpack_require__(970); +var LocalNameSet_1 = __webpack_require__(575); +var NamespacePrefixMap_1 = __webpack_require__(392); +var DOMException_1 = __webpack_require__(35); +var infra_1 = __webpack_require__(23); +var algorithm_1 = __webpack_require__(163); /** * Represents an XML serializer. * * Implements: https://www.w3.org/TR/DOM-Parsing/#serializing */ -class XMLSerializerImpl { +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) { @@ -5468,10 +6021,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, @@ -5495,7 +6048,7 @@ class XMLSerializerImpl { throw new DOMException_1.InvalidStateError(); } } - } + }; /** * Produces an XML serialization of a node. * @@ -5505,7 +6058,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); @@ -5524,16 +6077,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); @@ -5552,9 +6105,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. * @@ -5564,7 +6117,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 * @@ -5607,15 +6161,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) { /** @@ -5651,14 +6205,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); } @@ -5847,7 +6401,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 += " /"; @@ -5883,8 +6437,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; } } } /** @@ -5898,7 +6462,7 @@ class XMLSerializerImpl { * 21. Return the value of markup. */ return markup; - } + }; /** * Produces an XML serialization of a document node. * @@ -5908,7 +6472,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), @@ -5932,19 +6497,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 @@ -5960,7 +6535,7 @@ class XMLSerializerImpl { * Otherwise, return the concatenation of "". */ return ""; - } + }; /** * Produces an XML serialization of a text node. * @@ -5968,7 +6543,7 @@ 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 @@ -5985,9 +6560,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 === "<") @@ -5998,7 +6573,7 @@ class XMLSerializerImpl { result += c; } return result; - } + }; /** * Produces an XML serialization of a document fragment node. * @@ -6008,7 +6583,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 @@ -6016,19 +6592,29 @@ 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 @@ -6086,14 +6672,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 @@ -6124,19 +6710,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. * @@ -6148,7 +6734,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 @@ -6159,191 +6746,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 || - !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. @@ -6352,98 +6949,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. * @@ -6451,7 +7059,7 @@ class XMLSerializerImpl { * converted to null. */ return defaultNamespaceAttrValue; - } + }; /** * Generates a new prefix for the given namespace. * @@ -6459,7 +7067,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. @@ -6467,18 +7075,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 * @@ -6507,9 +7115,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 === "&") @@ -6522,14 +7130,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 * @@ -6572,7 +7181,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 @@ -6582,9 +7191,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 @@ -6617,23 +7226,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: @@ -6646,14 +7265,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), @@ -6677,19 +7297,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 @@ -6697,19 +7328,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 @@ -6720,72 +7362,120 @@ 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 || - !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; -XMLSerializerImpl._VoidElementNames = new Set(['area', 'base', 'basefont', - 'bgsound', 'br', 'col', 'embed', 'frame', 'hr', 'img', 'input', 'keygen', - 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr']); //# sourceMappingURL=XMLSerializerImpl.js.map +/***/ }), + +/***/ 100: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var Type = __webpack_require__(945); + +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 +}); + + /***/ }), /***/ 102: @@ -6829,8 +7519,19 @@ exports.issueCommand = issueCommand; "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 }); -const util_1 = __webpack_require__(337); +var util_1 = __webpack_require__(592); /** * Flattens the given options argument. * @@ -6862,9 +7563,9 @@ 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; + var capture = eventTarget_flatten(options); + var once = false; + var passive = false; if (!util_1.isBoolean(options)) { once = options.once || false; passive = options.passive || false; @@ -6898,8 +7599,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; @@ -6941,8 +7642,19 @@ 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; } @@ -6956,16 +7668,47 @@ exports.eventTarget_removeAllEventListeners = eventTarget_removeAllEventListener "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 }); -const dom_1 = __webpack_require__(113); -const interfaces_1 = __webpack_require__(970); -const util_1 = __webpack_require__(918); -const CustomEventImpl_1 = __webpack_require__(164); -const EventImpl_1 = __webpack_require__(427); -const DOMException_1 = __webpack_require__(35); -const TreeAlgorithm_1 = __webpack_require__(873); -const ShadowTreeAlgorithm_1 = __webpack_require__(180); -const DOMAlgorithm_1 = __webpack_require__(304); +var DOMImpl_1 = __webpack_require__(648); +var interfaces_1 = __webpack_require__(970); +var util_1 = __webpack_require__(918); +var CustomEventImpl_1 = __webpack_require__(164); +var EventImpl_1 = __webpack_require__(427); +var DOMException_1 = __webpack_require__(35); +var TreeAlgorithm_1 = __webpack_require__(873); +var ShadowTreeAlgorithm_1 = __webpack_require__(180); +var DOMAlgorithm_1 = __webpack_require__(304); /** * Sets the canceled flag of an event. * @@ -7003,7 +7746,8 @@ exports.event_initialize = event_initialize; * @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 @@ -7018,8 +7762,8 @@ 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; } @@ -7040,7 +7784,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 @@ -7053,7 +7797,7 @@ function event_innerEventCreationSteps(eventInterface, realm, time, dictionary) event._initializedFlag = true; event._timeStamp = time.getTime(); Object.assign(event, dictionary); - if (dom_1.dom.features.steps) { + if (DOMImpl_1.dom.features.steps) { DOMAlgorithm_1.dom_runEventConstructingSteps(event); } return event; @@ -7068,8 +7812,11 @@ exports.event_innerEventCreationSteps = event_innerEventCreationSteps; * @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. */ @@ -7081,9 +7828,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; } @@ -7095,8 +7842,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 = 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. @@ -7114,19 +7861,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(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) && 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: */ @@ -7143,7 +7900,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 = 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; } @@ -7162,8 +7919,18 @@ function event_dispatch(event, target, legacyTargetOverrideFlag = false, legacyO } relatedTarget = TreeAlgorithm_1.tree_retarget(event._relatedTarget, parent); touchTargets = []; - for (const touchTarget of event._touchTargetList) { - touchTargets.push(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 @@ -7221,10 +7988,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; @@ -7246,8 +8013,8 @@ function event_dispatch(event, target, legacyTargetOverrideFlag = false, legacyO 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(TreeAlgorithm_1.tree_rootNode(struct, true))) { clearTargets = true; @@ -7268,8 +8035,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. @@ -7289,8 +8056,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. @@ -7373,7 +8140,7 @@ 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(TreeAlgorithm_1.tree_rootNode(invocationTarget))) { invocationTargetInShadowTree = true; @@ -7383,7 +8150,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; @@ -7416,22 +8183,23 @@ exports.event_appendToAnEventPath = event_appendToAnEventPath; * @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; } @@ -7459,14 +8227,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: */ @@ -7485,7 +8253,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"; } @@ -7518,14 +8286,15 @@ exports.event_invoke = event_invoke; * @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 @@ -7548,11 +8317,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; } } @@ -7566,7 +8335,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: @@ -7574,7 +8343,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) { @@ -7652,7 +8421,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. */ @@ -7663,8 +8432,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]; } } @@ -7684,7 +8453,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 @@ -7764,7 +8533,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 @@ -7783,7 +8552,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; @@ -7808,7 +8577,7 @@ 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); @@ -7834,15 +8603,15 @@ 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; } @@ -7896,89 +8665,134 @@ exports.event_deactivateAnEventHandler = event_deactivateAnEventHandler; /***/ }), +/***/ 112: +/***/ (function(__unusedmodule, exports, __webpack_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 = __webpack_require__(50); +var BaseReader_1 = __webpack_require__(305); +/** + * 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 + +/***/ }), + /***/ 113: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = __webpack_require__(337); +var util_1 = __webpack_require__(592); // Import implementation classes -const AbortControllerImpl_1 = __webpack_require__(990); +var AbortControllerImpl_1 = __webpack_require__(990); exports.AbortController = AbortControllerImpl_1.AbortControllerImpl; -const AbortSignalImpl_1 = __webpack_require__(784); +var AbortSignalImpl_1 = __webpack_require__(784); exports.AbortSignal = AbortSignalImpl_1.AbortSignalImpl; -const AbstractRangeImpl_1 = __webpack_require__(537); +var AbstractRangeImpl_1 = __webpack_require__(537); exports.AbstractRange = AbstractRangeImpl_1.AbstractRangeImpl; -const AttrImpl_1 = __webpack_require__(866); +var AttrImpl_1 = __webpack_require__(866); exports.Attr = AttrImpl_1.AttrImpl; -const CDATASectionImpl_1 = __webpack_require__(920); +var CDATASectionImpl_1 = __webpack_require__(920); exports.CDATASection = CDATASectionImpl_1.CDATASectionImpl; -const CharacterDataImpl_1 = __webpack_require__(43); +var CharacterDataImpl_1 = __webpack_require__(43); exports.CharacterData = CharacterDataImpl_1.CharacterDataImpl; -const ChildNodeImpl_1 = __webpack_require__(983); -const CommentImpl_1 = __webpack_require__(760); +var ChildNodeImpl_1 = __webpack_require__(983); +var CommentImpl_1 = __webpack_require__(760); exports.Comment = CommentImpl_1.CommentImpl; -const CustomEventImpl_1 = __webpack_require__(164); +var CustomEventImpl_1 = __webpack_require__(164); exports.CustomEvent = CustomEventImpl_1.CustomEventImpl; -const DocumentFragmentImpl_1 = __webpack_require__(796); +var DocumentFragmentImpl_1 = __webpack_require__(796); exports.DocumentFragment = DocumentFragmentImpl_1.DocumentFragmentImpl; -const DocumentImpl_1 = __webpack_require__(488); +var DocumentImpl_1 = __webpack_require__(488); exports.Document = DocumentImpl_1.DocumentImpl; -const DocumentOrShadowRootImpl_1 = __webpack_require__(247); -const DocumentTypeImpl_1 = __webpack_require__(558); +var DocumentOrShadowRootImpl_1 = __webpack_require__(247); +var DocumentTypeImpl_1 = __webpack_require__(558); exports.DocumentType = DocumentTypeImpl_1.DocumentTypeImpl; -const DOMImpl_1 = __webpack_require__(648); +var DOMImpl_1 = __webpack_require__(648); exports.dom = DOMImpl_1.dom; -const DOMImplementationImpl_1 = __webpack_require__(290); +var DOMImplementationImpl_1 = __webpack_require__(174); exports.DOMImplementation = DOMImplementationImpl_1.DOMImplementationImpl; -const DOMTokenListImpl_1 = __webpack_require__(742); +var DOMTokenListImpl_1 = __webpack_require__(425); exports.DOMTokenList = DOMTokenListImpl_1.DOMTokenListImpl; -const ElementImpl_1 = __webpack_require__(695); +var ElementImpl_1 = __webpack_require__(695); exports.Element = ElementImpl_1.ElementImpl; -const EventImpl_1 = __webpack_require__(427); +var EventImpl_1 = __webpack_require__(427); exports.Event = EventImpl_1.EventImpl; -const EventTargetImpl_1 = __webpack_require__(597); +var EventTargetImpl_1 = __webpack_require__(597); exports.EventTarget = EventTargetImpl_1.EventTargetImpl; -const HTMLCollectionImpl_1 = __webpack_require__(204); +var HTMLCollectionImpl_1 = __webpack_require__(204); exports.HTMLCollection = HTMLCollectionImpl_1.HTMLCollectionImpl; -const MutationObserverImpl_1 = __webpack_require__(175); +var MutationObserverImpl_1 = __webpack_require__(175); exports.MutationObserver = MutationObserverImpl_1.MutationObserverImpl; -const MutationRecordImpl_1 = __webpack_require__(730); +var MutationRecordImpl_1 = __webpack_require__(730); exports.MutationRecord = MutationRecordImpl_1.MutationRecordImpl; -const NamedNodeMapImpl_1 = __webpack_require__(88); +var NamedNodeMapImpl_1 = __webpack_require__(88); exports.NamedNodeMap = NamedNodeMapImpl_1.NamedNodeMapImpl; -const NodeFilterImpl_1 = __webpack_require__(774); +var NodeFilterImpl_1 = __webpack_require__(774); exports.NodeFilter = NodeFilterImpl_1.NodeFilterImpl; -const NodeImpl_1 = __webpack_require__(935); +var NodeImpl_1 = __webpack_require__(935); exports.Node = NodeImpl_1.NodeImpl; -const NodeIteratorImpl_1 = __webpack_require__(800); +var NodeIteratorImpl_1 = __webpack_require__(800); exports.NodeIterator = NodeIteratorImpl_1.NodeIteratorImpl; -const NodeListImpl_1 = __webpack_require__(636); +var NodeListImpl_1 = __webpack_require__(636); exports.NodeList = NodeListImpl_1.NodeListImpl; -const NodeListStaticImpl_1 = __webpack_require__(266); +var NodeListStaticImpl_1 = __webpack_require__(266); exports.NodeListStatic = NodeListStaticImpl_1.NodeListStaticImpl; -const NonDocumentTypeChildNodeImpl_1 = __webpack_require__(18); -const NonElementParentNodeImpl_1 = __webpack_require__(574); -const ParentNodeImpl_1 = __webpack_require__(934); -const ProcessingInstructionImpl_1 = __webpack_require__(619); +var NonDocumentTypeChildNodeImpl_1 = __webpack_require__(18); +var NonElementParentNodeImpl_1 = __webpack_require__(574); +var ParentNodeImpl_1 = __webpack_require__(934); +var ProcessingInstructionImpl_1 = __webpack_require__(619); exports.ProcessingInstruction = ProcessingInstructionImpl_1.ProcessingInstructionImpl; -const RangeImpl_1 = __webpack_require__(90); +var RangeImpl_1 = __webpack_require__(90); exports.Range = RangeImpl_1.RangeImpl; -const ShadowRootImpl_1 = __webpack_require__(581); +var ShadowRootImpl_1 = __webpack_require__(581); exports.ShadowRoot = ShadowRootImpl_1.ShadowRootImpl; -const SlotableImpl_1 = __webpack_require__(476); -const StaticRangeImpl_1 = __webpack_require__(688); +var SlotableImpl_1 = __webpack_require__(429); +var StaticRangeImpl_1 = __webpack_require__(688); exports.StaticRange = StaticRangeImpl_1.StaticRangeImpl; -const TextImpl_1 = __webpack_require__(820); +var TextImpl_1 = __webpack_require__(820); exports.Text = TextImpl_1.TextImpl; -const TraverserImpl_1 = __webpack_require__(487); +var TraverserImpl_1 = __webpack_require__(487); exports.Traverser = TraverserImpl_1.TraverserImpl; -const TreeWalkerImpl_1 = __webpack_require__(646); +var TreeWalkerImpl_1 = __webpack_require__(646); exports.TreeWalker = TreeWalkerImpl_1.TreeWalkerImpl; -const WindowImpl_1 = __webpack_require__(932); +var WindowImpl_1 = __webpack_require__(932); exports.Window = WindowImpl_1.WindowImpl; -const XMLDocumentImpl_1 = __webpack_require__(661); +var XMLDocumentImpl_1 = __webpack_require__(661); exports.XMLDocument = XMLDocumentImpl_1.XMLDocumentImpl; // Apply mixins // ChildNode @@ -8333,8 +9147,39 @@ exports.debug = debug; // for test "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 }); -const infra_1 = __webpack_require__(23); +var infra_1 = __webpack_require__(23); /** * Converts a whitespace separated string into an array of tokens. * @@ -8347,7 +9192,7 @@ 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; @@ -8361,7 +9206,7 @@ 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; /** @@ -8382,24 +9227,45 @@ exports.orderedSet_sanitize = orderedSet_sanitize; * @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; } @@ -8413,13 +9279,40 @@ exports.orderedSet_contains = orderedSet_contains; "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 }); -const dom_1 = __webpack_require__(113); -const util_1 = __webpack_require__(918); -const infra_1 = __webpack_require__(23); -const CreateAlgorithm_1 = __webpack_require__(86); -const TreeAlgorithm_1 = __webpack_require__(873); -const EventAlgorithm_1 = __webpack_require__(108); +var DOMImpl_1 = __webpack_require__(648); +var util_1 = __webpack_require__(918); +var infra_1 = __webpack_require__(23); +var CreateAlgorithm_1 = __webpack_require__(86); +var TreeAlgorithm_1 = __webpack_require__(873); +var EventAlgorithm_1 = __webpack_require__(108); /** * Queues a mutation observer microtask to the surrounding agent’s mutation * observers. @@ -8431,45 +9324,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 = dom_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 = dom_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; }); } @@ -8485,14 +9376,40 @@ 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 (dom_1.dom.features.slots) { - for (const slot of signalSet) { - EventAlgorithm_1.event_fireAnEvent("slotchange", slot, undefined, { bubbles: true }); + if (DOMImpl_1.dom.features.slots) { + 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; } } } } @@ -8511,17 +9428,18 @@ exports.observer_notifyMutationObservers = 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 = 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 @@ -8533,13 +9451,13 @@ 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) continue; if (type === "attributes" && options.attributeFilter && - (!options.attributeFilter.includes(name || '') || namespace !== null)) + (!options.attributeFilter.indexOf(name || '') || namespace !== null)) continue; if (type === "characterData" && !options.characterData) continue; @@ -8555,7 +9473,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); } @@ -8566,22 +9484,32 @@ function observer_queueMutationRecord(type, target, name, namespace, oldValue, a } 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 = CreateAlgorithm_1.create_mutationRecord(type, target, CreateAlgorithm_1.create_nodeListStatic(target, addedNodes), 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. @@ -8634,35 +9562,48 @@ exports.observer_queueAttributeMutationRecord = observer_queueAttributeMutationR "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 }); -const dom_1 = __webpack_require__(113); -const util_1 = __webpack_require__(918); -const DOMException_1 = __webpack_require__(35); -const CreateAlgorithm_1 = __webpack_require__(86); -const TreeAlgorithm_1 = __webpack_require__(873); -const CharacterDataAlgorithm_1 = __webpack_require__(27); -const MutationAlgorithm_1 = __webpack_require__(479); +var DOMImpl_1 = __webpack_require__(648); +var util_1 = __webpack_require__(918); +var DOMException_1 = __webpack_require__(35); +var CreateAlgorithm_1 = __webpack_require__(86); +var TreeAlgorithm_1 = __webpack_require__(873); +var CharacterDataAlgorithm_1 = __webpack_require__(27); +var MutationAlgorithm_1 = __webpack_require__(479); /** * 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; @@ -8675,7 +9616,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; } @@ -8686,8 +9627,8 @@ function text_contiguousTextNodes(node, self = false) { } } }; - } - }; + }, + _a; } exports.text_contiguousTextNodes = text_contiguousTextNodes; /** @@ -8696,21 +9637,23 @@ exports.text_contiguousTextNodes = text_contiguousTextNodes; * @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; @@ -8723,7 +9666,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; } @@ -8734,8 +9677,8 @@ function text_contiguousExclusiveTextNodes(node, self = false) { } } }; - } - }; + }, + _a; } exports.text_contiguousExclusiveTextNodes = text_contiguousExclusiveTextNodes; /** @@ -8749,11 +9692,11 @@ 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 = 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 = 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; } @@ -8766,12 +9709,13 @@ exports.text_descendantTextContent = text_descendantTextContent; * @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(); } @@ -8784,43 +9728,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 = CharacterDataAlgorithm_1.characterData_substringData(node, offset, count); - const newNode = 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. */ 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 dom_1.dom.rangeList) { - if (range._start[0] === node && range._start[1] > offset) { - range._start[0] = newNode; - range._start[1] -= offset; + 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 = 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; } } } /** @@ -8842,7 +9796,7 @@ exports.text_split = text_split; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const ElementAlgorithm_1 = __webpack_require__(33); +var ElementAlgorithm_1 = __webpack_require__(33); /** * Changes the value of an existing attribute. * @@ -8912,25 +9866,47 @@ __export(__webpack_require__(442)); "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 }); -const EventImpl_1 = __webpack_require__(427); -const algorithm_1 = __webpack_require__(163); +var EventImpl_1 = __webpack_require__(427); +var algorithm_1 = __webpack_require__(163); /** * Represents and event that carries custom data. */ -class CustomEventImpl extends EventImpl_1.EventImpl { +var CustomEventImpl = /** @class */ (function (_super) { + __extends(CustomEventImpl, _super); /** * Initializes a new instance of `CustomEvent`. */ - constructor(type, eventInit) { - super(type, eventInit); - this._detail = null; - 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. */ @@ -8944,8 +9920,9 @@ class CustomEventImpl extends EventImpl_1.EventImpl { * 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 @@ -8982,205 +9959,153 @@ var TokenType; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = __webpack_require__(42); +var DOMImpl_1 = __webpack_require__(648); +var infra_1 = __webpack_require__(23); +var algorithm_1 = __webpack_require__(163); +var WebIDLAlgorithm_1 = __webpack_require__(495); /** - * Adds the given item to the end of the list. - * - * @param list - a list - * @param item - an item + * Represents an object providing methods which are not dependent on + * any particular document. */ -function append(list, item) { - list.push(item); -} -exports.append = append; -/** - * Extends a list by appending all items from another list. - * - * @param listA - a list to extend - * @param listB - a list containing items to append to `listA` - */ -function extend(listA, listB) { - listA.push(...listB); -} -exports.extend = extend; -/** - * Inserts the given item to the start of the list. - * - * @param list - a list - * @param item - an item - */ -function prepend(list, item) { - list.unshift(item); -} -exports.prepend = prepend; -/** - * Replaces the given item or all items matching condition with a new item. - * - * @param list - a list - * @param conditionOrItem - an item to replace or a condition matching items - * to replace - * @param item - an item - */ -function replace(list, conditionOrItem, newItem) { - let i = 0; - for (const oldItem of list) { - if (util_1.isFunction(conditionOrItem)) { - if (!!conditionOrItem.call(null, oldItem)) { - list[i] = newItem; - } - } - else if (oldItem === conditionOrItem) { - list[i] = newItem; - return; - } - i++; +var DOMImplementationImpl = /** @class */ (function () { + /** + * Initializes a new instance of `DOMImplementation`. + * + * @param document - the associated document + */ + function DOMImplementationImpl(document) { + this._associatedDocument = document || DOMImpl_1.dom.window.document; } -} -exports.replace = replace; -/** - * Inserts the given item before the given index. - * - * @param list - a list - * @param item - an item - */ -function insert(list, item, index) { - list.splice(index, 0, item); -} -exports.insert = insert; -/** - * Removes the given item or all items matching condition. - * - * @param list - a list - * @param conditionOrItem - an item to remove or a condition matching items - * to remove - */ -function remove(list, conditionOrItem) { - let i = list.length; - while (i--) { - const oldItem = list[i]; - if (util_1.isFunction(conditionOrItem)) { - if (!!conditionOrItem.call(null, oldItem)) { - list.splice(i, 1); - } + /** @inheritdoc */ + 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. + */ + algorithm_1.namespace_validate(qualifiedName); + return algorithm_1.create_documentType(this._associatedDocument, qualifiedName, publicId, systemId); + }; + /** @inheritdoc */ + DOMImplementationImpl.prototype.createDocument = function (namespace, qualifiedName, doctype) { + if (doctype === void 0) { doctype = null; } + /** + * 1. Let document be a new 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. + */ + var element = null; + if (qualifiedName) { + element = algorithm_1.document_internalCreateElementNS(document, namespace, qualifiedName); } - else if (oldItem === conditionOrItem) { - list.splice(i, 1); - return; + /** + * 4. If doctype is non-null, append doctype to document. + * 5. If element is non-null, append element to document. + */ + if (doctype) + document.appendChild(doctype); + if (element) + document.appendChild(element); + /** + * 6. document’s origin is context object’s associated document’s origin. + */ + document._origin = this._associatedDocument._origin; + /** + * 7. document’s content type is determined by namespace: + * - HTML namespace + * application/xhtml+xml + * - SVG namespace + * image/svg+xml + * - Any other namespace + * application/xml + */ + if (namespace === infra_1.namespace.HTML) + document._contentType = "application/xhtml+xml"; + else if (namespace === infra_1.namespace.SVG) + document._contentType = "image/svg+xml"; + else + document._contentType = "application/xml"; + /** + * 8. Return document. + */ + return document; + }; + /** @inheritdoc */ + 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". + */ + 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(algorithm_1.create_documentType(doc, "html", "", "")); + /** + * 4. Append the result of creating an element given doc, html, and the + * HTML namespace, to doc. + */ + 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. + */ + var headElement = algorithm_1.element_createAnElement(doc, "head", infra_1.namespace.HTML); + htmlElement.appendChild(headElement); + /** + * 6. If title is given: + * 6.1. Append the result of creating an element given doc, title, and + * the HTML namespace, to the head element created earlier. + * 6.2. Append a new Text node, with its data set to title (which could + * be the empty string) and its node document set to doc, to the title + * element created earlier. + */ + if (title !== undefined) { + var titleElement = algorithm_1.element_createAnElement(doc, "title", infra_1.namespace.HTML); + headElement.appendChild(titleElement); + var textElement = algorithm_1.create_text(doc, title); + titleElement.appendChild(textElement); } - } -} -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. - * - * @param list - a list - * @param conditionOrItem - an item to a condition to match - */ -function contains(list, conditionOrItem) { - for (const oldItem of list) { - if (util_1.isFunction(conditionOrItem)) { - if (!!conditionOrItem.call(null, oldItem)) { - return true; - } - } - else if (oldItem === conditionOrItem) { - return true; - } - } - return false; -} -exports.contains = contains; -/** - * Returns the count of items in the list matching the given condition. - * - * @param list - a list - * @param condition - an optional condition to match - */ -function size(list, condition) { - if (condition === undefined) { - return list.length; - } - else { - let count = 0; - for (const item of list) { - if (!!condition.call(null, item)) { - count++; - } - } - return count; - } -} -exports.size = size; -/** - * Determines if the list is empty. - * - * @param list - a list - */ -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; - } - } - } -} -exports.forEach = forEach; -/** - * Creates and returns a shallow clone of list. - * - * @param list - a list - */ -function clone(list) { - return new Array(...list); -} -exports.clone = clone; -/** - * Returns a new list containing items from the list sorted in ascending - * order. - * - * @param list - a list - * @param lessThanAlgo - a function that returns `true` if its first argument - * 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); -} -exports.sortInAscendingOrder = sortInAscendingOrder; -/** - * Returns a new list containing items from the list sorted in descending - * order. - * - * @param list - a list - * @param lessThanAlgo - a function that returns `true` if its first argument - * 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); -} -exports.sortInDescendingOrder = sortInDescendingOrder; -//# sourceMappingURL=List.js.map + /** + * 7. Append the result of creating an element given doc, body, and the + * HTML namespace, to the html element created earlier. + */ + 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. + */ + doc._origin = this._associatedDocument._origin; + /** + * 9. Return doc. + */ + return doc; + }; + /** @inheritdoc */ + DOMImplementationImpl.prototype.hasFeature = function () { return true; }; + /** + * Creates a new `DOMImplementation`. + * + * @param document - owner document + */ + DOMImplementationImpl._create = function (document) { + return new DOMImplementationImpl(document); + }; + return DOMImplementationImpl; +}()); +exports.DOMImplementationImpl = DOMImplementationImpl; +WebIDLAlgorithm_1.idl_defineConst(DOMImplementationImpl.prototype, "_ID", "@oozcitak/dom"); +//# sourceMappingURL=DOMImplementationImpl.js.map /***/ }), @@ -9189,21 +10114,32 @@ exports.sortInDescendingOrder = sortInDescendingOrder; "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 }); -const _1 = __webpack_require__(113); -const util_1 = __webpack_require__(918); -const infra_1 = __webpack_require__(23); +var DOMImpl_1 = __webpack_require__(648); +var util_1 = __webpack_require__(918); +var infra_1 = __webpack_require__(23); /** * Represents an object that can be used to observe mutations to the tree of * nodes. */ -class MutationObserverImpl { +var MutationObserverImpl = /** @class */ (function () { /** * Initializes a new instance of `MutationObserver`. * * @param callback - the callback function */ - constructor(callback) { + function MutationObserverImpl(callback) { this._nodeList = []; this._recordQueue = []; /** @@ -9212,11 +10148,12 @@ class MutationObserverImpl { * 3. Return mo. */ this._callback = callback; - const window = _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 @@ -9259,24 +10196,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: @@ -9288,34 +10252,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 @@ -9326,12 +10305,43 @@ exports.MutationObserverImpl = MutationObserverImpl; "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 }); -const dom_1 = __webpack_require__(113); -const util_1 = __webpack_require__(918); -const util_2 = __webpack_require__(337); -const TreeAlgorithm_1 = __webpack_require__(873); -const MutationObserverAlgorithm_1 = __webpack_require__(151); +var DOMImpl_1 = __webpack_require__(648); +var util_1 = __webpack_require__(918); +var util_2 = __webpack_require__(592); +var TreeAlgorithm_1 = __webpack_require__(873); +var MutationObserverAlgorithm_1 = __webpack_require__(151); /** * Signals a slot change to the given slot. * @@ -9342,7 +10352,7 @@ function shadowTree_signalASlotChange(slot) { * 1. Append slot to slot’s relevant agent’s signal slots. * 2. Queue a mutation observer microtask. */ - const window = dom_1.dom.window; + var window = DOMImpl_1.dom.window; window._signalSlots.add(slot); MutationObserverAlgorithm_1.observer_queueAMutationObserverMicrotask(); } @@ -9378,7 +10388,8 @@ exports.shadowTree_isAssigned = shadowTree_isAssigned; * @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. @@ -9388,20 +10399,20 @@ 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 = 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 = 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; } @@ -9412,31 +10423,42 @@ exports.shadowTree_findASlot = shadowTree_findASlot; * @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 = 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. */ @@ -9449,12 +10471,13 @@ exports.shadowTree_findSlotables = shadowTree_findSlotables; * @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 = TreeAlgorithm_1.tree_rootNode(slot); + var result = []; + var root = TreeAlgorithm_1.tree_rootNode(slot); if (!util_1.Guard.isShadowRoot(root)) return result; /** @@ -9462,35 +10485,55 @@ 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); + var slotables = shadowTree_findSlotables(slot); if (util_2.isEmpty(slotables)) { - for (const slotable of slot._children) { - if (util_1.Guard.isSlotable(slotable)) { - slotables.push(slotable); + 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(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. @@ -9504,15 +10547,16 @@ exports.shadowTree_findFlattenedSlotables = shadowTree_findFlattenedSlotables; * @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; @@ -9527,8 +10571,18 @@ 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; @@ -9542,10 +10596,10 @@ 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 = 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 = 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; @@ -9559,7 +10613,7 @@ 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); } @@ -9569,58 +10623,48 @@ exports.shadowTree_assignASlot = shadowTree_assignASlot; /***/ }), -/***/ 183: -/***/ (function(__unusedmodule, exports) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Pushes the given item to the stack. - * - * @param list - a list - * @param item - an item - */ -function push(list, item) { - list.push(item); -} -exports.push = push; -/** - * Pops and returns an item from the stack. - * - * @param list - a list - */ -function pop(list) { - return list.pop() || null; -} -exports.pop = pop; -//# sourceMappingURL=Stack.js.map - -/***/ }), - /***/ 190: /***/ (function(__unusedmodule, exports, __webpack_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 }); -const BaseCBWriter_1 = __webpack_require__(512); +var BaseCBWriter_1 = __webpack_require__(512); /** * Serializes XML nodes. */ -class XMLCBWriter extends BaseCBWriter_1.BaseCBWriter { +var XMLCBWriter = /** @class */ (function (_super) { + __extends(XMLCBWriter, _super); /** - * Initializes a new instance of `BaseCBWriter`. + * Initializes a new instance of `XMLCBWriter`. * * @param builderOptions - XML builder options */ - constructor(builderOptions) { - super(builderOptions); - this._lineLength = 0; + function XMLCBWriter(builderOptions) { + var _this = _super.call(this, builderOptions) || this; + _this._lineLength = 0; + return _this; } /** @inheritdoc */ - declaration(version, encoding, standalone) { - let markup = this._beginLine() + ""; return markup; - } + }; /** @inheritdoc */ - docType(name, publicId, systemId) { - let markup = this._beginLine(); + XMLCBWriter.prototype.docType = function (name, publicId, systemId) { + var markup = this._beginLine(); if (publicId && systemId) { markup += ""; } @@ -9647,35 +10691,35 @@ class XMLCBWriter extends BaseCBWriter_1.BaseCBWriter { markup += ""; } return markup; - } + }; /** @inheritdoc */ - comment(data) { + XMLCBWriter.prototype.comment = function (data) { return this._beginLine() + ""; - } + }; /** @inheritdoc */ - text(data) { + XMLCBWriter.prototype.text = function (data) { return this._beginLine() + data; - } + }; /** @inheritdoc */ - instruction(target, data) { + XMLCBWriter.prototype.instruction = function (target, data) { if (data) { return this._beginLine() + ""; } else { return this._beginLine() + ""; } - } + }; /** @inheritdoc */ - cdata(data) { + XMLCBWriter.prototype.cdata = function (data) { return this._beginLine() + ""; - } + }; /** @inheritdoc */ - openTagBegin(name) { + XMLCBWriter.prototype.openTagBegin = function (name) { this._lineLength += 1 + name.length; return this._beginLine() + "<" + name; - } + }; /** @inheritdoc */ - openTagEnd(name, selfClosing, voidElement) { + XMLCBWriter.prototype.openTagEnd = function (name, selfClosing, voidElement) { if (voidElement) { return " />"; } @@ -9693,14 +10737,14 @@ class XMLCBWriter extends BaseCBWriter_1.BaseCBWriter { else { return ">"; } - } + }; /** @inheritdoc */ - closeTag(name) { + XMLCBWriter.prototype.closeTag = function (name) { return this._beginLine() + ""; - } + }; /** @inheritdoc */ - attribute(name, value) { - let str = name + "=\"" + value + "\""; + 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; @@ -9711,18 +10755,18 @@ class XMLCBWriter extends BaseCBWriter_1.BaseCBWriter { this._lineLength += 1 + str.length; return " " + str; } - } + }; /** @inheritdoc */ - beginElement(name) { } + XMLCBWriter.prototype.beginElement = function (name) { }; /** @inheritdoc */ - endElement(name) { } + XMLCBWriter.prototype.endElement = function (name) { }; /** * Produces characters to be prepended to a line of string in pretty-print * mode. */ - _beginLine() { + XMLCBWriter.prototype._beginLine = function () { if (this._writerOptions.prettyPrint) { - const str = (this.hasData ? this._writerOptions.newline : "") + + var str = (this.hasData ? this._writerOptions.newline : "") + this._indent(this._writerOptions.offset + this.level); this._lineLength = str.length; return str; @@ -9730,21 +10774,22 @@ class XMLCBWriter extends BaseCBWriter_1.BaseCBWriter { else { return ""; } - } + }; /** * Produces an indentation string. * * @param level - depth of the tree */ - _indent(level) { + 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 @@ -9756,60 +10801,67 @@ exports.XMLCBWriter = XMLCBWriter; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const infra_1 = __webpack_require__(23); -const algorithm_1 = __webpack_require__(163); -const util_1 = __webpack_require__(918); -const util_2 = __webpack_require__(337); +var infra_1 = __webpack_require__(23); +var algorithm_1 = __webpack_require__(163); +var util_1 = __webpack_require__(918); +var util_2 = __webpack_require__(592); /** * Represents a collection of elements. */ -class HTMLCollectionImpl { +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 = algorithm_1.tree_getFirstDescendantNode(this._root, false, false, (e) => util_1.Guard.isElementNode(e) && this._filter(e)); - while (node !== null) { - count++; - node = 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 = 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 = 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 @@ -9820,65 +10872,65 @@ class HTMLCollectionImpl { */ if (key === '') return null; - let ele = 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 = 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 = 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 = 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) { + 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) { + 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) { algorithm_1.mutation_replace(node, value, node._parent); @@ -9887,20 +10939,22 @@ class HTMLCollectionImpl { 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; -HTMLCollectionImpl.reservedNames = ['_root', '_live', '_filter', 'length', - 'item', 'namedItem', 'get', 'set']; //# sourceMappingURL=HTMLCollectionImpl.js.map /***/ }), @@ -9923,6 +10977,140 @@ var DOMParserImpl_1 = __webpack_require__(642); exports.DOMParser = DOMParserImpl_1.DOMParserImpl; //# sourceMappingURL=index.js.map +/***/ }), + +/***/ 228: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var Type = __webpack_require__(945); + +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' +}); + + +/***/ }), + +/***/ 238: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (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 (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.setupMaven = exports.validateOptions = void 0; +const core = __importStar(__webpack_require__(470)); +const fs = __importStar(__webpack_require__(747)); +const path = __importStar(__webpack_require__(622)); +const constants = __importStar(__webpack_require__(694)); +const os = __importStar(__webpack_require__(87)); +const io = __importStar(__webpack_require__(1)); +function validateOptions(opts) { + if ((opts.caCert === '' || + opts.keystore === '' || + opts.password === '' || + opts.securitySettings === '', + opts.settings === '')) { + core.debug('maven options set is not valid: some field is empty'); + return false; + } + return true; +} +exports.validateOptions = validateOptions; +function setupMaven(opts) { + return __awaiter(this, void 0, void 0, function* () { + const settingsDir = path.join(core.getInput(constants.INPUT_SETTINGS_PATH) || os.homedir(), core.getInput(constants.INPUT_SETTINGS_PATH) ? '' : '.m2'); + const certDir = path.join(os.homedir(), 'certs'); + fs.writeFileSync(path.join(settingsDir, 'settings.xml'), btoa(opts.settings), { + encoding: 'utf-8', + flag: 'w' + }); + fs.writeFileSync(path.join(settingsDir, 'settings-security.xml'), btoa(opts.securitySettings), { + encoding: 'utf-8', + flag: 'w' + }); + yield io.mkdirP(certDir); + fs.writeFileSync(path.join(certDir, 'rootca.crt'), btoa(opts.caCert), { + encoding: 'utf-8', + flag: 'w' + }); + const p12Path = path.join(certDir, 'certificate.p12'); + fs.writeFileSync(p12Path, btoa(opts.keystore), { + encoding: 'utf-8', + flag: 'w' + }); + const password = btoa(opts.password); + core.exportVariable('MAVEN_OPTS', `-Djavax.net.ssl.keyStore=${p12Path} -Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.keyStorePassword=${password}`); + core.debug(`added maven opts for MTLS access`); + }); +} +exports.setupMaven = setupMaven; +const btoa = function (str) { + return Buffer.from(str, 'binary').toString('base64'); +}; +const atob = function (str) { + return Buffer.from(str, 'base64').toString('binary'); +}; + + /***/ }), /***/ 247: @@ -9939,8 +11127,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); * _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 @@ -9952,7 +11143,7 @@ exports.DocumentOrShadowRootImpl = DocumentOrShadowRootImpl; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const dom_1 = __webpack_require__(113); +var dom_1 = __webpack_require__(113); dom_1.dom.setFeatures(true); var dom_2 = __webpack_require__(113); exports.DOMImplementation = dom_2.DOMImplementation; @@ -9970,298 +11161,42 @@ exports.XMLSerializer = serializer_1.XMLSerializer; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const interfaces_1 = __webpack_require__(625); -const util_1 = __webpack_require__(592); -const util_2 = __webpack_require__(918); -const builder_1 = __webpack_require__(535); -const dom_1 = __webpack_require__(743); -const util_3 = __webpack_require__(669); -const builder_2 = __webpack_require__(535); -/** @inheritdoc */ -function builder(p1, p2) { - const options = formatBuilderOptions(isXMLBuilderCreateOptions(p1) ? p1 : interfaces_1.DefaultBuilderOptions); - const nodes = util_2.Guard.isNode(p1) || util_3.isArray(p1) ? p1 : p2; - if (nodes === undefined) { - throw new Error("Invalid arguments."); - } - if (util_3.isArray(nodes)) { - const builders = []; - for (let i = 0; i < nodes.length; i++) { - const builder = new builder_1.XMLBuilderImpl(nodes[i]); - builder.set(options); - builders.push(builder); - } - return builders; - } - else { - const builder = new builder_1.XMLBuilderImpl(nodes); - builder.set(options); - return builder; - } -} -exports.builder = builder; -/** @inheritdoc */ -function create(p1, p2) { - const options = formatBuilderOptions(p1 === undefined || isXMLBuilderCreateOptions(p1) ? - p1 : interfaces_1.DefaultBuilderOptions); - const contents = isXMLBuilderCreateOptions(p1) ? p2 : p1; - let builder; - if (contents === undefined) { - // empty document - const doc = dom_1.createDocument(); - builder = new builder_1.XMLBuilderImpl(doc); - setOptions(doc, options); - } - else if (util_1.isObject(contents)) { - // JS object - const doc = dom_1.createDocument(); - builder = new builder_1.XMLBuilderImpl(doc); - setOptions(doc, options); - builder.ele(contents); - } - else if (/^\s*" + - dom_1.sanitizeInput(contents, options.invalidCharReplacement) + "", "text/xml"); - dom_1.throwIfParserError(doc); - setOptions(doc, options, true); - /* istanbul ignore next */ - if (doc.documentElement === null) { - throw new Error("Document element is null."); - } - const frag = doc.createDocumentFragment(); - for (const child of doc.documentElement.childNodes) { - const newChild = doc.importNode(child, true); - frag.appendChild(newChild); - } - builder = new builder_1.XMLBuilderImpl(frag); - } - else { - // JSON - const doc = dom_1.createDocument(); - setOptions(doc, options, true); - builder = new builder_1.XMLBuilderImpl(doc.createDocumentFragment()); - const obj = JSON.parse(contents); - builder.ele(obj); - } - return builder; -} -exports.fragment = fragment; -/** @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); -} -exports.convert = convert; -/** - * Creates an XML builder which serializes the document in chunks. - * - * @param options - callback builder options - * - * @returns callback builder - */ -function createCB(options) { - return new builder_2.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 builder_2.XMLBuilderCBImpl(options, true); -} -exports.fragmentCB = fragmentCB; -function isXMLBuilderCreateOptions(obj) { - if (!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 = 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; -} +var builder_1 = __webpack_require__(535); +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 /***/ }), -/***/ 260: -/***/ (function(__unusedmodule, exports) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Walks through the code points of a string. - */ -class StringWalker { - /** - * Initializes a new `StringWalker`. - * - * @param input - input string - */ - constructor(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; } - /** - * Returns the current code point. Returns `-1` if the position is beyond - * the end of string. - */ - codePoint() { - if (this._codePoint === undefined) { - if (this.eof) { - this._codePoint = -1; - } - else { - const cp = this._chars[this._pointer].codePointAt(0); - /* istanbul ignore else */ - if (cp !== undefined) { - this._codePoint = cp; - } - else { - this._codePoint = -1; - } - } - } - return this._codePoint; - } - /** - * Returns the current character. Returns an empty string if the position is - * beyond the end of string. - */ - c() { - if (this._c === undefined) { - this._c = (this.eof ? "" : this._chars[this._pointer]); - } - return this._c; - } - /** - * Returns the remaining string. - */ - remaining() { - 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() { - 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; - } -} -exports.StringWalker = StringWalker; -//# sourceMappingURL=StringWalker.js.map - -/***/ }), - /***/ 263: /***/ (function(__unusedmodule, 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 }); /** * Returns the count of bytes in a sequence. @@ -10285,8 +11220,8 @@ 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; } @@ -10303,8 +11238,8 @@ 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; } @@ -10324,9 +11259,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) @@ -10353,7 +11288,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; @@ -10381,14 +11316,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) @@ -10408,11 +11343,36 @@ 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 +/***/ }), + +/***/ 265: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; +// Standard YAML's Failsafe schema. +// http://www.yaml.org/spec/1.2/spec.html#id2802346 + + + + + +var Schema = __webpack_require__(733); + + +module.exports = new Schema({ + explicit: [ + __webpack_require__(450), + __webpack_require__(921), + __webpack_require__(988) + ] +}); + + /***/ }), /***/ 266: @@ -10420,20 +11380,31 @@ exports.isomorphicDecode = isomorphicDecode; "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 }); -const _1 = __webpack_require__(113); -const util_1 = __webpack_require__(337); +var DOMImpl_1 = __webpack_require__(648); +var util_1 = __webpack_require__(592); /** * Represents an ordered list of nodes. * This is a static implementation of `NodeList`. */ -class NodeListStaticImpl { +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; @@ -10442,16 +11413,20 @@ class NodeListStaticImpl { 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 @@ -10460,12 +11435,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) { @@ -10476,31 +11452,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 }; } @@ -10509,49 +11487,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 = _1.dom.window; + 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) { + 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) { + 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); } @@ -10562,70 +11551,35 @@ 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 /***/ }), -/***/ 271: -/***/ (function(__unusedmodule, exports) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents an object with lazy initialization. - */ -class Lazy { - /** - * Initializes a new instance of `Lazy`. - * - * @param initFunc - initializer function - */ - constructor(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; - } -} -exports.Lazy = Lazy; -//# sourceMappingURL=Lazy.js.map - -/***/ }), - /***/ 272: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const dom_1 = __webpack_require__(113); -const interfaces_1 = __webpack_require__(970); -const TraversalAlgorithm_1 = __webpack_require__(464); -const TreeAlgorithm_1 = __webpack_require__(873); +var DOMImpl_1 = __webpack_require__(648); +var interfaces_1 = __webpack_require__(970); +var TraversalAlgorithm_1 = __webpack_require__(464); +var TreeAlgorithm_1 = __webpack_require__(873); /** * Returns the next or previous node in the subtree, or `null` if * there are none. @@ -10639,8 +11593,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: */ @@ -10658,7 +11612,7 @@ function nodeIterator_traverse(iterator, forward) { * node in iterator’s iterator collection. If there is no such node, * then return null. */ - const nextNode = TreeAlgorithm_1.tree_getFollowingNode(iterator._root, node); + var nextNode = TreeAlgorithm_1.tree_getFollowingNode(iterator._root, node); if (nextNode) { node = nextNode; } @@ -10683,7 +11637,7 @@ function nodeIterator_traverse(iterator, forward) { * node in iterator’s iterator collection. If there is no such node, * then return null. */ - const prevNode = TreeAlgorithm_1.tree_getPrecedingNode(iterator.root, node); + var prevNode = TreeAlgorithm_1.tree_getPrecedingNode(iterator.root, node); if (prevNode) { node = prevNode; } @@ -10702,7 +11656,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 = TraversalAlgorithm_1.traversal_filter(iterator, node); + var result = TraversalAlgorithm_1.traversal_filter(iterator, node); if (result === interfaces_1.FilterResult.Accept) { break; } @@ -10721,7 +11675,7 @@ exports.nodeIterator_traverse = nodeIterator_traverse; * Gets the global iterator list. */ function nodeIterator_iteratorList() { - return dom_1.dom.window._iteratorList; + return DOMImpl_1.dom.window._iteratorList; } exports.nodeIterator_iteratorList = nodeIterator_iteratorList; //# sourceMappingURL=NodeIteratorAlgorithm.js.map @@ -10733,8 +11687,66 @@ exports.nodeIterator_iteratorList = nodeIterator_iteratorList; "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 }); -const util_1 = __webpack_require__(68); +var util_1 = __webpack_require__(592); /** * Gets the value corresponding to the given key. * @@ -10764,18 +11776,39 @@ exports.set = set; * items to remove */ function remove(map, 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; } } } } @@ -10788,15 +11821,26 @@ exports.remove = remove; * items */ function contains(map, 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; } } @@ -10816,7 +11860,7 @@ exports.keys = keys; * @param map - a map */ function values(map) { - return [...map.values()]; + return __spread(map.values()); } exports.values = values; /** @@ -10826,16 +11870,27 @@ exports.values = values; * @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; } } @@ -10855,17 +11910,46 @@ exports.isEmpty = isEmpty; * @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; /** @@ -10886,8 +11970,10 @@ exports.clone = clone; * 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; @@ -10900,8 +11986,10 @@ exports.sortInAscendingOrder = sortInAscendingOrder; * 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; @@ -12550,157 +13638,36 @@ exports.OpaqueOrigin = ["", "", null, null]; /***/ }), -/***/ 290: +/***/ 295: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const _1 = __webpack_require__(113); -const infra_1 = __webpack_require__(23); -const algorithm_1 = __webpack_require__(163); -const WebIDLAlgorithm_1 = __webpack_require__(495); +var _1 = __webpack_require__(535); /** - * Represents an object providing methods which are not dependent on - * any particular document. + * Creates an XML builder which serializes the document in chunks. + * + * @param options - callback builder options + * + * @returns callback builder */ -class DOMImplementationImpl { - /** - * Initializes a new instance of `DOMImplementation`. - * - * @param document - the associated document - */ - constructor(document) { - this._associatedDocument = document || _1.dom.window.document; - } - /** @inheritdoc */ - createDocumentType(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. - */ - algorithm_1.namespace_validate(qualifiedName); - return algorithm_1.create_documentType(this._associatedDocument, qualifiedName, publicId, systemId); - } - /** @inheritdoc */ - createDocument(namespace, qualifiedName, doctype = null) { - /** - * 1. Let document be a new XMLDocument. - */ - const 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; - if (qualifiedName) { - element = algorithm_1.document_internalCreateElementNS(document, namespace, qualifiedName); - } - /** - * 4. If doctype is non-null, append doctype to document. - * 5. If element is non-null, append element to document. - */ - if (doctype) - document.appendChild(doctype); - if (element) - document.appendChild(element); - /** - * 6. document’s origin is context object’s associated document’s origin. - */ - document._origin = this._associatedDocument._origin; - /** - * 7. document’s content type is determined by namespace: - * - HTML namespace - * application/xhtml+xml - * - SVG namespace - * image/svg+xml - * - Any other namespace - * application/xml - */ - if (namespace === infra_1.namespace.HTML) - document._contentType = "application/xhtml+xml"; - else if (namespace === infra_1.namespace.SVG) - document._contentType = "image/svg+xml"; - else - document._contentType = "application/xml"; - /** - * 8. Return document. - */ - return document; - } - /** @inheritdoc */ - createHTMLDocument(title) { - /** - * 1. Let doc be a new document that is an HTML document. - * 2. Set doc’s content type to "text/html". - */ - const 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(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 = 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 = algorithm_1.element_createAnElement(doc, "head", infra_1.namespace.HTML); - htmlElement.appendChild(headElement); - /** - * 6. If title is given: - * 6.1. Append the result of creating an element given doc, title, and - * the HTML namespace, to the head element created earlier. - * 6.2. Append a new Text node, with its data set to title (which could - * be the empty string) and its node document set to doc, to the title - * element created earlier. - */ - if (title !== undefined) { - const titleElement = algorithm_1.element_createAnElement(doc, "title", infra_1.namespace.HTML); - headElement.appendChild(titleElement); - const 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 = 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. - */ - doc._origin = this._associatedDocument._origin; - /** - * 9. Return doc. - */ - return doc; - } - /** @inheritdoc */ - hasFeature() { return true; } - /** - * Creates a new `DOMImplementation`. - * - * @param document - owner document - */ - static _create(document) { - return new DOMImplementationImpl(document); - } +function createCB(options) { + return new _1.XMLBuilderCBImpl(options); } -exports.DOMImplementationImpl = DOMImplementationImpl; -WebIDLAlgorithm_1.idl_defineConst(DOMImplementationImpl.prototype, "_ID", "@oozcitak/dom"); -//# sourceMappingURL=DOMImplementationImpl.js.map +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 /***/ }), @@ -12709,12 +13676,23 @@ WebIDLAlgorithm_1.idl_defineConst(DOMImplementationImpl.prototype, "_ID", "@oozc "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 }); -const dom_1 = __webpack_require__(113); -const TreeAlgorithm_1 = __webpack_require__(873); -const util_1 = __webpack_require__(918); -const ShadowTreeAlgorithm_1 = __webpack_require__(180); -const supportedTokens = new Map(); +var DOMImpl_1 = __webpack_require__(648); +var TreeAlgorithm_1 = __webpack_require__(873); +var util_1 = __webpack_require__(918); +var ShadowTreeAlgorithm_1 = __webpack_require__(180); +var supportedTokens = new Map(); /** * Runs removing steps for node. * @@ -12757,15 +13735,26 @@ exports.dom_runAdoptingSteps = dom_runAdoptingSteps; * @param namespace - attribute's namespace */ function dom_runAttributeChangeSteps(element, localName, oldValue, value, namespace) { + var e_1, _a; // run default steps - if (dom_1.dom.features.slots) { + 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; @@ -12847,7 +13836,7 @@ function removeNodeIterator(nodeIterator, toBeRemovedNode) { * descendant of toBeRemovedNode, and null if there is no such node. */ while (true) { - const nextNode = TreeAlgorithm_1.tree_getFollowingNode(nodeIterator._root, toBeRemovedNode); + var nextNode = TreeAlgorithm_1.tree_getFollowingNode(nodeIterator._root, toBeRemovedNode); if (nextNode !== null && TreeAlgorithm_1.tree_isDescendantOf(nodeIterator._root, nextNode, true) && !TreeAlgorithm_1.tree_isDescendantOf(toBeRemovedNode, nextNode, true)) { @@ -12879,8 +13868,8 @@ function removeNodeIterator(nodeIterator, toBeRemovedNode) { } } else { - let referenceNode = toBeRemovedNode._previousSibling; - let childNode = 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; @@ -12977,148 +13966,260 @@ function updateAnElementID(element, localName, value, namespace) { /***/ }), -/***/ 307: -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - -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 }); -const base64 = __importStar(__webpack_require__(347)); -exports.base64 = base64; -const byte = __importStar(__webpack_require__(15)); -exports.byte = byte; -const byteSequence = __importStar(__webpack_require__(425)); -exports.byteSequence = byteSequence; -const codePoint = __importStar(__webpack_require__(780)); -exports.codePoint = codePoint; -const json = __importStar(__webpack_require__(859)); -exports.json = json; -const list = __importStar(__webpack_require__(174)); -exports.list = list; -const map = __importStar(__webpack_require__(486)); -exports.map = map; -const namespace = __importStar(__webpack_require__(609)); -exports.namespace = namespace; -const queue = __importStar(__webpack_require__(429)); -exports.queue = queue; -const set = __importStar(__webpack_require__(693)); -exports.set = set; -const stack = __importStar(__webpack_require__(183)); -exports.stack = stack; -const string = __importStar(__webpack_require__(665)); -exports.string = string; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 319: +/***/ 305: /***/ (function(__unusedmodule, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** - * Represents a set of objects with a size limit. + * Pre-serializes XML nodes. */ -class FixedSizeSet { +var BaseReader = /** @class */ (function () { /** - * Initializes a new instance of `FixedSizeSet`. + * Initializes a new instance of `BaseReader`. * - * @param limit - maximum number of items to keep in the set. When the limit - * is exceeded the first item is removed from the set. + * @param builderOptions - XML builder options */ - constructor(limit = 1000) { - this._items = new Set(); - this._limit = limit; - } - /** - * Adds a new item to the set. - * - * @param item - an item - */ - add(item) { - this._items.add(item); - if (this._items.size > this._limit) { - const it = this._items.values().next(); - /* istanbul ignore else */ - if (!it.done) { - this._items.delete(it.value); - } + function BaseReader(builderOptions) { + this._builderOptions = builderOptions; + if (builderOptions.parser) { + Object.assign(this, builderOptions.parser); } - return this; } + 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)); + }; /** - * Removes an item from the set. + * Main parser function which parses the given object and returns an XMLBuilder. * - * @param item - an item + * @param node - node to recieve parsed content + * @param obj - object to parse */ - delete(item) { - return this._items.delete(item); - } + BaseReader.prototype.parse = function (node, obj) { + return this._parse(node, obj); + }; /** - * Determines if an item is in the set. + * Creates a DocType node. + * The node will be skipped if the function returns `undefined`. * - * @param item - an item + * @param name - node name + * @param publicId - public identifier + * @param systemId - system identifier */ - has(item) { - return this._items.has(item); - } + BaseReader.prototype.docType = function (parent, name, publicId, systemId) { + return this._docType(parent, name, publicId, systemId); + }; /** - * Removes all items from the set. + * Creates a comment node. + * The node will be skipped if the function returns `undefined`. + * + * @param parent - parent node + * @param data - node data */ - clear() { - this._items.clear(); - } + BaseReader.prototype.comment = function (parent, data) { + return this._comment(parent, data); + }; /** - * Gets the number of items in the set. + * Creates a text node. + * The node will be skipped if the function returns `undefined`. + * + * @param parent - parent node + * @param data - node data */ - get size() { return this._items.size; } + BaseReader.prototype.text = function (parent, data) { + return this._text(parent, data); + }; /** - * Applies the given callback function to all elements of the set. + * 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 */ - forEach(callback, thisArg) { - this._items.forEach(e => callback.call(thisArg, e, e, this)); - } + BaseReader.prototype.instruction = function (parent, target, data) { + return this._instruction(parent, target, data); + }; /** - * Iterates through the items in the set. + * Creates a CData section node. + * The node will be skipped if the function returns `undefined`. + * + * @param parent - parent node + * @param data - node data */ - *keys() { - yield* this._items.keys(); - } + BaseReader.prototype.cdata = function (parent, data) { + return this._cdata(parent, data); + }; /** - * Iterates through the items in the set. + * 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 */ - *values() { - yield* this._items.values(); - } + BaseReader.prototype.element = function (parent, namespace, name) { + return this._element(parent, namespace, name); + }; /** - * Iterates through the items in the set. + * 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 */ - *entries() { - yield* this._items.entries(); - } - /** - * Iterates through the items in the set. - */ - *[Symbol.iterator]() { - yield* this._items; - } - /** - * Returns the string tag of the set. - */ - get [Symbol.toStringTag]() { - return "FixedSizeSet"; - } + BaseReader.prototype.attribute = function (parent, namespace, name, value) { + return this._attribute(parent, namespace, name, value); + }; + return BaseReader; +}()); +exports.BaseReader = BaseReader; +//# sourceMappingURL=BaseReader.js.map + +/***/ }), + +/***/ 312: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var common = __webpack_require__(740); +var Type = __webpack_require__(945); + +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; } -exports.FixedSizeSet = FixedSizeSet; -//# sourceMappingURL=FixedSizeSet.js.map + +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' +}); + /***/ }), @@ -13127,14 +14228,27 @@ exports.FixedSizeSet = FixedSizeSet; "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (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 (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; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); +exports.isWindows = exports.getTempDir = void 0; const path = __importStar(__webpack_require__(622)); function getTempDir() { let tempDirectory = process.env.RUNNER_TEMP; @@ -13167,74 +14281,198 @@ exports.isWindows = isWindows; /***/ }), -/***/ 326: -/***/ (function(__unusedmodule, exports) { +/***/ 325: +/***/ (function(__unusedmodule, exports, __webpack_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 = __webpack_require__(419); +var util_1 = __webpack_require__(592); +var BaseWriter_1 = __webpack_require__(462); /** - * Represents an object cache with a size limit. + * Serializes XML nodes into a YAML string. */ -class ObjectCache { +var YAMLWriter = /** @class */ (function (_super) { + __extends(YAMLWriter, _super); /** - * Initializes a new instance of `ObjectCache`. + * Initializes a new instance of `YAMLWriter`. * - * @param limit - maximum number of items to keep in the cache. When the limit - * is exceeded the first item is removed from the cache. + * @param builderOptions - XML builder options + * @param writerOptions - serialization options */ - constructor(limit = 1000) { - this._items = new Set(); - this._limit = limit; + 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; } /** - * Adds a new item to the cache. + * Produces an XML serialization of the given node. * - * @param item - an item + * @param node - node to serialize + * @param writerOptions - serialization options */ - add(item) { - this._items.add(item); - if (this._items.size > this._limit) { - const it = this._items.values().next(); - /* istanbul ignore else */ - if (!it.done) { - this._items.delete(it.value); + 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; + }; /** - * Removes an item from the cache. + * Produces characters to be prepended to a line of string in pretty-print + * mode. * - * @param item - an item + * @param options - serialization options + * @param level - current depth of the XML tree + * @param isArray - whether this line is an array item */ - remove(item) { - this._items.delete(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; + } + }; /** - * Removes all items from the cache. + * Produces characters to be appended to a line of string in pretty-print + * mode. + * + * @param options - serialization options */ - clear() { - this._items.clear(); - } + YAMLWriter.prototype._endLine = function (options) { + return options.newline; + }; /** - * Gets the number of items in the cache. + * Produces a YAML key string delimited with double quotes. */ - get length() { return this._items.size; } + YAMLWriter.prototype._key = function (key) { + return "\"" + key + "\":"; + }; /** - * Iterates through the items in the cache. + * Produces a YAML value string delimited with double quotes. */ - *entries() { - yield* this; - } - /** - * Iterates through the items in the cache. - */ - *[Symbol.iterator]() { - yield* this._items; - } -} -exports.ObjectCache = ObjectCache; -//# sourceMappingURL=ObjectCache.js.map + YAMLWriter.prototype._val = function (val) { + return JSON.stringify(val); + }; + return YAMLWriter; +}(BaseWriter_1.BaseWriter)); +exports.YAMLWriter = YAMLWriter; +//# sourceMappingURL=YAMLWriter.js.map /***/ }), @@ -13243,6 +14481,25 @@ exports.ObjectCache = ObjectCache; "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (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 (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -13252,14 +14509,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -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.generate = exports.configAuthentication = exports.SETTINGS_FILE = exports.M2_DIR = void 0; const fs = __importStar(__webpack_require__(747)); const os = __importStar(__webpack_require__(87)); const path = __importStar(__webpack_require__(622)); @@ -13267,9 +14518,10 @@ const core = __importStar(__webpack_require__(470)); const io = __importStar(__webpack_require__(1)); const xmlbuilder2_1 = __webpack_require__(255); const constants = __importStar(__webpack_require__(694)); +const maven_1 = __webpack_require__(238); exports.M2_DIR = '.m2'; exports.SETTINGS_FILE = 'settings.xml'; -function configAuthentication(id, username, password, gpgPassphrase = undefined) { +function configAuthentication(id, username, password, gpgPassphrase = undefined, mvnOpts = undefined) { return __awaiter(this, void 0, void 0, function* () { console.log(`creating ${exports.SETTINGS_FILE} with server-id: ${id};`, 'environment variables:', `username=\$${username},`, `password=\$${password},`, `and gpg-passphrase=${gpgPassphrase ? '$' + gpgPassphrase : null}`); // when an alternate m2 location is specified use only that location (no .m2 directory) @@ -13278,6 +14530,9 @@ function configAuthentication(id, username, password, gpgPassphrase = undefined) yield io.mkdirP(settingsDirectory); core.debug(`created directory ${settingsDirectory}`); yield write(settingsDirectory, generate(id, username, password, gpgPassphrase)); + if (mvnOpts) { + yield maven_1.setupMaven(mvnOpts); + } }); } exports.configAuthentication = configAuthentication; @@ -13326,421 +14581,6 @@ function write(directory, settings) { } -/***/ }), - -/***/ 337: -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var FixedSizeSet_1 = __webpack_require__(844); -exports.FixedSizeSet = FixedSizeSet_1.FixedSizeSet; -var ObjectCache_1 = __webpack_require__(995); -exports.ObjectCache = ObjectCache_1.ObjectCache; -var CompareCache_1 = __webpack_require__(879); -exports.CompareCache = CompareCache_1.CompareCache; -var Lazy_1 = __webpack_require__(798); -exports.Lazy = Lazy_1.Lazy; -/** - * Applies the mixin to a given class. - * - * @param baseClass - class to receive the mixin - * @param mixinClass - mixin class - * @param overrides - an array with names of function overrides. Base class - * 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 => { - if (overrides.includes(name)) { - const orgPropDesc = Object.getOwnPropertyDescriptor(baseClass.prototype, name); - /* istanbul ignore else */ - if (orgPropDesc) { - Object.defineProperty(baseClass.prototype, "_" + name, orgPropDesc); - } - } - const propDesc = Object.getOwnPropertyDescriptor(mixinClass.prototype, name); - /* istanbul ignore else */ - if (propDesc) { - Object.defineProperty(baseClass.prototype, name, propDesc); - } - }); -} -exports.applyMixin = applyMixin; -/** - * Applies default values to the given object. - * - * @param obj - an object - * @param defaults - an object with default values - * @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) => { - if (isObject(val)) { - result[key] = applyDefaults(result[key], val); - } - else if (overwrite || result[key] === undefined) { - result[key] = val; - } - }); - return result; -} -exports.applyDefaults = applyDefaults; -/** - * Iterates over items of an array or set. - * - * @param arr - array or set to iterate - * @param callback - a callback function which receives each array item as its - * single argument - * @param thisArg - the value of this inside callback - */ -function forEachArray(arr, callback, thisArg) { - arr.forEach(callback, thisArg); -} -exports.forEachArray = forEachArray; -/** - * Iterates over key/value pairs of a map or object. - * - * @param obj - map or object to iterate - * @param callback - a callback function which receives object key as its first - * argument and object value as its second argument - * @param thisArg - the value of this inside callback - */ -function forEachObject(obj, callback, thisArg) { - if (isMap(obj)) { - obj.forEach((value, key) => callback.call(thisArg, key, value)); - } - else { - for (const key in obj) { - /* istanbul ignore else */ - if (obj.hasOwnProperty(key)) { - callback.call(thisArg, key, obj[key]); - } - } - } -} -exports.forEachObject = forEachObject; -/** - * Returns the number of entries in an array or set. - * - * @param arr - array or set - */ -function arrayLength(obj) { - if (isSet(obj)) { - return obj.size; - } - else { - return obj.length; - } -} -exports.arrayLength = arrayLength; -/** - * Returns the number of entries in a map or object. - * - * @param obj - map or object - */ -function objectLength(obj) { - if (isMap(obj)) { - return obj.size; - } - else { - return Object.keys(obj).length; - } -} -exports.objectLength = objectLength; -/** - * Gets the value of a key from a map or object. - * - * @param obj - map or object - * @param key - the key to retrieve - */ -function getObjectValue(obj, key) { - if (isMap(obj)) { - return obj.get(key); - } - else { - return obj[key]; - } -} -exports.getObjectValue = getObjectValue; -/** - * Removes a property from a map or object. - * - * @param obj - map or object - * @param key - the key to remove - */ -function removeObjectValue(obj, key) { - if (isMap(obj)) { - obj.delete(key); - } - else { - delete obj[key]; - } -} -exports.removeObjectValue = removeObjectValue; -/** - * Deep clones the given object. - * - * @param obj - an object - */ -function clone(obj) { - if (isFunction(obj)) { - return obj; - } - else if (isArray(obj)) { - const result = []; - for (const item of obj) { - result.push(clone(item)); - } - return result; - } - else if (isObject(obj)) { - const result = {}; - for (const key in obj) { - /* istanbul ignore next */ - if (obj.hasOwnProperty(key)) { - const val = obj[key]; - result[key] = clone(val); - } - } - return result; - } - else { - return obj; - } -} -exports.clone = clone; -/** - * Type guard for boolean types - * - * @param x - a variable to type check - */ -function isBoolean(x) { - return typeof x === "boolean"; -} -exports.isBoolean = isBoolean; -/** - * Type guard for numeric types - * - * @param x - a variable to type check - */ -function isNumber(x) { - return typeof x === "number"; -} -exports.isNumber = isNumber; -/** - * Type guard for strings - * - * @param x - a variable to type check - */ -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 && Object.prototype.toString.call(x) === '[object Function]'; -} -exports.isFunction = isFunction; -/** - * Type guard for JS objects - * - * _Note:_ Functions are objects too - * - * @param x - a variable to type check - */ -function isObject(x) { - const type = typeof x; - return !!x && (type === 'function' || type === 'object'); -} -exports.isObject = isObject; -/** - * Type guard for arrays - * - * @param x - a variable to type check - */ -function isArray(x) { - return Array.isArray(x); -} -exports.isArray = isArray; -/** - * Type guard for sets. - * - * @param x - a variable to check - */ -function isSet(x) { - return x instanceof Set; -} -exports.isSet = isSet; -/** - * Type guard for maps. - * - * @param x - a variable to check - */ -function isMap(x) { - return x instanceof Map; -} -exports.isMap = isMap; -/** - * Determines if `x` is an empty Array or an Object with no own properties. - * - * @param x - a variable to check - */ -function isEmpty(x) { - if (isArray(x)) { - return !x.length; - } - else if (isSet(x)) { - return !x.size; - } - else if (isMap(x)) { - return !x.size; - } - else if (isObject(x)) { - for (const key in x) { - if (x.hasOwnProperty(key)) { - return false; - } - } - return true; - } - return false; -} -exports.isEmpty = isEmpty; -/** - * Determines if `x` is a plain Object. - * - * @param x - a variable to check - */ -function isPlainObject(x) { - if (isObject(x)) { - const proto = Object.getPrototypeOf(x); - const 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. - * - * @param x - a variable to check - */ -function isIterable(x) { - return x && (typeof x[Symbol.iterator] === 'function'); -} -exports.isIterable = isIterable; -/** - * Gets the primitive value of an object. - */ -function getValue(obj) { - if (isFunction(obj.valueOf)) { - return obj.valueOf(); - } - else { - 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); - if (char < 128) { - bytes[byteIndex++] = char; - continue; - } - else if (char < 2048) { - bytes[byteIndex++] = char >> 6 | 192; - } - else { - if (char > 0xd7ff && char < 0xdc00) { - if (++i >= input.length) { - throw new Error("Incomplete surrogate pair."); - } - const c2 = input.charCodeAt(i); - if (c2 < 0xdc00 || c2 > 0xdfff) { - throw new Error("Invalid surrogate character."); - } - char = 0x10000 + ((char & 0x03ff) << 10) + (c2 & 0x03ff); - bytes[byteIndex++] = char >> 18 | 240; - bytes[byteIndex++] = char >> 12 & 63 | 128; - } - else { - bytes[byteIndex++] = char >> 12 | 224; - } - bytes[byteIndex++] = char >> 6 & 63 | 128; - } - bytes[byteIndex++] = char & 63 | 128; - } - 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; - while (i < bytes.length) { - var c = bytes[i++]; - if (c > 127) { - if (c > 191 && c < 224) { - if (i >= bytes.length) { - throw new Error("Incomplete 2-byte sequence."); - } - c = (c & 31) << 6 | bytes[i++] & 63; - } - else if (c > 223 && c < 240) { - if (i + 1 >= bytes.length) { - throw new Error("Incomplete 3-byte sequence."); - } - c = (c & 15) << 12 | (bytes[i++] & 63) << 6 | bytes[i++] & 63; - } - else if (c > 239 && c < 248) { - if (i + 2 >= bytes.length) { - throw new Error("Incomplete 4-byte sequence."); - } - c = (c & 7) << 18 | (bytes[i++] & 63) << 12 | (bytes[i++] & 63) << 6 | bytes[i++] & 63; - } - else { - throw new Error("Unknown multi-byte start."); - } - } - if (c <= 0xffff) { - result += String.fromCharCode(c); - } - else if (c <= 0x10ffff) { - c -= 0x10000; - result += String.fromCharCode(c >> 10 | 0xd800); - result += String.fromCharCode(c & 0x3FF | 0xdc00); - } - else { - throw new Error("Code point exceeds UTF-16 limit."); - } - } - return result; -} -exports.utf8Decode = utf8Decode; -//# sourceMappingURL=index.js.map - /***/ }), /***/ 344: @@ -13749,17 +14589,17 @@ exports.utf8Decode = utf8Decode; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -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']); /** @@ -13858,103 +14698,14 @@ exports.customElement_lookUpACustomElementDefinition = customElement_lookUpACust /***/ }), -/***/ 347: -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const CodePoints_1 = __webpack_require__(780); -/** - * Base-64 encodes the given string. - * - * @param input - a string - */ -function forgivingBase64Encode(input) { - /** - * To forgiving-base64 encode given a byte sequence data, apply the base64 - * algorithm defined in section 4 of RFC 4648 to data and return the result. - * [RFC4648] - */ - return Buffer.from(input).toString('base64'); -} -exports.forgivingBase64Encode = forgivingBase64Encode; -/** - * Decodes a base-64 string. - * - * @param input - a string - */ -function forgivingBase64Decode(input) { - if (input === "") - return ""; - /** - * 1. Remove all ASCII whitespace from data. - */ - input = input.replace(CodePoints_1.ASCIIWhiteSpace, ''); - /** - * 2. If data’s length divides by 4 leaving no remainder, then: - * 2.1. If data ends with one or two U+003D (=) code points, then remove them from data. - */ - if (input.length % 4 === 0) { - if (input.endsWith("==")) { - input = input.substr(0, input.length - 2); - } - else if (input.endsWith("=")) { - input = input.substr(0, input.length - 1); - } - } - /** - * 3. If data’s length divides by 4 leaving a remainder of 1, then return failure. - */ - if (input.length % 4 === 1) - return null; - /** - * 4. If data contains a code point that is not one of - * - U+002B (+) - * - U+002F (/) - * - ASCII alphanumeric - * then return failure. - */ - if (!/[0-9A-Za-z+/]/.test(input)) - return null; - /** - * 5. Let output be an empty byte sequence. - * 6. Let buffer be an empty buffer that can have bits appended to it. - * 7. Let position be a position variable for data, initially pointing at the - * start of data. - * 8. While position does not point past the end of data: - * 8.1. Find the code point pointed to by position in the second column of - * Table 1: The Base 64 Alphabet of RFC 4648. Let n be the number given in the - * first cell of the same row. [RFC4648] - * 8.2. Append the six bits corresponding to n, most significant bit first, - * to buffer. - * 8.3. If buffer has accumulated 24 bits, interpret them as three 8-bit - * big-endian numbers. Append three bytes with values equal to those numbers - * to output, in the same order, and then empty buffer. - * 8.4. Advance position by 1. - * 9. If buffer is not empty, it contains either 12 or 18 bits. If it contains - * 12 bits, then discard the last four and interpret the remaining eight as an - * 8-bit big-endian number. If it contains 18 bits, then discard the last two - * and interpret the remaining 16 as two 8-bit big-endian numbers. Append the - * one or two bytes with values equal to those one or two numbers to output, - * in the same order. - * 10. Return output. - */ - return Buffer.from(input, 'base64').toString('utf8'); -} -exports.forgivingBase64Decode = forgivingBase64Decode; -//# sourceMappingURL=Base64.js.map - -/***/ }), - /***/ 350: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const interfaces_1 = __webpack_require__(970); -const TreeAlgorithm_1 = __webpack_require__(873); +var interfaces_1 = __webpack_require__(970); +var TreeAlgorithm_1 = __webpack_require__(873); /** * Defines the position of a boundary point relative to another. * @@ -13962,10 +14713,10 @@ const TreeAlgorithm_1 = __webpack_require__(873); * @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. */ @@ -13992,7 +14743,7 @@ function boundaryPoint_position(bp, relativeTo) { * return before. */ if (TreeAlgorithm_1.tree_isFollowing(nodeB, nodeA)) { - const pos = boundaryPoint_position([nodeB, offsetB], [nodeA, offsetA]); + var pos = boundaryPoint_position([nodeB, offsetB], [nodeA, offsetA]); if (pos === interfaces_1.BoundaryPosition.Before) { return interfaces_1.BoundaryPosition.After; } @@ -14009,7 +14760,7 @@ function boundaryPoint_position(bp, relativeTo) { * 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; + var child = nodeB; while (!TreeAlgorithm_1.tree_isChildOf(nodeA, child)) { /* istanbul ignore else */ if (child._parent !== null) { @@ -14028,6 +14779,107 @@ function boundaryPoint_position(bp, relativeTo) { exports.boundaryPoint_position = boundaryPoint_position; //# sourceMappingURL=BoundaryPointAlgorithm.js.map +/***/ }), + +/***/ 352: +/***/ (function(module, __unusedexports, __webpack_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 = __webpack_require__(945); + +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 +}); + + /***/ }), /***/ 357: @@ -14035,6 +14887,42 @@ exports.boundaryPoint_position = boundaryPoint_position; module.exports = require("assert"); +/***/ }), + +/***/ 386: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var Type = __webpack_require__(945); + +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 +}); + + /***/ }), /***/ 392: @@ -14059,41 +14947,41 @@ Object.defineProperty(exports, "__esModule", { value: true }); * * See: https://w3c.github.io/DOM-Parsing/#the-namespace-prefix-map */ -class NamespacePrefixMap { - constructor() { +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; } @@ -14103,8 +14991,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 @@ -14119,7 +15007,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. @@ -14127,13 +15015,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; } @@ -14142,34 +15030,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. @@ -14187,8 +15075,9 @@ class NamespacePrefixMap { else { candidatesList.push(prefix); } - } -} + }; + return NamespacePrefixMap; +}()); exports.NamespacePrefixMap = NamespacePrefixMap; //# sourceMappingURL=NamespacePrefixMap.js.map @@ -14200,6 +15089,21 @@ exports.NamespacePrefixMap = NamespacePrefixMap; module.exports = __webpack_require__(141); +/***/ }), + +/***/ 414: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + + +var yaml = __webpack_require__(819); + + +module.exports = yaml; + + /***/ }), /***/ 417: @@ -14214,27 +15118,62 @@ module.exports = require("crypto"); "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 }); -const util_1 = __webpack_require__(592); -const interfaces_1 = __webpack_require__(970); -const BaseWriter_1 = __webpack_require__(462); +var util_1 = __webpack_require__(592); +var interfaces_1 = __webpack_require__(970); +var BaseWriter_1 = __webpack_require__(462); /** * Serializes XML nodes into objects and arrays. */ -class ObjectWriter extends BaseWriter_1.BaseWriter { +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 - * @param writerOptions - serialization options */ - serialize(node, writerOptions) { - const options = util_1.applyDefaults(writerOptions, { - format: "object", - wellFormed: false, - noDoubleEncoding: false, - group: false - }); + ObjectWriter.prototype.serialize = function (node) { this._currentList = []; this._currentIndex = 0; this._listRegister = [this._currentList]; @@ -14257,7 +15196,7 @@ class ObjectWriter extends BaseWriter_1.BaseWriter { * ] * ] */ - this.serializeNode(node, options.wellFormed, options.noDoubleEncoding); + this.serializeNode(node, this._writerOptions.wellFormed, this._writerOptions.noDoubleEncoding); /** * Second pass, process node lists. Above example becomes: * { @@ -14278,21 +15217,22 @@ class ObjectWriter extends BaseWriter_1.BaseWriter { * } * } */ - return this._process(this._currentList, options); - } - _process(items, options) { + 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 - 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]; + 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; @@ -14318,84 +15258,98 @@ class ObjectWriter extends BaseWriter_1.BaseWriter { 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); + 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 - const result = []; - const obj = { [defTextKey]: result }; - for (let i = 0; i < items.length; i++) { - const item = items[i]; - const key = Object.keys(item)[0]; + var result = []; + for (var i = 0; i < items.length; i++) { + var item = items[i]; + var key = Object.keys(item)[0]; switch (key) { case "@": - const attrs = item["@"]; - const attrKeys = Object.keys(attrs); - if (attrKeys.length === 1) { - result.push({ [defAttrKey + attrKeys[0]]: attrs[attrKeys[0]] }); - } - else { - result.push({ [defAttrKey]: item["@"] }); - } + // attributes were processed above break; case "#": - result.push({ [defTextKey]: item["#"] }); + result.push((_a = {}, _a[defTextKey] = item["#"], _a)); break; case "!": - result.push({ [defCommentKey]: item["!"] }); + result.push((_b = {}, _b[defCommentKey] = item["!"], _b)); break; case "?": - result.push({ [defInstructionKey]: item["?"] }); + result.push((_c = {}, _c[defInstructionKey] = item["?"], _c)); break; case "$": - result.push({ [defCdataKey]: item["$"] }); + result.push((_d = {}, _d[defCdataKey] = item["$"], _d)); break; default: // element node - const ele = item; + var ele = item; if (ele[key].length !== 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)); + 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({ [key]: eleGroup }); + result.push((_e = {}, _e[key] = eleGroup, _e)); } else { // single element node - result.push({ [key]: this._process(ele[key], options) }); + 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 - 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]; + 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 "@": - const attrs = item["@"]; - const attrKeys = Object.keys(attrs); + var attrs = item["@"]; + var attrKeys = Object.keys(attrs); if (!options.group || attrKeys.length === 1) { - for (const attrName in attrs) { + for (var attrName in attrs) { obj[defAttrKey + attrName] = attrs[attrName]; } } @@ -14417,50 +15371,67 @@ class ObjectWriter extends BaseWriter_1.BaseWriter { break; default: // element node - const ele = item; + var ele = item; if (ele[key].length !== 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)); + 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 - obj[key] = this._process(ele[key], options); + 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) { + }; + ObjectWriter.prototype._processSpecItem = function (item, obj, group, defKey, count, id) { + var e_1, _a; if (!group && util_1.isArray(item) && count + item.length > 2) { - for (const subItem of item) { - const key = defKey + (id++).toString(); - obj[key] = subItem; + 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 { - const key = count > 1 ? defKey + (id++).toString() : defKey; + var key = count > 1 ? defKey + (id++).toString() : defKey; obj[key] = item; } return id; - } + }; /** @inheritdoc */ - beginElement(name) { - const childItems = []; + ObjectWriter.prototype.beginElement = function (name) { + var _a, _b; + var childItems = []; if (this._currentList.length === 0) { - this._currentList.push({ [name]: childItems }); + this._currentList.push((_a = {}, _a[name] = childItems, _a)); } else { - const lastItem = this._currentList[this._currentList.length - 1]; + var lastItem = this._currentList[this._currentList.length - 1]; if (this._isElementNode(lastItem, name)) { if (lastItem[name].length !== 0 && util_1.isArray(lastItem[name][0])) { - const listOfLists = lastItem[name]; + var listOfLists = lastItem[name]; listOfLists.push(childItems); } else { @@ -14468,7 +15439,7 @@ class ObjectWriter extends BaseWriter_1.BaseWriter { } } else { - this._currentList.push({ [name]: childItems }); + this._currentList.push((_b = {}, _b[name] = childItems, _b)); } } this._currentIndex++; @@ -14479,34 +15450,35 @@ class ObjectWriter extends BaseWriter_1.BaseWriter { this._listRegister.push(childItems); } this._currentList = childItems; - } + }; /** @inheritdoc */ - endElement() { + ObjectWriter.prototype.endElement = function () { this._currentList = this._listRegister[--this._currentIndex]; - } + }; /** @inheritdoc */ - attribute(name, value) { + ObjectWriter.prototype.attribute = function (name, value) { + var _a, _b; if (this._currentList.length === 0) { - this._currentList.push({ "@": { [name]: value } }); + this._currentList.push({ "@": (_a = {}, _a[name] = value, _a) }); } else { - const lastItem = this._currentList[this._currentList.length - 1]; + var lastItem = this._currentList[this._currentList.length - 1]; /* istanbul ignore else */ if (this._isAttrNode(lastItem)) { lastItem["@"][name] = value; } else { - this._currentList.push({ "@": { [name]: value } }); + this._currentList.push({ "@": (_b = {}, _b[name] = value, _b) }); } } - } + }; /** @inheritdoc */ - comment(data) { + ObjectWriter.prototype.comment = function (data) { if (this._currentList.length === 0) { this._currentList.push({ "!": data }); } else { - const lastItem = this._currentList[this._currentList.length - 1]; + var lastItem = this._currentList[this._currentList.length - 1]; if (this._isCommentNode(lastItem)) { if (util_1.isArray(lastItem["!"])) { lastItem["!"].push(data); @@ -14519,14 +15491,14 @@ class ObjectWriter extends BaseWriter_1.BaseWriter { this._currentList.push({ "!": data }); } } - } + }; /** @inheritdoc */ - text(data) { + ObjectWriter.prototype.text = function (data) { if (this._currentList.length === 0) { this._currentList.push({ "#": data }); } else { - const lastItem = this._currentList[this._currentList.length - 1]; + var lastItem = this._currentList[this._currentList.length - 1]; if (this._isTextNode(lastItem)) { if (util_1.isArray(lastItem["#"])) { lastItem["#"].push(data); @@ -14539,15 +15511,15 @@ class ObjectWriter extends BaseWriter_1.BaseWriter { this._currentList.push({ "#": data }); } } - } + }; /** @inheritdoc */ - instruction(target, data) { - const value = (data === "" ? target : target + " " + data); + ObjectWriter.prototype.instruction = function (target, data) { + var value = (data === "" ? target : target + " " + data); if (this._currentList.length === 0) { this._currentList.push({ "?": value }); } else { - const lastItem = this._currentList[this._currentList.length - 1]; + var lastItem = this._currentList[this._currentList.length - 1]; if (this._isInstructionNode(lastItem)) { if (util_1.isArray(lastItem["?"])) { lastItem["?"].push(value); @@ -14560,14 +15532,14 @@ class ObjectWriter extends BaseWriter_1.BaseWriter { this._currentList.push({ "?": value }); } } - } + }; /** @inheritdoc */ - cdata(data) { + ObjectWriter.prototype.cdata = function (data) { if (this._currentList.length === 0) { this._currentList.push({ "$": data }); } else { - const lastItem = this._currentList[this._currentList.length - 1]; + var lastItem = this._currentList[this._currentList.length - 1]; if (this._isCDATANode(lastItem)) { if (util_1.isArray(lastItem["$"])) { lastItem["$"].push(data); @@ -14580,37 +15552,37 @@ class ObjectWriter extends BaseWriter_1.BaseWriter { this._currentList.push({ "$": data }); } } - } - _isAttrNode(x) { + }; + ObjectWriter.prototype._isAttrNode = function (x) { return "@" in x; - } - _isTextNode(x) { + }; + ObjectWriter.prototype._isTextNode = function (x) { return "#" in x; - } - _isCommentNode(x) { + }; + ObjectWriter.prototype._isCommentNode = function (x) { return "!" in x; - } - _isInstructionNode(x) { + }; + ObjectWriter.prototype._isInstructionNode = function (x) { return "?" in x; - } - _isCDATANode(x) { + }; + ObjectWriter.prototype._isCDATANode = function (x) { return "$" in x; - } - _isElementNode(x, name) { + }; + ObjectWriter.prototype._isElementNode = function (x, name) { return name in x; - } + }; /** * Returns an object key for an attribute or namespace declaration. */ - _getAttrKey() { + 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 */ - _getNodeKey(nodeType) { + ObjectWriter.prototype._getNodeKey = function (nodeType) { switch (nodeType) { case interfaces_1.NodeType.Comment: return this._builderOptions.convert.comment; @@ -14624,168 +15596,330 @@ class ObjectWriter extends BaseWriter_1.BaseWriter { default: throw new Error("Invalid node type."); } - } -} + }; + return ObjectWriter; +}(BaseWriter_1.BaseWriter)); exports.ObjectWriter = ObjectWriter; //# sourceMappingURL=ObjectWriter.js.map /***/ }), /***/ 425: -/***/ (function(__unusedmodule, exports) { +/***/ (function(__unusedmodule, exports, __webpack_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 }); +var DOMImpl_1 = __webpack_require__(648); +var DOMException_1 = __webpack_require__(35); +var infra_1 = __webpack_require__(23); +var algorithm_1 = __webpack_require__(163); /** - * Returns the count of bytes in a sequence. - * - * @param list - a byte sequence + * Represents a token set. */ -function length(list) { +var DOMTokenListImpl = /** @class */ (function () { /** - * A byte sequence’s length is the number of bytes it contains. + * Initializes a new instance of `DOMTokenList`. + * + * @param element - associated element + * @param attribute - associated attribute */ - return list.length; -} -exports.length = length; -/** - * Converts each byte to lowercase. - * - * @param list - a byte sequence - */ -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]; - if (c >= 0x41 && c <= 0x5A) { - list[i] = c + 0x20; + function DOMTokenListImpl(element, attribute) { + /** + * 1. Let element be associated element. + * 2. Let localName be associated attribute’s local name. + * 3. Let value be the result of getting an attribute value given element + * and localName. + * 4. Run the attribute change steps for element, localName, value, value, + * and null. + */ + this._element = element; + this._attribute = attribute; + this._tokenSet = new Set(); + 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 + var thisObj = this; + function updateTokenSet(element, localName, oldValue, value, namespace) { + /** + * 1. If localName is associated attribute’s local name, namespace is null, + * and value is null, then empty token set. + * 2. Otherwise, if localName is associated attribute’s local name, + * namespace is null, then set token set to value, parsed. + */ + if (localName === thisObj._attribute._localName && namespace === null) { + if (!value) + thisObj._tokenSet.clear(); + else + 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) { + algorithm_1.dom_runAttributeChangeSteps(element, localName, value, value, null); } } -} -exports.byteLowercase = byteLowercase; -/** - * Converts each byte to uppercase. - * - * @param list - a byte sequence - */ -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]; - if (c >= 0x61 && c <= 0x7A) { - list[i] = c - 0x20; + 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 */ + 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]. + */ + 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++; + } } - } -} -exports.byteUppercase = byteUppercase; -/** - * Compares two byte sequences. - * - * @param listA - a byte sequence - * @param listB - a byte sequence - */ -function byteCaseInsensitiveMatch(listA, listB) { - /** - * A byte sequence A is a byte-case-insensitive match for a byte sequence B, - * if the byte-lowercase of A is the byte-lowercase of B. - */ - if (listA.length !== listB.length) + 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 */ + 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 */ + 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); + } + } + } + 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 */ + 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); + } + } + } + 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 */ + 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 + * "InvalidCharacterError" DOMException. + */ + if (token === '') { + throw new DOMException_1.SyntaxError("Cannot toggle an empty token."); + } + else if (infra_1.codePoint.ASCIIWhiteSpace.test(token)) { + throw new DOMException_1.InvalidCharacterError("Token cannot contain whitespace."); + } + /** + * 3. If context object’s token set[token] exists, then: + */ + if (this._tokenSet.has(token)) { + /** + * 3.1. If force is either not given or is false, then remove token from + * context object’s token set, run the update steps and return false. + * 3.2. Return true. + */ + if (force === undefined || force === false) { + this._tokenSet.delete(token); + algorithm_1.tokenList_updateSteps(this); + return false; + } + return true; + } + /** + * 4. Otherwise, if force not given or is true, append token to context + * object’s token set, run the update steps, and return true. + */ + if (force === undefined || force === true) { + this._tokenSet.add(token); + algorithm_1.tokenList_updateSteps(this); + return true; + } + /** + * 5. Return false. + */ return false; - for (let i = 0; i < listA.length; i++) { - let a = listA[i]; - let b = listB[i]; - if (a >= 0x41 && a <= 0x5A) - a += 0x20; - if (b >= 0x41 && b <= 0x5A) - b += 0x20; - if (a !== b) + }; + /** @inheritdoc */ + DOMTokenListImpl.prototype.replace = function (token, newToken) { + /** + * 1. If either token or newToken is the empty string, then throw a + * "SyntaxError" DOMException. + * 2. If either token or newToken contains any ASCII whitespace, then throw + * an "InvalidCharacterError" DOMException. + */ + if (token === '' || newToken === '') { + throw new DOMException_1.SyntaxError("Cannot replace an empty token."); + } + else if (infra_1.codePoint.ASCIIWhiteSpace.test(token) || infra_1.codePoint.ASCIIWhiteSpace.test(newToken)) { + throw new DOMException_1.InvalidCharacterError("Token cannot contain whitespace."); + } + /** + * 3. If context object’s token set does not contain token, then return + * false. + */ + if (!this._tokenSet.has(token)) return false; - } - return true; -} -exports.byteCaseInsensitiveMatch = byteCaseInsensitiveMatch; -/** - * Determines if `listA` starts with `listB`. - * - * @param listA - a byte sequence - * @param listB - a byte sequence - */ -function startsWith(listA, listB) { + /** + * 4. Replace token in context object’s token set with newToken. + * 5. Run the update steps. + * 6. Return true. + */ + infra_1.set.replace(this._tokenSet, token, newToken); + algorithm_1.tokenList_updateSteps(this); + return true; + }; + /** @inheritdoc */ + DOMTokenListImpl.prototype.supports = function (token) { + /** + * 1. Let result be the return value of validation steps called with token. + * 2. Return result. + */ + 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 + }); /** - * 1. Let i be 0. - * 2. While true: - * 2.1. Let aByte be the ith byte of a if i is less than a’s length; otherwise null. - * 2.3. Let bByte be the ith byte of b if i is less than b’s length; otherwise null. - * 2.4. If bByte is null, then return true. - * 2.5. Return false if aByte is not bByte. - * 2.6. Set i to i + 1. + * Returns an iterator for the token set. */ - let i = 0; - while (true) { - if (i >= listA.length) - return false; - if (i >= listB.length) - return true; - if (listA[i] !== listB[i]) - return false; - i++; - } -} -exports.startsWith = startsWith; -/** - * Determines if `listA` is less than `listB`. - * - * @param listA - a byte sequence - * @param listB - a byte sequence - */ -function byteLessThan(listA, listB) { + DOMTokenListImpl.prototype[Symbol.iterator] = function () { + var it = this._tokenSet[Symbol.iterator](); + return { + next: function () { + return it.next(); + } + }; + }; /** - * 1. If b starts with a, then return false. - * 2. If a starts with b, then return true. - * 3. Let n be the smallest index such that the nth byte of a is different - * from the nth byte of b. (There has to be such an index, since neither byte - * sequence starts with the other.) - * 4. If the nth byte of a is less than the nth byte of b, then return true. - * 5. Return false. + * Creates a new `DOMTokenList`. + * + * @param element - associated element + * @param attribute - associated attribute */ - let i = 0; - while (true) { - if (i >= listA.length) - return false; - if (i >= listB.length) - return true; - const a = listA[i]; - const b = listB[i]; - if (a < b) - return true; - else if (a > b) - return false; - i++; - } -} -exports.byteLessThan = byteLessThan; -/** - * Decodes a byte sequence into a string. - * - * @param list - a byte sequence - */ -function isomorphicDecode(list) { - /** - * To isomorphic decode a byte sequence input, return a string whose length is - * 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); -} -exports.isomorphicDecode = isomorphicDecode; -//# sourceMappingURL=ByteSequence.js.map + DOMTokenListImpl._create = function (element, attribute) { + return new DOMTokenListImpl(element, attribute); + }; + return DOMTokenListImpl; +}()); +exports.DOMTokenListImpl = DOMTokenListImpl; +//# sourceMappingURL=DOMTokenListImpl.js.map /***/ }), @@ -14795,17 +15929,17 @@ exports.isomorphicDecode = isomorphicDecode; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const interfaces_1 = __webpack_require__(970); -const algorithm_1 = __webpack_require__(163); -const WebIDLAlgorithm_1 = __webpack_require__(495); +var interfaces_1 = __webpack_require__(970); +var algorithm_1 = __webpack_require__(163); +var WebIDLAlgorithm_1 = __webpack_require__(495); /** * Represents a DOM event. */ -class EventImpl { +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 = []; @@ -14840,16 +15974,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. @@ -14860,22 +16010,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 @@ -14902,8 +16052,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: @@ -14988,45 +16138,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; } - /** @inheritdoc */ - get cancelable() { return this._cancelable; } - /** @inheritdoc */ - get returnValue() { return !this._canceledFlag; } - set returnValue(value) { - if (!value) { - algorithm_1.event_setTheCanceledFlag(this); - } - } - /** @inheritdoc */ - preventDefault() { + 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 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. */ @@ -15036,13 +16224,14 @@ class EventImpl { * 2. Initialize the context object with type, bubbles, and 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; -EventImpl.NONE = 0; -EventImpl.CAPTURING_PHASE = 1; -EventImpl.AT_TARGET = 2; -EventImpl.BUBBLING_PHASE = 3; /** * Define constants on prototype. */ @@ -15055,31 +16244,44 @@ WebIDLAlgorithm_1.idl_defineConst(EventImpl.prototype, "BUBBLING_PHASE", 3); /***/ }), /***/ 429: -/***/ (function(__unusedmodule, exports) { +/***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +var algorithm_1 = __webpack_require__(163); /** - * Appends the given item to the queue. - * - * @param list - a list - * @param item - an item + * Represents a mixin that allows nodes to become the contents of + * a element. This mixin is implemented by {@link Element} and + * {@link Text}. */ -function enqueue(list, item) { - list.push(item); -} -exports.enqueue = enqueue; -/** - * Removes and returns an item from the queue. - * - * @param list - a list - */ -function dequeue(list) { - return list.shift() || null; -} -exports.dequeue = dequeue; -//# sourceMappingURL=Queue.js.map +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 /***/ }), @@ -15169,70 +16371,6 @@ function escapeProperty(s) { /***/ }), -/***/ 441: -/***/ (function(__unusedmodule, exports) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents a cache for storing order between equal objects. - * - * This cache is used when an algorithm compares two objects and finds them to - * be equal but still needs to establish an order between those two objects. - * When two such objects `a` and `b` are passed to the `check` method, a random - * number is generated with `Math.random()`. If the random number is less than - * `0.5` it is assumed that `a < b` otherwise `a > b`. The random number along - * with `a` and `b` is stored in the cache, so that subsequent checks result - * in the same consistent result. - * - * The cache has a size limit which is defined on initialization. - */ -class CompareCache { - /** - * 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) { - this._items = new Map(); - this._limit = limit; - } - /** - * Compares and caches the given objects. Returns `true` if `objA < objB` and - * `false` otherwise. - * - * @param objA - an item to compare - * @param objB - an item to compare - */ - check(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); - if (result) { - this._items.set(objA, objB); - } - else { - this._items.set(objB, objA); - } - if (this._items.size > this._limit) { - const it = this._items.keys().next(); - /* istanbul ignore else */ - if (!it.done) { - this._items.delete(it.value); - } - } - return result; - } -} -exports.CompareCache = CompareCache; -//# sourceMappingURL=CompareCache.js.map - -/***/ }), - /***/ 442: /***/ (function(__unusedmodule, exports) { @@ -15245,8 +16383,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); * @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] @@ -15273,7 +16411,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++; @@ -15293,9 +16431,9 @@ exports.xml_isName = xml_isName; * @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] @@ -15330,7 +16468,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++; @@ -15350,8 +16488,8 @@ exports.xml_isQName = xml_isQName; * @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) || @@ -15359,7 +16497,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++; @@ -15380,9 +16518,9 @@ exports.xml_isLegalChar = xml_isLegalChar; * @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] @@ -15404,101 +16542,1671 @@ exports.xml_isPubidChar = xml_isPubidChar; /***/ }), -/***/ 457: -/***/ (function(__unusedmodule, exports) { +/***/ 450: +/***/ (function(module, __unusedexports, __webpack_require__) { "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * 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); - if (char < 128) { - bytes[byteIndex++] = char; - continue; - } - else if (char < 2048) { - bytes[byteIndex++] = char >> 6 | 192; - } - else { - if (char > 0xd7ff && char < 0xdc00) { - if (++i >= input.length) { - throw new Error("Incomplete surrogate pair."); - } - const c2 = input.charCodeAt(i); - if (c2 < 0xdc00 || c2 > 0xdfff) { - throw new Error("Invalid surrogate character."); - } - char = 0x10000 + ((char & 0x03ff) << 10) + (c2 & 0x03ff); - bytes[byteIndex++] = char >> 18 | 240; - bytes[byteIndex++] = char >> 12 & 63 | 128; - } - else { - bytes[byteIndex++] = char >> 12 | 224; - } - bytes[byteIndex++] = char >> 6 & 63 | 128; - } - bytes[byteIndex++] = char & 63 | 128; - } - return bytes.subarray(0, byteIndex); + +var Type = __webpack_require__(945); + +module.exports = new Type('tag:yaml.org,2002:str', { + kind: 'scalar', + construct: function (data) { return data !== null ? data : ''; } +}); + + +/***/ }), + +/***/ 457: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +/*eslint-disable max-len,no-use-before-define*/ + +var common = __webpack_require__(740); +var YAMLException = __webpack_require__(556); +var Mark = __webpack_require__(93); +var DEFAULT_SAFE_SCHEMA = __webpack_require__(723); +var DEFAULT_FULL_SCHEMA = __webpack_require__(910); + + +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 */); } -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; - while (i < bytes.length) { - var c = bytes[i++]; - if (c > 127) { - if (c > 191 && c < 224) { - if (i >= bytes.length) { - throw new Error("Incomplete 2-byte sequence."); - } - c = (c & 31) << 6 | bytes[i++] & 63; - } - else if (c > 223 && c < 240) { - if (i + 1 >= bytes.length) { - throw new Error("Incomplete 3-byte sequence."); - } - c = (c & 15) << 12 | (bytes[i++] & 63) << 6 | bytes[i++] & 63; - } - else if (c > 239 && c < 248) { - if (i + 2 >= bytes.length) { - throw new Error("Incomplete 4-byte sequence."); - } - c = (c & 7) << 18 | (bytes[i++] & 63) << 12 | (bytes[i++] & 63) << 6 | bytes[i++] & 63; - } - else { - throw new Error("Unknown multi-byte start."); - } - } - if (c <= 0xffff) { - result += String.fromCharCode(c); - } - else if (c <= 0x10ffff) { - c -= 0x10000; - result += String.fromCharCode(c >> 10 | 0xd800); - result += String.fromCharCode(c & 0x3FF | 0xdc00); - } - else { - throw new Error("Code point exceeds UTF-16 limit."); - } - } - return result; + +function is_WHITE_SPACE(c) { + return (c === 0x09/* Tab */) || (c === 0x20/* Space */); } -exports.utf8Decode = utf8Decode; -//# sourceMappingURL=index.js.map + +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; + /***/ }), @@ -15507,29 +18215,67 @@ exports.utf8Decode = utf8Decode; "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 }); -const interfaces_1 = __webpack_require__(970); -const LocalNameSet_1 = __webpack_require__(575); -const NamespacePrefixMap_1 = __webpack_require__(392); -const DOMException_1 = __webpack_require__(35); -const infra_1 = __webpack_require__(23); -const algorithm_1 = __webpack_require__(163); +var interfaces_1 = __webpack_require__(970); +var LocalNameSet_1 = __webpack_require__(575); +var NamespacePrefixMap_1 = __webpack_require__(392); +var infra_1 = __webpack_require__(23); +var algorithm_1 = __webpack_require__(163); /** * Pre-serializes XML nodes. */ -class BaseWriter { +var BaseWriter = /** @class */ (function () { /** * Initializes a new instance of `BaseWriter`. * * @param builderOptions - XML builder options */ - constructor(builderOptions) { + 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. * @@ -15537,39 +18283,39 @@ class BaseWriter { * @param publicId - public identifier * @param systemId - system identifier */ - docType(name, publicId, systemId) { } + BaseWriter.prototype.docType = function (name, publicId, systemId) { }; /** * Used by derived classes to serialize a comment node. * * @param data - node data */ - comment(data) { } + BaseWriter.prototype.comment = function (data) { }; /** * Used by derived classes to serialize a text node. * * @param data - node data */ - text(data) { } + BaseWriter.prototype.text = function (data) { }; /** * Used by derived classes to serialize a processing instruction node. * * @param target - instruction target * @param data - node data */ - instruction(target, data) { } + BaseWriter.prototype.instruction = function (target, data) { }; /** * Used by derived classes to serialize a CData section node. * * @param data - node data */ - cdata(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 */ - openTagBegin(name) { } + BaseWriter.prototype.openTagBegin = function (name) { }; /** * Used by derived classes to serialize the ending of the opening tag of an * element node. @@ -15578,44 +18324,55 @@ class BaseWriter { * @param selfClosing - whether the element node is self closing * @param voidElement - whether the element node is a HTML void element */ - openTagEnd(name, selfClosing, voidElement) { } + BaseWriter.prototype.openTagEnd = function (name, selfClosing, voidElement) { }; /** * Used by derived classes to serialize the closing tag of an element node. * * @param name - node name */ - closeTag(name) { } + BaseWriter.prototype.closeTag = function (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]); + 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 */ - attribute(name, 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 */ - beginElement(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 */ - endElement(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 @@ -15624,8 +18381,8 @@ class BaseWriter { * @param node - node to serialize * @param requireWellFormed - whether to check conformance */ - serializeNode(node, requireWellFormed, noDoubleEncoding) { - const hasNamespaces = (node._nodeDocument !== undefined && node._nodeDocument._hasNamespaces); + BaseWriter.prototype.serializeNode = function (node, requireWellFormed, noDoubleEncoding) { + var hasNamespaces = (node._nodeDocument !== undefined && node._nodeDocument._hasNamespaces); this.level = 0; this.currentNode = node; if (hasNamespaces) { @@ -15645,10 +18402,10 @@ class BaseWriter { * 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(); + 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, @@ -15657,22 +18414,12 @@ class BaseWriter { * of the algorithm, then catch that exception and throw an * "InvalidStateError" DOMException. */ - try { - this._serializeNodeNS(node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding); - } - catch (e) { - throw new DOMException_1.InvalidStateError(e.message); - } + this._serializeNodeNS(node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding); } else { - try { - this._serializeNode(node, requireWellFormed, noDoubleEncoding); - } - catch (e) { - throw new DOMException_1.InvalidStateError(e.message); - } + this._serializeNode(node, requireWellFormed, noDoubleEncoding); } - } + }; /** * Produces an XML serialization of a node. * @@ -15682,7 +18429,7 @@ class BaseWriter { * @param prefixIndex - generated namespace prefix index * @param requireWellFormed - whether to check conformance */ - _serializeNodeNS(node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding) { + BaseWriter.prototype._serializeNodeNS = function (node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding) { this.currentNode = node; switch (node.nodeType) { case interfaces_1.NodeType.Element: @@ -15710,16 +18457,16 @@ class BaseWriter { this._serializeCData(node, requireWellFormed, noDoubleEncoding); break; 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, noDoubleEncoding) { + BaseWriter.prototype._serializeNode = function (node, requireWellFormed, noDoubleEncoding) { this.currentNode = node; switch (node.nodeType) { case interfaces_1.NodeType.Element: @@ -15747,9 +18494,9 @@ class BaseWriter { this._serializeCData(node, requireWellFormed, noDoubleEncoding); break; 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. * @@ -15759,8 +18506,9 @@ class BaseWriter { * @param prefixIndex - generated namespace prefix index * @param requireWellFormed - whether to check conformance */ - _serializeElementNS(node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding) { - const attributes = []; + 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 * @@ -15803,14 +18551,14 @@ class BaseWriter { * 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; + 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) { /** @@ -15847,14 +18595,14 @@ class BaseWriter { * 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); } @@ -16031,7 +18779,7 @@ class BaseWriter { * 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, noDoubleEncoding)); + 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 @@ -16048,7 +18796,7 @@ class BaseWriter { * 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 && BaseWriter._VoidElementNames.has(node.localName)) { this.openTagEnd(qualifiedName, true, true); @@ -16088,10 +18836,20 @@ class BaseWriter { // TODO: serialize template contents } else { - for (const childNode of node.childNodes) { - this.level++; - this._serializeNodeNS(childNode, inheritedNS, map, prefixIndex, requireWellFormed, noDoubleEncoding); - this.level--; + 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; } } } /** @@ -16103,14 +18861,15 @@ class BaseWriter { */ 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, noDoubleEncoding) { + BaseWriter.prototype._serializeElement = function (node, requireWellFormed, noDoubleEncoding) { + var e_3, _a; /** * From: https://w3c.github.io/DOM-Parsing/#xml-serializing-an-element-node * @@ -16153,7 +18912,7 @@ class BaseWriter { * 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 @@ -16165,7 +18924,7 @@ class BaseWriter { * 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. */ this.beginElement(qualifiedName); this.openTagBegin(qualifiedName); @@ -16174,7 +18933,7 @@ class BaseWriter { * attributes given map, prefix index, local prefixes map, ignore namespace * definition attribute flag, and require well-formed flag. */ - const attributes = this._serializeAttributes(node, requireWellFormed, noDoubleEncoding); + 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 @@ -16205,25 +18964,35 @@ class BaseWriter { */ 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, noDoubleEncoding); - this.level--; + 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: @@ -16234,7 +19003,7 @@ class BaseWriter { */ this.closeTag(qualifiedName); this.endElement(qualifiedName); - } + }; /** * Produces an XML serialization of a document node. * @@ -16244,7 +19013,8 @@ class BaseWriter { * @param prefixIndex - generated namespace prefix index * @param requireWellFormed - whether to check conformance */ - _serializeDocumentNS(node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding) { + 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), @@ -16254,31 +19024,42 @@ class BaseWriter { 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, noDoubleEncoding); + 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 */ - _serializeDocument(node, requireWellFormed, noDoubleEncoding) { + 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), @@ -16288,31 +19069,41 @@ class BaseWriter { 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, noDoubleEncoding); + 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 */ - _serializeComment(node, requireWellFormed, noDoubleEncoding) { + 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 @@ -16328,7 +19119,7 @@ class BaseWriter { * Otherwise, return the concatenation of "". */ this.comment(node.data); - } + }; /** * Produces an XML serialization of a text node. * @@ -16336,7 +19127,7 @@ class BaseWriter { * @param requireWellFormed - whether to check conformance * @param level - current depth of the XML tree */ - _serializeText(node, requireWellFormed, noDoubleEncoding) { + 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 @@ -16353,16 +19144,15 @@ class BaseWriter { * 5. Replace any occurrences of ">" in markup by ">". * 6. Return the value of markup. */ - let markup = ""; + var markup = ""; if (noDoubleEncoding) { markup = node.data.replace(/(?!&(lt|gt|amp|apos|quot);)&/g, '&') .replace(//g, '>') - .replace(/\r/g, ' '); + .replace(/>/g, '>'); } else { - for (let i = 0; i < node.data.length; i++) { - const c = node.data[i]; + for (var i = 0; i < node.data.length; i++) { + var c = node.data[i]; if (c === "&") markup += "&"; else if (c === "<") @@ -16374,7 +19164,7 @@ class BaseWriter { } } this.text(markup); - } + }; /** * Produces an XML serialization of a document fragment node. * @@ -16384,43 +19174,65 @@ class BaseWriter { * @param prefixIndex - generated namespace prefix index * @param requireWellFormed - whether to check conformance */ - _serializeDocumentFragmentNS(node, namespace, prefixMap, prefixIndex, requireWellFormed, noDoubleEncoding) { - /** - * 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, noDoubleEncoding); + 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 */ - _serializeDocumentFragment(node, requireWellFormed, noDoubleEncoding) { - /** - * 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, noDoubleEncoding); + 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 */ - _serializeDocumentType(node, requireWellFormed, noDoubleEncoding) { + 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 @@ -16471,14 +19283,14 @@ class BaseWriter { * 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, noDoubleEncoding) { + 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 @@ -16509,19 +19321,19 @@ class BaseWriter { * 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, noDoubleEncoding) { + 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. * @@ -16533,7 +19345,8 @@ class BaseWriter { * attributes * @param requireWellFormed - whether to check conformance */ - _serializeAttributesNS(node, map, prefixIndex, localPrefixesMap, ignoreNamespaceDefinitionAttribute, requireWellFormed, noDoubleEncoding) { + 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 @@ -16544,198 +19357,209 @@ class BaseWriter { * 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, + 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)]); - 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_8_1) { e_8 = { error: e_8_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.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). - */ - 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 || - !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)]); + 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 */ - _serializeAttributes(node, requireWellFormed, noDoubleEncoding) { + 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 @@ -16746,72 +19570,82 @@ class BaseWriter { * 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) { + 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)]); - 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)."); + } + catch (e_9_1) { e_9 = { error: e_9_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. - */ - /* 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)]); + 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. @@ -16820,98 +19654,109 @@ class BaseWriter { * @param map - namespace prefix map * @param localPrefixesMap - local prefixes map */ - _recordNamespaceInformation(node, map, localPrefixesMap) { + BaseWriter.prototype._recordNamespaceInformation = function (node, map, localPrefixesMap) { + var e_10, _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_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. * @@ -16919,7 +19764,7 @@ class BaseWriter { * converted to null. */ return defaultNamespaceAttrValue; - } + }; /** * Generates a new prefix for the given namespace. * @@ -16927,7 +19772,7 @@ class BaseWriter { * @param prefixMap - namespace prefix map * @param prefixIndex - generated namespace prefix index */ - _generatePrefix(newNamespace, prefixMap, prefixIndex) { + 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. @@ -16935,18 +19780,18 @@ class BaseWriter { * 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(); + 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 */ - _serializeAttributeValue(value, requireWellFormed, noDoubleEncoding) { + BaseWriter.prototype._serializeAttributeValue = function (value, requireWellFormed, noDoubleEncoding) { /** * From: https://w3c.github.io/DOM-Parsing/#dfn-serializing-an-attribute-value * @@ -16978,15 +19823,13 @@ class BaseWriter { if (noDoubleEncoding) { return value.replace(/(?!&(lt|gt|amp|apos|quot);)&/g, '&') .replace(//g, '>') + .replace(/"/g, '"'); } else { - 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 === "&") @@ -17000,12 +19843,13 @@ class BaseWriter { } 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; -BaseWriter._VoidElementNames = new Set(['area', 'base', 'basefont', - 'bgsound', 'br', 'col', 'embed', 'frame', 'hr', 'img', 'input', 'keygen', - 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr']); //# sourceMappingURL=BaseWriter.js.map /***/ }), @@ -17016,8 +19860,8 @@ BaseWriter._VoidElementNames = new Set(['area', 'base', 'basefont', "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const interfaces_1 = __webpack_require__(970); -const DOMException_1 = __webpack_require__(35); +var interfaces_1 = __webpack_require__(970); +var DOMException_1 = __webpack_require__(35); /** * Applies the filter to the given node and returns the result. * @@ -17035,12 +19879,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; } @@ -17059,7 +19903,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); } @@ -17084,38 +19928,68 @@ exports.traversal_filter = traversal_filter; "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 }); -const XMLStringLexer_1 = __webpack_require__(911); -const interfaces_1 = __webpack_require__(172); -const infra_1 = __webpack_require__(23); -const algorithm_1 = __webpack_require__(163); -const LocalNameSet_1 = __webpack_require__(575); +var XMLStringLexer_1 = __webpack_require__(911); +var interfaces_1 = __webpack_require__(172); +var infra_1 = __webpack_require__(23); +var algorithm_1 = __webpack_require__(163); +var LocalNameSet_1 = __webpack_require__(575); /** * 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 = 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; + var doctype = token; if (!algorithm_1.xml_isPubidChar(doctype.pubId)) { throw new Error("DocType public identifier does not match PubidChar construct."); } @@ -17126,7 +20000,7 @@ class XMLParserImpl { context.appendChild(doc.implementation.createDocumentType(doctype.name, doctype.pubId, doctype.sysId)); break; case interfaces_1.TokenType.CDATA: - const cdata = token; + var cdata = token; if (!algorithm_1.xml_isLegalChar(cdata.data) || cdata.data.indexOf("]]>") !== -1) { throw new Error("CDATA contains invalid characters."); @@ -17134,7 +20008,7 @@ class XMLParserImpl { context.appendChild(doc.createCDATASection(cdata.data)); break; case interfaces_1.TokenType.Comment: - const comment = token; + 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."); @@ -17142,7 +20016,7 @@ class XMLParserImpl { 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."); } @@ -17152,90 +20026,110 @@ class XMLParserImpl { context.appendChild(doc.createProcessingInstruction(pi.target, pi.data)); break; case interfaces_1.TokenType.Text: - const text = token; + var text = token; if (!algorithm_1.xml_isLegalChar(text.data)) { throw new Error("Text data contains invalid characters."); } 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] = algorithm_1.namespace_extractQName(element.name); + 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] = 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] = 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 || !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, attValue); - else - elementNode.setAttribute(attName, 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.'); } @@ -17248,8 +20142,9 @@ class XMLParserImpl { token = lexer.nextToken(); } return doc; - } -} + }; + return XMLParserImpl; +}()); exports.XMLParserImpl = XMLParserImpl; //# sourceMappingURL=XMLParserImpl.js.map @@ -17500,52 +20395,56 @@ exports.getState = getState; /***/ }), -/***/ 476: -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const algorithm_1 = __webpack_require__(163); -/** - * 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 { - 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 algorithm_1.shadowTree_findASlot(this, true); - } -} -exports.SlotableImpl = SlotableImpl; -//# sourceMappingURL=SlotableImpl.js.map - -/***/ }), - /***/ 479: /***/ (function(__unusedmodule, exports, __webpack_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 }); -const dom_1 = __webpack_require__(113); -const DOMException_1 = __webpack_require__(35); -const interfaces_1 = __webpack_require__(970); -const util_1 = __webpack_require__(918); -const util_2 = __webpack_require__(337); -const infra_1 = __webpack_require__(23); -const CustomElementAlgorithm_1 = __webpack_require__(344); -const TreeAlgorithm_1 = __webpack_require__(873); -const NodeIteratorAlgorithm_1 = __webpack_require__(272); -const ShadowTreeAlgorithm_1 = __webpack_require__(180); -const MutationObserverAlgorithm_1 = __webpack_require__(151); -const DOMAlgorithm_1 = __webpack_require__(304); -const DocumentAlgorithm_1 = __webpack_require__(493); +var DOMImpl_1 = __webpack_require__(648); +var DOMException_1 = __webpack_require__(35); +var interfaces_1 = __webpack_require__(970); +var util_1 = __webpack_require__(918); +var util_2 = __webpack_require__(592); +var infra_1 = __webpack_require__(23); +var CustomElementAlgorithm_1 = __webpack_require__(344); +var TreeAlgorithm_1 = __webpack_require__(873); +var NodeIteratorAlgorithm_1 = __webpack_require__(272); +var ShadowTreeAlgorithm_1 = __webpack_require__(180); +var MutationObserverAlgorithm_1 = __webpack_require__(151); +var DOMAlgorithm_1 = __webpack_require__(304); +var DocumentAlgorithm_1 = __webpack_require__(493); /** * Ensures pre-insertion validity of a node into a parent before a * child. @@ -17555,9 +20454,10 @@ const DocumentAlgorithm_1 = __webpack_require__(493); * @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. @@ -17565,19 +20465,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 (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}.`); + 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" @@ -17590,7 +20490,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" @@ -17598,10 +20498,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. @@ -17619,67 +20519,107 @@ 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; } } @@ -17705,7 +20645,7 @@ 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; DocumentAlgorithm_1.document_adopt(node, parent._nodeDocument); @@ -17722,6 +20662,7 @@ exports.mutation_preInsert = mutation_preInsert; * @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); @@ -17731,7 +20672,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: @@ -17745,15 +20686,25 @@ function mutation_insert(node, parent, child, suppressObservers) { * offset is greater than child's index, increase its end * offset by count. */ - if (dom_1.dom.rangeList.size !== 0) { - const index = TreeAlgorithm_1.tree_index(child); - for (const range of dom_1.dom.rangeList) { - if (range._start[0] === parent && range._start[1] > index) { - range._start[1] += count; + if (DOMImpl_1.dom.rangeList.size !== 0) { + 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; } } } } @@ -17761,8 +20712,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. @@ -17776,7 +20726,7 @@ function mutation_insert(node, parent, child, suppressObservers) { * 5. If node is a DocumentFragment node, then queue a tree mutation record * for node with « », nodes, null, and null. */ - if (dom_1.dom.features.mutationObservers) { + if (DOMImpl_1.dom.features.mutationObservers) { if (node._nodeType === interfaces_1.NodeType.DocumentFragment) { MutationObserverAlgorithm_1.observer_queueTreeMutationRecord(node, [], nodes, null, null); } @@ -17785,22 +20735,22 @@ function mutation_insert(node, parent, child, suppressObservers) { * 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 : 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; } } /** @@ -17808,50 +20758,50 @@ 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 (dom_1.dom.features.slots) { - if (parent._shadowRoot !== null && util_1.Guard.isSlotable(node)) { - ShadowTreeAlgorithm_1.shadowTree_assignASlot(node); + if (DOMImpl_1.dom.features.slots) { + if (parent._shadowRoot !== null && util_1.Guard.isSlotable(node_1)) { + ShadowTreeAlgorithm_1.shadowTree_assignASlot(node_1); } } /** * 7.4. If node is a Text node, run the child text content change * steps for parent. */ - if (dom_1.dom.features.steps) { - if (util_1.Guard.isTextNode(node)) { + if (DOMImpl_1.dom.features.steps) { + if (util_1.Guard.isTextNode(node_1)) { DOMAlgorithm_1.dom_runChildTextContentChangeSteps(parent); } } @@ -17860,7 +20810,7 @@ function mutation_insert(node, parent, child, suppressObservers) { * whose assigned nodes is the empty list, then run signal * a slot change for parent. */ - if (dom_1.dom.features.slots) { + if (DOMImpl_1.dom.features.slots) { 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); @@ -17869,23 +20819,23 @@ function mutation_insert(node, parent, child, suppressObservers) { /** * 7.6. Run assign slotables for a tree with node's root. */ - if (dom_1.dom.features.slots) { - ShadowTreeAlgorithm_1.shadowTree_assignSlotablesForATree(TreeAlgorithm_1.tree_rootNode(node)); + if (DOMImpl_1.dom.features.slots) { + 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 = 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 (dom_1.dom.features.steps) { + if (DOMImpl_1.dom.features.steps) { DOMAlgorithm_1.dom_runInsertionSteps(inclusiveDescendant); } - if (dom_1.dom.features.customElements) { + if (DOMImpl_1.dom.features.customElements) { /** * 7.7.2. If inclusiveDescendant is connected, then: */ @@ -17907,14 +20857,14 @@ function mutation_insert(node, parent, child, suppressObservers) { } } } - inclusiveDescendant = TreeAlgorithm_1.tree_getNextDescendantNode(node, inclusiveDescendant, true, true); + inclusiveDescendant = TreeAlgorithm_1.tree_getNextDescendantNode(node_1, inclusiveDescendant, true, true); } } /** * 8. If suppress observers flag is unset, then queue a tree mutation record * for parent with nodes, « », previousSibling, and child. */ - if (dom_1.dom.features.mutationObservers) { + if (DOMImpl_1.dom.features.mutationObservers) { if (!suppressObservers) { MutationObserverAlgorithm_1.observer_queueTreeMutationRecord(parent, nodes, [], previousSibling, child); } @@ -17951,7 +20901,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 @@ -17980,7 +20930,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) @@ -17993,7 +20943,7 @@ function mutation_insert_single(node, parent, suppressObservers) { * 7.3. If parent is a shadow host and node is a slotable, then * assign a slot for node. */ - if (dom_1.dom.features.slots) { + if (DOMImpl_1.dom.features.slots) { if (parent._shadowRoot !== null && util_1.Guard.isSlotable(node)) { ShadowTreeAlgorithm_1.shadowTree_assignASlot(node); } @@ -18002,7 +20952,7 @@ function mutation_insert_single(node, parent, suppressObservers) { * 7.4. If node is a Text node, run the child text content change * steps for parent. */ - if (dom_1.dom.features.steps) { + if (DOMImpl_1.dom.features.steps) { if (util_1.Guard.isTextNode(node)) { DOMAlgorithm_1.dom_runChildTextContentChangeSteps(parent); } @@ -18012,7 +20962,7 @@ function mutation_insert_single(node, parent, suppressObservers) { * whose assigned nodes is the empty list, then run signal * a slot change for parent. */ - if (dom_1.dom.features.slots) { + if (DOMImpl_1.dom.features.slots) { 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); @@ -18021,7 +20971,7 @@ function mutation_insert_single(node, parent, suppressObservers) { /** * 7.6. Run assign slotables for a tree with node's root. */ - if (dom_1.dom.features.slots) { + if (DOMImpl_1.dom.features.slots) { ShadowTreeAlgorithm_1.shadowTree_assignSlotablesForATree(TreeAlgorithm_1.tree_rootNode(node)); } /** @@ -18030,10 +20980,10 @@ function mutation_insert_single(node, parent, suppressObservers) { * order: * 7.7.1. Run the insertion steps with inclusiveDescendant. */ - if (dom_1.dom.features.steps) { + if (DOMImpl_1.dom.features.steps) { DOMAlgorithm_1.dom_runInsertionSteps(node); } - if (dom_1.dom.features.customElements) { + if (DOMImpl_1.dom.features.customElements) { /** * 7.7.2. If inclusiveDescendant is connected, then: */ @@ -18059,7 +21009,7 @@ function mutation_insert_single(node, parent, suppressObservers) { * 8. If suppress observers flag is unset, then queue a tree mutation record * for parent with nodes, « », previousSibling, and child. */ - if (dom_1.dom.features.mutationObservers) { + if (DOMImpl_1.dom.features.mutationObservers) { if (!suppressObservers) { MutationObserverAlgorithm_1.observer_queueTreeMutationRecord(parent, [node], [], previousSibling, null); } @@ -18086,6 +21036,7 @@ exports.mutation_append = mutation_append; * @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. @@ -18093,19 +21044,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 (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}.`); + 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" @@ -18118,7 +21069,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" @@ -18126,10 +21077,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. @@ -18146,50 +21097,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; } } @@ -18199,16 +21190,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. */ DocumentAlgorithm_1.document_adopt(node, parent._nodeDocument); - const removedNodes = []; + var removedNodes = []; /** * 12. If child’s parent is not null, then: */ @@ -18225,7 +21216,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); } @@ -18241,7 +21232,7 @@ function mutation_replace(child, node, parent) { * 15. Queue a tree mutation record for parent with nodes, removedNodes, * previousSibling, and reference child. */ - if (dom_1.dom.features.mutationObservers) { + if (DOMImpl_1.dom.features.mutationObservers) { MutationObserverAlgorithm_1.observer_queueTreeMutationRecord(parent, nodes, removedNodes, previousSibling, referenceChild); } /** @@ -18257,6 +21248,7 @@ exports.mutation_replace = mutation_replace; * @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. */ @@ -18266,26 +21258,36 @@ function mutation_replaceAll(node, parent) { /** * 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 @@ -18298,7 +21300,7 @@ function mutation_replaceAll(node, parent) { * 8. Queue a tree mutation record for parent with addedNodes, removedNodes, * null, and null. */ - if (dom_1.dom.features.mutationObservers) { + if (DOMImpl_1.dom.features.mutationObservers) { MutationObserverAlgorithm_1.observer_queueTreeMutationRecord(parent, addedNodes, removedNodes, null, null); } } @@ -18318,7 +21320,7 @@ 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; } @@ -18331,64 +21333,95 @@ exports.mutation_preRemove = mutation_preRemove; * @param suppressObservers - whether to notify observers */ function mutation_remove(node, parent, suppressObservers) { - if (dom_1.dom.rangeList.size !== 0) { + 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 = 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 dom_1.dom.rangeList) { - 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]--; + 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 dom_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 * node’s node document, run the NodeIterator pre-removing steps given node * and iterator. */ - if (dom_1.dom.features.steps) { - for (const iterator of NodeIteratorAlgorithm_1.nodeIterator_iteratorList()) { - if (iterator._root._nodeDocument === node._nodeDocument) { - DOMAlgorithm_1.dom_runNodeIteratorPreRemovingSteps(iterator, node); + if (DOMImpl_1.dom.features.steps) { + 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; @@ -18399,8 +21432,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) @@ -18415,7 +21448,7 @@ function mutation_remove(node, parent, suppressObservers) { * 10. If node is assigned, then run assign slotables for node’s assigned * slot. */ - if (dom_1.dom.features.slots) { + if (DOMImpl_1.dom.features.slots) { if (util_1.Guard.isSlotable(node) && node._assignedSlot !== null && ShadowTreeAlgorithm_1.shadowTree_isAssigned(node)) { ShadowTreeAlgorithm_1.shadowTree_assignSlotables(node._assignedSlot); } @@ -18425,7 +21458,7 @@ function mutation_remove(node, parent, suppressObservers) { * assigned nodes is the empty list, then run signal a slot change for * parent. */ - if (dom_1.dom.features.slots) { + if (DOMImpl_1.dom.features.slots) { 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); @@ -18436,9 +21469,9 @@ function mutation_remove(node, parent, suppressObservers) { * 12.1. Run assign slotables for a tree with parent's root. * 12.2. Run assign slotables for a tree with node. */ - if (dom_1.dom.features.slots) { - const descendant = TreeAlgorithm_1.tree_getFirstDescendantNode(node, true, false, (e) => util_1.Guard.isSlot(e)); - if (descendant !== null) { + if (DOMImpl_1.dom.features.slots) { + 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); } @@ -18446,7 +21479,7 @@ function mutation_remove(node, parent, suppressObservers) { /** * 13. Run the removing steps with node and parent. */ - if (dom_1.dom.features.steps) { + if (DOMImpl_1.dom.features.steps) { DOMAlgorithm_1.dom_runRemovingSteps(node, parent); } /** @@ -18454,7 +21487,7 @@ function mutation_remove(node, parent, suppressObservers) { * reaction with node, callback name "disconnectedCallback", * and an empty argument list. */ - if (dom_1.dom.features.customElements) { + if (DOMImpl_1.dom.features.customElements) { if (util_1.Guard.isCustomElementNode(node)) { CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(node, "disconnectedCallback", []); } @@ -18463,12 +21496,12 @@ function mutation_remove(node, parent, suppressObservers) { * 15. For each shadow-including descendant descendant of node, * in shadow-including tree order, then: */ - let descendant = 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 (dom_1.dom.features.steps) { + if (DOMImpl_1.dom.features.steps) { DOMAlgorithm_1.dom_runRemovingSteps(descendant, node); } /** @@ -18476,7 +21509,7 @@ function mutation_remove(node, parent, suppressObservers) { * callback reaction with descendant, callback name * "disconnectedCallback", and an empty argument list. */ - if (dom_1.dom.features.customElements) { + if (DOMImpl_1.dom.features.customElements) { if (util_1.Guard.isCustomElementNode(descendant)) { CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(descendant, "disconnectedCallback", []); } @@ -18492,18 +21525,28 @@ function mutation_remove(node, parent, suppressObservers) { * options, and source is registered to node's registered * observer list. */ - if (dom_1.dom.features.mutationObservers) { - let inclusiveAncestor = TreeAlgorithm_1.tree_getFirstAncestorNode(parent, true); + if (DOMImpl_1.dom.features.mutationObservers) { + 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 + }); + } } } + 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); } } @@ -18512,7 +21555,7 @@ function mutation_remove(node, parent, suppressObservers) { * record for parent with « », « node », oldPreviousSibling, and * oldNextSibling. */ - if (dom_1.dom.features.mutationObservers) { + if (DOMImpl_1.dom.features.mutationObservers) { if (!suppressObservers) { MutationObserverAlgorithm_1.observer_queueTreeMutationRecord(parent, [], [node], oldPreviousSibling, oldNextSibling); } @@ -18521,7 +21564,7 @@ function mutation_remove(node, parent, suppressObservers) { * 18. If node is a Text node, then run the child text content change steps * for parent. */ - if (dom_1.dom.features.steps) { + if (DOMImpl_1.dom.features.steps) { if (util_1.Guard.isTextNode(node)) { DOMAlgorithm_1.dom_runChildTextContentChangeSteps(parent); } @@ -18538,7 +21581,7 @@ exports.mutation_remove = mutation_remove; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const DOMException_1 = __webpack_require__(35); +var DOMException_1 = __webpack_require__(35); /** * Matches elements with the given selectors. * @@ -18560,217 +21603,49 @@ exports.selectors_scopeMatchASelectorsString = selectors_scopeMatchASelectorsStr /***/ }), -/***/ 486: -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = __webpack_require__(42); -/** - * Gets the value corresponding to the given key. - * - * @param map - a map - * @param key - a key - */ -function get(map, key) { - return map.get(key); -} -exports.get = get; -/** - * Sets the value corresponding to the given key. - * - * @param map - a map - * @param key - a key - * @param val - a value - */ -function set(map, key, val) { - map.set(key, val); -} -exports.set = set; -/** - * Removes the item with the given key or all items matching condition. - * - * @param map - a map - * @param conditionOrItem - the key of an item to remove or a condition matching - * items to remove - */ -function remove(map, conditionOrItem) { - 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]); - } - } - for (const key of toRemove) { - map.delete(key); - } - } -} -exports.remove = remove; -/** - * Determines if the map contains a value with the given key. - * - * @param map - a map - * @param conditionOrItem - the key of an item to match or a condition matching - * items - */ -function contains(map, conditionOrItem) { - if (!util_1.isFunction(conditionOrItem)) { - return map.has(conditionOrItem); - } - else { - for (const item of map) { - if (!!conditionOrItem.call(null, item)) { - return true; - } - } - return false; - } -} -exports.contains = contains; -/** - * Gets the keys of the map. - * - * @param map - a map - */ -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()]; -} -exports.values = values; -/** - * Gets the size of the map. - * - * @param map - a map - * @param condition - an optional condition to match - */ -function size(map, condition) { - if (condition === undefined) { - return map.size; - } - else { - let count = 0; - for (const item of map) { - if (!!condition.call(null, item)) { - count++; - } - } - return count; - } -} -exports.size = size; -/** - * Determines if the map is empty. - * - * @param map - a map - */ -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; - } - } - } -} -exports.forEach = forEach; -/** - * Creates and returns a shallow clone of map. - * - * @param map - a map - */ -function clone(map) { - return new Map(map); -} -exports.clone = clone; -/** - * Returns a new map containing items from the map sorted in ascending - * order. - * - * @param map - a map - * @param lessThanAlgo - a function that returns `true` if its first argument - * 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); - return new Map(list); -} -exports.sortInAscendingOrder = sortInAscendingOrder; -/** - * Returns a new map containing items from the map sorted in descending - * order. - * - * @param map - a map - * @param lessThanAlgo - a function that returns `true` if its first argument - * 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); - return new Map(list); -} -exports.sortInDescendingOrder = sortInDescendingOrder; -//# sourceMappingURL=Map.js.map - -/***/ }), - /***/ 487: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const interfaces_1 = __webpack_require__(970); +var interfaces_1 = __webpack_require__(970); /** * Represents an object which can be used to iterate through the nodes * of a subtree. */ -class TraverserImpl { +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 @@ -18781,33 +21656,74 @@ exports.TraverserImpl = TraverserImpl; "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 }); -const _1 = __webpack_require__(113); -const interfaces_1 = __webpack_require__(970); -const DOMException_1 = __webpack_require__(35); -const NodeImpl_1 = __webpack_require__(935); -const util_1 = __webpack_require__(918); -const util_2 = __webpack_require__(337); -const infra_1 = __webpack_require__(23); -const URLAlgorithm_1 = __webpack_require__(813); -const algorithm_1 = __webpack_require__(163); -const WebIDLAlgorithm_1 = __webpack_require__(495); +var DOMImpl_1 = __webpack_require__(648); +var interfaces_1 = __webpack_require__(970); +var DOMException_1 = __webpack_require__(35); +var NodeImpl_1 = __webpack_require__(935); +var util_1 = __webpack_require__(918); +var util_2 = __webpack_require__(592); +var infra_1 = __webpack_require__(23); +var URLAlgorithm_1 = __webpack_require__(813); +var algorithm_1 = __webpack_require__(163); +var WebIDLAlgorithm_1 = __webpack_require__(495); /** * Represents a document node. */ -class DocumentImpl extends NodeImpl_1.NodeImpl { +var DocumentImpl = /** @class */ (function (_super) { + __extends(DocumentImpl, _super); /** * Initializes a new instance of `Document`. */ - constructor() { - super(); - this._children = new Set(); - this._encoding = { + 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 = { + _this._contentType = 'application/xml'; + _this._URL = { scheme: "about", username: "", password: "", @@ -18819,112 +21735,172 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { _cannotBeABaseURLFlag: true, _blobURLEntry: null }; - this._origin = null; - this._type = "xml"; - this._mode = "no-quirks"; - this._documentElement = null; - this._hasNamespaces = false; - this._nodeDocumentOverwrite = null; + _this._origin = null; + _this._type = "xml"; + _this._mode = "no-quirks"; + _this._documentElement = null; + _this._hasNamespaces = false; + _this._nodeDocumentOverwrite = null; + return _this; } - get _nodeDocument() { return this._nodeDocumentOverwrite || this; } - set _nodeDocument(val) { this._nodeDocumentOverwrite = val; } + 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 = 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 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 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 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 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. @@ -18944,7 +21920,7 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { throw new DOMException_1.InvalidCharacterError(); if (this._type === "html") localName = localName.toLowerCase(); - let is = null; + var is = null; if (options !== undefined) { if (util_2.isString(options)) { is = options; @@ -18953,37 +21929,37 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { 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 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 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 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 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. @@ -18997,17 +21973,17 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { if (data.indexOf(']]>') !== -1) throw new DOMException_1.InvalidCharacterError(); 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 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. @@ -19021,9 +21997,10 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { if (data.indexOf("?>") !== -1) throw new DOMException_1.InvalidCharacterError(); 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. */ @@ -19033,9 +22010,9 @@ 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 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. */ @@ -19052,9 +22029,9 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { */ 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. @@ -19068,40 +22045,42 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { if (this._type === "html") { localName = localName.toLowerCase(); } - const attr = 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] = algorithm_1.namespace_validateAndExtract(namespace, qualifiedName); - const attr = 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) { + 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 = 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. @@ -19110,7 +22089,7 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { * 5. Set iterator’s filter to filter. * 6. Return iterator. */ - const iterator = algorithm_1.create_nodeIterator(root, root, true); + var iterator = algorithm_1.create_nodeIterator(root, root, true); iterator._whatToShow = whatToShow; iterator._iteratorCollection = algorithm_1.create_nodeList(root); if (util_2.isFunction(filter)) { @@ -19121,9 +22100,11 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { 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. @@ -19131,7 +22112,7 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { * 4. Set walker’s filter to filter. * 5. Return walker. */ - const walker = algorithm_1.create_treeWalker(root, root); + var walker = algorithm_1.create_treeWalker(root, root); walker._whatToShow = whatToShow; if (util_2.isFunction(filter)) { walker._filter = algorithm_1.create_nodeFilter(); @@ -19141,13 +22122,13 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { 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 @@ -19158,32 +22139,61 @@ class DocumentImpl extends NodeImpl_1.NodeImpl { return null; } else { - return _1.dom.window; + 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 @@ -19198,17 +22208,44 @@ WebIDLAlgorithm_1.idl_defineConst(DocumentImpl.prototype, "_nodeType", interface "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 }); -const dom_1 = __webpack_require__(113); -const util_1 = __webpack_require__(918); -const util_2 = __webpack_require__(337); -const ElementImpl_1 = __webpack_require__(695); -const CustomElementAlgorithm_1 = __webpack_require__(344); -const TreeAlgorithm_1 = __webpack_require__(873); -const NamespaceAlgorithm_1 = __webpack_require__(664); -const DOMAlgorithm_1 = __webpack_require__(304); -const ElementAlgorithm_1 = __webpack_require__(33); -const MutationAlgorithm_1 = __webpack_require__(479); +var DOMImpl_1 = __webpack_require__(648); +var util_1 = __webpack_require__(918); +var util_2 = __webpack_require__(592); +var ElementImpl_1 = __webpack_require__(695); +var CustomElementAlgorithm_1 = __webpack_require__(344); +var TreeAlgorithm_1 = __webpack_require__(873); +var NamespaceAlgorithm_1 = __webpack_require__(664); +var DOMAlgorithm_1 = __webpack_require__(304); +var ElementAlgorithm_1 = __webpack_require__(33); +var MutationAlgorithm_1 = __webpack_require__(479); /** * Returns an element interface for the given name and namespace. * @@ -19238,8 +22275,8 @@ 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] = 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 (util_2.isString(options)) { is = options; @@ -19260,6 +22297,7 @@ exports.document_internalCreateElementNS = document_internalCreateElementNS; * @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; @@ -19268,7 +22306,7 @@ 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) MutationAlgorithm_1.mutation_remove(node, node._parent); /** @@ -19279,7 +22317,7 @@ function document_adopt(node, document) { * 3.1. For each inclusiveDescendant in node’s shadow-including inclusive * descendants: */ - let inclusiveDescendant = 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. @@ -19289,8 +22327,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; } } } /** @@ -19300,7 +22348,7 @@ function document_adopt(node, document) { * callback name "adoptedCallback", and an argument list * containing oldDocument and document. */ - if (dom_1.dom.features.customElements) { + if (DOMImpl_1.dom.features.customElements) { if (util_1.Guard.isElementNode(inclusiveDescendant) && inclusiveDescendant._customElementState === "custom") { CustomElementAlgorithm_1.customElement_enqueueACustomElementCallbackReaction(inclusiveDescendant, "adoptedCallback", [oldDocument, document]); @@ -19311,7 +22359,7 @@ function document_adopt(node, document) { * inclusive descendants, in shadow-including tree order, run the * adopting steps with inclusiveDescendant and oldDocument. */ - if (dom_1.dom.features.steps) { + if (DOMImpl_1.dom.features.steps) { DOMAlgorithm_1.dom_runAdoptingSteps(inclusiveDescendant, oldDocument); } inclusiveDescendant = TreeAlgorithm_1.tree_getNextDescendantNode(node, inclusiveDescendant, true, true); @@ -19349,8 +22397,66 @@ exports.idl_defineConst = idl_defineConst; "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 }); -const util_1 = __webpack_require__(68); +var util_1 = __webpack_require__(592); /** * Adds the given item to the end of the set. * @@ -19378,7 +22484,7 @@ exports.extend = extend; * @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); @@ -19393,22 +22499,33 @@ exports.prepend = prepend; * @param item - an item */ function replace(set, conditionOrItem, newItem) { - const newSet = new Set(); - for (const oldItem of set) { - if (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); @@ -19421,13 +22538,24 @@ exports.replace = replace; * @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); @@ -19441,18 +22569,39 @@ exports.insert = insert; * to remove */ function remove(set, 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; } } } } @@ -19472,15 +22621,26 @@ exports.empty = empty; * @param conditionOrItem - an item to a condition to match */ function contains(set, 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; } @@ -19492,16 +22652,27 @@ exports.contains = contains; * @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; } } @@ -19521,17 +22692,46 @@ exports.isEmpty = isEmpty; * @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; /** @@ -19552,8 +22752,10 @@ exports.clone = clone; * 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; @@ -19566,8 +22768,10 @@ exports.sortInAscendingOrder = sortInAscendingOrder; * 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; @@ -19578,9 +22782,20 @@ exports.sortInDescendingOrder = sortInDescendingOrder; * @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; } @@ -19602,10 +22817,21 @@ exports.isSupersetOf = isSupersetOf; * @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; } @@ -19617,7 +22843,7 @@ exports.intersection = intersection; * @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; } @@ -19629,8 +22855,8 @@ exports.union = union; * @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; @@ -19640,6 +22866,174 @@ exports.range = range; /***/ }), +/***/ 497: +/***/ (function(__unusedmodule, exports, __webpack_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 = __webpack_require__(512); +/** + * 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 + +/***/ }), + /***/ 501: /***/ (function(__unusedmodule, exports) { @@ -19678,13 +23072,13 @@ Object.defineProperty(exports, "__esModule", { value: true }); /** * Pre-serializes XML nodes. */ -class BaseCBWriter { +var BaseCBWriter = /** @class */ (function () { /** * Initializes a new instance of `BaseCBWriter`. * * @param builderOptions - XML builder options */ - constructor(builderOptions) { + function BaseCBWriter(builderOptions) { /** * Gets the current depth of the XML tree. */ @@ -19692,7 +23086,8 @@ class BaseCBWriter { this._builderOptions = builderOptions; this._writerOptions = builderOptions; } -} + return BaseCBWriter; +}()); exports.BaseCBWriter = BaseCBWriter; //# sourceMappingURL=BaseCBWriter.js.map @@ -19703,8 +23098,19 @@ exports.BaseCBWriter = BaseCBWriter; "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 }); -const util_1 = __webpack_require__(68); +var util_1 = __webpack_require__(592); /** * Parses the given byte sequence representing a JSON string into an object. * @@ -19715,7 +23121,7 @@ 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 = util_1.utf8Decode(bytes); + var jsonText = util_1.utf8Decode(bytes); return JSON.parse.call(undefined, jsonText); } exports.parseJSONFromBytes = parseJSONFromBytes; @@ -19729,7 +23135,7 @@ 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); + var jsonString = JSON.stringify.call(undefined, value); return util_1.utf8Encode(jsonString); } exports.serializeJSONToBytes = serializeJSONToBytes; @@ -19744,7 +23150,7 @@ 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; @@ -19754,6 +23160,7 @@ exports.parseJSONIntoInfraValues = parseJSONIntoInfraValues; * @param jsValue - a JavaScript value */ function convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValue) { + var e_1, _a; /** * 1. If Type(jsValue) is Null, String, or Number, then return jsValue. */ @@ -19772,9 +23179,19 @@ function convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValue) { * 2.8. Return result. */ if (util_1.isArray(jsValue)) { - const result = new Array(); - for (const jsValueAtIndex of jsValue) { - result.push(convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValueAtIndex)); + 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; } @@ -19788,11 +23205,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)); } } @@ -19825,14 +23242,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); * * The cache has a size limit which is defined on initialization. */ -class CompareCache { +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; } @@ -19843,12 +23261,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); } @@ -19856,15 +23274,16 @@ 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 @@ -19898,13 +23317,17 @@ Object.defineProperty(exports, "__esModule", { value: true }); const core = __importStar(__webpack_require__(470)); const io = __importStar(__webpack_require__(1)); const fs = __importStar(__webpack_require__(747)); +const mm = __importStar(__webpack_require__(31)); const os = __importStar(__webpack_require__(87)); const path = __importStar(__webpack_require__(622)); const httpm = __importStar(__webpack_require__(539)); const semver = __importStar(__webpack_require__(280)); +const stream = __importStar(__webpack_require__(794)); +const util = __importStar(__webpack_require__(669)); const v4_1 = __importDefault(__webpack_require__(826)); const exec_1 = __webpack_require__(986); const assert_1 = __webpack_require__(357); +const retry_helper_1 = __webpack_require__(979); class HTTPError extends Error { constructor(httpStatusCode) { super(`Unexpected HTTP response: ${httpStatusCode}`); @@ -19914,87 +23337,90 @@ class HTTPError extends Error { } exports.HTTPError = HTTPError; const IS_WINDOWS = process.platform === 'win32'; +const IS_MAC = process.platform === 'darwin'; const userAgent = 'actions/tool-cache'; -// On load grab temp directory and cache directory and remove them from env (currently don't want to expose this) -let tempDirectory = process.env['RUNNER_TEMP'] || ''; -let cacheRoot = process.env['RUNNER_TOOL_CACHE'] || ''; -// If directories not found, place them in common temp locations -if (!tempDirectory || !cacheRoot) { - let baseLocation; - if (IS_WINDOWS) { - // On windows use the USERPROFILE env variable - baseLocation = process.env['USERPROFILE'] || 'C:\\'; - } - else { - if (process.platform === 'darwin') { - baseLocation = '/Users'; - } - else { - baseLocation = '/home'; - } - } - if (!tempDirectory) { - tempDirectory = path.join(baseLocation, 'actions', 'temp'); - } - if (!cacheRoot) { - cacheRoot = path.join(baseLocation, 'actions', 'cache'); - } -} /** * Download a tool from an url and stream it into a file * * @param url url of tool to download * @param dest path to download tool + * @param auth authorization header * @returns path to downloaded tool */ -function downloadTool(url, dest) { +function downloadTool(url, dest, auth) { return __awaiter(this, void 0, void 0, function* () { - // Wrap in a promise so that we can resolve from within stream callbacks - return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { - try { - const http = new httpm.HttpClient(userAgent, [], { - allowRetries: true, - maxRetries: 3 - }); - dest = dest || path.join(tempDirectory, v4_1.default()); - yield io.mkdirP(path.dirname(dest)); - core.debug(`Downloading ${url}`); - core.debug(`Downloading ${dest}`); - if (fs.existsSync(dest)) { - throw new Error(`Destination file path ${dest} already exists`); + dest = dest || path.join(_getTempDirectory(), v4_1.default()); + yield io.mkdirP(path.dirname(dest)); + core.debug(`Downloading ${url}`); + core.debug(`Destination ${dest}`); + const maxAttempts = 3; + const minSeconds = _getGlobal('TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS', 10); + const maxSeconds = _getGlobal('TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS', 20); + const retryHelper = new retry_helper_1.RetryHelper(maxAttempts, minSeconds, maxSeconds); + return yield retryHelper.execute(() => __awaiter(this, void 0, void 0, function* () { + return yield downloadToolAttempt(url, dest || '', auth); + }), (err) => { + if (err instanceof HTTPError && err.httpStatusCode) { + // Don't retry anything less than 500, except 408 Request Timeout and 429 Too Many Requests + if (err.httpStatusCode < 500 && + err.httpStatusCode !== 408 && + err.httpStatusCode !== 429) { + return false; } - const response = yield http.get(url); - if (response.message.statusCode !== 200) { - const err = new HTTPError(response.message.statusCode); - core.debug(`Failed to download from "${url}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`); - throw err; - } - const file = fs.createWriteStream(dest); - file.on('open', () => __awaiter(this, void 0, void 0, function* () { - try { - const stream = response.message.pipe(file); - stream.on('close', () => { - core.debug('download complete'); - resolve(dest); - }); - } - catch (err) { - core.debug(`Failed to download from "${url}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`); - reject(err); - } - })); - file.on('error', err => { - file.end(); - reject(err); - }); } - catch (err) { - reject(err); - } - })); + // Otherwise retry + return true; + }); }); } exports.downloadTool = downloadTool; +function downloadToolAttempt(url, dest, auth) { + return __awaiter(this, void 0, void 0, function* () { + if (fs.existsSync(dest)) { + throw new Error(`Destination file path ${dest} already exists`); + } + // Get the response headers + const http = new httpm.HttpClient(userAgent, [], { + allowRetries: false + }); + let headers; + if (auth) { + core.debug('set auth'); + headers = { + authorization: auth + }; + } + const response = yield http.get(url, headers); + if (response.message.statusCode !== 200) { + const err = new HTTPError(response.message.statusCode); + core.debug(`Failed to download from "${url}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`); + throw err; + } + // Download the response body + const pipeline = util.promisify(stream.pipeline); + const responseMessageFactory = _getGlobal('TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY', () => response.message); + const readStream = responseMessageFactory(); + let succeeded = false; + try { + yield pipeline(readStream, fs.createWriteStream(dest)); + core.debug('download complete'); + succeeded = true; + return dest; + } + finally { + // Error, delete dest before retry + if (!succeeded) { + core.debug('download failed'); + try { + yield io.rmRF(dest); + } + catch (err) { + core.debug(`Failed to delete '${dest}'. ${err.message}`); + } + } + } + }); +} /** * Extract a .7z file * @@ -20019,9 +23445,10 @@ function extract7z(file, dest, _7zPath) { process.chdir(dest); if (_7zPath) { try { + const logLevel = core.isDebug() ? '-bb1' : '-bb0'; const args = [ 'x', - '-bb1', + logLevel, '-bd', '-sccUTF-8', file @@ -20084,17 +23511,29 @@ function extractTar(file, dest, flags = 'xz') { // Create dest dest = yield _createExtractFolder(dest); // Determine whether GNU tar + core.debug('Checking tar --version'); let versionOutput = ''; yield exec_1.exec('tar --version', [], { ignoreReturnCode: true, + silent: true, listeners: { stdout: (data) => (versionOutput += data.toString()), stderr: (data) => (versionOutput += data.toString()) } }); + core.debug(versionOutput.trim()); const isGnuTar = versionOutput.toUpperCase().includes('GNU TAR'); // Initialize args - const args = [flags]; + let args; + if (flags instanceof Array) { + args = flags; + } + else { + args = [flags]; + } + if (core.isDebug() && !flags.includes('v')) { + args.push('-v'); + } let destArg = dest; let fileArg = file; if (IS_WINDOWS && isGnuTar) { @@ -20114,6 +23553,36 @@ function extractTar(file, dest, flags = 'xz') { }); } exports.extractTar = extractTar; +/** + * Extract a xar compatible archive + * + * @param file path to the archive + * @param dest destination directory. Optional. + * @param flags flags for the xar. Optional. + * @returns path to the destination directory + */ +function extractXar(file, dest, flags = []) { + return __awaiter(this, void 0, void 0, function* () { + assert_1.ok(IS_MAC, 'extractXar() not supported on current OS'); + assert_1.ok(file, 'parameter "file" is required'); + dest = yield _createExtractFolder(dest); + let args; + if (flags instanceof Array) { + args = flags; + } + else { + args = [flags]; + } + args.push('-x', '-C', dest, '-f', file); + if (core.isDebug()) { + args.push('-v'); + } + const xarPath = yield io.which('xar', true); + yield exec_1.exec(`"${xarPath}"`, _unique(args)); + return dest; + }); +} +exports.extractXar = extractXar; /** * Extract a zip * @@ -20144,7 +23613,7 @@ function extractZipWin(file, dest) { const escapedDest = dest.replace(/'/g, "''").replace(/"|\n|\r/g, ''); const command = `$ErrorActionPreference = 'Stop' ; try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ; [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}')`; // run powershell - const powershellPath = yield io.which('powershell'); + const powershellPath = yield io.which('powershell', true); const args = [ '-NoLogo', '-Sta', @@ -20160,8 +23629,12 @@ function extractZipWin(file, dest) { } function extractZipNix(file, dest) { return __awaiter(this, void 0, void 0, function* () { - const unzipPath = yield io.which('unzip'); - yield exec_1.exec(`"${unzipPath}"`, [file], { cwd: dest }); + const unzipPath = yield io.which('unzip', true); + const args = [file]; + if (!core.isDebug()) { + args.unshift('-q'); + } + yield exec_1.exec(`"${unzipPath}"`, args, { cwd: dest }); }); } /** @@ -20252,7 +23725,7 @@ function find(toolName, versionSpec, arch) { let toolPath = ''; if (versionSpec) { versionSpec = semver.clean(versionSpec) || ''; - const cachePath = path.join(cacheRoot, toolName, versionSpec, arch); + const cachePath = path.join(_getCacheDirectory(), toolName, versionSpec, arch); core.debug(`checking cache: ${cachePath}`); if (fs.existsSync(cachePath) && fs.existsSync(`${cachePath}.complete`)) { core.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch}`); @@ -20274,7 +23747,7 @@ exports.find = find; function findAllVersions(toolName, arch) { const versions = []; arch = arch || os.arch(); - const toolPath = path.join(cacheRoot, toolName); + const toolPath = path.join(_getCacheDirectory(), toolName); if (fs.existsSync(toolPath)) { const children = fs.readdirSync(toolPath); for (const child of children) { @@ -20289,11 +23762,56 @@ function findAllVersions(toolName, arch) { return versions; } exports.findAllVersions = findAllVersions; +function getManifestFromRepo(owner, repo, auth, branch = 'master') { + return __awaiter(this, void 0, void 0, function* () { + let releases = []; + const treeUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}`; + const http = new httpm.HttpClient('tool-cache'); + const headers = {}; + if (auth) { + core.debug('set auth'); + headers.authorization = auth; + } + const response = yield http.getJson(treeUrl, headers); + if (!response.result) { + return releases; + } + let manifestUrl = ''; + for (const item of response.result.tree) { + if (item.path === 'versions-manifest.json') { + manifestUrl = item.url; + break; + } + } + headers['accept'] = 'application/vnd.github.VERSION.raw'; + let versionsRaw = yield (yield http.get(manifestUrl, headers)).readBody(); + if (versionsRaw) { + // shouldn't be needed but protects against invalid json saved with BOM + versionsRaw = versionsRaw.replace(/^\uFEFF/, ''); + try { + releases = JSON.parse(versionsRaw); + } + catch (_a) { + core.debug('Invalid json'); + } + } + return releases; + }); +} +exports.getManifestFromRepo = getManifestFromRepo; +function findFromManifest(versionSpec, stable, manifest, archFilter = os.arch()) { + return __awaiter(this, void 0, void 0, function* () { + // wrap the internal impl + const match = yield mm._findMatch(versionSpec, stable, manifest, archFilter); + return match; + }); +} +exports.findFromManifest = findFromManifest; function _createExtractFolder(dest) { return __awaiter(this, void 0, void 0, function* () { if (!dest) { // create a temp dir - dest = path.join(tempDirectory, v4_1.default()); + dest = path.join(_getTempDirectory(), v4_1.default()); } yield io.mkdirP(dest); return dest; @@ -20301,7 +23819,7 @@ function _createExtractFolder(dest) { } function _createToolPath(tool, version, arch) { return __awaiter(this, void 0, void 0, function* () { - const folderPath = path.join(cacheRoot, tool, semver.clean(version) || version, arch || ''); + const folderPath = path.join(_getCacheDirectory(), tool, semver.clean(version) || version, arch || ''); core.debug(`destination ${folderPath}`); const markerPath = `${folderPath}.complete`; yield io.rmRF(folderPath); @@ -20311,7 +23829,7 @@ function _createToolPath(tool, version, arch) { }); } function _completeToolPath(tool, version, arch) { - const folderPath = path.join(cacheRoot, tool, semver.clean(version) || version, arch || ''); + const folderPath = path.join(_getCacheDirectory(), tool, semver.clean(version) || version, arch || ''); const markerPath = `${folderPath}.complete`; fs.writeFileSync(markerPath, ''); core.debug('finished caching tool'); @@ -20348,6 +23866,38 @@ function _evaluateVersions(versions, versionSpec) { } return version; } +/** + * Gets RUNNER_TOOL_CACHE + */ +function _getCacheDirectory() { + const cacheDirectory = process.env['RUNNER_TOOL_CACHE'] || ''; + assert_1.ok(cacheDirectory, 'Expected RUNNER_TOOL_CACHE to be defined'); + return cacheDirectory; +} +/** + * Gets RUNNER_TEMP + */ +function _getTempDirectory() { + const tempDirectory = process.env['RUNNER_TEMP'] || ''; + assert_1.ok(tempDirectory, 'Expected RUNNER_TEMP to be defined'); + return tempDirectory; +} +/** + * Gets a global variable + */ +function _getGlobal(key, defaultValue) { + /* eslint-disable @typescript-eslint/no-explicit-any */ + const value = global[key]; + /* eslint-enable @typescript-eslint/no-explicit-any */ + return value !== undefined ? value : defaultValue; +} +/** + * Returns an array of unique values. + * @param values Values to make unique. + */ +function _unique(values) { + return Array.from(new Set(values)); +} //# sourceMappingURL=tool-cache.js.map /***/ }), @@ -20362,6 +23912,14 @@ var XMLBuilderImpl_1 = __webpack_require__(595); exports.XMLBuilderImpl = XMLBuilderImpl_1.XMLBuilderImpl; var XMLBuilderCBImpl_1 = __webpack_require__(551); exports.XMLBuilderCBImpl = XMLBuilderCBImpl_1.XMLBuilderCBImpl; +var BuilderFunctions_1 = __webpack_require__(961); +exports.builder = BuilderFunctions_1.builder; +exports.create = BuilderFunctions_1.create; +exports.fragment = BuilderFunctions_1.fragment; +exports.convert = BuilderFunctions_1.convert; +var BuilderFunctionsCB_1 = __webpack_require__(295); +exports.createCB = BuilderFunctionsCB_1.createCB; +exports.fragmentCB = BuilderFunctionsCB_1.fragmentCB; //# sourceMappingURL=index.js.map /***/ }), @@ -20375,26 +23933,69 @@ Object.defineProperty(exports, "__esModule", { value: true }); /** * 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 @@ -20406,7 +24007,6 @@ exports.AbstractRangeImpl = AbstractRangeImpl; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const url = __webpack_require__(835); const http = __webpack_require__(605); const https = __webpack_require__(211); const pm = __webpack_require__(950); @@ -20455,7 +24055,7 @@ var MediaTypes; * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com */ function getProxyUrl(serverUrl) { - let proxyUrl = pm.getProxyUrl(url.parse(serverUrl)); + let proxyUrl = pm.getProxyUrl(new URL(serverUrl)); return proxyUrl ? proxyUrl.href : ''; } exports.getProxyUrl = getProxyUrl; @@ -20474,6 +24074,15 @@ const HttpResponseRetryCodes = [ const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; const ExponentialBackoffCeiling = 10; const ExponentialBackoffTimeSlice = 5; +class HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = 'HttpClientError'; + this.statusCode = statusCode; + Object.setPrototypeOf(this, HttpClientError.prototype); + } +} +exports.HttpClientError = HttpClientError; class HttpClientResponse { constructor(message) { this.message = message; @@ -20492,7 +24101,7 @@ class HttpClientResponse { } exports.HttpClientResponse = HttpClientResponse; function isHttps(requestUrl) { - let parsedUrl = url.parse(requestUrl); + let parsedUrl = new URL(requestUrl); return parsedUrl.protocol === 'https:'; } exports.isHttps = isHttps; @@ -20597,7 +24206,7 @@ class HttpClient { if (this._disposed) { throw new Error('Client has already been disposed.'); } - let parsedUrl = url.parse(requestUrl); + let parsedUrl = new URL(requestUrl); let info = this._prepareRequest(verb, parsedUrl, headers); // Only perform retries on reads since writes may not be idempotent. let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1 @@ -20636,7 +24245,7 @@ class HttpClient { // if there's no location to redirect to, we won't break; } - let parsedRedirectUrl = url.parse(redirectUrl); + let parsedRedirectUrl = new URL(redirectUrl); if (parsedUrl.protocol == 'https:' && parsedUrl.protocol != parsedRedirectUrl.protocol && !this._allowRedirectDowngrade) { @@ -20752,7 +24361,7 @@ class HttpClient { * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com */ getAgent(serverUrl) { - let parsedUrl = url.parse(serverUrl); + let parsedUrl = new URL(serverUrl); return this._getAgent(parsedUrl); } _prepareRequest(method, requestUrl, headers) { @@ -20825,7 +24434,7 @@ class HttpClient { maxSockets: maxSockets, keepAlive: this._keepAlive, proxy: { - proxyAuth: proxyUrl.auth, + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`, host: proxyUrl.hostname, port: proxyUrl.port } @@ -20920,12 +24529,8 @@ class HttpClient { else { msg = 'Failed request: (' + statusCode + ')'; } - let err = new Error(msg); - // attach statusCode and body obj (if available) to the error object - err['statusCode'] = statusCode; - if (response.result) { - err['result'] = response.result; - } + let err = new HttpClientError(msg, statusCode); + err.result = response.result; reject(err); } else { @@ -20944,15 +24549,26 @@ exports.HttpClient = HttpClient; "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 }); -const dom_1 = __webpack_require__(113); -const util_1 = __webpack_require__(918); -const infra_1 = __webpack_require__(23); -const CreateAlgorithm_1 = __webpack_require__(86); -const OrderedSetAlgorithm_1 = __webpack_require__(146); -const DOMAlgorithm_1 = __webpack_require__(304); -const MutationAlgorithm_1 = __webpack_require__(479); -const ElementAlgorithm_1 = __webpack_require__(33); +var DOMImpl_1 = __webpack_require__(648); +var util_1 = __webpack_require__(918); +var infra_1 = __webpack_require__(23); +var CreateAlgorithm_1 = __webpack_require__(86); +var OrderedSetAlgorithm_1 = __webpack_require__(146); +var DOMAlgorithm_1 = __webpack_require__(304); +var MutationAlgorithm_1 = __webpack_require__(479); +var ElementAlgorithm_1 = __webpack_require__(33); /** * Replaces the contents of the given node with a single text node. * @@ -20966,7 +24582,7 @@ 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 = CreateAlgorithm_1.create_text(parent._nodeDocument, str); } @@ -20980,13 +24596,16 @@ exports.node_stringReplaceAll = node_stringReplaceAll; * @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: @@ -20998,9 +24617,19 @@ function node_clone(node, document = null, cloneChildrenFlag = false) { * 2.2.2. Append copyAttribute to copy. */ copy = 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); - ElementAlgorithm_1.element_append(copyAttribute, copy); + 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 { @@ -21023,7 +24652,7 @@ function node_clone(node, document = null, cloneChildrenFlag = false) { * - Any other node */ if (util_1.Guard.isDocumentNode(node)) { - const doc = CreateAlgorithm_1.create_document(); + var doc = CreateAlgorithm_1.create_document(); doc._encoding = node._encoding; doc._contentType = node._contentType; doc._URL = node._URL; @@ -21033,11 +24662,11 @@ function node_clone(node, document = null, cloneChildrenFlag = false) { copy = doc; } else if (util_1.Guard.isDocumentTypeNode(node)) { - const doctype = 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 = 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; @@ -21078,7 +24707,7 @@ function node_clone(node, document = null, cloneChildrenFlag = false) { * specifications and pass copy, node, document and the clone children flag * if set, as parameters. */ - if (dom_1.dom.features.steps) { + if (DOMImpl_1.dom.features.steps) { DOMAlgorithm_1.dom_runCloningSteps(copy, node, document, cloneChildrenFlag); } /** @@ -21087,9 +24716,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); - 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; } } } /** @@ -21105,6 +24744,7 @@ exports.node_clone = node_clone; * @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. */ @@ -21153,16 +24793,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; } } } /** @@ -21171,13 +24831,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(); @@ -21299,13 +24959,13 @@ function node_listOfElementsWithClassNames(classNames, root) { * manner if root’s node document’s mode is "quirks", and in a * case-sensitive manner otherwise. */ - const classes = OrderedSetAlgorithm_1.orderedSet_parse(classNames); + var classes = OrderedSetAlgorithm_1.orderedSet_parse(classNames); if (classes.size === 0) { - return CreateAlgorithm_1.create_htmlCollection(root, () => false); + return CreateAlgorithm_1.create_htmlCollection(root, function () { return false; }); } - const caseSensitive = (root._nodeDocument._mode !== "quirks"); + var caseSensitive = (root._nodeDocument._mode !== "quirks"); return CreateAlgorithm_1.create_htmlCollection(root, function (ele) { - const eleClasses = ele.classList; + var eleClasses = ele.classList; return OrderedSetAlgorithm_1.orderedSet_contains(eleClasses._tokenSet, classes, caseSensitive); }); } @@ -21330,8 +24990,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; } @@ -21372,8 +25032,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) { @@ -21439,22 +25099,64 @@ exports.node_locateANamespace = node_locateANamespace; "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 }); -const interfaces_1 = __webpack_require__(625); -const util_1 = __webpack_require__(592); -const __1 = __webpack_require__(255); -const algorithm_1 = __webpack_require__(163); -const infra_1 = __webpack_require__(23); -const NamespacePrefixMap_1 = __webpack_require__(392); -const LocalNameSet_1 = __webpack_require__(575); -const util_2 = __webpack_require__(918); -const XMLCBWriter_1 = __webpack_require__(190); -const JSONCBWriter_1 = __webpack_require__(781); -const events_1 = __webpack_require__(614); +var interfaces_1 = __webpack_require__(625); +var util_1 = __webpack_require__(592); +var BuilderFunctions_1 = __webpack_require__(961); +var algorithm_1 = __webpack_require__(163); +var infra_1 = __webpack_require__(23); +var NamespacePrefixMap_1 = __webpack_require__(392); +var LocalNameSet_1 = __webpack_require__(575); +var util_2 = __webpack_require__(918); +var XMLCBWriter_1 = __webpack_require__(190); +var JSONCBWriter_1 = __webpack_require__(781); +var YAMLCBWriter_1 = __webpack_require__(497); +var events_1 = __webpack_require__(614); /** * Represents a readable XML document stream. */ -class XMLBuilderCBImpl extends events_1.EventEmitter { +var XMLBuilderCBImpl = /** @class */ (function (_super) { + __extends(XMLBuilderCBImpl, _super); /** * Initializes a new instance of `XMLStream`. * @@ -21463,41 +25165,53 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { * * @returns XML stream */ - constructor(options, fragment = false) { - super(); - this._hasDeclaration = false; - this._docTypeName = ""; - this._hasDocumentElement = false; - this._currentElementSerialized = false; - this._openTags = []; - this._ended = false; - this._fragment = fragment; + 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 + _this._options = util_1.applyDefaults(options || {}, interfaces_1.DefaultXMLBuilderCBOptions); + _this._builderOptions = { + defaultNamespace: _this._options.defaultNamespace, + namespaceAlias: _this._options.namespaceAlias }; - this._writer = this._options.format === "xml" ? new XMLCBWriter_1.XMLCBWriter(this._options) : new JSONCBWriter_1.JSONCBWriter(this._options); + 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.data !== undefined) { + _this.on("data", _this._options.data); } - if (this._options.end !== undefined) { - this.on("end", this._options.end); + if (_this._options.end !== undefined) { + _this.on("end", _this._options.end); } - if (this._options.error !== undefined) { - this.on("error", this._options.error); + 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._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 */ - ele(p1, p2, p3) { + 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, '>') - .replace(/\r/g, ' '); + .replace(/>/g, '>'); } else { - for (let i = 0; i < node.data.length; i++) { - const c = node.data[i]; + for (var i = 0; i < node.data.length; i++) { + var c = node.data[i]; if (c === "&") markup += "&"; else if (c === "<") @@ -21612,13 +25335,14 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { } this._push(this._writer.text(markup)); return this; - } + }; /** @inheritdoc */ - ins(target, content = '') { + XMLBuilderCBImpl.prototype.ins = function (target, content) { + if (content === void 0) { content = ''; } this._serializeOpenTag(true); - let node; + var node; try { - node = __1.fragment(this._builderOptions).ins(target, content).first().node; + node = BuilderFunctions_1.fragment(this._builderOptions).ins(target, content).first().node; } catch (err) { /* istanbul ignore next */ @@ -21636,13 +25360,13 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { } this._push(this._writer.instruction(node.target, node.data)); return this; - } + }; /** @inheritdoc */ - dat(content) { + XMLBuilderCBImpl.prototype.dat = function (content) { this._serializeOpenTag(true); - let node; + var node; try { - node = __1.fragment(this._builderOptions).dat(content).first().node; + node = BuilderFunctions_1.fragment(this._builderOptions).dat(content).first().node; } catch (err) { this.emit("error", err); @@ -21650,9 +25374,10 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { } this._push(this._writer.cdata(node.data)); return this; - } + }; /** @inheritdoc */ - dec(options = { version: "1.0" }) { + 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; @@ -21664,9 +25389,9 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { this._push(this._writer.declaration(options.version || "1.0", options.encoding, options.standalone)); this._hasDeclaration = true; return this; - } + }; /** @inheritdoc */ - dtd(options) { + XMLBuilderCBImpl.prototype.dtd = function (options) { if (this._fragment) { this.emit("error", Error("Cannot insert a DocType declaration into a document fragment.")); return this; @@ -21679,9 +25404,9 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { this.emit("error", new Error("Cannot insert DocType declaration after document element.")); return this; } - let node; + var node; try { - node = __1.create().dtd(options).first().node; + node = BuilderFunctions_1.create().dtd(options).first().node; } catch (err) { this.emit("error", err); @@ -21700,45 +25425,45 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { this._docTypeName = options.name; this._push(this._writer.docType(options.name, node.publicId, node.systemId)); return this; - } + }; /** @inheritdoc */ - up() { + XMLBuilderCBImpl.prototype.up = function () { this._serializeOpenTag(false); this._serializeCloseTag(); return this; - } + }; /** @inheritdoc */ - end() { + 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 */ - _serializeOpenTag(hasChildren) { + XMLBuilderCBImpl.prototype._serializeOpenTag = function (hasChildren) { if (this._currentElementSerialized) return; if (this._currentElement === undefined) return; - const node = this._currentElement.node; + 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; } - 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; + 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) { @@ -21755,8 +25480,8 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { this._push(this._writer.openTagBegin(qualifiedName)); } else { - let prefix = node.prefix; - let candidatePrefix = null; + var prefix = node.prefix; + var candidatePrefix = null; if (prefix !== null || ns !== localDefaultNamespace) { candidatePrefix = map.get(prefix, ns); } @@ -21805,7 +25530,7 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { } } this._serializeAttributes(node, map, this._prefixIndex, localPrefixesMap, ignoreNamespaceDefinitionAttribute, this._options.wellFormed); - const isHTML = (ns === infra_1.namespace.HTML); + var isHTML = (ns === infra_1.namespace.HTML); if (isHTML && !hasChildren && XMLBuilderCBImpl._VoidElementNames.has(node.localName)) { this._push(this._writer.openTagEnd(qualifiedName, true, true)); @@ -21836,19 +25561,19 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { * Calls following this will either serialize child nodes or close this tag. */ this._writer.level++; - } + }; /** * Serializes the closing tag of an element node. */ - _serializeCloseTag() { + XMLBuilderCBImpl.prototype._serializeCloseTag = function () { this._writer.level--; - const lastEle = this._openTags.pop(); + var 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] = lastEle; + 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. */ @@ -21857,13 +25582,13 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { return; this._push(this._writer.closeTag(qualifiedName)); this._writer.endElement(qualifiedName); - } + }; /** * Pushes data to internal buffer. * * @param data - data */ - _push(data) { + XMLBuilderCBImpl.prototype._push = function (data) { if (data === null) { this._ended = true; this.emit("end"); @@ -21875,32 +25600,53 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { this._writer.hasData = true; this.emit("data", data, this._writer.level); } - } + }; /** * Reads and serializes an XML tree. * * @param node - root node */ - _fromNode(node) { + XMLBuilderCBImpl.prototype._fromNode = function (node) { + var e_2, _a, e_3, _b; if (util_2.Guard.isElementNode(node)) { - const name = node.prefix ? node.prefix + ":" + node.localName : node.localName; + var 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); + 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); + } } } - for (const child of node.childNodes) { - this._fromNode(child); + 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(); } @@ -21916,7 +25662,7 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { else if (util_2.Guard.isProcessingInstructionNode(node)) { this.ins(node.target, node.data); } - } + }; /** * Produces an XML serialization of the attributes of an element node. * @@ -21928,81 +25674,92 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { * 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. - */ + 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; } - else if (candidatePrefix === null) { - if (attr.prefix !== null && - (!map.hasPrefix(attr.prefix) || - map.has(attr.prefix, attributeNamespace))) { + 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'; /** - * 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. + * _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. */ - candidatePrefix = attr.prefix; } - else { - candidatePrefix = this._generatePrefix(attributeNamespace, map, prefixIndex); + 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))); } - 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))); } - 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 */ - _serializeAttributeValue(value, requireWellFormed) { + 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 ""; @@ -22012,15 +25769,13 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { if (this._options.noDoubleEncoding) { return value.replace(/(?!&(lt|gt|amp|apos|quot);)&/g, '&') .replace(//g, '>') + .replace(/"/g, '"'); } else { - 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 === "&") @@ -22034,7 +25789,7 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { } return result; } - } + }; /** * Records namespace information for the given element and returns the * default namespace attribute value. @@ -22043,35 +25798,46 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { * @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) { + 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; } - if (namespaceDefinition === '') { - namespaceDefinition = null; + 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 || ''; } - 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. * @@ -22079,50 +25845,102 @@ class XMLBuilderCBImpl extends events_1.EventEmitter { * @param prefixMap - namespace prefix map * @param prefixIndex - generated namespace prefix index */ - _generatePrefix(newNamespace, prefixMap, prefixIndex) { - let generatedPrefix = "ns" + prefixIndex.value; + 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 */ - _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]; + 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; - const arr2 = items2[key]; + var arr2 = items2[key]; if (arr1.length !== arr2.length) return true; - for (let i = 0; i < arr1.length; i++) { + for (var 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++) { + 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; -XMLBuilderCBImpl._VoidElementNames = new Set(['area', 'base', 'basefont', - 'bgsound', 'br', 'col', 'embed', 'frame', 'hr', 'img', 'input', 'keygen', - 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr']); //# sourceMappingURL=XMLBuilderCBImpl.js.map +/***/ }), + +/***/ 556: +/***/ (function(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; + + /***/ }), /***/ 558: @@ -22130,15 +25948,29 @@ XMLBuilderCBImpl._VoidElementNames = new Set(['area', 'base', 'basefont', "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 }); -const interfaces_1 = __webpack_require__(970); -const NodeImpl_1 = __webpack_require__(935); -const WebIDLAlgorithm_1 = __webpack_require__(495); +var interfaces_1 = __webpack_require__(970); +var NodeImpl_1 = __webpack_require__(935); +var WebIDLAlgorithm_1 = __webpack_require__(495); /** * Represents an object providing methods which are not dependent on * any particular document */ -class DocumentTypeImpl extends NodeImpl_1.NodeImpl { +var DocumentTypeImpl = /** @class */ (function (_super) { + __extends(DocumentTypeImpl, _super); /** * Initializes a new instance of `DocumentType`. * @@ -22146,30 +25978,61 @@ class DocumentTypeImpl extends NodeImpl_1.NodeImpl { * @param publicId - `PUBLIC` identifier * @param systemId - `SYSTEM` identifier */ - constructor(name, publicId, systemId) { - super(); - this._name = ''; - this._publicId = ''; - this._systemId = ''; - 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`. * @@ -22178,12 +26041,15 @@ 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 @@ -22193,74 +26059,21 @@ WebIDLAlgorithm_1.idl_defineConst(DocumentTypeImpl.prototype, "_nodeType", inter /***/ }), -/***/ 568: -/***/ (function(__unusedmodule, exports) { +/***/ 567: +/***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents an object cache with a size limit. - */ -class ObjectCache { - /** - * 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) { - this._items = new Set(); - this._limit = limit; - } - /** - * Adds a new item to the cache. - * - * @param item - an item - */ - add(item) { - this._items.add(item); - if (this._items.size > this._limit) { - const it = this._items.values().next(); - /* istanbul ignore else */ - if (!it.done) { - this._items.delete(it.value); - } - } - } - /** - * Removes an item from the cache. - * - * @param item - an item - */ - remove(item) { - this._items.delete(item); - } - /** - * Removes all items from the cache. - */ - clear() { - this._items.clear(); - } - /** - * Gets the number of items in the cache. - */ - get length() { return this._items.size; } - /** - * Iterates through the items in the cache. - */ - *entries() { - yield* this; - } - /** @inheritdoc */ - *[Symbol.iterator]() { - for (const item of this._items) { - yield item; - } - } -} -exports.ObjectCache = ObjectCache; -//# sourceMappingURL=ObjectCache.js.map +var XMLReader_1 = __webpack_require__(771); +exports.XMLReader = XMLReader_1.XMLReader; +var ObjectReader_1 = __webpack_require__(50); +exports.ObjectReader = ObjectReader_1.ObjectReader; +var JSONReader_1 = __webpack_require__(112); +exports.JSONReader = JSONReader_1.JSONReader; +var YAMLReader_1 = __webpack_require__(865); +exports.YAMLReader = YAMLReader_1.YAMLReader; +//# sourceMappingURL=index.js.map /***/ }), @@ -22270,30 +26083,33 @@ exports.ObjectCache = ObjectCache; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = __webpack_require__(918); -const algorithm_1 = __webpack_require__(163); +var util_1 = __webpack_require__(918); +var algorithm_1 = __webpack_require__(163); /** * 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 = 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 = 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 @@ -22314,8 +26130,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); * This can occur when two otherwise identical attributes on the same * element differ only by their prefix values. */ -class LocalNameSet { - constructor() { +var LocalNameSet = /** @class */ (function () { + function LocalNameSet() { // tuple storage this._items = {}; this._nullItems = {}; @@ -22326,7 +26142,7 @@ class LocalNameSet { * @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; } @@ -22337,14 +26153,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; } @@ -22354,8 +26170,9 @@ class LocalNameSet { else { return false; } - } -} + }; + return LocalNameSet; +}()); exports.LocalNameSet = LocalNameSet; //# sourceMappingURL=LocalNameSet.js.map @@ -22366,35 +26183,58 @@ exports.LocalNameSet = LocalNameSet; "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 }); -const DocumentFragmentImpl_1 = __webpack_require__(796); -const util_1 = __webpack_require__(337); -const algorithm_1 = __webpack_require__(163); +var DocumentFragmentImpl_1 = __webpack_require__(796); +var util_1 = __webpack_require__(592); +var algorithm_1 = __webpack_require__(163); /** * Represents a shadow root. */ -class ShadowRootImpl extends DocumentFragmentImpl_1.DocumentFragmentImpl { +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 @@ -22408,7 +26248,7 @@ class ShadowRootImpl extends DocumentFragmentImpl_1.DocumentFragmentImpl { else { return this._host; } - } + }; // MIXIN: DocumentOrShadowRoot // No elements /** @@ -22417,10 +26257,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 @@ -22431,6 +26272,17 @@ exports.ShadowRootImpl = ShadowRootImpl; "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 }); var FixedSizeSet_1 = __webpack_require__(704); exports.FixedSizeSet = FixedSizeSet_1.FixedSizeSet; @@ -22440,6 +26292,8 @@ var CompareCache_1 = __webpack_require__(524); exports.CompareCache = CompareCache_1.CompareCache; var Lazy_1 = __webpack_require__(947); exports.Lazy = Lazy_1.Lazy; +var StringWalker_1 = __webpack_require__(47); +exports.StringWalker = StringWalker_1.StringWalker; /** * Applies the mixin to a given class. * @@ -22449,19 +26303,25 @@ exports.Lazy = Lazy_1.Lazy; * 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 => { - if (overrides.includes(name)) { - const orgPropDesc = Object.getOwnPropertyDescriptor(baseClass.prototype, name); - /* istanbul ignore else */ - if (orgPropDesc) { - Object.defineProperty(baseClass.prototype, "_" + name, orgPropDesc); +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) { + var orgPropDesc = Object.getOwnPropertyDescriptor(baseClass.prototype, name); + /* istanbul ignore else */ + if (orgPropDesc) { + Object.defineProperty(baseClass.prototype, "_" + name, orgPropDesc); + } + } + var propDesc = Object.getOwnPropertyDescriptor(mixinClass.prototype, name); + /* istanbul ignore else */ + if (propDesc) { + Object.defineProperty(baseClass.prototype, name, propDesc); } - } - const propDesc = Object.getOwnPropertyDescriptor(mixinClass.prototype, name); - /* istanbul ignore else */ - if (propDesc) { - Object.defineProperty(baseClass.prototype, name, propDesc); } }); } @@ -22474,9 +26334,10 @@ exports.applyMixin = applyMixin; * @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); } @@ -22509,10 +26370,10 @@ exports.forEachArray = forEachArray; */ 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]); @@ -22585,22 +26446,33 @@ exports.removeObjectValue = removeObjectValue; * @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 (isObject(obj)) { - const result = {}; - for (const key in 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); } } @@ -22655,7 +26527,7 @@ exports.isFunction = isFunction; * @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; @@ -22702,7 +26574,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; } @@ -22719,8 +26591,8 @@ exports.isEmpty = isEmpty; */ 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)); @@ -22755,10 +26627,10 @@ exports.getValue = getValue; * @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; @@ -22771,7 +26643,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."); } @@ -22795,8 +26667,8 @@ exports.utf8Encode = utf8Encode; * @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) { @@ -22846,78 +26718,103 @@ exports.utf8Decode = utf8Decode; "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 }); -const interfaces_1 = __webpack_require__(625); -const util_1 = __webpack_require__(592); -const writers_1 = __webpack_require__(95); -const interfaces_2 = __webpack_require__(970); -const util_2 = __webpack_require__(918); -const algorithm_1 = __webpack_require__(163); -const dom_1 = __webpack_require__(743); -const infra_1 = __webpack_require__(23); +var interfaces_1 = __webpack_require__(625); +var util_1 = __webpack_require__(592); +var writers_1 = __webpack_require__(95); +var interfaces_2 = __webpack_require__(970); +var util_2 = __webpack_require__(918); +var algorithm_1 = __webpack_require__(163); +var dom_1 = __webpack_require__(743); +var infra_1 = __webpack_require__(23); +var readers_1 = __webpack_require__(567); /** * Represents a wrapper that extends XML nodes to implement easy to use and * chainable document builder methods. */ -class XMLBuilderImpl { +var XMLBuilderImpl = /** @class */ (function () { /** * Initializes a new instance of `XMLBuilderNodeImpl`. * * @param domNode - the DOM node to wrap */ - constructor(domNode) { + 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 */ - get node() { return this._domNode; } - /** @inheritdoc */ - set(options) { + 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 */ - ele(p1, p2, p3) { - let namespace; - let name; - let attributes; - let lastChild = null; - if (util_1.isString(p1) && /^\s*" + p1 + ""; - const domParser = dom_1.createParser(); - const doc = domParser.parseFromString(dom_1.sanitizeInput(contents, this._options.invalidCharReplacement), "text/xml"); - /* istanbul ignore next */ - if (doc.documentElement === null) { - throw new Error("Document element is null."); - } - dom_1.throwIfParserError(doc); - for (const child of doc.documentElement.childNodes) { - const newChild = doc.importNode(child, true); - lastChild = new XMLBuilderImpl(newChild); - this._domNode.appendChild(newChild); - } - if (lastChild === null) { - throw new Error("Could not create any elements with: " + p1.toString() + ". " + this._debugInfo()); - } - return lastChild; - } - else if (util_1.isString(p1) && /^\s*[\{\[]/.test(p1)) { - // parse JSON string - const obj = JSON.parse(p1); - return this.ele(obj); - } - else if (util_1.isObject(p1)) { + 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) - [namespace, name, attributes] = [undefined, p1, undefined]; + return new readers_1.ObjectReader(this._options).parse(this, p1); } - else if ((p1 === null || util_1.isString(p1)) && util_1.isString(p2)) { + else if (p1 !== null && /^\s* lastChild = this.ele(item), this); + // create a child element node + var childNode = (namespace !== undefined && namespace !== null ? + this._doc.createElementNS(namespace, name) : + this._doc.createElement(name)); + this.node.appendChild(childNode); + var builder = new XMLBuilderImpl(childNode); + // update doctype node if the new node is the document element node + var oldDocType = this._doc.doctype; + if (childNode === this._doc.documentElement && oldDocType !== null) { + var docType = this._doc.implementation.createDocumentType(this._doc.documentElement.tagName, oldDocType.publicId, oldDocType.systemId); + this._doc.replaceChild(docType, oldDocType); } - else if (util_1.isMap(name) || util_1.isObject(name)) { - // expand if object - util_1.forEachObject(name, (key, val) => { - if (util_1.isFunction(val)) { - // evaluate if function - val = val.apply(this); - } - if (!this._options.ignoreConverters && key.indexOf(this._options.convert.att) === 0) { - // assign attributes - if (key === this._options.convert.att) { - lastChild = this.att(val); - } - else { - lastChild = this.att(key.substr(this._options.convert.att.length), val); - } - } - else if (!this._options.ignoreConverters && key.indexOf(this._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.ele(val); - } - else { - lastChild = this.txt(val); - } - } - else if (!this._options.ignoreConverters && key.indexOf(this._options.convert.cdata) === 0) { - // cdata node - if (util_1.isArray(val) || util_1.isSet(val)) { - util_1.forEachArray(val, item => lastChild = this.dat(item), this); - } - else { - lastChild = this.dat(val); - } - } - else if (!this._options.ignoreConverters && key.indexOf(this._options.convert.comment) === 0) { - // comment node - if (util_1.isArray(val) || util_1.isSet(val)) { - util_1.forEachArray(val, item => lastChild = this.com(item), this); - } - else { - lastChild = this.com(val); - } - } - else if (!this._options.ignoreConverters && key.indexOf(this._options.convert.ins) === 0) { - // processing instruction - if (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.ins(insTarget, insValue); - } - else { - lastChild = this.ins(val); - } - } - else if ((util_1.isArray(val) || util_1.isSet(val)) && util_1.isEmpty(val)) { - // skip empty arrays - lastChild = this._dummy(); - } - else if ((util_1.isMap(val) || util_1.isObject(val)) && util_1.isEmpty(val)) { - // empty objects produce one node - lastChild = this.ele(key); - } - else if (!this._options.keepNullNodes && (val == null)) { - // skip null and undefined nodes - lastChild = this._dummy(); - } - else if (util_1.isArray(val) || util_1.isSet(val)) { - // expand list by creating child nodes - util_1.forEachArray(val, item => { - const childNode = {}; - childNode[key] = item; - lastChild = this.ele(childNode); - }, this); - } - else if (util_1.isMap(val) || util_1.isObject(val)) { - // create a parent node - lastChild = this.ele(key); - // expand child nodes under parent - lastChild.ele(val); - } - else if (val) { - // leaf element node with a single text node - lastChild = this.ele(key); - lastChild.txt(val); - } - else { - // leaf element node - lastChild = this.ele(key); - } - }, this); + // create attributes + if (attributes && !util_1.isEmpty(attributes)) { + builder.att(attributes); } - else { - [namespace, name] = this._extractNamespace(dom_1.sanitizeInput(namespace, this._options.invalidCharReplacement), dom_1.sanitizeInput(name, this._options.invalidCharReplacement), true); - // inherit namespace from parent - if (namespace === undefined) { - const [prefix] = algorithm_1.namespace_extractQName(name); - namespace = this.node.lookupNamespaceURI(prefix); - } - // create a child element node - const childNode = (namespace !== undefined && namespace !== null ? - this._doc.createElementNS(namespace, name) : - this._doc.createElement(name)); - this.node.appendChild(childNode); - lastChild = new XMLBuilderImpl(childNode); - // update doctype node if the new node is the document element node - const oldDocType = this._doc.doctype; - if (childNode === this._doc.documentElement && oldDocType !== null) { - const docType = this._doc.implementation.createDocumentType(this._doc.documentElement.tagName, oldDocType.publicId, oldDocType.systemId); - this._doc.replaceChild(docType, oldDocType); - } - // create attributes - if (attributes && !util_1.isEmpty(attributes)) { - lastChild.att(attributes); - } - } - if (lastChild === null) { - throw new Error("Could not create any elements with: " + name.toString() + ". " + this._debugInfo()); - } - return lastChild; - } + return builder; + }; /** @inheritdoc */ - remove() { - const parent = this.up(); + XMLBuilderImpl.prototype.remove = function () { + var parent = this.up(); parent.node.removeChild(this.node); return parent; - } + }; /** @inheritdoc */ - att(p1, p2, p3) { + XMLBuilderImpl.prototype.att = function (p1, p2, p3) { + var _a, _b, _c; + var _this = this; if (util_1.isMap(p1) || util_1.isObject(p1)) { // att(obj: AttributesObject) // expand if object - util_1.forEachObject(p1, (attName, attValue) => this.att(attName, attValue), this); + util_1.forEachObject(p1, function (attName, attValue) { return _this.att(attName, attValue); }, this); return this; } // get primitive values @@ -23075,16 +26869,16 @@ class XMLBuilderImpl { p2 = util_1.getValue(p2 + ""); if (p3 !== undefined && p3 !== null) p3 = util_1.getValue(p3 + ""); - let namespace; - let name; - let value; + var namespace; + var name; + var value; if ((p1 === null || util_1.isString(p1)) && util_1.isString(p2) && (p3 === null || util_1.isString(p3))) { // att(namespace: string, name: string, value: string) - [namespace, name, value] = [p1, p2, p3]; + _a = __read([p1, p2, p3], 3), namespace = _a[0], name = _a[1], value = _a[2]; } else if (util_1.isString(p1) && (p2 == null || util_1.isString(p2))) { // ele(name: string, value: string) - [namespace, name, value] = [undefined, p1, p2]; + _b = __read([undefined, p1, p2], 3), namespace = _b[0], name = _b[1], value = _b[2]; } else { throw new Error("Attribute name and value not specified. " + this._debugInfo()); @@ -23100,16 +26894,16 @@ class XMLBuilderImpl { 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); + var ele = this.node; + _c = __read(this._extractNamespace(namespace, name, false), 2), namespace = _c[0], name = _c[1]; name = dom_1.sanitizeInput(name, this._options.invalidCharReplacement); namespace = dom_1.sanitizeInput(namespace, this._options.invalidCharReplacement); value = dom_1.sanitizeInput(value, this._options.invalidCharReplacement); - const [prefix, localName] = algorithm_1.namespace_extractQName(name); - const [elePrefix, eleLocalName] = algorithm_1.namespace_extractQName(ele.prefix ? ele.prefix + ':' + ele.localName : ele.localName); + var _d = __read(algorithm_1.namespace_extractQName(name), 2), prefix = _d[0], localName = _d[1]; + var _e = __read(algorithm_1.namespace_extractQName(ele.prefix ? ele.prefix + ':' + ele.localName : ele.localName), 1), elePrefix = _e[0]; // check if this is a namespace declaration attribute // assign a new element namespace if it wasn't previously assigned - let eleNamespace = null; + var eleNamespace = null; if (prefix === "xmlns") { namespace = infra_1.namespace.XMLNS; if (ele.namespaceURI === null && elePrefix === localName) { @@ -23123,21 +26917,8 @@ class XMLBuilderImpl { // re-create the element node if its namespace changed // we can't simply change the namespaceURI since its read-only if (eleNamespace !== null) { - const newEle = algorithm_1.create_element(this._doc, eleLocalName, eleNamespace, elePrefix); - for (const attr of ele.attributes) { - newEle.setAttributeNodeNS(attr.cloneNode()); - } - for (const childNode of ele.childNodes) { - newEle.appendChild(childNode.cloneNode()); - } - 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; - ele = newEle; + this._updateNamespace(eleNamespace); + ele = this.node; } if (namespace !== undefined) { ele.setAttributeNS(namespace, name, value); @@ -23146,9 +26927,10 @@ class XMLBuilderImpl { ele.setAttribute(name, value); } return this; - } + }; /** @inheritdoc */ - removeAtt(p1, p2) { + XMLBuilderImpl.prototype.removeAtt = function (p1, p2) { + var _this = this; if (!util_2.Guard.isElementNode(this.node)) { throw new Error("An attribute can only be removed from an element node."); } @@ -23157,8 +26939,8 @@ class XMLBuilderImpl { if (p2 !== undefined) { p2 = util_1.getValue(p2); } - let namespace; - let name; + var namespace; + var name; if (p1 !== null && p2 === undefined) { name = p1; } @@ -23172,7 +26954,9 @@ class XMLBuilderImpl { if (util_1.isArray(name) || util_1.isSet(name)) { // removeAtt(names: string[]) // removeAtt(namespace: string, names: string[]) - util_1.forEachArray(name, attName => namespace === undefined ? this.removeAtt(attName) : this.removeAtt(namespace, attName), this); + util_1.forEachArray(name, function (attName) { + return namespace === undefined ? _this.removeAtt(attName) : _this.removeAtt(namespace, attName); + }, this); } else if (namespace !== undefined) { // removeAtt(namespace: string, name: string) @@ -23186,63 +26970,65 @@ class XMLBuilderImpl { this.node.removeAttribute(name); } return this; - } + }; /** @inheritdoc */ - txt(content) { - const child = this._doc.createTextNode(dom_1.sanitizeInput(content, this._options.invalidCharReplacement)); + XMLBuilderImpl.prototype.txt = function (content) { + var child = this._doc.createTextNode(dom_1.sanitizeInput(content, this._options.invalidCharReplacement)); this.node.appendChild(child); return this; - } + }; /** @inheritdoc */ - com(content) { - const child = this._doc.createComment(dom_1.sanitizeInput(content, this._options.invalidCharReplacement)); + XMLBuilderImpl.prototype.com = function (content) { + var child = this._doc.createComment(dom_1.sanitizeInput(content, this._options.invalidCharReplacement)); this.node.appendChild(child); return this; - } + }; /** @inheritdoc */ - dat(content) { - const child = this._doc.createCDATASection(dom_1.sanitizeInput(content, this._options.invalidCharReplacement)); + XMLBuilderImpl.prototype.dat = function (content) { + var child = this._doc.createCDATASection(dom_1.sanitizeInput(content, this._options.invalidCharReplacement)); this.node.appendChild(child); return this; - } + }; /** @inheritdoc */ - ins(target, content = '') { + XMLBuilderImpl.prototype.ins = function (target, content) { + var _this = this; + if (content === void 0) { content = ''; } if (util_1.isArray(target) || util_1.isSet(target)) { - util_1.forEachArray(target, item => { + util_1.forEachArray(target, function (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); + var insIndex = item.indexOf(' '); + var insTarget = (insIndex === -1 ? item : item.substr(0, insIndex)); + var insValue = (insIndex === -1 ? '' : item.substr(insIndex + 1)); + _this.ins(insTarget, insValue); }, this); } else if (util_1.isMap(target) || util_1.isObject(target)) { - util_1.forEachObject(target, (insTarget, insValue) => this.ins(insTarget, insValue), this); + util_1.forEachObject(target, function (insTarget, insValue) { return _this.ins(insTarget, insValue); }, this); } else { - const child = this._doc.createProcessingInstruction(dom_1.sanitizeInput(target, this._options.invalidCharReplacement), dom_1.sanitizeInput(content, this._options.invalidCharReplacement)); + var child = this._doc.createProcessingInstruction(dom_1.sanitizeInput(target, this._options.invalidCharReplacement), dom_1.sanitizeInput(content, this._options.invalidCharReplacement)); this.node.appendChild(child); } return this; - } + }; /** @inheritdoc */ - dec(options) { + XMLBuilderImpl.prototype.dec = function (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 = dom_1.sanitizeInput((options && options.name) || (this._doc.documentElement ? this._doc.documentElement.tagName : "ROOT"), this._options.invalidCharReplacement); - const pubID = dom_1.sanitizeInput((options && options.pubID) || "", this._options.invalidCharReplacement); - const sysID = dom_1.sanitizeInput((options && options.sysID) || "", this._options.invalidCharReplacement); + XMLBuilderImpl.prototype.dtd = function (options) { + var name = dom_1.sanitizeInput((options && options.name) || (this._doc.documentElement ? this._doc.documentElement.tagName : "ROOT"), this._options.invalidCharReplacement); + var pubID = dom_1.sanitizeInput((options && options.pubID) || "", this._options.invalidCharReplacement); + var sysID = 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); + var docType = this._doc.implementation.createDocumentType(name, pubID, sysID); if (this._doc.doctype !== null) { // replace existing doctype this._doc.replaceChild(docType, this._doc.doctype); @@ -23252,197 +27038,242 @@ class XMLBuilderImpl { this._doc.insertBefore(docType, this._doc.documentElement); } return this; - } + }; /** @inheritdoc */ - import(node) { - const hostNode = this._domNode; - const hostDoc = this._doc; - const importedNode = node.node; + XMLBuilderImpl.prototype.import = function (node) { + var e_1, _a; + var hostNode = this._domNode; + var hostDoc = this._doc; + var importedNode = node.node; if (util_2.Guard.isDocumentNode(importedNode)) { // import document node - const elementNode = importedNode.documentElement; + var elementNode = importedNode.documentElement; if (elementNode === null) { throw new Error("Imported document has no document element node. " + this._debugInfo()); } - const clone = hostDoc.importNode(elementNode, true); + var clone = hostDoc.importNode(elementNode, true); hostNode.appendChild(clone); + var _b = __read(algorithm_1.namespace_extractQName(clone.prefix ? clone.prefix + ':' + clone.localName : clone.localName), 1), prefix = _b[0]; + var namespace = hostNode.lookupNamespaceURI(prefix); + new XMLBuilderImpl(clone)._updateNamespace(namespace); } 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); + try { + // import child nodes + for (var _c = __values(importedNode.childNodes), _d = _c.next(); !_d.done; _d = _c.next()) { + var childNode = _d.value; + var clone = hostDoc.importNode(childNode, true); + hostNode.appendChild(clone); + if (util_2.Guard.isElementNode(clone)) { + var _e = __read(algorithm_1.namespace_extractQName(clone.prefix ? clone.prefix + ':' + clone.localName : clone.localName), 1), prefix = _e[0]; + var namespace = hostNode.lookupNamespaceURI(prefix); + new XMLBuilderImpl(clone)._updateNamespace(namespace); + } + } + } + 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 { // import node - const clone = hostDoc.importNode(importedNode, true); + var clone = hostDoc.importNode(importedNode, true); hostNode.appendChild(clone); + if (util_2.Guard.isElementNode(clone)) { + var _f = __read(algorithm_1.namespace_extractQName(clone.prefix ? clone.prefix + ':' + clone.localName : clone.localName), 1), prefix = _f[0]; + var namespace = hostNode.lookupNamespaceURI(prefix); + new XMLBuilderImpl(clone)._updateNamespace(namespace); + } } return this; - } + }; /** @inheritdoc */ - doc() { + XMLBuilderImpl.prototype.doc = function () { if (this._doc._isFragment) { - let node = this.node; + var 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."); + 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; + XMLBuilderImpl.prototype.root = function () { + var 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; + XMLBuilderImpl.prototype.up = function () { + var 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; + XMLBuilderImpl.prototype.prev = function () { + var 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; + XMLBuilderImpl.prototype.next = function () { + var 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; + XMLBuilderImpl.prototype.first = function () { + var 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; + XMLBuilderImpl.prototype.last = function () { + var 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); + XMLBuilderImpl.prototype.each = function (callback, self, recursive, thisArg) { + if (self === void 0) { self = false; } + if (recursive === void 0) { recursive = false; } + var result = this._getFirstDescendantNode(this._domNode, self, recursive); while (result[0]) { + var nextResult = this._getNextDescendantNode(this._domNode, result[0], recursive, result[1], result[2]); callback.call(thisArg, new XMLBuilderImpl(result[0]), result[1], result[2]); - result = this._getNextDescendantNode(this._domNode, result[0], recursive, 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); + XMLBuilderImpl.prototype.map = function (callback, self, recursive, thisArg) { + if (self === void 0) { self = false; } + if (recursive === void 0) { recursive = false; } + var result = []; + this.each(function (node, index, level) { + return 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); + XMLBuilderImpl.prototype.reduce = function (callback, initialValue, self, recursive, thisArg) { + if (self === void 0) { self = false; } + if (recursive === void 0) { recursive = false; } + var value = initialValue; + this.each(function (node, index, level) { + return 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); + XMLBuilderImpl.prototype.find = function (predicate, self, recursive, thisArg) { + if (self === void 0) { self = false; } + if (recursive === void 0) { recursive = false; } + var result = this._getFirstDescendantNode(this._domNode, self, recursive); while (result[0]) { - const builder = new XMLBuilderImpl(result[0]); + var 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) => { + XMLBuilderImpl.prototype.filter = function (predicate, self, recursive, thisArg) { + if (self === void 0) { self = false; } + if (recursive === void 0) { recursive = false; } + var result = []; + this.each(function (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); + XMLBuilderImpl.prototype.every = function (predicate, self, recursive, thisArg) { + if (self === void 0) { self = false; } + if (recursive === void 0) { recursive = false; } + var result = this._getFirstDescendantNode(this._domNode, self, recursive); while (result[0]) { - const builder = new XMLBuilderImpl(result[0]); + var 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); + XMLBuilderImpl.prototype.some = function (predicate, self, recursive, thisArg) { + if (self === void 0) { self = false; } + if (recursive === void 0) { recursive = false; } + var result = this._getFirstDescendantNode(this._domNode, self, recursive); while (result[0]) { - const builder = new XMLBuilderImpl(result[0]); + var 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); + XMLBuilderImpl.prototype.toArray = function (self, recursive) { + if (self === void 0) { self = false; } + if (recursive === void 0) { recursive = false; } + var result = []; + this.each(function (node) { return result.push(node); }, self, recursive); return result; - } + }; /** @inheritdoc */ - toString(writerOptions) { + XMLBuilderImpl.prototype.toString = function (writerOptions) { writerOptions = writerOptions || {}; if (writerOptions.format === undefined) { writerOptions.format = "xml"; } return this._serialize(writerOptions); - } + }; /** @inheritdoc */ - toObject(writerOptions) { + XMLBuilderImpl.prototype.toObject = function (writerOptions) { writerOptions = writerOptions || {}; if (writerOptions.format === undefined) { writerOptions.format = "object"; } return this._serialize(writerOptions); - } + }; /** @inheritdoc */ - end(writerOptions) { + XMLBuilderImpl.prototype.end = function (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 @@ -23453,14 +27284,14 @@ class XMLBuilderImpl { * @param recursive - whether to visit all descendant nodes in tree-order or * only the immediate child nodes */ - _getFirstDescendantNode(root, self, recursive) { + XMLBuilderImpl.prototype._getFirstDescendantNode = function (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 @@ -23473,7 +27304,7 @@ class XMLBuilderImpl { * @param index - child node index * @param level - current depth of the XML tree */ - _getNextDescendantNode(root, node, recursive, index, level) { + XMLBuilderImpl.prototype._getNextDescendantNode = function (root, node, recursive, index, level) { if (recursive) { // traverse child nodes if (node.firstChild) @@ -23484,7 +27315,7 @@ class XMLBuilderImpl { if (node.nextSibling) return [node.nextSibling, index + 1, level]; // traverse parent's next sibling - let parent = node.parentNode; + var parent = node.parentNode; while (parent && parent !== root) { if (parent.nextSibling) return [parent.nextSibling, algorithm_1.tree_index(parent.nextSibling), level - 1]; @@ -23499,57 +27330,48 @@ class XMLBuilderImpl { 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) { + XMLBuilderImpl.prototype._serialize = function (writerOptions) { if (writerOptions.format === "xml") { - const writer = new writers_1.XMLWriter(this._options); - return writer.serialize(this.node, writerOptions); + var 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); - return writer.serialize(this.node, writerOptions); + var 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); - return writer.serialize(this.node, writerOptions); + var 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); - return writer.serialize(this.node, writerOptions); + var writer = new writers_1.JSONWriter(this._options, writerOptions); + return writer.serialize(this.node); + } + else if (writerOptions.format === "yaml") { + var writer = new writers_1.YAMLWriter(this._options, writerOptions); + return writer.serialize(this.node); } else { throw new Error("Invalid writer format: " + writerOptions.format + ". " + this._debugInfo()); } - } - /** - * Creates a dummy element node without adding it to the list of child nodes. - * - * Dummy nodes are special nodes representing a node with a `null` value. - * Dummy nodes are created while recursively building the XML tree. Simply - * skipping `null` values doesn't work because that would break the recursive - * chain. - * - * @returns the new dummy element node - */ - _dummy() { - return new XMLBuilderImpl(this._doc.createElement('dummy_node')); - } + }; /** * 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 + * `'@'` character * @param ele - `true` if this is an element namespace; otherwise `false` */ - _extractNamespace(namespace, name, ele) { + XMLBuilderImpl.prototype._extractNamespace = function (namespace, name, ele) { // extract from name - const atIndex = name.indexOf("@"); + var atIndex = name.indexOf("@"); if (atIndex > 0) { if (namespace === undefined) namespace = name.slice(atIndex + 1); @@ -23561,63 +27383,139 @@ class XMLBuilderImpl { } else if (namespace !== null && namespace[0] === "@") { // look-up namespace aliases - const alias = namespace.slice(1); + 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]; - } + }; /** - * Returns the document owning this node. + * Updates the element's namespace. + * + * @param ns - new namespace */ - get _doc() { - const node = this.node; - if (util_2.Guard.isDocumentNode(node)) { - return node; - } - else { - const docNode = node.ownerDocument; + 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 (!docNode) - throw new Error("Owner document is null. " + this._debugInfo()); - return docNode; + 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 */ - _debugInfo(name) { - const node = this.node; - const parentNode = node.parentNode; + XMLBuilderImpl.prototype._debugInfo = function (name) { + var node = this.node; + var parentNode = node.parentNode; name = name || node.nodeName; - const parentName = parentNode ? parentNode.nodeName : ''; + var 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; - } -} + }; + 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 @@ -23628,32 +27526,58 @@ exports.XMLBuilderImpl = XMLBuilderImpl; "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 }); -const DOMException_1 = __webpack_require__(35); -const util_1 = __webpack_require__(918); -const algorithm_1 = __webpack_require__(163); +var DOMException_1 = __webpack_require__(35); +var util_1 = __webpack_require__(918); +var algorithm_1 = __webpack_require__(163); /** * Represents a target to which an event can be dispatched. */ -class EventTargetImpl { +var EventTargetImpl = /** @class */ (function () { /** * Initializes a new instance of `EventTarget`. */ - constructor() { } - get _eventListenerList() { - return this.__eventListenerList || (this.__eventListenerList = []); - } - get _eventHandlerMap() { - return this.__eventHandlerMap || (this.__eventHandlerMap = {}); + 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] = 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; } @@ -23676,9 +27600,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 @@ -23686,10 +27610,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 = algorithm_1.eventTarget_flatten(options); + var capture = algorithm_1.eventTarget_flatten(options); if (!callback) return; /** @@ -23697,8 +27622,8 @@ 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) { @@ -23710,9 +27635,9 @@ class EventTargetImpl { 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. @@ -23724,12 +27649,13 @@ class EventTargetImpl { } event._isTrusted = false; 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 @@ -23742,19 +27668,29 @@ module.exports = require("http"); /***/ }), -/***/ 609: -/***/ (function(__unusedmodule, exports) { +/***/ 611: +/***/ (function(module, __unusedexports, __webpack_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 = __webpack_require__(733); + + +module.exports = new Schema({ + include: [ + __webpack_require__(720) + ] +}); -Object.defineProperty(exports, "__esModule", { value: true }); -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/"; -exports.MathML = "http://www.w3.org/1998/Math/MathML"; -exports.SVG = "http://www.w3.org/2000/svg"; -exports.XLink = "http://www.w3.org/1999/xlink"; -//# sourceMappingURL=Namespace.js.map /***/ }), @@ -23770,25 +27706,44 @@ module.exports = require("events"); "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 }); -const interfaces_1 = __webpack_require__(970); -const CharacterDataImpl_1 = __webpack_require__(43); -const WebIDLAlgorithm_1 = __webpack_require__(495); +var interfaces_1 = __webpack_require__(970); +var CharacterDataImpl_1 = __webpack_require__(43); +var WebIDLAlgorithm_1 = __webpack_require__(495); /** * Represents a processing instruction node. */ -class ProcessingInstructionImpl extends CharacterDataImpl_1.CharacterDataImpl { +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`. * @@ -23796,12 +27751,13 @@ 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 @@ -23853,7 +27809,8 @@ exports.DefaultBuilderOptions = { svg: "http://www.w3.org/2000/svg", xlink: "http://www.w3.org/1999/xlink" }, - invalidCharReplacement: undefined + invalidCharReplacement: undefined, + parser: undefined }; /** * Contains keys of `XMLBuilderOptions`. @@ -23897,6 +27854,74 @@ exports.DefaultXMLBuilderCBOptions = { }; //# sourceMappingURL=interfaces.js.map +/***/ }), + +/***/ 629: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var Type = __webpack_require__(945); + +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 +}); + + /***/ }), /***/ 631: @@ -23904,6 +27929,26 @@ exports.DefaultXMLBuilderCBOptions = { module.exports = require("net"); +/***/ }), + +/***/ 633: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var Type = __webpack_require__(945); + +function resolveYamlMerge(data) { + return data === '<<' || data === null; +} + +module.exports = new Type('tag:yaml.org,2002:merge', { + kind: 'scalar', + resolve: resolveYamlMerge +}); + + /***/ }), /***/ 636: @@ -23911,36 +27956,51 @@ module.exports = require("net"); "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 }); -const _1 = __webpack_require__(113); -const util_1 = __webpack_require__(337); -const algorithm_1 = __webpack_require__(163); +var DOMImpl_1 = __webpack_require__(648); +var util_1 = __webpack_require__(592); +var algorithm_1 = __webpack_require__(163); /** * Represents an ordered set of nodes. */ -class NodeListImpl { +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 @@ -23949,8 +28009,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++; @@ -23958,20 +28018,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) { @@ -23982,31 +28043,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 }; } @@ -24015,48 +28078,59 @@ 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 = _1.dom.window; + 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) { + 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) { + 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) { @@ -24066,16 +28140,17 @@ class NodeListImpl { 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 @@ -24087,36 +28162,39 @@ exports.NodeListImpl = NodeListImpl; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const algorithm_1 = __webpack_require__(163); -const XMLParserImpl_1 = __webpack_require__(468); +var algorithm_1 = __webpack_require__(163); +var XMLParserImpl_1 = __webpack_require__(468); /** * 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 = 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 @@ -24127,31 +28205,50 @@ exports.DOMParserImpl = DOMParserImpl; "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 }); -const interfaces_1 = __webpack_require__(970); -const TraverserImpl_1 = __webpack_require__(487); -const algorithm_1 = __webpack_require__(163); +var interfaces_1 = __webpack_require__(970); +var TraverserImpl_1 = __webpack_require__(487); +var algorithm_1 = __webpack_require__(163); /** * Represents the nodes of a subtree and a position within them. */ -class TreeWalkerImpl extends TraverserImpl_1.TraverserImpl { +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. @@ -24170,44 +28267,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 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 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 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. @@ -24215,7 +28312,7 @@ class TreeWalkerImpl extends TraverserImpl_1.TraverserImpl { * object. */ node = sibling; - let result = 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: */ @@ -24266,24 +28363,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 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: @@ -24308,8 +28405,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. @@ -24342,17 +28439,18 @@ class TreeWalkerImpl extends TraverserImpl_1.TraverserImpl { 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 @@ -24364,16 +28462,16 @@ exports.TreeWalkerImpl = TreeWalkerImpl; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = __webpack_require__(337); -const algorithm_1 = __webpack_require__(163); +var util_1 = __webpack_require__(592); +var CreateAlgorithm_1 = __webpack_require__(86); /** * Represents an object implementing DOM algorithms. */ -class DOMImpl { +var DOMImpl = /** @class */ (function () { /** * Initializes a new instance of `DOM`. */ - constructor() { + function DOMImpl() { this._features = { mutationObservers: true, customElements: true, @@ -24390,52 +28488,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 (util_1.isObject(features)) { - for (const key in 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 = algorithm_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. */ @@ -24449,8 +28568,66 @@ exports.dom = DOMImpl.instance; "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 }); -const util_1 = __webpack_require__(68); +var util_1 = __webpack_require__(592); /** * Adds the given item to the end of the list. * @@ -24468,7 +28645,7 @@ exports.append = append; * @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; /** @@ -24490,18 +28667,29 @@ exports.prepend = prepend; * @param item - an item */ function replace(list, conditionOrItem, newItem) { - let i = 0; - for (const oldItem of list) { - if (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; @@ -24523,9 +28711,9 @@ exports.insert = insert; * to remove */ function remove(list, conditionOrItem) { - let i = list.length; + var i = list.length; while (i--) { - const oldItem = list[i]; + var oldItem = list[i]; if (util_1.isFunction(conditionOrItem)) { if (!!conditionOrItem.call(null, oldItem)) { list.splice(i, 1); @@ -24553,15 +28741,26 @@ exports.empty = empty; * @param conditionOrItem - an item to a condition to match */ function contains(list, conditionOrItem) { - for (const oldItem of list) { - if (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; } @@ -24573,16 +28772,27 @@ exports.contains = contains; * @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; } } @@ -24602,17 +28812,46 @@ exports.isEmpty = isEmpty; * @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; /** @@ -24621,7 +28860,7 @@ exports.forEach = forEach; * @param list - a list */ function clone(list) { - return new Array(...list); + return new (Array.bind.apply(Array, __spread([void 0], list)))(); } exports.clone = clone; /** @@ -24633,7 +28872,9 @@ exports.clone = clone; * 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; /** @@ -24645,7 +28886,9 @@ exports.sortInAscendingOrder = sortInAscendingOrder; * 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 @@ -24657,19 +28900,34 @@ exports.sortInDescendingOrder = sortInDescendingOrder; "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 }); -const DocumentImpl_1 = __webpack_require__(488); +var DocumentImpl_1 = __webpack_require__(488); /** * 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 @@ -24681,9 +28939,9 @@ exports.XMLDocumentImpl = XMLDocumentImpl; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const DOMException_1 = __webpack_require__(35); -const infra_1 = __webpack_require__(23); -const XMLAlgorithm_1 = __webpack_require__(442); +var DOMException_1 = __webpack_require__(35); +var infra_1 = __webpack_require__(23); +var XMLAlgorithm_1 = __webpack_require__(442); /** * Validates the given qualified name. * @@ -24696,9 +28954,9 @@ function namespace_validate(qualifiedName) { * production. */ if (!XMLAlgorithm_1.xml_isName(qualifiedName)) - throw new DOMException_1.InvalidCharacterError(`Invalid XML name: ${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}.`); + throw new DOMException_1.InvalidCharacterError("Invalid XML qualified name: " + qualifiedName + "."); } exports.namespace_validate = namespace_validate; /** @@ -24732,19 +28990,19 @@ 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; @@ -24757,9 +29015,9 @@ exports.namespace_validateAndExtract = namespace_validateAndExtract; */ 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; @@ -24767,429 +29025,6 @@ exports.namespace_extractQName = namespace_extractQName; /***/ }), -/***/ 665: -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const CodePoints_1 = __webpack_require__(780); -const ByteSequence_1 = __webpack_require__(425); -const Byte_1 = __webpack_require__(15); -const util_1 = __webpack_require__(42); -/** - * Determines if the string `a` is a code unit prefix of string `b`. - * - * @param a - a string - * @param b - a string - */ -function isCodeUnitPrefix(a, b) { - /** - * 1. Let i be 0. - * 2. While true: - * 2.1. Let aCodeUnit be the ith code unit of a if i is less than a’s length; - * otherwise null. - * 2.2. Let bCodeUnit be the ith code unit of b if i is less than b’s length; - * otherwise null. - * 2.3. If bCodeUnit is null, then return true. - * 2.4. Return false if aCodeUnit is different from bCodeUnit. - * 2.5. Set i to i + 1. - */ - let i = 0; - while (true) { - const aCodeUnit = i < a.length ? a.charCodeAt(i) : null; - const bCodeUnit = i < b.length ? b.charCodeAt(i) : null; - if (aCodeUnit === null) - return true; - if (aCodeUnit !== bCodeUnit) - return false; - i++; - } -} -exports.isCodeUnitPrefix = isCodeUnitPrefix; -/** - * Determines if the string `a` is a code unit less than string `b`. - * - * @param a - a string - * @param b - a string - */ -function isCodeUnitLessThan(a, b) { - /** - * 1. If b is a code unit prefix of a, then return false. - * 2. If a is a code unit prefix of b, then return true. - * 3. Let n be the smallest index such that the nth code unit of a is - * different from the nth code unit of b. (There has to be such an index, - * since neither string is a prefix of the other.) - * 4. If the nth code unit of a is less than the nth code unit of b, then - * return true. - * 5. Return false. - */ - if (isCodeUnitPrefix(b, a)) - 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); - if (aCodeUnit === bCodeUnit) - continue; - return (aCodeUnit < bCodeUnit); - } - /* istanbul ignore next */ - return false; -} -exports.isCodeUnitLessThan = isCodeUnitLessThan; -/** - * Isomorphic encodes the given string. - * - * @param str - a string - */ -function isomorphicEncode(str) { - /** - * 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; - } - } - return bytes; -} -exports.isomorphicEncode = isomorphicEncode; -/** - * Determines if the given string is An ASCII string. - * - * @param str - a string - */ -function isASCIIString(str) { - /** - * An ASCII string is a string whose code points are all ASCII code points. - */ - return /^[\u0000-\u007F]*$/.test(str); -} -exports.isASCIIString = isASCIIString; -/** - * Converts all uppercase ASCII code points to lowercase. - * - * @param str - a string - */ -function asciiLowercase(str) { - /** - * 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); - } - else { - result += c; - } - } - return result; -} -exports.asciiLowercase = asciiLowercase; -/** - * Converts all uppercase ASCII code points to uppercase. - * - * @param str - a string - */ -function asciiUppercase(str) { - /** - * 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); - } - else { - result += c; - } - } - return result; -} -exports.asciiUppercase = asciiUppercase; -/** - * Compares two ASCII strings case-insensitively. - * - * @param a - a string - * @param b - a string - */ -function asciiCaseInsensitiveMatch(a, b) { - /** - * A string A is an ASCII case-insensitive match for a string B, if the ASCII - * lowercase of A is the ASCII lowercase of B. - */ - return asciiLowercase(a) === asciiLowercase(b); -} -exports.asciiCaseInsensitiveMatch = asciiCaseInsensitiveMatch; -/** - * ASCII encodes a string. - * - * @param str - a string - */ -function asciiEncode(str) { - /** - * 1. Assert: input is an ASCII string. - * 2. Return the isomorphic encoding of input. - */ - 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(Byte_1.isASCIIByte(byte), "asciiDecode requires an ASCII byte sequence."); - } - return ByteSequence_1.isomorphicDecode(bytes); -} -exports.asciiDecode = asciiDecode; -/** - * Strips newline characters from a string. - * - * @param str - a string - */ -function stripNewlines(str) { - /** - * To strip newlines from a string, remove any U+000A LF and U+000D CR code - * points from the string. - */ - 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 - * into a single newline. - * - * @param str - a string - */ -function normalizeNewlines(str) { - /** - * To normalize newlines in a string, replace every U+000D CR U+000A LF code - * point pair with a single U+000A LF code point, and then replace every - * remaining U+000D CR code point with a U+000A LF code point. - */ - return str.replace(/\r\n/g, "\n").replace(/\r/g, "\n"); -} -exports.normalizeNewlines = normalizeNewlines; -/** - * Removes leading and trailing whitespace characters from a string. - * - * @param str - a string - */ -function stripLeadingAndTrailingASCIIWhitespace(str) { - /** - * To strip leading and trailing ASCII whitespace from a string, remove all - * ASCII whitespace that are at the start or the end of the string. - */ - return str.replace(/^[\t\n\f\r ]+/, "").replace(/[\t\n\f\r ]+$/, ""); -} -exports.stripLeadingAndTrailingASCIIWhitespace = stripLeadingAndTrailingASCIIWhitespace; -/** - * Removes consecutive newline characters from a string. - * - * @param str - a string - */ -function stripAndCollapseASCIIWhitespace(str) { - /** - * To strip and collapse ASCII whitespace in a string, replace any sequence of - * one or more consecutive code points that are ASCII whitespace in the string - * with a single U+0020 SPACE code point, and then remove any leading and - * trailing ASCII whitespace from that string. - */ - 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. - * - * @param condition - a condition to match - * @param input - a string - * @param options - starting position - */ -function collectASequenceOfCodePoints(condition, input, options) { - /** - * 1. Let result be the empty string. - * 2. While position doesn’t point past the end of input and the code point at - * position within input meets the condition condition: - * 2.1. Append that code point to the end of result. - * 2.2. Advance position by 1. - * 3. Return result. - */ - if (!util_1.isArray(input)) - return collectASequenceOfCodePoints(condition, Array.from(input), options); - let 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. - * - * @param input - input string - * @param options - starting position - */ -function skipASCIIWhitespace(input, options) { - /** - * To skip ASCII whitespace within a string input given a position variable - * position, collect a sequence of code points that are ASCII whitespace from - * input given position. The collected code points are not used, but position - * is still updated. - */ - collectASequenceOfCodePoints(str => CodePoints_1.ASCIIWhiteSpace.test(str), input, options); -} -exports.skipASCIIWhitespace = skipASCIIWhitespace; -/** - * Solits a string at the given delimiter. - * - * @param input - input string - * @param delimiter - a delimiter string - */ -function strictlySplit(input, delimiter) { - /** - * 1. Let position be a position variable for input, initially pointing at the - * start of input. - * 2. Let tokens be a list of strings, initially empty. - * 3. Let token be the result of collecting a sequence of code points that are - * not equal to delimiter from input, given position. - * 4. Append token to tokens. - * 5. While position is not past the end of input: - * 5.1. Assert: the code point at position within input is delimiter. - * 5.2. Advance position by 1. - * 5.3. Let token be the result of collecting a sequence of code points that - * are not equal to delimiter from input, given position. - * 5.4. Append token to tokens. - * 6. Return tokens. - */ - 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); - 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); - tokens.push(token); - } - return tokens; -} -exports.strictlySplit = strictlySplit; -/** - * Splits a string on ASCII whitespace. - * - * @param input - a string - */ -function splitAStringOnASCIIWhitespace(input) { - /** - * 1. Let position be a position variable for input, initially pointing at the - * start of input. - * 2. Let tokens be a list of strings, initially empty. - * 3. Skip ASCII whitespace within input given position. - * 4. While position is not past the end of input: - * 4.1. Let token be the result of collecting a sequence of code points that - * are not ASCII whitespace from input, given position. - * 4.2. Append token to tokens. - * 4.3. Skip ASCII whitespace within input given position. - * 5. Return tokens. - */ - if (!util_1.isArray(input)) - return splitAStringOnASCIIWhitespace(Array.from(input)); - const options = { position: 0 }; - const tokens = []; - skipASCIIWhitespace(input, options); - while (options.position < input.length) { - const token = collectASequenceOfCodePoints(str => !CodePoints_1.ASCIIWhiteSpace.test(str), input, options); - tokens.push(token); - skipASCIIWhitespace(input, options); - } - return tokens; -} -exports.splitAStringOnASCIIWhitespace = splitAStringOnASCIIWhitespace; -/** - * Splits a string on commas. - * - * @param input - a string - */ -function splitAStringOnCommas(input) { - /** - * 1. Let position be a position variable for input, initially pointing at the - * start of input. - * 2. Let tokens be a list of strings, initially empty. - * 3. While position is not past the end of input: - * 3.1. Let token be the result of collecting a sequence of code points that - * are not U+002C (,) from input, given position. - * 3.2. Strip leading and trailing ASCII whitespace from token. - * 3.3. Append token to tokens. - * 3.4. If position is not past the end of input, then: - * 3.4.1. Assert: the code point at position within input is U+002C (,). - * 3.4.2. Advance position by 1. - * 4. Return tokens. - */ - if (!util_1.isArray(input)) - return splitAStringOnCommas(Array.from(input)); - const options = { position: 0 }; - const tokens = []; - while (options.position < input.length) { - const token = collectASequenceOfCodePoints(str => str !== ',', input, options); - tokens.push(stripLeadingAndTrailingASCIIWhitespace(token)); - if (options.position < input.length) { - console.assert(input[options.position] === ',', "splitAStringOnCommas found no delimiter in input string."); - options.position++; - } - } - 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 = "") { - /** - * 1. If list is empty, then return the empty string. - * 2. If separator is not given, then set separator to the empty string. - * 3. Return a string whose contents are list’s items, in order, separated - * from each other by separator. - */ - if (list.length === 0) - return ""; - return list.join(separator); -} -exports.concatenate = concatenate; -//# sourceMappingURL=String.js.map - -/***/ }), - /***/ 669: /***/ (function(module) { @@ -25397,6 +29232,864 @@ function isUnixExecutable(stats) { } //# sourceMappingURL=io-util.js.map +/***/ }), + +/***/ 685: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +/*eslint-disable no-use-before-define*/ + +var common = __webpack_require__(740); +var YAMLException = __webpack_require__(556); +var DEFAULT_FULL_SCHEMA = __webpack_require__(910); +var DEFAULT_SAFE_SCHEMA = __webpack_require__(723); + +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; + + /***/ }), /***/ 686: @@ -25417,19 +30110,33 @@ exports.XMLSerializer = XMLSerializerImpl_1.XMLSerializerImpl; "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 }); -const AbstractRangeImpl_1 = __webpack_require__(537); -const DOMException_1 = __webpack_require__(35); -const util_1 = __webpack_require__(918); +var AbstractRangeImpl_1 = __webpack_require__(537); +var DOMException_1 = __webpack_require__(35); +var util_1 = __webpack_require__(918); /** * Represents a static range. */ -class StaticRangeImpl extends AbstractRangeImpl_1.AbstractRangeImpl { +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. @@ -25442,317 +30149,24 @@ 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 /***/ }), -/***/ 693: -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = __webpack_require__(42); -/** - * Adds the given item to the end of the set. - * - * @param set - a set - * @param item - an item - */ -function append(set, item) { - set.add(item); -} -exports.append = append; -/** - * Extends a set by appending all items from another set. - * - * @param setA - a list to extend - * @param setB - a list containing items to append to `setA` - */ -function extend(setA, setB) { - setB.forEach(setA.add, setA); -} -exports.extend = extend; -/** - * Inserts the given item to the start of the set. - * - * @param set - a set - * @param item - an item - */ -function prepend(set, item) { - const 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. - * - * @param set - a set - * @param conditionOrItem - an item to replace or a condition matching items - * to replace - * @param item - an item - */ -function replace(set, conditionOrItem, newItem) { - const newSet = new Set(); - for (const oldItem of set) { - 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); - } - } - set.clear(); - newSet.forEach(set.add, set); -} -exports.replace = replace; -/** - * Inserts the given item before the given index. - * - * @param set - a set - * @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++; - } - set.clear(); - newSet.forEach(set.add, set); -} -exports.insert = insert; -/** - * Removes the given item or all items matching condition. - * - * @param set - a set - * @param conditionOrItem - an item to remove or a condition matching items - * to remove - */ -function remove(set, conditionOrItem) { - if (!util_1.isFunction(conditionOrItem)) { - set.delete(conditionOrItem); - } - else { - const toRemove = []; - for (const item of set) { - if (!!conditionOrItem.call(null, item)) { - toRemove.push(item); - } - } - for (const oldItem of toRemove) { - set.delete(oldItem); - } - } -} -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. - * - * @param set - a set - * @param conditionOrItem - an item to a condition to match - */ -function contains(set, conditionOrItem) { - if (!util_1.isFunction(conditionOrItem)) { - return set.has(conditionOrItem); - } - else { - for (const oldItem of set) { - if (!!conditionOrItem.call(null, oldItem)) { - return true; - } - } - } - return false; -} -exports.contains = contains; -/** - * Returns the count of items in the set matching the given condition. - * - * @param set - a set - * @param condition - an optional condition to match - */ -function size(set, condition) { - if (condition === undefined) { - return set.size; - } - else { - let count = 0; - for (const item of set) { - if (!!condition.call(null, item)) { - count++; - } - } - return count; - } -} -exports.size = size; -/** - * Determines if the set is empty. - * - * @param set - a set - */ -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; - } - } - } -} -exports.forEach = forEach; -/** - * Creates and returns a shallow clone of set. - * - * @param set - a set - */ -function clone(set) { - return new Set(set); -} -exports.clone = clone; -/** - * Returns a new set containing items from the set sorted in ascending - * order. - * - * @param set - a set - * @param lessThanAlgo - a function that returns `true` if its first argument - * 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); - return new Set(list); -} -exports.sortInAscendingOrder = sortInAscendingOrder; -/** - * Returns a new set containing items from the set sorted in descending - * order. - * - * @param set - a set - * @param lessThanAlgo - a function that returns `true` if its first argument - * 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); - return new Set(list); -} -exports.sortInDescendingOrder = sortInDescendingOrder; -/** - * Determines if a set is a subset of another set. - * - * @param subset - a set - * @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; - } - return true; -} -exports.isSubsetOf = isSubsetOf; -/** - * Determines if a set is a superset of another set. - * - * @param superset - a set - * @param subset - a subset possibly contained within `superset`. - */ -function isSupersetOf(superset, subset) { - return isSubsetOf(subset, superset); -} -exports.isSupersetOf = isSupersetOf; -/** - * Returns a new set with items that are contained in both sets. - * - * @param setA - a set - * @param setB - a set - */ -function intersection(setA, setB) { - const newSet = new Set(); - for (const item of setA) { - if (setB.has(item)) - newSet.add(item); - } - return newSet; -} -exports.intersection = intersection; -/** - * Returns a new set with items from both sets. - * - * @param setA - a set - * @param setB - a set - */ -function union(setA, setB) { - const newSet = new Set(setA); - setB.forEach(newSet.add, newSet); - return newSet; -} -exports.union = union; -/** - * Returns a set of integers from `n` to `m` inclusive. - * - * @param n - starting number - * @param m - ending number - */ -function range(n, m) { - const newSet = new Set(); - for (let i = n; i <= m; i++) { - newSet.add(i); - } - return newSet; -} -exports.range = range; -//# sourceMappingURL=Set.js.map - -/***/ }), - /***/ 694: /***/ (function(__unusedmodule, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.STATE_GPG_PRIVATE_KEY_FINGERPRINT = exports.INPUT_DEFAULT_GPG_PASSPHRASE = exports.INPUT_DEFAULT_GPG_PRIVATE_KEY = exports.INPUT_MAVEN_SECURITY_SETTINGS_B64 = exports.INPUT_MAVEN_SETTINGS_B64 = exports.INPUT_MAVEN_KEYSTORE_PASSWORD = exports.INPUT_MAVEN_KEYSTORE_P12_B64 = exports.INPUT_MAVEN_CA_CERT_B64 = exports.INPUT_GPG_PASSPHRASE = exports.INPUT_GPG_PRIVATE_KEY = exports.INPUT_SETTINGS_PATH = exports.INPUT_SERVER_PASSWORD = exports.INPUT_SERVER_USERNAME = exports.INPUT_SERVER_ID = exports.INPUT_JDK_FILE = exports.INPUT_JAVA_PACKAGE = exports.INPUT_ARCHITECTURE = exports.INPUT_JAVA_VERSION = exports.INPUT_VERSION = void 0; exports.INPUT_VERSION = 'version'; exports.INPUT_JAVA_VERSION = 'java-version'; exports.INPUT_ARCHITECTURE = 'architecture'; @@ -25764,6 +30178,11 @@ exports.INPUT_SERVER_PASSWORD = 'server-password'; exports.INPUT_SETTINGS_PATH = 'settings-path'; exports.INPUT_GPG_PRIVATE_KEY = 'gpg-private-key'; exports.INPUT_GPG_PASSPHRASE = 'gpg-passphrase'; +exports.INPUT_MAVEN_CA_CERT_B64 = 'maven-ca-cert-b64'; +exports.INPUT_MAVEN_KEYSTORE_P12_B64 = 'maven-keystore-p12-b64'; +exports.INPUT_MAVEN_KEYSTORE_PASSWORD = 'maven-keystore-password'; +exports.INPUT_MAVEN_SETTINGS_B64 = 'maven-settings-b64'; +exports.INPUT_MAVEN_SECURITY_SETTINGS_B64 = 'maven-security-settings-b64'; exports.INPUT_DEFAULT_GPG_PRIVATE_KEY = undefined; exports.INPUT_DEFAULT_GPG_PASSPHRASE = 'GPG_PASSPHRASE'; exports.STATE_GPG_PRIVATE_KEY_FINGERPRINT = 'gpg-private-key-fingerprint'; @@ -25776,115 +30195,204 @@ exports.STATE_GPG_PRIVATE_KEY_FINGERPRINT = 'gpg-private-key-fingerprint'; "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 }); -const interfaces_1 = __webpack_require__(970); -const NodeImpl_1 = __webpack_require__(935); -const DOMException_1 = __webpack_require__(35); -const infra_1 = __webpack_require__(23); -const algorithm_1 = __webpack_require__(163); -const WebIDLAlgorithm_1 = __webpack_require__(495); +var interfaces_1 = __webpack_require__(970); +var NodeImpl_1 = __webpack_require__(935); +var DOMException_1 = __webpack_require__(35); +var infra_1 = __webpack_require__(23); +var algorithm_1 = __webpack_require__(163); +var WebIDLAlgorithm_1 = __webpack_require__(495); /** * Represents an element node. */ -class ElementImpl extends NodeImpl_1.NodeImpl { +var ElementImpl = /** @class */ (function (_super) { + __extends(ElementImpl, _super); /** * Initializes a new instance of `Element`. */ - constructor() { - super(); - 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; + 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 algorithm_1.element_getAnAttributeValue(this, "id"); - } - set id(value) { - algorithm_1.element_setAnAttributeValue(this, "id", value); - } - /** @inheritdoc */ - get className() { - return algorithm_1.element_getAnAttributeValue(this, "class"); - } - set className(value) { - algorithm_1.element_setAnAttributeValue(this, "class", value); - } - /** @inheritdoc */ - get classList() { - let 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); - } - /** @inheritdoc */ - get slot() { - return algorithm_1.element_getAnAttributeValue(this, "slot"); - } - set slot(value) { - 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 = 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 = 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. @@ -25903,9 +30411,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; @@ -25927,38 +30435,38 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * 5. Change attribute from context object to 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] = algorithm_1.namespace_validateAndExtract(namespace, qualifiedName); + 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. */ 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. */ 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 @@ -25969,16 +30477,16 @@ 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. @@ -25997,9 +30505,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; @@ -26034,64 +30542,64 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * 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 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 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 algorithm_1.element_setAnAttribute(attr, this); - } + }; /** @inheritdoc */ - setAttributeNodeNS(attr) { + 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; @@ -26101,9 +30609,9 @@ class ElementImpl extends NodeImpl_1.NodeImpl { throw new DOMException_1.NotFoundError(); 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. @@ -26129,7 +30637,7 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * then throw a "NotSupportedError" DOMException. */ if (algorithm_1.customElement_isValidCustomElementName(this._localName) || this._is !== null) { - const definition = algorithm_1.customElement_lookUpACustomElementDefinition(this._nodeDocument, this._namespace, this._localName, this._is); + 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(); } @@ -26146,26 +30654,30 @@ class ElementImpl extends NodeImpl_1.NodeImpl { * 6. Set context object’s shadow root to shadow. * 7. Return shadow. */ - const shadow = 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] @@ -26178,9 +30690,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] @@ -26190,120 +30702,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 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 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 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 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 = algorithm_1.create_text(this._nodeDocument, data); + var text = algorithm_1.create_text(this._nodeDocument, data); algorithm_1.element_insertAdjacent(this, where, text); - } - /** - * Returns the qualified name. - */ - get _qualifiedName() { + }; + 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`. * @@ -26312,15 +30890,18 @@ 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 @@ -26330,87 +30911,62 @@ WebIDLAlgorithm_1.idl_defineConst(ElementImpl.prototype, "_nodeType", interfaces /***/ }), -/***/ 699: -/***/ (function(__unusedmodule, exports) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents a cache for storing order between equal objects. - * - * This cache is used when an algorithm compares two objects and finds them to - * be equal but still needs to establish an order between those two objects. - * When two such objects `a` and `b` are passed to the `check` method, a random - * number is generated with `Math.random()`. If the random number is less than - * `0.5` it is assumed that `a < b` otherwise `a > b`. The random number along - * with `a` and `b` is stored in the cache, so that subsequent checks result - * in the same consistent result. - * - * The cache has a size limit which is defined on initialization. - */ -class CompareCache { - /** - * 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) { - this._items = new Map(); - this._limit = limit; - } - /** - * Compares and caches the given objects. Returns `true` if `objA < objB` and - * `false` otherwise. - * - * @param objA - an item to compare - * @param objB - an item to compare - */ - check(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); - if (result) { - this._items.set(objA, objB); - } - else { - this._items.set(objB, objA); - } - if (this._items.size > this._limit) { - const it = this._items.keys().next(); - /* istanbul ignore else */ - if (!it.done) { - this._items.delete(it.value); - } - } - return result; - } -} -exports.CompareCache = CompareCache; -//# sourceMappingURL=CompareCache.js.map - -/***/ }), - /***/ 704: /***/ (function(__unusedmodule, 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 }); /** * Represents a set of objects with a size limit. */ -class FixedSizeSet { +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; } @@ -26419,80 +30975,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 @@ -26504,8 +31098,8 @@ exports.FixedSizeSet = FixedSizeSet; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const interfaces_1 = __webpack_require__(970); -const TraversalAlgorithm_1 = __webpack_require__(464); +var interfaces_1 = __webpack_require__(970); +var TraversalAlgorithm_1 = __webpack_require__(464); /** * Returns the first or last child node, or `null` if there are none. * @@ -26520,12 +31114,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 = 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 @@ -26541,7 +31135,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; @@ -26556,7 +31150,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; @@ -26566,7 +31160,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; } @@ -26595,7 +31189,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) { @@ -26604,7 +31198,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. @@ -26613,7 +31207,7 @@ function treeWalker_traverseSiblings(walker, next) { * and return node. */ node = sibling; - const result = 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; @@ -26657,8 +31251,19 @@ exports.treeWalker_traverseSiblings = treeWalker_traverseSiblings; "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 }); -const EventAlgorithm_1 = __webpack_require__(108); +var EventAlgorithm_1 = __webpack_require__(108); /** * Adds an algorithm to the given abort signal. * @@ -26695,6 +31300,7 @@ exports.abort_remove = abort_remove; * @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. @@ -26705,8 +31311,18 @@ 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(); EventAlgorithm_1.event_fireAnEvent("abort", signal); @@ -26714,6 +31330,39 @@ function abort_signalAbort(signal) { exports.abort_signalAbort = abort_signalAbort; //# sourceMappingURL=AbortAlgorithm.js.map +/***/ }), + +/***/ 720: +/***/ (function(module, __unusedexports, __webpack_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 = __webpack_require__(733); + + +module.exports = new Schema({ + include: [ + __webpack_require__(265) + ], + implicit: [ + __webpack_require__(809), + __webpack_require__(228), + __webpack_require__(44), + __webpack_require__(312) + ] +}); + + /***/ }), /***/ 722: @@ -26749,381 +31398,39 @@ module.exports = bytesToUuid; /***/ }), -/***/ 724: -/***/ (function(__unusedmodule, exports, __webpack_require__) { +/***/ 723: +/***/ (function(module, __unusedexports, __webpack_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 = __webpack_require__(733); + + +module.exports = new Schema({ + include: [ + __webpack_require__(611) + ], + implicit: [ + __webpack_require__(841), + __webpack_require__(633) + ], + explicit: [ + __webpack_require__(913), + __webpack_require__(842), + __webpack_require__(75), + __webpack_require__(100) + ] +}); -Object.defineProperty(exports, "__esModule", { value: true }); -var ObjectCache_1 = __webpack_require__(326); -exports.ObjectCache = ObjectCache_1.ObjectCache; -var CompareCache_1 = __webpack_require__(699); -exports.CompareCache = CompareCache_1.CompareCache; -var StringWalker_1 = __webpack_require__(260); -exports.StringWalker = StringWalker_1.StringWalker; -/** - * Applies the mixin to a given class. - * - * @param baseClass - class to receive the mixin - * @param mixinClass - mixin class - * @param overrides - an array with names of function overrides. Base class - * 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 => { - if (overrides.includes(name)) { - const orgPropDesc = Object.getOwnPropertyDescriptor(baseClass.prototype, name); - /* istanbul ignore else */ - if (orgPropDesc) { - Object.defineProperty(baseClass.prototype, "_" + name, orgPropDesc); - } - } - const propDesc = Object.getOwnPropertyDescriptor(mixinClass.prototype, name); - /* istanbul ignore else */ - if (propDesc) { - Object.defineProperty(baseClass.prototype, name, propDesc); - } - }); -} -exports.applyMixin = applyMixin; -/** - * Applies default values to the given object. - * - * @param obj - an object - * @param defaults - an object with default values - * @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 || {}); - for (const [key, val] of forEachObject(defaults)) { - if (isObject(val)) { - result[key] = applyDefaults(result[key], val); - } - else if (overwrite || result[key] === undefined) { - result[key] = val; - } - } - return result; -} -exports.applyDefaults = applyDefaults; -/** - * Iterates over items pairs of an array. - * - * @param arr - array to iterate - */ -function* forEachArray(arr) { - yield* arr; -} -exports.forEachArray = forEachArray; -/** - * Iterates over key/value pairs of a map or object. - * - * @param obj - map or object to iterate - */ -function* forEachObject(obj) { - if (isMap(obj)) { - yield* obj; - } - else { - for (const key in obj) { - /* istanbul ignore next */ - if (!obj.hasOwnProperty(key)) - continue; - yield [key, obj[key]]; - } - } -} -exports.forEachObject = forEachObject; -/** - * Returns the number of entries in a map or object. - * - * @param obj - map or object - */ -function objectLength(obj) { - if (isMap(obj)) { - return obj.size; - } - else { - return Object.keys(obj).length; - } -} -exports.objectLength = objectLength; -/** - * Gets the value of a key from a map or object. - * - * @param obj - map or object - * @param key - the key to retrieve - */ -function getObjectValue(obj, key) { - if (isMap(obj)) { - return obj.get(key); - } - else { - return obj[key]; - } -} -exports.getObjectValue = getObjectValue; -/** - * Removes a property from a map or object. - * - * @param obj - map or object - * @param key - the key to remove - */ -function removeObjectValue(obj, key) { - if (isMap(obj)) { - obj.delete(key); - } - else { - delete obj[key]; - } -} -exports.removeObjectValue = removeObjectValue; -/** - * Deep clones the given object. - * - * @param obj - an object - */ -function clone(obj) { - if (isFunction(obj)) { - return obj; - } - else if (isArray(obj)) { - const result = []; - for (const item of obj) { - result.push(clone(item)); - } - return result; - } - else if (isObject(obj)) { - const result = {}; - for (const key in obj) { - /* istanbul ignore next */ - if (obj.hasOwnProperty(key)) { - const val = obj[key]; - result[key] = clone(val); - } - } - return result; - } - else { - return obj; - } -} -exports.clone = clone; -/** - * Type guard for boolean types - * - * @param x - a variable to type check - */ -function isBoolean(x) { - return typeof x === "boolean"; -} -exports.isBoolean = isBoolean; -/** - * Type guard for numeric types - * - * @param x - a variable to type check - */ -function isNumber(x) { - return typeof x === "number"; -} -exports.isNumber = isNumber; -/** - * Type guard for strings - * - * @param x - a variable to type check - */ -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 && Object.prototype.toString.call(x) === '[object Function]'; -} -exports.isFunction = isFunction; -/** - * Type guard for JS objects - * - * _Note:_ Functions are objects too - * - * @param x - a variable to type check - */ -function isObject(x) { - const type = typeof x; - return !!x && (type === 'function' || type === 'object'); -} -exports.isObject = isObject; -/** - * Type guard for arrays - * - * @param x - a variable to type check - */ -function isArray(x) { - return Array.isArray(x); -} -exports.isArray = isArray; -/** - * Type guard for maps. - * - * @param x - a variable to check - */ -function isMap(x) { - return x instanceof Map; -} -exports.isMap = isMap; -/** - * Determines if `x` is an empty Array or an Object with no own properties. - * - * @param x - a variable to check - */ -function isEmpty(x) { - if (isArray(x)) { - return !x.length; - } - else if (isObject(x)) { - for (const key in x) { - if (x.hasOwnProperty(key)) { - return false; - } - } - return true; - } - return false; -} -exports.isEmpty = isEmpty; -/** - * Determines if `x` is a plain Object. - * - * @param x - a variable to check - */ -function isPlainObject(x) { - if (isObject(x)) { - const proto = Object.getPrototypeOf(x); - const 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. - * - * @param x - a variable to check - */ -function isIterable(x) { - return x && (typeof x[Symbol.iterator] === 'function'); -} -exports.isIterable = isIterable; -/** - * Gets the primitive value of an object. - */ -function getValue(obj) { - if (isFunction(obj.valueOf)) { - return obj.valueOf(); - } - else { - 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); - if (char < 128) { - bytes[byteIndex++] = char; - continue; - } - else if (char < 2048) { - bytes[byteIndex++] = char >> 6 | 192; - } - else { - if (char > 0xd7ff && char < 0xdc00) { - if (++i >= input.length) { - throw new Error("Incomplete surrogate pair."); - } - const c2 = input.charCodeAt(i); - if (c2 < 0xdc00 || c2 > 0xdfff) { - throw new Error("Invalid surrogate character."); - } - char = 0x10000 + ((char & 0x03ff) << 10) + (c2 & 0x03ff); - bytes[byteIndex++] = char >> 18 | 240; - bytes[byteIndex++] = char >> 12 & 63 | 128; - } - else { - bytes[byteIndex++] = char >> 12 | 224; - } - bytes[byteIndex++] = char >> 6 & 63 | 128; - } - bytes[byteIndex++] = char & 63 | 128; - } - 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; - while (i < bytes.length) { - var c = bytes[i++]; - if (c > 127) { - if (c > 191 && c < 224) { - if (i >= bytes.length) { - throw new Error("Incomplete 2-byte sequence."); - } - c = (c & 31) << 6 | bytes[i++] & 63; - } - else if (c > 223 && c < 240) { - if (i + 1 >= bytes.length) { - throw new Error("Incomplete 3-byte sequence."); - } - c = (c & 15) << 12 | (bytes[i++] & 63) << 6 | bytes[i++] & 63; - } - else if (c > 239 && c < 248) { - if (i + 2 >= bytes.length) { - throw new Error("Incomplete 4-byte sequence."); - } - c = (c & 7) << 18 | (bytes[i++] & 63) << 12 | (bytes[i++] & 63) << 6 | bytes[i++] & 63; - } - else { - throw new Error("Unknown multi-byte start."); - } - } - if (c <= 0xffff) { - result += String.fromCharCode(c); - } - else if (c <= 0x10ffff) { - c -= 0x10000; - result += String.fromCharCode(c >> 10 | 0xd800); - result += String.fromCharCode(c & 0x3FF | 0xdc00); - } - else { - throw new Error("Code point exceeds UTF-16 limit."); - } - } - return result; -} -exports.utf8Decode = utf8Decode; -//# sourceMappingURL=index.js.map /***/ }), @@ -27136,7 +31443,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); /** * Represents a mutation record. */ -class MutationRecordImpl { +var MutationRecordImpl = /** @class */ (function () { /** * Initializes a new instance of `MutationRecord`. * @@ -27156,7 +31463,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; @@ -27167,24 +31474,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`. * @@ -27204,269 +31547,196 @@ 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 /***/ }), -/***/ 742: -/***/ (function(__unusedmodule, exports, __webpack_require__) { +/***/ 733: +/***/ (function(module, __unusedexports, __webpack_require__) { "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const _1 = __webpack_require__(113); -const DOMException_1 = __webpack_require__(35); -const infra_1 = __webpack_require__(23); -const algorithm_1 = __webpack_require__(163); -/** - * Represents a token set. - */ -class DOMTokenListImpl { - /** - * Initializes a new instance of `DOMTokenList`. - * - * @param element - associated element - * @param attribute - associated attribute - */ - constructor(element, attribute) { - /** - * 1. Let element be associated element. - * 2. Let localName be associated attribute’s local name. - * 3. Let value be the result of getting an attribute value given element - * and localName. - * 4. Run the attribute change steps for element, localName, value, value, - * and null. - */ - this._element = element; - this._attribute = attribute; - this._tokenSet = new Set(); - const localName = attribute._localName; - const value = algorithm_1.element_getAnAttributeValue(element, localName); - // define a closure to be called when the associated attribute's value changes - const thisObj = this; - function updateTokenSet(element, localName, oldValue, value, namespace) { - /** - * 1. If localName is associated attribute’s local name, namespace is null, - * and value is null, then empty token set. - * 2. Otherwise, if localName is associated attribute’s local name, - * namespace is null, then set token set to value, parsed. - */ - if (localName === thisObj._attribute._localName && namespace === null) { - if (!value) - thisObj._tokenSet.clear(); - else - thisObj._tokenSet = algorithm_1.orderedSet_parse(value); - } - } - // add the closure to the associated element's attribute change steps - this._element._attributeChangeSteps.push(updateTokenSet); - if (_1.dom.features.steps) { - algorithm_1.dom_runAttributeChangeSteps(element, localName, value, value, null); - } - } - /** @inheritdoc */ - get length() { - /** - * The length attribute' getter must return context object’s token set’s - * size. - */ - return this._tokenSet.size; - } - /** @inheritdoc */ - item(index) { - /** - * 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++; - } - return null; - } - /** @inheritdoc */ - contains(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); - } - } - 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); - } - } - algorithm_1.tokenList_updateSteps(this); - } - /** @inheritdoc */ - toggle(token, force = undefined) { - /** - * 1. If token is the empty string, then throw a "SyntaxError" DOMException. - * 2. If token contains any ASCII whitespace, then throw an - * "InvalidCharacterError" DOMException. - */ - if (token === '') { - throw new DOMException_1.SyntaxError("Cannot toggle an empty token."); - } - else if (infra_1.codePoint.ASCIIWhiteSpace.test(token)) { - throw new DOMException_1.InvalidCharacterError("Token cannot contain whitespace."); - } - /** - * 3. If context object’s token set[token] exists, then: - */ - if (this._tokenSet.has(token)) { - /** - * 3.1. If force is either not given or is false, then remove token from - * context object’s token set, run the update steps and return false. - * 3.2. Return true. - */ - if (force === undefined || force === false) { - this._tokenSet.delete(token); - algorithm_1.tokenList_updateSteps(this); - return false; - } - return true; - } - /** - * 4. Otherwise, if force not given or is true, append token to context - * object’s token set, run the update steps, and return true. - */ - if (force === undefined || force === true) { - this._tokenSet.add(token); - algorithm_1.tokenList_updateSteps(this); - return true; - } - /** - * 5. Return false. - */ - return false; - } - /** @inheritdoc */ - replace(token, newToken) { - /** - * 1. If either token or newToken is the empty string, then throw a - * "SyntaxError" DOMException. - * 2. If either token or newToken contains any ASCII whitespace, then throw - * an "InvalidCharacterError" DOMException. - */ - if (token === '' || newToken === '') { - throw new DOMException_1.SyntaxError("Cannot replace an empty token."); - } - else if (infra_1.codePoint.ASCIIWhiteSpace.test(token) || infra_1.codePoint.ASCIIWhiteSpace.test(newToken)) { - throw new DOMException_1.InvalidCharacterError("Token cannot contain whitespace."); - } - /** - * 3. If context object’s token set does not contain token, then return - * false. - */ - if (!this._tokenSet.has(token)) - return false; - /** - * 4. Replace token in context object’s token set with newToken. - * 5. Run the update steps. - * 6. Return true. - */ - infra_1.set.replace(this._tokenSet, token, newToken); - algorithm_1.tokenList_updateSteps(this); - return true; - } - /** @inheritdoc */ - supports(token) { - /** - * 1. Let result be the return value of validation steps called with token. - * 2. Return result. - */ - return algorithm_1.tokenList_validationSteps(this, token); - } - /** @inheritdoc */ - get value() { - /** - * The value attribute must return the result of running context object’s - * serialize steps. - */ - return 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. - */ - algorithm_1.element_setAnAttributeValue(this._element, this._attribute._localName, value); - } - /** - * Returns an iterator for the token set. - */ - [Symbol.iterator]() { - const it = this._tokenSet[Symbol.iterator](); - return { - next() { - return it.next(); - } - }; - } - /** - * Creates a new `DOMTokenList`. - * - * @param element - associated element - * @param attribute - associated attribute - */ - static _create(element, attribute) { - return new DOMTokenListImpl(element, attribute); - } + +/*eslint-disable max-len*/ + +var common = __webpack_require__(740); +var YAMLException = __webpack_require__(556); +var Type = __webpack_require__(945); + + +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; + }); } -exports.DOMTokenListImpl = DOMTokenListImpl; -//# sourceMappingURL=DOMTokenListImpl.js.map + + +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; + + +/***/ }), + +/***/ 740: +/***/ (function(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; + /***/ }), @@ -27476,36 +31746,16 @@ exports.DOMTokenListImpl = DOMTokenListImpl; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const dom_1 = __webpack_require__(252); -const dom_2 = __webpack_require__(113); -const util_1 = __webpack_require__(669); +var dom_1 = __webpack_require__(252); +var dom_2 = __webpack_require__(113); +var util_1 = __webpack_require__(592); dom_2.dom.setFeatures(false); -/** - * Throws an error if the parser returned an error document. - */ -function throwIfParserError(doc) { - const root = doc.documentElement; - if (root !== null && - root.localName === "parsererror" && - root.namespaceURI === "http://www.mozilla.org/newlayout/xml/parsererror.xml") { - const msgElement = root.firstElementChild; - /* istanbul ignore next */ - if (msgElement === null) - throw new Error("Error parsing XML string."); - const msg = msgElement.getAttribute("message"); - /* istanbul ignore next */ - if (msg === null) - throw new Error("Error parsing XML string."); - throw new Error(msg); - } -} -exports.throwIfParserError = throwIfParserError; /** * Creates an XML document without any child nodes. */ function createDocument() { - const impl = new dom_1.DOMImplementation(); - const doc = impl.createDocument(null, 'root', null); + var impl = new dom_1.DOMImplementation(); + var doc = impl.createDocument(null, 'root', null); /* istanbul ignore else */ if (doc.documentElement) { doc.removeChild(doc.documentElement); @@ -27513,17 +31763,11 @@ function createDocument() { return doc; } exports.createDocument = createDocument; -/** - * Creates a DOM parser. - */ -function createParser() { - return new dom_1.DOMParser(); -} -exports.createParser = createParser; /** * 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) { @@ -27533,10 +31777,10 @@ function sanitizeInput(str, replacement) { return str + ""; } else { - let result = ""; + var result = ""; str = str + ""; - for (let i = 0; i < str.length; i++) { - let n = str.charCodeAt(i); + 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) || @@ -27545,17 +31789,11 @@ function sanitizeInput(str, replacement) { result += str.charAt(i); } else if (n >= 0xD800 && n <= 0xDBFF && i < str.length - 1) { - const n2 = str.charCodeAt(i + 1); + var n2 = str.charCodeAt(i + 1); if (n2 >= 0xDC00 && n2 <= 0xDFFF) { + // valid surrogate pair n = (n - 0xD800) * 0x400 + n2 - 0xDC00 + 0x10000; - if (n >= 0x10000 && n <= 0x10FFFF) { - // valid surrogate pair - result += String.fromCodePoint(n); - } - else { - // invalid surrogate pair - result += util_1.isString(replacement) ? replacement : replacement(String.fromCodePoint(n), i, str); - } + result += String.fromCodePoint(n); i++; } else { @@ -27588,53 +31826,79 @@ module.exports = require("fs"); "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 }); -const util_1 = __webpack_require__(592); -const ObjectWriter_1 = __webpack_require__(419); -const BaseWriter_1 = __webpack_require__(462); +var util_1 = __webpack_require__(592); +var ObjectWriter_1 = __webpack_require__(419); +var BaseWriter_1 = __webpack_require__(462); /** * Serializes XML nodes into ES6 maps and arrays. */ -class MapWriter extends BaseWriter_1.BaseWriter { +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 - * @param writerOptions - serialization options */ - serialize(node, writerOptions) { - const options = util_1.applyDefaults(writerOptions, { - format: "map", - wellFormed: false, - noDoubleEncoding: false, - group: false - }); + MapWriter.prototype.serialize = function (node) { // convert to object - const objectWriterOptions = util_1.applyDefaults(options, { + var objectWriterOptions = util_1.applyDefaults(this._writerOptions, { format: "object", wellFormed: false, - noDoubleEncoding: false + noDoubleEncoding: false, + verbose: false }); - const objectWriter = new ObjectWriter_1.ObjectWriter(this._builderOptions); - const val = objectWriter.serialize(node, objectWriterOptions); + 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 */ - _convertObject(obj) { + MapWriter.prototype._convertObject = function (obj) { if (util_1.isArray(obj)) { - for (let i = 0; i < obj.length; i++) { + for (var i = 0; i < obj.length; i++) { obj[i] = this._convertObject(obj[i]); } return obj; } else if (util_1.isObject(obj)) { - const map = new Map(); - for (const key in obj) { + var map = new Map(); + for (var key in obj) { map.set(key, this._convertObject(obj[key])); } return map; @@ -27642,8 +31906,9 @@ class MapWriter extends BaseWriter_1.BaseWriter { else { return obj; } - } -} + }; + return MapWriter; +}(BaseWriter_1.BaseWriter)); exports.MapWriter = MapWriter; //# sourceMappingURL=MapWriter.js.map @@ -27654,21 +31919,36 @@ exports.MapWriter = MapWriter; "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 }); -const interfaces_1 = __webpack_require__(970); -const CharacterDataImpl_1 = __webpack_require__(43); -const WebIDLAlgorithm_1 = __webpack_require__(495); +var interfaces_1 = __webpack_require__(970); +var CharacterDataImpl_1 = __webpack_require__(43); +var WebIDLAlgorithm_1 = __webpack_require__(495); /** * Represents a comment node. */ -class CommentImpl extends CharacterDataImpl_1.CharacterDataImpl { +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`. @@ -27676,12 +31956,14 @@ 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 @@ -27697,7 +31979,7 @@ WebIDLAlgorithm_1.idl_defineConst(CommentImpl.prototype, "_nodeType", interfaces "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const CodePoints_1 = __webpack_require__(11); +var CodePoints_1 = __webpack_require__(11); /** * Base-64 encodes the given string. * @@ -27785,29 +32067,41 @@ exports.forgivingBase64Decode = forgivingBase64Decode; "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 }); -const util_1 = __webpack_require__(592); -const interfaces_1 = __webpack_require__(970); -const BaseWriter_1 = __webpack_require__(462); -const util_2 = __webpack_require__(918); +var util_1 = __webpack_require__(592); +var interfaces_1 = __webpack_require__(970); +var BaseWriter_1 = __webpack_require__(462); +var util_2 = __webpack_require__(918); /** * Serializes XML nodes into strings. */ -class XMLWriter extends BaseWriter_1.BaseWriter { - constructor() { - super(...arguments); - this._indentation = {}; - this._lengthToLastNewline = 0; - } +var XMLWriter = /** @class */ (function (_super) { + __extends(XMLWriter, _super); /** - * Produces an XML serialization of the given node. + * Initializes a new instance of `XMLWriter`. * - * @param node - node to serialize + * @param builderOptions - XML builder options * @param writerOptions - serialization options */ - serialize(node, writerOptions) { + function XMLWriter(builderOptions, writerOptions) { + var _this = _super.call(this, builderOptions) || this; + _this._indentation = {}; + _this._lengthToLastNewline = 0; // provide default options - this._options = util_1.applyDefaults(writerOptions, { + _this._writerOptions = util_1.applyDefaults(writerOptions, { wellFormed: false, noDoubleEncoding: false, headless: false, @@ -27820,31 +32114,43 @@ class XMLWriter extends BaseWriter_1.BaseWriter { 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 since base serializer does not serialize it - if (node.nodeType === interfaces_1.NodeType.Document && !this._options.headless) { - this._beginLine(); - this._refs.markup = ""; - this._endLine(); + // Serialize XML declaration + if (node.nodeType === interfaces_1.NodeType.Document && !this._writerOptions.headless) { + this.declaration(this._builderOptions.version, this._builderOptions.encoding, this._builderOptions.standalone); } - this.serializeNode(node, this._options.wellFormed, this._options.noDoubleEncoding); + // recursively serialize node + this.serializeNode(node, this._writerOptions.wellFormed, this._writerOptions.noDoubleEncoding); // remove trailing newline - if (this._options.prettyPrint && - this._refs.markup.slice(-this._options.newline.length) === this._options.newline) { - this._refs.markup = this._refs.markup.slice(0, -this._options.newline.length); + 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 */ - docType(name, publicId, systemId) { + 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 += ""; @@ -27859,23 +32165,23 @@ class XMLWriter extends BaseWriter_1.BaseWriter { this._refs.markup += ""; } this._endLine(); - } + }; /** @inheritdoc */ - openTagBegin(name) { + XMLWriter.prototype.openTagBegin = function (name) { this._beginLine(); this._refs.markup += "<" + name; - } + }; /** @inheritdoc */ - openTagEnd(name, selfClosing, voidElement) { + 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._options.prettyPrint && !selfClosing && !voidElement) { - let textOnlyNode = true; - let emptyNode = true; - let childNode = this.currentNode.firstChild; - let cdataCount = 0; - let textCount = 0; + 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++; @@ -27893,20 +32199,20 @@ class XMLWriter extends BaseWriter_1.BaseWriter { } childNode = childNode.nextSibling; } - this._refs.suppressPretty = !this._options.indentTextOnlyNodes && textOnlyNode && ((cdataCount <= 1 && textCount === 0) || cdataCount === 0); + this._refs.suppressPretty = !this._writerOptions.indentTextOnlyNodes && textOnlyNode && ((cdataCount <= 1 && textCount === 0) || cdataCount === 0); this._refs.emptyNode = emptyNode; } - if ((voidElement || selfClosing || this._refs.emptyNode) && this._options.allowEmptyTags) { + if ((voidElement || selfClosing || this._refs.emptyNode) && this._writerOptions.allowEmptyTags) { this._refs.markup += ">"; } else { this._refs.markup += voidElement ? " />" : - (selfClosing || this._refs.emptyNode) ? (this._options.spaceBeforeSlash ? " />" : "/>") : ">"; + (selfClosing || this._refs.emptyNode) ? (this._writerOptions.spaceBeforeSlash ? " />" : "/>") : ">"; } this._endLine(); - } + }; /** @inheritdoc */ - closeTag(name) { + XMLWriter.prototype.closeTag = function (name) { if (!this._refs.emptyNode) { this._beginLine(); this._refs.markup += ""; @@ -27914,12 +32220,12 @@ class XMLWriter extends BaseWriter_1.BaseWriter { this._refs.suppressPretty = false; this._refs.emptyNode = false; this._endLine(); - } + }; /** @inheritdoc */ - attribute(name, value) { - const str = name + "=\"" + value + "\""; - if (this._options.prettyPrint && this._options.width > 0 && - this._refs.markup.length - this._lengthToLastNewline + 1 + str.length > this._options.width) { + 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; @@ -27927,60 +32233,60 @@ class XMLWriter extends BaseWriter_1.BaseWriter { else { this._refs.markup += " " + str; } - } + }; /** @inheritdoc */ - text(data) { + XMLWriter.prototype.text = function (data) { if (data !== '') { this._beginLine(); this._refs.markup += data; this._endLine(); } - } + }; /** @inheritdoc */ - cdata(data) { + XMLWriter.prototype.cdata = function (data) { if (data !== '') { this._beginLine(); this._refs.markup += ""; this._endLine(); } - } + }; /** @inheritdoc */ - comment(data) { + XMLWriter.prototype.comment = function (data) { this._beginLine(); this._refs.markup += ""; this._endLine(); - } + }; /** @inheritdoc */ - instruction(target, data) { + 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. */ - _beginLine() { - if (this._options.prettyPrint && !this._refs.suppressPretty) { - this._refs.markup += this._indent(this._options.offset + this.level); + 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. */ - _endLine() { - if (this._options.prettyPrint && !this._refs.suppressPretty) { - this._refs.markup += this._options.newline; + 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 */ - _indent(level) { + XMLWriter.prototype._indent = function (level) { if (level <= 0) { return ""; } @@ -27988,64 +32294,279 @@ class XMLWriter extends BaseWriter_1.BaseWriter { return this._indentation[level]; } else { - const str = this._options.indent.repeat(level); + 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 /***/ }), +/***/ 771: +/***/ (function(__unusedmodule, exports, __webpack_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 = __webpack_require__(911); +var interfaces_1 = __webpack_require__(172); +var infra_1 = __webpack_require__(23); +var algorithm_1 = __webpack_require__(163); +var dom_1 = __webpack_require__(743); +var BaseReader_1 = __webpack_require__(305); +/** + * 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 }); + // sanitizes input characters + var invalidCharReplacement = this._builderOptions.invalidCharReplacement; + var s = function (str) { + return dom_1.sanitizeInput(str, invalidCharReplacement); + }; + 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 = s(declaration.version); + if (version !== "1.0") { + throw new Error("Invalid xml version: " + version); + } + var builderOptions = { + version: version + }; + if (declaration.encoding) { + builderOptions.encoding = s(declaration.encoding); + } + if (declaration.standalone) { + builderOptions.standalone = (s(declaration.standalone) === "yes"); + } + context.set(builderOptions); + break; + case interfaces_1.TokenType.DocType: + var doctype = token; + context = this.docType(context, s(doctype.name), s(doctype.pubId), s(doctype.sysId)) || context; + break; + case interfaces_1.TokenType.CDATA: + var cdata = token; + context = this.cdata(context, s(cdata.data)) || context; + break; + case interfaces_1.TokenType.Comment: + var comment = token; + context = this.comment(context, s(comment.data)) || context; + break; + case interfaces_1.TokenType.PI: + var pi = token; + context = this.instruction(context, s(pi.target), s(pi.data)) || context; + break; + case interfaces_1.TokenType.Text: + var text = token; + context = this.text(context, s(text.data)) || context; + break; + case interfaces_1.TokenType.Element: + var element = token; + var elementName = s(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 = s(attName); + attValue = s(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 = s(attName); + attValue = s(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 + +/***/ }), + /***/ 774: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const interfaces_1 = __webpack_require__(970); -const WebIDLAlgorithm_1 = __webpack_require__(495); +var interfaces_1 = __webpack_require__(970); +var WebIDLAlgorithm_1 = __webpack_require__(495); /** * Represents a node filter. */ -class NodeFilterImpl { +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; -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; /** * Define constants on prototype. */ @@ -28069,176 +32590,103 @@ WebIDLAlgorithm_1.idl_defineConst(NodeFilterImpl.prototype, "SHOW_NOTATION", 0x8 /***/ }), -/***/ 780: -/***/ (function(__unusedmodule, exports) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * A surrogate is a code point that is in the range U+D800 to U+DFFF, inclusive. - */ -exports.Surrogate = /[\uD800-\uDFFF]/; -/** - * A scalar value is a code point that is not a surrogate. - */ -exports.ScalarValue = /[\uD800-\uDFFF]/; -/** - * A noncharacter is a code point that is in the range U+FDD0 to U+FDEF, - * inclusive, or U+FFFE, U+FFFF, U+1FFFE, U+1FFFF, U+2FFFE, U+2FFFF, U+3FFFE, - * U+3FFFF, U+4FFFE, U+4FFFF, U+5FFFE, U+5FFFF, U+6FFFE, U+6FFFF, U+7FFFE, - * U+7FFFF, U+8FFFE, U+8FFFF, U+9FFFE, U+9FFFF, U+AFFFE, U+AFFFF, U+BFFFE, - * U+BFFFF, U+CFFFE, U+CFFFF, U+DFFFE, U+DFFFF, U+EFFFE, U+EFFFF, U+FFFFE, - * U+FFFFF, U+10FFFE, or U+10FFFF. - */ -exports.NonCharacter = /[\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]/; -/** - * An ASCII code point is a code point in the range U+0000 NULL to U+007F - * DELETE, inclusive. - */ -exports.ASCIICodePoint = /[\u0000-\u007F]/; -/** - * An ASCII tab or newline is U+0009 TAB, U+000A LF, or U+000D CR. - */ -exports.ASCIITabOrNewLine = /[\t\n\r]/; -/** - * ASCII whitespace is U+0009 TAB, U+000A LF, U+000C FF, U+000D CR, or - * U+0020 SPACE. - */ -exports.ASCIIWhiteSpace = /[\t\n\f\r ]/; -/** - * A C0 control is a code point in the range U+0000 NULL to U+001F - * INFORMATION SEPARATOR ONE, inclusive. - */ -exports.C0Control = /[\u0000-\u001F]/; -/** - * A C0 control or space is a C0 control or U+0020 SPACE. - */ -exports.C0ControlOrSpace = /[\u0000-\u001F ]/; -/** - * A control is a C0 control or a code point in the range U+007F DELETE to - * U+009F APPLICATION PROGRAM COMMAND, inclusive. - */ -exports.Control = /[\u0000-\u001F\u007F-\u009F]/; -/** - * An ASCII digit is a code point in the range U+0030 (0) to U+0039 (9), - * inclusive. - */ -exports.ASCIIDigit = /[0-9]/; -/** - * An ASCII upper hex digit is an ASCII digit or a code point in the range - * U+0041 (A) to U+0046 (F), inclusive. - */ -exports.ASCIIUpperHexDigit = /[0-9A-F]/; -/** - * An ASCII lower hex digit is an ASCII digit or a code point in the range - * U+0061 (a) to U+0066 (f), inclusive. - */ -exports.ASCIILowerHexDigit = /[0-9a-f]/; -/** - * An ASCII hex digit is an ASCII upper hex digit or ASCII lower hex digit. - */ -exports.ASCIIHexDigit = /[0-9A-Fa-f]/; -/** - * An ASCII upper alpha is a code point in the range U+0041 (A) to U+005A (Z), - * inclusive. - */ -exports.ASCIIUpperAlpha = /[A-Z]/; -/** - * An ASCII lower alpha is a code point in the range U+0061 (a) to U+007A (z), - * inclusive. - */ -exports.ASCIILowerAlpha = /[a-z]/; -/** - * An ASCII alpha is an ASCII upper alpha or ASCII lower alpha. - */ -exports.ASCIIAlpha = /[A-Za-z]/; -/** - * An ASCII alphanumeric is an ASCII digit or ASCII alpha. - */ -exports.ASCIIAlphanumeric = /[0-9A-Za-z]/; -//# sourceMappingURL=CodePoints.js.map - -/***/ }), - /***/ 781: /***/ (function(__unusedmodule, exports, __webpack_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 }); -const BaseCBWriter_1 = __webpack_require__(512); +var BaseCBWriter_1 = __webpack_require__(512); /** * Serializes XML nodes. */ -class JSONCBWriter extends BaseCBWriter_1.BaseCBWriter { +var JSONCBWriter = /** @class */ (function (_super) { + __extends(JSONCBWriter, _super); /** - * Initializes a new instance of `BaseCBWriter`. + * Initializes a new instance of `JSONCBWriter`. * * @param builderOptions - XML builder options */ - constructor(builderOptions) { - super(builderOptions); - this._hasChildren = []; - this._additionalLevel = 0; + function JSONCBWriter(builderOptions) { + var _this = _super.call(this, builderOptions) || this; + _this._hasChildren = []; + _this._additionalLevel = 0; + return _this; } /** @inheritdoc */ - declaration(version, encoding, standalone) { + JSONCBWriter.prototype.frontMatter = function () { return ""; - } + }; /** @inheritdoc */ - docType(name, publicId, systemId) { + JSONCBWriter.prototype.declaration = function (version, encoding, standalone) { return ""; - } + }; /** @inheritdoc */ - comment(data) { + 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 */ - text(data) { + 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 */ - instruction(target, data) { + 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 */ - cdata(data) { + 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 */ - attribute(name, value) { + 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 */ - openTagBegin(name) { + JSONCBWriter.prototype.openTagBegin = function (name) { // { "node": { "#": [ - let str = this._comma() + this._beginLine() + "{" + this._sep() + this._key(name) + this._sep() + "{"; + 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 */ - openTagEnd(name, selfClosing, voidElement) { + JSONCBWriter.prototype.openTagEnd = function (name, selfClosing, voidElement) { if (selfClosing) { - let str = this._sep() + "]"; + var str = this._sep() + "]"; this._additionalLevel--; str += this._beginLine() + "}" + this._sep() + "}"; return str; @@ -28246,24 +32694,25 @@ class JSONCBWriter extends BaseCBWriter_1.BaseCBWriter { else { return ""; } - } + }; /** @inheritdoc */ - closeTag(name) { + JSONCBWriter.prototype.closeTag = function (name) { // ] } } - let str = this._beginLine() + "]"; + var str = this._beginLine() + "]"; this._additionalLevel--; str += this._beginLine() + "}" + this._sep() + "}"; return str; - } + }; /** @inheritdoc */ - beginElement(name) { } + JSONCBWriter.prototype.beginElement = function (name) { }; /** @inheritdoc */ - endElement(name) { this._hasChildren.pop(); } + JSONCBWriter.prototype.endElement = function (name) { this._hasChildren.pop(); }; /** * Produces characters to be prepended to a line of string in pretty-print * mode. */ - _beginLine(additionalOffset = 0) { + 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); @@ -28271,49 +32720,50 @@ class JSONCBWriter extends BaseCBWriter_1.BaseCBWriter { else { return ""; } - } + }; /** * Produces an indentation string. * * @param level - depth of the tree */ - _indent(level) { + 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. */ - _comma() { - const str = (this._hasChildren[this._hasChildren.length - 1] ? "," : ""); + 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. */ - _sep() { + JSONCBWriter.prototype._sep = function () { return (this._writerOptions.prettyPrint ? " " : ""); - } + }; /** * Produces a JSON key string delimited with double quotes. */ - _key(key) { + JSONCBWriter.prototype._key = function (key) { return "\"" + key + "\":"; - } + }; /** * Produces a JSON value string delimited with double quotes. */ - _val(val) { - return "\"" + val + "\""; - } -} + JSONCBWriter.prototype._val = function (val) { + return JSON.stringify(val); + }; + return JSONCBWriter; +}(BaseCBWriter_1.BaseCBWriter)); exports.JSONCBWriter = JSONCBWriter; //# sourceMappingURL=JSONCBWriter.js.map @@ -28347,137 +32797,139 @@ exports.isASCIIByte = isASCIIByte; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const interfaces_1 = __webpack_require__(970); +var interfaces_1 = __webpack_require__(970); /** * 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. * @@ -28486,52 +32938,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 @@ -28542,98 +32995,175 @@ exports.Guard = Guard; "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 }); -const EventTargetImpl_1 = __webpack_require__(597); -const algorithm_1 = __webpack_require__(163); +var EventTargetImpl_1 = __webpack_require__(597); +var algorithm_1 = __webpack_require__(163); /** * Represents a signal object that communicates with a DOM request and abort * it through an AbortController. */ -class AbortSignalImpl extends EventTargetImpl_1.EventTargetImpl { +var AbortSignalImpl = /** @class */ (function (_super) { + __extends(AbortSignalImpl, _super); /** * Initializes a new instance of `AbortSignal`. */ - constructor() { - super(); - this._abortedFlag = false; - this._abortAlgorithms = new Set(); - } - /** @inheritdoc */ - get aborted() { return this._abortedFlag; } - /** @inheritdoc */ - get onabort() { - return algorithm_1.event_getterEventHandlerIDLAttribute(this, "onabort"); - } - set onabort(val) { - 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 /***/ }), +/***/ 794: +/***/ (function(module) { + +module.exports = require("stream"); + +/***/ }), + /***/ 796: /***/ (function(__unusedmodule, exports, __webpack_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 }); -const interfaces_1 = __webpack_require__(970); -const NodeImpl_1 = __webpack_require__(935); -const WebIDLAlgorithm_1 = __webpack_require__(495); +var interfaces_1 = __webpack_require__(970); +var NodeImpl_1 = __webpack_require__(935); +var WebIDLAlgorithm_1 = __webpack_require__(495); /** * Represents a document fragment in the XML tree. */ -class DocumentFragmentImpl extends NodeImpl_1.NodeImpl { +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._children = new Set(); - 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 @@ -28643,94 +33173,81 @@ WebIDLAlgorithm_1.idl_defineConst(DocumentFragmentImpl.prototype, "_nodeType", i /***/ }), -/***/ 798: -/***/ (function(__unusedmodule, exports) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents an object with lazy initialization. - */ -class Lazy { - /** - * Initializes a new instance of `Lazy`. - * - * @param initFunc - initializer function - */ - constructor(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; - } -} -exports.Lazy = Lazy; -//# sourceMappingURL=Lazy.js.map - -/***/ }), - /***/ 800: /***/ (function(__unusedmodule, exports, __webpack_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 }); -const TraverserImpl_1 = __webpack_require__(487); -const algorithm_1 = __webpack_require__(163); +var TraverserImpl_1 = __webpack_require__(487); +var algorithm_1 = __webpack_require__(163); /** * Represents an object which can be used to iterate through the nodes * of a subtree. */ -class NodeIteratorImpl extends TraverserImpl_1.TraverserImpl { +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; - 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 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 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 */ algorithm_1.nodeIterator_iteratorList().delete(this); - } + }; /** * Creates a new `NodeIterator`. * @@ -28739,13 +33256,56 @@ 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 +/***/ }), + +/***/ 809: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var Type = __webpack_require__(945); + +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' +}); + + /***/ }), /***/ 811: @@ -28753,6 +33313,25 @@ exports.NodeIteratorImpl = NodeIteratorImpl; "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (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 (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -28762,13 +33341,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -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 }); const core = __importStar(__webpack_require__(470)); const installer = __importStar(__webpack_require__(923)); @@ -28776,6 +33348,7 @@ const auth = __importStar(__webpack_require__(331)); const gpg = __importStar(__webpack_require__(884)); const constants = __importStar(__webpack_require__(694)); const path = __importStar(__webpack_require__(622)); +const maven_1 = __webpack_require__(238); function run() { return __awaiter(this, void 0, void 0, function* () { try { @@ -28783,6 +33356,21 @@ function run() { if (!version) { version = core.getInput(constants.INPUT_JAVA_VERSION, { required: true }); } + const mvnOpts = { + caCert: core.getInput(constants.INPUT_MAVEN_CA_CERT_B64), + keystore: core.getInput(constants.INPUT_MAVEN_KEYSTORE_P12_B64), + password: core.getInput(constants.INPUT_MAVEN_KEYSTORE_PASSWORD), + settings: core.getInput(constants.INPUT_MAVEN_SETTINGS_B64), + securitySettings: core.getInput(constants.INPUT_MAVEN_SECURITY_SETTINGS_B64) + }; + if ((mvnOpts.caCert !== '' || + mvnOpts.keystore !== '' || + mvnOpts.password !== '' || + mvnOpts.securitySettings !== '', + mvnOpts.settings !== '') && + !maven_1.validateOptions(mvnOpts)) { + throw new Error('Some of the Maven options is empty: please check maven-* parameters'); + } const arch = core.getInput(constants.INPUT_ARCHITECTURE, { required: true }); if (!['x86', 'x64'].includes(arch)) { throw new Error(`architecture "${arch}" is not in [x86 | x64]`); @@ -28808,7 +33396,7 @@ function run() { if (gpgPrivateKey) { core.setSecret(gpgPrivateKey); } - yield auth.configAuthentication(id, username, password, gpgPassphrase); + yield auth.configAuthentication(id, username, password, gpgPassphrase, mvnOpts); if (gpgPrivateKey) { core.info('importing private key'); const keyFingerprint = (yield gpg.importKey(gpgPrivateKey)) || ''; @@ -28830,16 +33418,43 @@ run(); "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 }); -const util_1 = __webpack_require__(724); -const interfaces_1 = __webpack_require__(286); -const infra_1 = __webpack_require__(307); -const url_1 = __webpack_require__(835); -let _validationErrorCallback; +var util_1 = __webpack_require__(592); +var interfaces_1 = __webpack_require__(286); +var infra_1 = __webpack_require__(23); +var url_1 = __webpack_require__(835); +var _validationErrorCallback; /** * Default ports for a special URL scheme. */ -const _defaultPorts = { +var _defaultPorts = { "ftp": 21, "file": null, "http": 80, @@ -28851,23 +33466,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, @@ -28876,13 +33491,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. * @@ -28977,11 +33592,13 @@ exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; * * @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: */ @@ -29032,8 +33649,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; } } } /** @@ -29092,9 +33719,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; @@ -29118,16 +33745,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++; @@ -29144,8 +33771,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. @@ -29197,12 +33824,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; } @@ -29220,6 +33847,7 @@ exports.urlParser = urlParser; * @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. @@ -29230,8 +33858,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."); } @@ -29242,7 +33870,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."); } @@ -29254,10 +33882,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); /** @@ -29265,12 +33893,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. @@ -29648,27 +34276,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. @@ -29729,7 +34367,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; @@ -29767,7 +34405,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; @@ -29819,7 +34457,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; @@ -30015,7 +34653,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") @@ -30133,7 +34771,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); } /** @@ -30267,7 +34905,7 @@ function basicURLParser(input, baseURL, encodingOverride, url, stateOverride) { if (encoding.toUpperCase() !== "UTF-8") { throw new Error("Only UTF-8 encoding is supported."); } - let bytes = util_1.utf8Encode(walker.c()); + var bytes = util_1.utf8Encode(walker.c()); /** * 3.4. If bytes starts with `&#` and ends with 0x3B (;), then: */ @@ -30284,26 +34922,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; } } } } @@ -30358,14 +35006,25 @@ exports.basicURLParser = basicURLParser; * @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; } @@ -30377,14 +35036,25 @@ exports.setTheUsername = setTheUsername; * @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; } @@ -30404,7 +35074,7 @@ exports.isSingleDotPathSegment = isSingleDotPathSegment; * @param str - a string */ function isDoubleDotPathSegment(str) { - const lowerStr = str.toLowerCase(); + var lowerStr = str.toLowerCase(); return lowerStr === ".." || lowerStr === ".%2e" || lowerStr === "%2e." || lowerStr === "%2e%2e"; } @@ -30422,7 +35092,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 && @@ -30485,7 +35155,8 @@ exports.startsWithAWindowsDriveLetter = startsWithAWindowsDriveLetter; * @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: @@ -30515,14 +35186,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 = 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; @@ -30536,7 +35207,7 @@ function hostParser(input, isNotSpecial = false) { * 9. If ipv4Host is an IPv4 address or failure, return ipv4Host. * 10. Return asciiDomain. */ - const ipv4Host = iPv4Parser(asciiDomain); + var ipv4Host = iPv4Parser(asciiDomain); if (ipv4Host === null || util_1.isNumber(ipv4Host)) return ipv4Host; return asciiDomain; @@ -30549,11 +35220,12 @@ exports.hostParser = hostParser; * @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 @@ -30585,7 +35257,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; /** @@ -30602,12 +35274,13 @@ exports.iPv4NumberParser = iPv4NumberParser; * @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. @@ -30632,14 +35305,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. @@ -30651,8 +35334,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) @@ -30667,7 +35350,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. @@ -30675,10 +35358,20 @@ 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. @@ -30692,6 +35385,7 @@ exports.iPv4Parser = iPv4Parser; * @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. @@ -30699,11 +35393,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, @@ -30753,8 +35447,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++; @@ -30780,7 +35474,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: */ @@ -30788,7 +35482,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 @@ -30819,7 +35513,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. @@ -30907,11 +35601,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--; } @@ -30936,6 +35629,7 @@ exports.iPv6Parser = iPv6Parser; * @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. @@ -30944,14 +35638,24 @@ 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; } @@ -30987,7 +35691,7 @@ exports.percentEncode = percentEncode; * @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); }; @@ -30995,10 +35699,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 @@ -31024,7 +35728,7 @@ function percentDecode(input) { n++; } else { - const bytePoint = parseInt(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; @@ -31053,6 +35757,7 @@ exports.stringPercentDecode = stringPercentDecode; * @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. @@ -31061,10 +35766,20 @@ function utf8PercentEncode(codePoint, percentEncodeSet) { */ if (!percentEncodeSet.test(codePoint)) return codePoint; - const bytes = 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; } @@ -31086,7 +35801,8 @@ exports.hostEquals = hostEquals; * @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. @@ -31118,19 +35834,30 @@ exports.urlEncodedStringParser = urlEncodedStringParser; * @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)); @@ -31138,48 +35865,58 @@ 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 = util_1.utf8Decode(name); - const valueString = 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. @@ -31193,6 +35930,7 @@ exports.urlEncodedParser = urlEncodedParser; * @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: @@ -31212,19 +35950,29 @@ 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; } @@ -31236,12 +35984,13 @@ exports.urlEncodedByteSerializer = urlEncodedByteSerializer; * @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") { @@ -31250,39 +35999,49 @@ 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(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(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. @@ -31323,7 +36082,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 @@ -31346,7 +36105,8 @@ exports.origin = origin; * * @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 @@ -31357,7 +36117,7 @@ function domainToASCII(domain, beStrict = false) { * 4. Return result. */ // Use node.js function - const result = url_1.domainToASCII(domain); + var result = url_1.domainToASCII(domain); if (result === "") { validationError("Invalid domain name."); return null; @@ -31370,7 +36130,8 @@ exports.domainToASCII = domainToASCII; * * @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, @@ -31380,7 +36141,7 @@ function domainToUnicode(domain, beStrict = false) { * return result. */ // Use node.js function - const result = url_1.domainToUnicode(domain); + var result = url_1.domainToUnicode(domain); if (result === "") { validationError("Invalid domain name."); } @@ -31407,7 +36168,7 @@ 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; @@ -31415,6 +36176,53 @@ function asciiSerializationOfAnOrigin(origin) { exports.asciiSerializationOfAnOrigin = asciiSerializationOfAnOrigin; //# sourceMappingURL=URLAlgorithm.js.map +/***/ }), + +/***/ 819: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + + +var loader = __webpack_require__(457); +var dumper = __webpack_require__(685); + + +function deprecated(name) { + return function () { + throw new Error('Function ' + name + ' is deprecated and cannot be used.'); + }; +} + + +module.exports.Type = __webpack_require__(945); +module.exports.Schema = __webpack_require__(733); +module.exports.FAILSAFE_SCHEMA = __webpack_require__(265); +module.exports.JSON_SCHEMA = __webpack_require__(720); +module.exports.CORE_SCHEMA = __webpack_require__(611); +module.exports.DEFAULT_SAFE_SCHEMA = __webpack_require__(723); +module.exports.DEFAULT_FULL_SCHEMA = __webpack_require__(910); +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 = __webpack_require__(556); + +// Deprecated schema names from JS-YAML 2.0.x +module.exports.MINIMAL_SCHEMA = __webpack_require__(265); +module.exports.SAFE_SCHEMA = __webpack_require__(723); +module.exports.DEFAULT_SCHEMA = __webpack_require__(910); + +// 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'); + + /***/ }), /***/ 820: @@ -31422,60 +36230,108 @@ exports.asciiSerializationOfAnOrigin = asciiSerializationOfAnOrigin; "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 }); -const interfaces_1 = __webpack_require__(970); -const CharacterDataImpl_1 = __webpack_require__(43); -const algorithm_1 = __webpack_require__(163); -const WebIDLAlgorithm_1 = __webpack_require__(495); +var interfaces_1 = __webpack_require__(970); +var CharacterDataImpl_1 = __webpack_require__(43); +var algorithm_1 = __webpack_require__(163); +var WebIDLAlgorithm_1 = __webpack_require__(495); /** * Represents a text node. */ -class TextImpl extends CharacterDataImpl_1.CharacterDataImpl { +var TextImpl = /** @class */ (function (_super) { + __extends(TextImpl, _super); /** * Initializes a new instance of `Text`. * * @param data - the text content */ - constructor(data = '') { - super(data); - this._name = ''; - this._assignedSlot = null; + 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 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 algorithm_1.text_split(this, offset); - } - // MIXIN: Slotable - /* istanbul ignore next */ - get assignedSlot() { throw new Error("Mixin: Slotable not implemented."); } + }; + 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 @@ -31528,216 +36384,202 @@ module.exports = require("url"); /***/ }), -/***/ 844: -/***/ (function(__unusedmodule, exports) { +/***/ 841: +/***/ (function(module, __unusedexports, __webpack_require__) { "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents a set of objects with a size limit. - */ -class FixedSizeSet { - /** - * 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) { - this._items = new Set(); - this._limit = limit; - } - /** - * Adds a new item to the set. - * - * @param item - an item - */ - add(item) { - this._items.add(item); - if (this._items.size > this._limit) { - const it = this._items.values().next(); - /* istanbul ignore else */ - if (!it.done) { - this._items.delete(it.value); - } - } - return this; - } - /** - * Removes an item from the set. - * - * @param item - an item - */ - delete(item) { - return this._items.delete(item); - } - /** - * Determines if an item is in the set. - * - * @param item - an item - */ - has(item) { - return this._items.has(item); - } - /** - * Removes all items from the set. - */ - clear() { - this._items.clear(); - } - /** - * Gets the number of items in the set. - */ - get size() { return this._items.size; } - /** - * Applies the given callback function to all elements of the set. - */ - forEach(callback, thisArg) { - this._items.forEach(e => callback.call(thisArg, e, e, this)); - } - /** - * Iterates through the items in the set. - */ - *keys() { - yield* this._items.keys(); - } - /** - * Iterates through the items in the set. - */ - *values() { - yield* this._items.values(); - } - /** - * Iterates through the items in the set. - */ - *entries() { - yield* this._items.entries(); - } - /** - * Iterates through the items in the set. - */ - *[Symbol.iterator]() { - yield* this._items; - } - /** - * Returns the string tag of the set. - */ - get [Symbol.toStringTag]() { - return "FixedSizeSet"; - } + +var Type = __webpack_require__(945); + +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; } -exports.FixedSizeSet = FixedSizeSet; -//# sourceMappingURL=FixedSizeSet.js.map + +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 +}); + /***/ }), -/***/ 859: +/***/ 842: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var Type = __webpack_require__(945); + +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 +}); + + +/***/ }), + +/***/ 865: /***/ (function(__unusedmodule, exports, __webpack_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 }); -const util_1 = __webpack_require__(42); -const util_2 = __webpack_require__(457); +var ObjectReader_1 = __webpack_require__(50); +var BaseReader_1 = __webpack_require__(305); +var js_yaml_1 = __webpack_require__(414); /** - * Parses the given byte sequence representing a JSON string into an object. - * - * @param bytes - a byte sequence + * Parses XML nodes from a YAML string. */ -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 = util_2.utf8Decode(bytes); - return JSON.parse.call(undefined, jsonText); -} -exports.parseJSONFromBytes = parseJSONFromBytes; -/** - * Serialize the given JavaScript value into a byte sequence. - * - * @param value - a JavaScript value - */ -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 util_2.utf8Encode(jsonString); -} -exports.serializeJSONToBytes = serializeJSONToBytes; -/** - * Parses the given JSON string into a Realm-independent JavaScript value. - * - * @param jsonText - a JSON string - */ -function parseJSONIntoInfraValues(jsonText) { - /** - * 1. Let jsValue be ? Call(%JSONParse%, undefined, « 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); - return convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValue); -} -exports.parseJSONIntoInfraValues = parseJSONIntoInfraValues; -/** - * Parses the value into a Realm-independent JavaScript value. - * - * @param jsValue - a JavaScript value - */ -function convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValue) { - /** - * 1. If Type(jsValue) is Null, String, or Number, then return jsValue. - */ - if (jsValue === null || util_1.isString(jsValue) || util_1.isNumber(jsValue)) - return jsValue; - /** - * 2. If IsArray(jsValue) is true, then: - * 2.1. Let result be an empty list. - * 2.2. Let length be ! ToLength(! Get(jsValue, "length")). - * 2.3. For each index of the range 0 to length − 1, inclusive: - * 2.3.1. Let indexName be ! ToString(index). - * 2.3.2. Let jsValueAtIndex be ! Get(jsValue, indexName). - * 2.3.3. Let infraValueAtIndex be the result of converting a JSON-derived - * JavaScript value to an Infra value, given jsValueAtIndex. - * 2.3.4. Append infraValueAtIndex to result. - * 2.8. Return result. - */ - if (util_1.isArray(jsValue)) { - const result = new Array(); - for (const jsValueAtIndex of jsValue) { - result.push(convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValueAtIndex)); - } - return result; +var YAMLReader = /** @class */ (function (_super) { + __extends(YAMLReader, _super); + function YAMLReader() { + return _super !== null && _super.apply(this, arguments) || this; } - else if (util_1.isObject(jsValue)) { - /** - * 3. Let result be an empty ordered map. - * 4. For each key of ! jsValue.[[OwnPropertyKeys]](): - * 4.1. Let jsValueAtKey be ! Get(jsValue, key). - * 4.2. Let infraValueAtKey be the result of converting a JSON-derived - * JavaScript value to an Infra value, given jsValueAtKey. - * 4.3. Set result[key] to infraValueAtKey. - * 5. Return result. - */ - const result = new Map(); - for (const key in jsValue) { - /* istanbul ignore else */ - if (jsValue.hasOwnProperty(key)) { - const jsValueAtKey = jsValue[key]; - result.set(key, convertAJSONDerivedJavaScriptValueToAnInfraValue(jsValueAtKey)); - } + /** + * 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 result; - } - /* istanbul ignore next */ - return jsValue; -} -exports.convertAJSONDerivedJavaScriptValueToAnInfraValue = convertAJSONDerivedJavaScriptValueToAnInfraValue; -//# sourceMappingURL=JSON.js.map + return new ObjectReader_1.ObjectReader(this._builderOptions).parse(node, result); + }; + return YAMLReader; +}(BaseReader_1.BaseReader)); +exports.YAMLReader = YAMLReader; +//# sourceMappingURL=YAMLReader.js.map /***/ }), @@ -31746,72 +36588,116 @@ exports.convertAJSONDerivedJavaScriptValueToAnInfraValue = convertAJSONDerivedJa "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 }); -const interfaces_1 = __webpack_require__(970); -const NodeImpl_1 = __webpack_require__(935); -const algorithm_1 = __webpack_require__(163); -const WebIDLAlgorithm_1 = __webpack_require__(495); +var interfaces_1 = __webpack_require__(970); +var NodeImpl_1 = __webpack_require__(935); +var algorithm_1 = __webpack_require__(163); +var WebIDLAlgorithm_1 = __webpack_require__(495); /** * Represents an attribute of an element node. */ -class AttrImpl extends NodeImpl_1.NodeImpl { +var AttrImpl = /** @class */ (function (_super) { + __extends(AttrImpl, _super); /** * Initializes a new instance of `Attr`. * * @param localName - local name */ - constructor(localName) { - super(); - this._namespace = null; - this._namespacePrefix = null; - this._element = null; - this._value = ''; - 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 */ - 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. */ - 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 @@ -31827,9 +36713,20 @@ WebIDLAlgorithm_1.idl_defineConst(AttrImpl.prototype, "specified", true); "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 }); -const util_1 = __webpack_require__(918); -const interfaces_1 = __webpack_require__(970); +var util_1 = __webpack_require__(918); +var interfaces_1 = __webpack_require__(970); /** * Gets the next descendant of the given node of the tree rooted at `root` * in depth-first pre-order. @@ -31838,7 +36735,8 @@ const interfaces_1 = __webpack_require__(970); * @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) @@ -31853,7 +36751,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; @@ -31862,15 +36760,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 @@ -31881,8 +36780,10 @@ 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); } @@ -31899,8 +36800,10 @@ exports.tree_getFirstDescendantNode = tree_getFirstDescendantNode; * @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); } @@ -31916,15 +36819,18 @@ exports.tree_getNextDescendantNode = tree_getNextDescendantNode; * @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); } @@ -31932,14 +36838,14 @@ 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; /** @@ -31951,16 +36857,19 @@ exports.tree_getDescendantNodes = tree_getDescendantNodes; * @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; } @@ -31968,14 +36877,14 @@ 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; /** @@ -31985,15 +36894,17 @@ exports.tree_getDescendantElements = tree_getDescendantElements; * @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; } @@ -32001,14 +36912,14 @@ 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; /** @@ -32018,8 +36929,9 @@ exports.tree_getSiblingNodes = tree_getSiblingNodes; * @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; } @@ -32033,8 +36945,9 @@ exports.tree_getFirstAncestorNode = tree_getFirstAncestorNode; * @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; } @@ -32048,27 +36961,29 @@ exports.tree_getNextAncestorNode = tree_getNextAncestorNode; * @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; /** @@ -32082,25 +36997,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; } @@ -32124,7 +37039,7 @@ function tree_getFollowingNode(root, node) { } else { while (true) { - const parent = node._parent; + var parent = node._parent; if (parent === null || parent === root) { return null; } @@ -32184,44 +37099,65 @@ exports.tree_getPrecedingNode = tree_getPrecedingNode; * @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: @@ -32230,10 +37166,20 @@ 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; } @@ -32288,14 +37234,15 @@ exports.tree_isEmpty = tree_isEmpty; * @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 @@ -32320,14 +37267,16 @@ exports.tree_rootNode = tree_rootNode; * @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; @@ -32348,8 +37297,10 @@ exports.tree_isDescendantOf = tree_isDescendantOf; * @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) @@ -32370,10 +37321,11 @@ exports.tree_isAncestorOf = tree_isAncestorOf; * @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; @@ -32389,7 +37341,8 @@ exports.tree_isHostIncludingAncestorOf = tree_isHostIncludingAncestorOf; * @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. @@ -32419,8 +37372,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)) @@ -32442,8 +37395,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)) @@ -32546,9 +37499,9 @@ exports.tree_lastChild = tree_lastChild; * @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) @@ -32570,7 +37523,7 @@ 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; @@ -32600,7 +37553,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; } @@ -32615,75 +37568,30 @@ exports.tree_retarget = tree_retarget; /***/ }), -/***/ 879: -/***/ (function(__unusedmodule, exports) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents a cache for storing order between equal objects. - * - * This cache is used when an algorithm compares two objects and finds them to - * be equal but still needs to establish an order between those two objects. - * When two such objects `a` and `b` are passed to the `check` method, a random - * number is generated with `Math.random()`. If the random number is less than - * `0.5` it is assumed that `a < b` otherwise `a > b`. The random number along - * with `a` and `b` is stored in the cache, so that subsequent checks result - * in the same consistent result. - * - * The cache has a size limit which is defined on initialization. - */ -class CompareCache { - /** - * 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) { - this._items = new Map(); - this._limit = limit; - } - /** - * Compares and caches the given objects. Returns `true` if `objA < objB` and - * `false` otherwise. - * - * @param objA - an item to compare - * @param objB - an item to compare - */ - check(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); - if (result) { - this._items.set(objA, objB); - } - else { - this._items.set(objB, objA); - } - if (this._items.size > this._limit) { - const it = this._items.keys().next(); - /* istanbul ignore else */ - if (!it.done) { - this._items.delete(it.value); - } - } - return result; - } -} -exports.CompareCache = CompareCache; -//# sourceMappingURL=CompareCache.js.map - -/***/ }), - /***/ 884: /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (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 (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -32693,14 +37601,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -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.deleteKey = exports.importKey = exports.PRIVATE_KEY_FILE = void 0; const fs = __importStar(__webpack_require__(747)); const path = __importStar(__webpack_require__(622)); const io = __importStar(__webpack_require__(1)); @@ -32752,18 +37654,57 @@ exports.deleteKey = deleteKey; "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 }); /** * Represents a cache of objects with a size limit. */ -class ObjectCache { +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; } @@ -32772,88 +37713,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 @@ -32865,28 +37843,64 @@ exports.ObjectCache = ObjectCache; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const Guard_1 = __webpack_require__(783); +var Guard_1 = __webpack_require__(783); /** * 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 +/***/ }), + +/***/ 910: +/***/ (function(module, __unusedexports, __webpack_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 = __webpack_require__(733); + + +module.exports = Schema.DEFAULT = new Schema({ + include: [ + __webpack_require__(723) + ], + explicit: [ + __webpack_require__(386), + __webpack_require__(629), + __webpack_require__(352) + ] +}); + + /***/ }), /***/ 911: @@ -32894,19 +37908,35 @@ exports.Cast = Cast; "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 }); -const interfaces_1 = __webpack_require__(172); +var interfaces_1 = __webpack_require__(172); /** * Represents a lexer for XML content in a string. */ -class XMLStringLexer { +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 }; @@ -32921,11 +37951,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)) { @@ -32933,11 +37963,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])) { @@ -32973,14 +38003,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('?>')) { @@ -32988,7 +38018,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') @@ -33000,16 +38030,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(); @@ -33032,12 +38062,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 `?>`'); } @@ -33045,52 +38075,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 }; @@ -33099,7 +38129,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(); @@ -33109,66 +38139,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++; @@ -33178,56 +38208,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++; } @@ -33236,7 +38267,7 @@ class XMLStringLexer { } } return this._str.slice(startIndex, this._index); - } + }; /** * Takes characters until the next character matches `char1` or `char1`. * @@ -33244,10 +38275,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++; } @@ -33256,21 +38288,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); } @@ -33285,15 +38318,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++; } @@ -33301,49 +38334,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; @@ -33364,15 +38397,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 }; } @@ -33381,11 +38414,158 @@ class XMLStringLexer { } }.bind(this) }; - } -} + }; + return XMLStringLexer; +}()); exports.XMLStringLexer = XMLStringLexer; //# sourceMappingURL=XMLStringLexer.js.map +/***/ }), + +/***/ 913: +/***/ (function(module, __unusedexports, __webpack_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 = __webpack_require__(945); + + +// [ 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 +}); + + /***/ }), /***/ 916: @@ -33425,21 +38605,35 @@ exports.EmptySet = EmptySet_1.EmptySet; "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 }); -const TextImpl_1 = __webpack_require__(820); -const interfaces_1 = __webpack_require__(970); -const WebIDLAlgorithm_1 = __webpack_require__(495); +var TextImpl_1 = __webpack_require__(820); +var interfaces_1 = __webpack_require__(970); +var WebIDLAlgorithm_1 = __webpack_require__(495); /** * Represents a CDATA node. */ -class CDATASectionImpl extends TextImpl_1.TextImpl { +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`. @@ -33447,12 +38641,14 @@ 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 @@ -33460,6 +38656,22 @@ exports.CDATASectionImpl = CDATASectionImpl; WebIDLAlgorithm_1.idl_defineConst(CDATASectionImpl.prototype, "_nodeType", interfaces_1.NodeType.CData); //# sourceMappingURL=CDATASectionImpl.js.map +/***/ }), + +/***/ 921: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var Type = __webpack_require__(945); + +module.exports = new Type('tag:yaml.org,2002:seq', { + kind: 'sequence', + construct: function (data) { return data !== null ? data : []; } +}); + + /***/ }), /***/ 923: @@ -33467,6 +38679,25 @@ WebIDLAlgorithm_1.idl_defineConst(CDATASectionImpl.prototype, "_nodeType", inter "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (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 (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -33476,14 +38707,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -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.getJava = void 0; const core = __importStar(__webpack_require__(470)); const io = __importStar(__webpack_require__(1)); const exec = __importStar(__webpack_require__(986)); @@ -33746,36 +38971,60 @@ function normalizeVersion(version) { "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 }); -const EventTargetImpl_1 = __webpack_require__(597); -const util_1 = __webpack_require__(337); -const algorithm_1 = __webpack_require__(163); +var EventTargetImpl_1 = __webpack_require__(597); +var util_1 = __webpack_require__(592); +var algorithm_1 = __webpack_require__(163); /** * Represents a window containing a DOM document. */ -class WindowImpl extends EventTargetImpl_1.EventTargetImpl { +var WindowImpl = /** @class */ (function (_super) { + __extends(WindowImpl, _super); /** * Initializes a new instance of `Window`. */ - constructor() { - super(); - this._signalSlots = new Set(); - this._mutationObserverMicrotaskQueued = false; - this._mutationObservers = new Set(); - this._iteratorList = new util_1.FixedSizeSet(); - this._associatedDocument = 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 @@ -33786,112 +39035,161 @@ exports.WindowImpl = WindowImpl; "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 }); -const util_1 = __webpack_require__(918); -const algorithm_1 = __webpack_require__(163); +var util_1 = __webpack_require__(918); +var algorithm_1 = __webpack_require__(163); /** * 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 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 = algorithm_1.parentNode_convertNodesIntoANode(nodes, node._nodeDocument); + 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 = algorithm_1.parentNode_convertNodesIntoANode(nodes, node._nodeDocument); + 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 = 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 = algorithm_1.selectors_scopeMatchASelectorsString(selectors, node); + 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 @@ -33902,112 +39200,170 @@ exports.ParentNodeImpl = ParentNodeImpl; "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 }); -const _1 = __webpack_require__(113); -const interfaces_1 = __webpack_require__(970); -const EventTargetImpl_1 = __webpack_require__(597); -const util_1 = __webpack_require__(918); -const DOMException_1 = __webpack_require__(35); -const algorithm_1 = __webpack_require__(163); -const URLAlgorithm_1 = __webpack_require__(813); -const WebIDLAlgorithm_1 = __webpack_require__(495); +var DOMImpl_1 = __webpack_require__(648); +var interfaces_1 = __webpack_require__(970); +var EventTargetImpl_1 = __webpack_require__(597); +var util_1 = __webpack_require__(918); +var DOMException_1 = __webpack_require__(35); +var algorithm_1 = __webpack_require__(163); +var URLAlgorithm_1 = __webpack_require__(813); +var WebIDLAlgorithm_1 = __webpack_require__(495); /** * Represents a generic XML node. */ -class NodeImpl extends EventTargetImpl_1.EventTargetImpl { +var NodeImpl = /** @class */ (function (_super) { + __extends(NodeImpl, _super); /** * Initializes a new instance of `Node`. */ - constructor() { - super(); - this._parent = null; - this._firstChild = null; - this._lastChild = null; - this._previousSibling = null; - this._nextSibling = null; + 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; } - get _childNodes() { - return this.__childNodes || (this.__childNodes = algorithm_1.create_nodeList(this)); - } - get _nodeDocument() { return this._nodeDocumentOverride || _1.dom.window._associatedDocument; } - set _nodeDocument(val) { this._nodeDocumentOverride = val; } - get _registeredObserverList() { - return this.__registeredObserverList || (this.__registeredObserverList = []); - } - /** @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 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) && 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. * @@ -34015,164 +39371,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 algorithm_1.tree_rootNode(this, !!options && options.composed); - } - /** - * Returns the parent node. - */ - get parentNode() { + }; + 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)) { - algorithm_1.attr_setAnExistingAttributeValue(this, value); - } - else if (util_1.Guard.isCharacterDataNode(this)) { - 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 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)) { - 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); - } - } + 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 @@ -34180,51 +39572,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 = 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 = 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 = algorithm_1.tree_nodeLength(node); + var length = algorithm_1.tree_nodeLength(node_1); if (length === 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 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. */ - 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 (_1.dom.rangeList.size !== 0) { - let currentNode = node._nextSibling; + if (DOMImpl_1.dom.rangeList.size !== 0) { + 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 @@ -34238,25 +39641,35 @@ 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 = algorithm_1.tree_index(cn); - for (const range of _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. @@ -34270,14 +39683,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; 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 @@ -34287,7 +39700,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. @@ -34297,37 +39711,39 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { if (util_1.Guard.isShadowRoot(this)) throw new DOMException_1.NotSupportedError(); 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 && 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. @@ -34336,10 +39752,10 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { */ if (other === this) return 0; - let node1 = other; - let node2 = this; - let attr1 = null; - let attr2 = null; + 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. @@ -34364,8 +39780,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 @@ -34395,7 +39811,7 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { // nodes are disconnected // return a random result but cache the value for consistency return interfaces_1.Position.Disconnected | interfaces_1.Position.ImplementationSpecific | - (_1.dom.compareCache.check(this, other) ? interfaces_1.Position.Preceding : interfaces_1.Position.Following); + (DOMImpl_1.dom.compareCache.check(this, other) ? interfaces_1.Position.Preceding : interfaces_1.Position.Following); } /** * 7. If node1 is an ancestor of node2 and attr1 is null, or node1 is node2 @@ -34424,14 +39840,14 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { * 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 @@ -34440,14 +39856,14 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { if (other === null) return false; 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: @@ -34500,28 +39916,28 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { 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 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 @@ -34530,9 +39946,9 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { */ if (!namespace) namespace = null; - const defaultNamespace = 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 @@ -34549,13 +39965,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 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 @@ -34569,13 +39985,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 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 @@ -34586,13 +40002,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 algorithm_1.mutation_replace(oldChild, newChild, this); - } + }; /** * Removes the child node indicated by `oldChild` from the list of * children, and returns it. @@ -34601,19 +40017,19 @@ 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 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. @@ -34624,27 +40040,28 @@ class NodeImpl extends EventTargetImpl_1.EventTargetImpl { 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; -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; /** * A performance tweak to share an empty set between all node classes. This will * be overwritten by element, document and document fragment nodes to supply an @@ -34676,67 +40093,72 @@ WebIDLAlgorithm_1.idl_defineConst(NodeImpl.prototype, "DOCUMENT_POSITION_IMPLEME /***/ }), -/***/ 938: -/***/ (function(__unusedmodule, exports) { +/***/ 945: +/***/ (function(module, __unusedexports, __webpack_require__) { "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents a cache for storing order between equal objects. - * - * This cache is used when an algorithm compares two objects and finds them to - * be equal but still needs to establish an order between those two objects. - * When two such objects `a` and `b` are passed to the `check` method, a random - * number is generated with `Math.random()`. If the random number is less than - * `0.5` it is assumed that `a < b` otherwise `a > b`. The random number along - * with `a` and `b` is stored in the cache, so that subsequent checks result - * in the same consistent result. - * - * The cache has a size limit which is defined on initialization. - */ -class CompareCache { - /** - * 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) { - this._items = new Map(); - this._limit = limit; - } - /** - * Compares and caches the given objects. Returns `true` if `objA < objB` and - * `false` otherwise. - * - * @param objA - an item to compare - * @param objB - an item to compare - */ - check(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); - if (result) { - this._items.set(objA, objB); - } - else { - this._items.set(objB, objA); - } - if (this._items.size > this._limit) { - const it = this._items.keys().next(); - /* istanbul ignore else */ - if (!it.done) { - this._items.delete(it.value); - } - } - return result; - } + +var YAMLException = __webpack_require__(556); + +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; } -exports.CompareCache = CompareCache; -//# sourceMappingURL=CompareCache.js.map + +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; + /***/ }), @@ -34749,40 +40171,44 @@ Object.defineProperty(exports, "__esModule", { value: true }); /** * Represents an object with lazy initialization. */ -class Lazy { +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 /***/ }), /***/ 950: -/***/ (function(__unusedmodule, exports, __webpack_require__) { +/***/ (function(__unusedmodule, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const url = __webpack_require__(835); function getProxyUrl(reqUrl) { let usingSsl = reqUrl.protocol === 'https:'; let proxyUrl; @@ -34797,7 +40223,7 @@ function getProxyUrl(reqUrl) { proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY']; } if (proxyVar) { - proxyUrl = url.parse(proxyVar); + proxyUrl = new URL(proxyVar); } return proxyUrl; } @@ -34840,6 +40266,121 @@ function checkBypass(reqUrl) { exports.checkBypass = checkBypass; +/***/ }), + +/***/ 961: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var interfaces_1 = __webpack_require__(625); +var util_1 = __webpack_require__(592); +var util_2 = __webpack_require__(918); +var _1 = __webpack_require__(535); +var dom_1 = __webpack_require__(743); +/** @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 + /***/ }), /***/ 968: @@ -34848,50 +40389,64 @@ exports.checkBypass = checkBypass; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -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 /***/ }), @@ -34994,115 +40549,80 @@ var HowToCompare; /***/ }), -/***/ 973: -/***/ (function(__unusedmodule, exports) { +/***/ 979: +/***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +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 }); +const core = __importStar(__webpack_require__(470)); /** - * Represents a cache of objects with a size limit. + * Internal class for retries */ -class ObjectCache { - /** - * 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) { - this._items = new Map(); - this._limit = limit; - } - /** - * Gets an item from the cache. - * - * @param key - object key - */ - get(key) { - return this._items.get(key); - } - /** - * Adds a new item to the cache. - * - * @param key - object key - * @param value - object value - */ - set(key, value) { - this._items.set(key, value); - if (this._items.size > this._limit) { - const it = this._items.keys().next(); - /* istanbul ignore else */ - if (!it.done) { - this._items.delete(it.value); - } +class RetryHelper { + constructor(maxAttempts, minSeconds, maxSeconds) { + if (maxAttempts < 1) { + throw new Error('max attempts should be greater than or equal to 1'); + } + this.maxAttempts = maxAttempts; + this.minSeconds = Math.floor(minSeconds); + this.maxSeconds = Math.floor(maxSeconds); + if (this.minSeconds > this.maxSeconds) { + throw new Error('min seconds should be less than or equal to max seconds'); } } - /** - * Removes an item from the cache. - * - * @param item - an item - */ - delete(key) { - return this._items.delete(key); + execute(action, isRetryable) { + return __awaiter(this, void 0, void 0, function* () { + let attempt = 1; + while (attempt < this.maxAttempts) { + // Try + try { + return yield action(); + } + catch (err) { + if (isRetryable && !isRetryable(err)) { + throw err; + } + core.info(err.message); + } + // Sleep + const seconds = this.getSleepAmount(); + core.info(`Waiting ${seconds} seconds before trying again`); + yield this.sleep(seconds); + attempt++; + } + // Last attempt + return yield action(); + }); } - /** - * Determines if an item is in the cache. - * - * @param item - an item - */ - has(key) { - return this._items.has(key); + getSleepAmount() { + return (Math.floor(Math.random() * (this.maxSeconds - this.minSeconds + 1)) + + this.minSeconds); } - /** - * Removes all items from the cache. - */ - clear() { - this._items.clear(); - } - /** - * Gets the number of items in the cache. - */ - get size() { return this._items.size; } - /** - * Applies the given callback function to all elements of the cache. - */ - forEach(callback, thisArg) { - this._items.forEach((v, k) => callback.call(thisArg, k, v)); - } - /** - * Iterates through the items in the set. - */ - *keys() { - yield* this._items.keys(); - } - /** - * Iterates through the items in the set. - */ - *values() { - yield* this._items.values(); - } - /** - * Iterates through the items in the set. - */ - *entries() { - yield* this._items.entries(); - } - /** - * Iterates through the items in the set. - */ - *[Symbol.iterator]() { - yield* this._items; - } - /** - * Returns the string tag of the cache. - */ - get [Symbol.toStringTag]() { - return "ObjectCache"; + sleep(seconds) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise(resolve => setTimeout(resolve, seconds * 1000)); + }); } } -exports.ObjectCache = ObjectCache; -//# sourceMappingURL=ObjectCache.js.map +exports.RetryHelper = RetryHelper; +//# sourceMappingURL=retry-helper.js.map /***/ }), @@ -35112,34 +40632,40 @@ exports.ObjectCache = ObjectCache; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = __webpack_require__(918); -const algorithm_1 = __webpack_require__(163); +var util_1 = __webpack_require__(918); +var algorithm_1 = __webpack_require__(163); /** * 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; @@ -35151,7 +40677,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 = 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. @@ -35164,27 +40690,31 @@ class ChildNodeImpl { * 6. Pre-insert node into parent before 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; @@ -35196,32 +40726,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 = algorithm_1.parentNode_convertNodesIntoANode(nodes, context._nodeDocument); + var node = algorithm_1.parentNode_convertNodesIntoANode(nodes, context._nodeDocument); /** * 5. Pre-insert node into parent before 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; @@ -35233,7 +40767,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 = 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. @@ -35244,20 +40778,21 @@ class ChildNodeImpl { algorithm_1.mutation_replace(context, node, parent); else 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; algorithm_1.mutation_remove(context, parent); - } -} + }; + return ChildNodeImpl; +}()); exports.ChildNodeImpl = ChildNodeImpl; //# sourceMappingURL=ChildNodeImpl.js.map @@ -35277,8 +40812,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; +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 }); -const tr = __webpack_require__(9); +const tr = __importStar(__webpack_require__(9)); /** * Exec a command. * Output will be streamed to the live console. @@ -35305,6 +40847,22 @@ function exec(commandLine, args, options) { exports.exec = exec; //# sourceMappingURL=exec.js.map +/***/ }), + +/***/ 988: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var Type = __webpack_require__(945); + +module.exports = new Type('tag:yaml.org,2002:map', { + kind: 'mapping', + construct: function (data) { return data !== null ? data : {}; } +}); + + /***/ }), /***/ 990: @@ -35313,15 +40871,15 @@ exports.exec = exec; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const algorithm_1 = __webpack_require__(163); +var algorithm_1 = __webpack_require__(163); /** * Represents a controller that allows to abort DOM requests. */ -class AbortControllerImpl { +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. @@ -35329,128 +40887,21 @@ class AbortControllerImpl { */ 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() { + AbortControllerImpl.prototype.abort = function () { algorithm_1.abort_signalAbort(this._signal); - } -} + }; + return AbortControllerImpl; +}()); exports.AbortControllerImpl = AbortControllerImpl; //# sourceMappingURL=AbortControllerImpl.js.map -/***/ }), - -/***/ 995: -/***/ (function(__unusedmodule, exports) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Represents a cache of objects with a size limit. - */ -class ObjectCache { - /** - * 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) { - this._items = new Map(); - this._limit = limit; - } - /** - * Gets an item from the cache. - * - * @param key - object key - */ - get(key) { - return this._items.get(key); - } - /** - * Adds a new item to the cache. - * - * @param key - object key - * @param value - object value - */ - set(key, value) { - this._items.set(key, value); - if (this._items.size > this._limit) { - const it = this._items.keys().next(); - /* istanbul ignore else */ - if (!it.done) { - this._items.delete(it.value); - } - } - } - /** - * Removes an item from the cache. - * - * @param item - an item - */ - delete(key) { - return this._items.delete(key); - } - /** - * Determines if an item is in the cache. - * - * @param item - an item - */ - has(key) { - return this._items.has(key); - } - /** - * Removes all items from the cache. - */ - clear() { - this._items.clear(); - } - /** - * Gets the number of items in the cache. - */ - get size() { return this._items.size; } - /** - * Applies the given callback function to all elements of the cache. - */ - forEach(callback, thisArg) { - this._items.forEach((v, k) => callback.call(thisArg, k, v)); - } - /** - * Iterates through the items in the set. - */ - *keys() { - yield* this._items.keys(); - } - /** - * Iterates through the items in the set. - */ - *values() { - yield* this._items.values(); - } - /** - * Iterates through the items in the set. - */ - *entries() { - yield* this._items.entries(); - } - /** - * Iterates through the items in the set. - */ - *[Symbol.iterator]() { - yield* this._items; - } - /** - * Returns the string tag of the cache. - */ - get [Symbol.toStringTag]() { - return "ObjectCache"; - } -} -exports.ObjectCache = ObjectCache; -//# sourceMappingURL=ObjectCache.js.map - /***/ }) /******/ }); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 7ba66d98..e818bc19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,5932 @@ { "name": "setup-java", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@actions/core": "^1.0.0", + "@actions/exec": "^1.0.4", + "@actions/http-client": "^1.0.9", + "@actions/io": "^1.0.0", + "@actions/tool-cache": "^1.6.1", + "@tradeshift/actions-credentials-yaml": "^0.7.0", + "semver": "^6.1.1", + "xmlbuilder2": "^2.4.0" + }, + "devDependencies": { + "@types/jest": "^24.0.13", + "@types/node": "^12.20.1", + "@types/semver": "^6.2.2", + "@zeit/ncc": "^0.20.5", + "jest": "^24.8.0", + "jest-circus": "^24.7.1", + "prettier": "^1.19.1", + "ts-jest": "^24.0.2", + "typescript": "^3.9.9" + } + }, + "node_modules/@actions/core": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.6.tgz", + "integrity": "sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA==" + }, + "node_modules/@actions/exec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.4.tgz", + "integrity": "sha512-4DPChWow9yc9W3WqEbUj8Nr86xkpyE29ZzWjXucHItclLbEW6jr80Zx4nqv18QL6KK65+cifiQZXvnqgTV6oHw==", + "dependencies": { + "@actions/io": "^1.0.1" + } + }, + "node_modules/@actions/http-client": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.9.tgz", + "integrity": "sha512-0O4SsJ7q+MK0ycvXPl2e6bMXV7dxAXOGjrXS1eTF9s2S401Tp6c/P3c3Joz04QefC1J6Gt942Wl2jbm3f4mLcg==", + "dependencies": { + "tunnel": "0.0.6" + } + }, + "node_modules/@actions/io": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.2.tgz", + "integrity": "sha512-J8KuFqVPr3p6U8W93DOXlXW6zFvrQAJANdS+vw0YhusLIq+bszW8zmK2Fh1C2kDPX8FMvwIl1OUcFgvJoXLbAg==" + }, + "node_modules/@actions/tool-cache": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.6.1.tgz", + "integrity": "sha512-F+vwEDwfqcHMKuSkj79pihOnsAMv23EkG76nMpc82UsnXwyQdyEsktGxrB0SNtm7pRqTXEIOoAPTgrSQclXYTg==", + "dependencies": { + "@actions/core": "^1.2.6", + "@actions/exec": "^1.0.0", + "@actions/http-client": "^1.0.8", + "@actions/io": "^1.0.1", + "semver": "^6.1.0", + "uuid": "^3.3.2" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/@babel/core": { + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.16.tgz", + "integrity": "sha512-t/hHIB504wWceOeaOoONOhu+gX+hpjfeN6YRBT209X/4sibZQfSF1I0HFRRlBe97UZZosGx5XwUg1ZgNbelmNw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.15", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helpers": "^7.12.13", + "@babel/parser": "^7.12.16", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.16.tgz", + "integrity": "sha512-zYoZC1uvebBFmj1wFAlXwt35JLEgecefATtKp20xalwEK8vHAixLBXTGxNrVGEmTT+gzOThUgr8UEdgtalc1BQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "node_modules/@babel/helpers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.13.tgz", + "integrity": "sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", + "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dev": true, + "dependencies": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/core": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", + "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", + "dev": true, + "dependencies": { + "@jest/console": "^24.7.1", + "@jest/reporters": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-changed-files": "^24.9.0", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-resolve-dependencies": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "jest-watcher": "^24.9.0", + "micromatch": "^3.1.10", + "p-each-series": "^1.0.0", + "realpath-native": "^1.1.0", + "rimraf": "^2.5.4", + "slash": "^2.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/environment": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", + "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/fake-timers": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", + "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/reporters": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", + "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", + "dev": true, + "dependencies": { + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "istanbul-lib-coverage": "^2.0.2", + "istanbul-lib-instrument": "^3.0.1", + "istanbul-lib-report": "^2.0.4", + "istanbul-lib-source-maps": "^3.0.1", + "istanbul-reports": "^2.2.6", + "jest-haste-map": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "node-notifier": "^5.4.2", + "slash": "^2.0.0", + "source-map": "^0.6.0", + "string-length": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "dependencies": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", + "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", + "dev": true, + "dependencies": { + "@jest/test-result": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/transform": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", + "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^24.9.0", + "babel-plugin-istanbul": "^5.1.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.15", + "jest-haste-map": "^24.9.0", + "jest-regex-util": "^24.9.0", + "jest-util": "^24.9.0", + "micromatch": "^3.1.10", + "pirates": "^4.0.1", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "2.4.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@oozcitak/dom": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.8.tgz", + "integrity": "sha512-MoOnLBNsF+ok0HjpAvxYxR4piUhRDCEWK0ot3upwOOHYudJd30j6M+LNcE8RKpwfnclAX9T66nXXzkytd29XSw==", + "dependencies": { + "@oozcitak/infra": "1.0.8", + "@oozcitak/url": "1.0.4", + "@oozcitak/util": "8.3.8" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@oozcitak/infra": { + "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": "8.3.8" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@oozcitak/url": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.4.tgz", + "integrity": "sha512-kDcD8y+y3FCSOvnBI6HJgl00viO/nGbQoCINmQ0h98OhnGITrWR3bOGfwYCthgcrV8AnTJz8MzslTQbC3SOAmw==", + "dependencies": { + "@oozcitak/infra": "1.0.8", + "@oozcitak/util": "8.3.8" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@oozcitak/util": { + "version": "8.3.8", + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.8.tgz", + "integrity": "sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ==", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@tradeshift/actions-credentials-yaml": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@tradeshift/actions-credentials-yaml/-/actions-credentials-yaml-0.7.0.tgz", + "integrity": "sha512-FBHqPvlnqL71DQJJB8aV0WUR/hDoeL3Mf+wpTD1DoxgoPH93LvwiChyNa2NybqENJB9nm85ylK+4pgUxwUoRBw==", + "dependencies": { + "js-base64": "^3.6.0", + "yaml": "^1.10.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.12", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", + "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.0.tgz", + "integrity": "sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "24.9.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.9.1.tgz", + "integrity": "sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q==", + "dev": true, + "dependencies": { + "jest-diff": "^24.3.0" + } + }, + "node_modules/@types/node": { + "version": "12.20.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.1.tgz", + "integrity": "sha512-tCkE96/ZTO+cWbln2xfyvd6ngHLanvVlJ3e5BeirJ3BYI5GbAyubIrmV4JjjugDly5D9fHjOL5MNsqsCnqwW6g==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.2.tgz", + "integrity": "sha512-RxAwYt4rGwK5GyoRwuP0jT6ZHAVTdz2EqgsHmX0PYNjGsko+OeT4WFXXTs/lM3teJUJodM+SNtAL5/pXIJ61IQ==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "13.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", + "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true + }, + "node_modules/@zeit/ncc": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/@zeit/ncc/-/ncc-0.20.5.tgz", + "integrity": "sha512-XU6uzwvv95DqxciQx+aOLhbyBx/13ky+RK1y88Age9Du3BlA4mMPCy13BGjayOrrumOzlq1XV3SD/BWiZENXlw==", + "deprecated": "@zeit/ncc is no longer maintained. Please use @vercel/ncc instead.", + "dev": true, + "bin": { + "ncc": "dist/ncc/cli.js" + } + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dev": true, + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "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/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "node_modules/babel-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", + "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", + "dev": true, + "dependencies": { + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/babel__core": "^7.1.0", + "babel-plugin-istanbul": "^5.1.0", + "babel-preset-jest": "^24.9.0", + "chalk": "^2.4.2", + "slash": "^2.0.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", + "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", + "dev": true, + "dependencies": { + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/babel-preset-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", + "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "babel-plugin-jest-hoist": "^24.9.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "dependencies": { + "resolve": "1.1.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "dev": true, + "dependencies": { + "cssom": "0.3.x" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "node_modules/data-urls/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "dependencies": { + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", + "dev": true + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "dependencies": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", + "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", + "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", + "dev": true, + "dependencies": { + "import-local": "^2.0.0", + "jest-cli": "^24.9.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-changed-files": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", + "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "execa": "^1.0.0", + "throat": "^4.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-circus": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-24.9.0.tgz", + "integrity": "sha512-dwkvwFtRc9Anmk1XTc+bonVL8rVMZ3CeGMoFWmv1oaQThdAgvfI9bwaFlZp+gLVphNVz6ZLfCWo3ERhS5CeVvA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^24.9.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0", + "stack-utils": "^1.0.1", + "throat": "^4.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-cli": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", + "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", + "dev": true, + "dependencies": { + "@jest/core": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "import-local": "^2.0.0", + "is-ci": "^2.0.0", + "jest-config": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "prompts": "^2.0.1", + "realpath-native": "^1.1.0", + "yargs": "^13.3.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-config": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", + "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^24.9.0", + "@jest/types": "^24.9.0", + "babel-jest": "^24.9.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^24.9.0", + "jest-environment-node": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "micromatch": "^3.1.10", + "pretty-format": "^24.9.0", + "realpath-native": "^1.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-docblock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", + "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", + "dev": true, + "dependencies": { + "detect-newline": "^2.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-each": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", + "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", + "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", + "dev": true, + "dependencies": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0", + "jsdom": "^11.5.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-node": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", + "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "dev": true, + "dependencies": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-haste-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", + "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.15", + "invariant": "^2.2.4", + "jest-serializer": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.9.0", + "micromatch": "^3.1.10", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "engines": { + "node": ">= 6" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/jest-jasmine2": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", + "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^24.9.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0", + "throat": "^4.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-leak-detector": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", + "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", + "dev": true, + "dependencies": { + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-mock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", + "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-resolve": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", + "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "jest-pnp-resolver": "^1.2.1", + "realpath-native": "^1.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", + "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-snapshot": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-runner": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", + "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", + "dev": true, + "dependencies": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.4.2", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-docblock": "^24.3.0", + "jest-haste-map": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-leak-detector": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-runtime": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", + "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", + "dev": true, + "dependencies": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/source-map": "^24.3.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "strip-bom": "^3.0.0", + "yargs": "^13.3.0" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-serializer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", + "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-snapshot": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", + "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "expect": "^24.9.0", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^24.9.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", + "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "dev": true, + "dependencies": { + "@jest/console": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/source-map": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "callsites": "^3.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.15", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1", + "slash": "^2.0.0", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-util/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-validate": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", + "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "camelcase": "^5.3.1", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "leven": "^3.1.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-watcher": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", + "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "jest-util": "^24.9.0", + "string-length": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/js-base64": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.6.0.tgz", + "integrity": "sha512-wVdUBYQeY2gY73RIlPrysvpYx+2vheGo8Y1SNQv/BzHToWpAZzJU7Z6uheKMAe+GLSBig5/Ps2nxg/8tRB73xg==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "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/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "node_modules/jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "deprecated": "use String.prototype.padStart()", + "dev": true + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "dependencies": { + "tmpl": "1.0.x" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mime-db": { + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", + "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.29", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", + "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", + "dev": true, + "dependencies": { + "mime-db": "1.46.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node_modules/node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-notifier": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", + "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "dev": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, + "node_modules/node-notifier/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-each-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", + "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "dev": true, + "dependencies": { + "p-reduce": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "dependencies": { + "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "dev": true, + "dependencies": { + "util.promisify": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "dependencies": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-utils": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.4.tgz", + "integrity": "sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "dev": true, + "dependencies": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-length/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "dependencies": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "dev": true + }, + "node_modules/tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/ts-jest": { + "version": "24.3.0", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-24.3.0.tgz", + "integrity": "sha512-Hb94C/+QRIgjVZlJyiWwouYUF+siNJHJHknyspaOcZ+OQAIdFG/UrdQVXw/0B8Z3No34xkUXZJpOTy9alOWdVQ==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "0.x", + "resolve": "1.x", + "semver": "^5.5", + "yargs-parser": "10.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "jest": ">=24 <25" + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typescript": { + "version": "3.9.9", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz", + "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util.promisify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", + "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "for-each": "^0.3.3", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "dependencies": { + "makeerror": "1.0.x" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", + "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "node_modules/xmlbuilder2": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-2.4.0.tgz", + "integrity": "sha512-KrOVUGD65xTQ7ZA+GMQGdBSpe1Ufu5ylCQSYVk6QostySDkxPmAQ0WWIu7dR3JjLfVbF22RFQX7KyrZ6VTLcQg==", + "dependencies": { + "@oozcitak/dom": "1.15.8", + "@oozcitak/infra": "1.0.8", + "@oozcitak/util": "8.3.8", + "@types/node": "14.6.2", + "js-yaml": "3.14.0" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/xmlbuilder2/node_modules/@types/node": { + "version": "14.6.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.6.2.tgz", + "integrity": "sha512-onlIwbaeqvZyniGPfdw/TEhKIh79pz66L1q06WUQqJLnAb6wbjvOtepLYTGHTqzdXgBYIE3ZdmqHDGsRsbBz7A==" + }, + "node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/yargs-parser/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + }, "dependencies": { "@actions/core": { "version": "1.2.6", @@ -10,17 +5934,17 @@ "integrity": "sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA==" }, "@actions/exec": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.3.tgz", - "integrity": "sha512-TogJGnueOmM7ntCi0ASTUj4LapRRtDfj57Ja4IhPmg2fls28uVOPbAn8N+JifaOumN2UG3oEO/Ixek2A4NcYSA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.4.tgz", + "integrity": "sha512-4DPChWow9yc9W3WqEbUj8Nr86xkpyE29ZzWjXucHItclLbEW6jr80Zx4nqv18QL6KK65+cifiQZXvnqgTV6oHw==", "requires": { "@actions/io": "^1.0.1" } }, "@actions/http-client": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.8.tgz", - "integrity": "sha512-G4JjJ6f9Hb3Zvejj+ewLLKLf99ZC+9v+yCxoYf9vSyH+WkzPLB2LuUtRMGNkooMqdugGBFStIKXOuvH1W+EctA==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.9.tgz", + "integrity": "sha512-0O4SsJ7q+MK0ycvXPl2e6bMXV7dxAXOGjrXS1eTF9s2S401Tp6c/P3c3Joz04QefC1J6Gt942Wl2jbm3f4mLcg==", "requires": { "tunnel": "0.0.6" } @@ -31,160 +5955,201 @@ "integrity": "sha512-J8KuFqVPr3p6U8W93DOXlXW6zFvrQAJANdS+vw0YhusLIq+bszW8zmK2Fh1C2kDPX8FMvwIl1OUcFgvJoXLbAg==" }, "@actions/tool-cache": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.3.1.tgz", - "integrity": "sha512-sKoEJv0/c7WzjPEq2PO12Sc8QdEp58XIBHMm3c4lUn/iZWgLz9HBeCuFGpLQjDvXJNfLZ4g+WD+rMjgOmpH4Ag==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.6.1.tgz", + "integrity": "sha512-F+vwEDwfqcHMKuSkj79pihOnsAMv23EkG76nMpc82UsnXwyQdyEsktGxrB0SNtm7pRqTXEIOoAPTgrSQclXYTg==", "requires": { - "@actions/core": "^1.2.0", + "@actions/core": "^1.2.6", "@actions/exec": "^1.0.0", - "@actions/http-client": "^1.0.3", + "@actions/http-client": "^1.0.8", "@actions/io": "^1.0.1", "semver": "^6.1.0", "uuid": "^3.3.2" } }, "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "dev": true, "requires": { - "@babel/highlight": "^7.8.3" + "@babel/highlight": "^7.12.13" } }, "@babel/core": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.4.tgz", - "integrity": "sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA==", + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.16.tgz", + "integrity": "sha512-t/hHIB504wWceOeaOoONOhu+gX+hpjfeN6YRBT209X/4sibZQfSF1I0HFRRlBe97UZZosGx5XwUg1ZgNbelmNw==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.4", - "@babel/helpers": "^7.8.4", - "@babel/parser": "^7.8.4", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.4", - "@babel/types": "^7.8.3", + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.15", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helpers": "^7.12.13", + "@babel/parser": "^7.12.16", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", + "json5": "^2.1.2", + "lodash": "^4.17.19", "semver": "^5.4.1", "source-map": "^0.5.0" }, "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true } } }, "@babel/generator": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.4.tgz", - "integrity": "sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", "dev": true, "requires": { - "@babel/types": "^7.8.3", + "@babel/types": "^7.12.13", "jsesc": "^2.5.1", - "lodash": "^4.17.13", "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } } }, "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.16.tgz", + "integrity": "sha512-zYoZC1uvebBFmj1wFAlXwt35JLEgecefATtKp20xalwEK8vHAixLBXTGxNrVGEmTT+gzOThUgr8UEdgtalc1BQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" } }, "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", "dev": true }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "@babel/helper-replace-supers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, - "@babel/helpers": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", - "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", + "@babel/helper-simple-access": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", "dev": true, "requires": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.4", - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.13.tgz", + "integrity": "sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==", + "dev": true, + "requires": { + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", "dev": true, "requires": { + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz", - "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==", + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", + "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", "dev": true }, "@babel/plugin-syntax-object-rest-spread": { @@ -197,65 +6162,48 @@ } }, "@babel/template": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", - "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/traverse": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz", - "integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.4", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.4", - "@babel/types": "^7.8.3", + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", "debug": "^4.1.0", "globals": "^11.1.0", - "lodash": "^4.17.13" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "lodash": "^4.17.19" } }, "@babel/types": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", - "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "dev": true, "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } }, "@cnakazawa/watch": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz", - "integrity": "sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", "dev": true, "requires": { "exec-sh": "^0.3.2", @@ -359,6 +6307,14 @@ "slash": "^2.0.0", "source-map": "^0.6.0", "string-length": "^2.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "@jest/source-map": { @@ -370,6 +6326,14 @@ "callsites": "^3.0.0", "graceful-fs": "^4.1.15", "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "@jest/test-result": { @@ -417,6 +6381,14 @@ "slash": "^2.0.0", "source-map": "^0.6.1", "write-file-atomic": "2.4.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "@jest/types": { @@ -431,77 +6403,50 @@ } }, "@oozcitak/dom": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.5.tgz", - "integrity": "sha512-L6v3Mwb0TaYBYgeYlIeBaHnc+2ZEaDSbFiRm5KmqZQSoBlbPlf+l6aIH/sD5GUf2MYwULw00LT7+dOnEuAEC0A==", + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.8.tgz", + "integrity": "sha512-MoOnLBNsF+ok0HjpAvxYxR4piUhRDCEWK0ot3upwOOHYudJd30j6M+LNcE8RKpwfnclAX9T66nXXzkytd29XSw==", "requires": { - "@oozcitak/infra": "1.0.5", - "@oozcitak/url": "1.0.0", - "@oozcitak/util": "8.0.0" - }, - "dependencies": { - "@oozcitak/util": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.0.0.tgz", - "integrity": "sha512-+9Hq6yuoq/3TRV/n/xcpydGBq2qN2/DEDMqNTG7rm95K6ZE2/YY/sPyx62+1n8QsE9O26e5M1URlXsk+AnN9Jw==" - } + "@oozcitak/infra": "1.0.8", + "@oozcitak/url": "1.0.4", + "@oozcitak/util": "8.3.8" } }, "@oozcitak/infra": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.5.tgz", - "integrity": "sha512-o+zZH7M6l5e3FaAWy3ojaPIVN5eusaYPrKm6MZQt0DKNdgXa2wDYExjpP0t/zx+GoQgQKzLu7cfD8rHCLt8JrQ==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.8.tgz", + "integrity": "sha512-JRAUc9VR6IGHOL7OGF+yrvs0LO8SlqGnPAMqyzOuFZPSZSXI7Xf2O9+awQPSMXgIWGtgUf/dA6Hs6X6ySEaWTg==", "requires": { - "@oozcitak/util": "8.0.0" - }, - "dependencies": { - "@oozcitak/util": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.0.0.tgz", - "integrity": "sha512-+9Hq6yuoq/3TRV/n/xcpydGBq2qN2/DEDMqNTG7rm95K6ZE2/YY/sPyx62+1n8QsE9O26e5M1URlXsk+AnN9Jw==" - } + "@oozcitak/util": "8.3.8" } }, "@oozcitak/url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.0.tgz", - "integrity": "sha512-LGrMeSxeLzsdaitxq3ZmBRVOrlRRQIgNNci6L0VRnOKlJFuRIkNm4B+BObXPCJA6JT5bEJtrrwjn30jueHJYZQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.4.tgz", + "integrity": "sha512-kDcD8y+y3FCSOvnBI6HJgl00viO/nGbQoCINmQ0h98OhnGITrWR3bOGfwYCthgcrV8AnTJz8MzslTQbC3SOAmw==", "requires": { - "@oozcitak/infra": "1.0.3", - "@oozcitak/util": "1.0.2" - }, - "dependencies": { - "@oozcitak/infra": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.3.tgz", - "integrity": "sha512-9O2wxXGnRzy76O1XUxESxDGsXT5kzETJPvYbreO4mv6bqe1+YSuux2cZTagjJ/T4UfEwFJz5ixanOqB0QgYAag==", - "requires": { - "@oozcitak/util": "1.0.1" - }, - "dependencies": { - "@oozcitak/util": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-1.0.1.tgz", - "integrity": "sha512-dFwFqcKrQnJ2SapOmRD1nQWEZUtbtIy9Y6TyJquzsalWNJsKIPxmTI0KG6Ypyl8j7v89L2wixH9fQDNrF78hKg==" - } - } - }, - "@oozcitak/util": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-1.0.2.tgz", - "integrity": "sha512-4n8B1cWlJleSOSba5gxsMcN4tO8KkkcvXhNWW+ADqvq9Xj+Lrl9uCa90GRpjekqQJyt84aUX015DG81LFpZYXA==" - } + "@oozcitak/infra": "1.0.8", + "@oozcitak/util": "8.3.8" } }, "@oozcitak/util": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.3.tgz", - "integrity": "sha512-Ufpab7G5PfnEhQyy5kDg9C8ltWJjsVT1P/IYqacjstaqydG4Q21HAT2HUZQYBrC/a1ZLKCz87pfydlDvv8y97w==" + "version": "8.3.8", + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.8.tgz", + "integrity": "sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ==" + }, + "@tradeshift/actions-credentials-yaml": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@tradeshift/actions-credentials-yaml/-/actions-credentials-yaml-0.7.0.tgz", + "integrity": "sha512-FBHqPvlnqL71DQJJB8aV0WUR/hDoeL3Mf+wpTD1DoxgoPH93LvwiChyNa2NybqENJB9nm85ylK+4pgUxwUoRBw==", + "requires": { + "js-base64": "^3.6.0", + "yaml": "^1.10.0" + } }, "@types/babel__core": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz", - "integrity": "sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==", + "version": "7.1.12", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", + "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -512,18 +6457,18 @@ } }, "@types/babel__generator": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", - "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", "dev": true, "requires": { "@babel/types": "^7.0.0" } }, "@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -531,18 +6476,18 @@ } }, "@types/babel__traverse": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz", - "integrity": "sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.0.tgz", + "integrity": "sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==", "dev": true, "requires": { "@babel/types": "^7.3.0" } }, "@types/istanbul-lib-coverage": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", - "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", "dev": true }, "@types/istanbul-lib-report": { @@ -555,9 +6500,9 @@ } }, "@types/istanbul-reports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", - "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "*", @@ -574,15 +6519,15 @@ } }, "@types/node": { - "version": "12.12.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.26.tgz", - "integrity": "sha512-UmUm94/QZvU5xLcUlNR8hA7Ac+fGpO1EG/a8bcWVz0P0LqtxFmun9Y2bbtuckwGboWJIT70DoWq1r3hb56n3DA==", + "version": "12.20.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.1.tgz", + "integrity": "sha512-tCkE96/ZTO+cWbln2xfyvd6ngHLanvVlJ3e5BeirJ3BYI5GbAyubIrmV4JjjugDly5D9fHjOL5MNsqsCnqwW6g==", "dev": true }, "@types/semver": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.1.tgz", - "integrity": "sha512-+beqKQOh9PYxuHvijhVl+tIHvT6tuwOrE9m14zd+MT2A38KoKZhh7pYJ0SNleLtwDsiIxHDsIk9bv01oOxvSvA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.2.tgz", + "integrity": "sha512-RxAwYt4rGwK5GyoRwuP0jT6ZHAVTdz2EqgsHmX0PYNjGsko+OeT4WFXXTs/lM3teJUJodM+SNtAL5/pXIJ61IQ==", "dev": true }, "@types/stack-utils": { @@ -592,18 +6537,18 @@ "dev": true }, "@types/yargs": { - "version": "13.0.8", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.8.tgz", - "integrity": "sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA==", + "version": "13.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", + "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", "dev": true, "requires": { "@types/yargs-parser": "*" } }, "@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", "dev": true }, "@zeit/ncc": { @@ -613,9 +6558,9 @@ "dev": true }, "abab": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", - "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", "dev": true }, "acorn": { @@ -635,9 +6580,9 @@ }, "dependencies": { "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true } } @@ -649,9 +6594,9 @@ "dev": true }, "ajv": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", - "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -691,6 +6636,14 @@ "normalize-path": "^2.1.1" } }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -773,9 +6726,9 @@ "dev": true }, "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, "babel-jest": { @@ -853,35 +6806,6 @@ "requires": { "is-descriptor": "^1.0.0" } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } } } }, @@ -940,13 +6864,19 @@ "requires": { "is-extendable": "^0.1.0" } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true } } }, "browser-process-hrtime": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", - "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", "dev": true }, "browser-resolve": { @@ -956,14 +6886,6 @@ "dev": true, "requires": { "resolve": "1.1.7" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } } }, "bs-logger": { @@ -1007,6 +6929,16 @@ "unset-value": "^1.0.0" } }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1071,6 +7003,63 @@ "requires": { "is-descriptor": "^0.1.0" } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, @@ -1228,12 +7217,12 @@ } }, "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "2.1.2" } }, "decamelize": { @@ -1271,37 +7260,6 @@ "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } } }, "delayed-stream": { @@ -1366,22 +7324,25 @@ } }, "es-abstract": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", - "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", "dev": true, "requires": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", "has": "^1.0.3", "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" } }, "es-to-primitive": { @@ -1402,9 +7363,9 @@ "dev": true }, "escodegen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", - "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", "dev": true, "requires": { "esprima": "^4.0.1", @@ -1412,13 +7373,21 @@ "esutils": "^2.0.2", "optionator": "^0.8.1", "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } } }, "esprima": { "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 + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "estraverse": { "version": "4.3.0", @@ -1474,6 +7443,15 @@ "to-regex": "^3.0.1" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -1491,6 +7469,75 @@ "requires": { "is-extendable": "^0.1.0" } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -1522,17 +7569,6 @@ "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } } }, "extglob": { @@ -1569,34 +7605,11 @@ "is-extendable": "^0.1.0" } }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true } } }, @@ -1607,9 +7620,9 @@ "dev": true }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-json-stable-stringify": { @@ -1660,6 +7673,12 @@ "requires": { "is-extendable": "^0.1.0" } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true } } }, @@ -1672,6 +7691,15 @@ "locate-path": "^3.0.0" } }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -1711,561 +7739,14 @@ "dev": true }, "fsevents": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", - "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, "optional": true, "requires": { "bindings": "^1.5.0", - "nan": "^2.12.1", - "node-pre-gyp": "*" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "3.2.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.9.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.1", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.13", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.1.1", - "bundled": true, - "dev": true, - "optional": true - } + "nan": "^2.12.1" } }, "function-bind": { @@ -2275,9 +7756,9 @@ "dev": true }, "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "get-caller-file": { @@ -2286,6 +7767,17 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -2331,9 +7823,9 @@ "dev": true }, "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", "dev": true }, "growly": { @@ -2349,12 +7841,12 @@ "dev": true }, "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "dev": true, "requires": { - "ajv": "^6.5.5", + "ajv": "^6.12.3", "har-schema": "^2.0.0" } }, @@ -2412,9 +7904,9 @@ } }, "hosted-git-info": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", - "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "dev": true }, "html-encoding-sniffer": { @@ -2427,9 +7919,9 @@ } }, "html-escaper": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz", - "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, "http-signature": { @@ -2494,23 +7986,12 @@ } }, "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "kind-of": "^6.0.0" } }, "is-arrayish": { @@ -2526,9 +8007,9 @@ "dev": true }, "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true }, "is-ci": { @@ -2540,24 +8021,22 @@ "ci-info": "^2.0.0" } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" } }, "is-date-object": { @@ -2567,29 +8046,24 @@ "dev": true }, "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -2603,6 +8077,12 @@ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -2633,12 +8113,13 @@ } }, "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, "requires": { - "has": "^1.0.3" + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" } }, "is-stream": { @@ -2754,19 +8235,10 @@ "source-map": "^0.6.1" }, "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } @@ -2788,29 +8260,6 @@ "requires": { "import-local": "^2.0.0", "jest-cli": "^24.9.0" - }, - "dependencies": { - "jest-cli": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", - "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", - "dev": true, - "requires": { - "@jest/core": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "import-local": "^2.0.0", - "is-ci": "^2.0.0", - "jest-config": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "prompts": "^2.0.1", - "realpath-native": "^1.1.0", - "yargs": "^13.3.0" - } - } } }, "jest-changed-files": { @@ -2848,6 +8297,27 @@ "throat": "^4.0.0" } }, + "jest-cli": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", + "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", + "dev": true, + "requires": { + "@jest/core": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "import-local": "^2.0.0", + "is-ci": "^2.0.0", + "jest-config": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "prompts": "^2.0.1", + "realpath-native": "^1.1.0", + "yargs": "^13.3.0" + } + }, "jest-config": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", @@ -3032,10 +8502,11 @@ } }, "jest-pnp-resolver": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", - "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", - "dev": true + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "requires": {} }, "jest-regex-util": { "version": "24.9.0", @@ -3170,6 +8641,14 @@ "mkdirp": "^0.5.1", "slash": "^2.0.0", "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "jest-validate": { @@ -3222,12 +8701,26 @@ } } }, + "js-base64": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.6.0.tgz", + "integrity": "sha512-wVdUBYQeY2gY73RIlPrysvpYx+2vheGo8Y1SNQv/BzHToWpAZzJU7Z6uheKMAe+GLSBig5/Ps2nxg/8tRB73xg==" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, + "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==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", @@ -3299,12 +8792,12 @@ "dev": true }, "json5": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", - "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { - "minimist": "^1.2.0" + "minimist": "^1.2.5" } }, "jsprim": { @@ -3363,6 +8856,14 @@ "parse-json": "^4.0.0", "pify": "^3.0.0", "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } } }, "locate-path": { @@ -3376,9 +8877,9 @@ } }, "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", "dev": true }, "lodash.memoize": { @@ -3412,12 +8913,6 @@ "semver": "^5.6.0" }, "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -3427,9 +8922,9 @@ } }, "make-error": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", - "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, "makeerror": { @@ -3484,18 +8979,18 @@ } }, "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", + "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==", "dev": true }, "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "version": "2.1.29", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", + "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", "dev": true, "requires": { - "mime-db": "1.43.0" + "mime-db": "1.46.0" } }, "minimatch": { @@ -3508,9 +9003,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "mixin-deep": { @@ -3521,46 +9016,27 @@ "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } } }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } + "minimist": "^1.2.5" } }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", "dev": true, "optional": true }, @@ -3640,6 +9116,16 @@ "validate-npm-package-license": "^3.0.1" }, "dependencies": { + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -3698,6 +9184,43 @@ "is-descriptor": "^0.1.0" } }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -3710,9 +9233,9 @@ } }, "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", "dev": true }, "object-keys": { @@ -3731,25 +9254,26 @@ } }, "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" } }, "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "es-abstract": "^1.18.0-next.1" } }, "object.pick": { @@ -3800,9 +9324,9 @@ "dev": true }, "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -3882,6 +9406,14 @@ "dev": true, "requires": { "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } } }, "performance-now": { @@ -3891,9 +9423,9 @@ "dev": true }, "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, "pirates": { @@ -3951,19 +9483,19 @@ } }, "prompts": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.0.tgz", - "integrity": "sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", "dev": true, "requires": { "kleur": "^3.0.3", - "sisteransi": "^1.0.3" + "sisteransi": "^1.0.5" } }, "psl": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", - "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, "pump": { @@ -3989,9 +9521,9 @@ "dev": true }, "react-is": { - "version": "16.12.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", - "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==", + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, "read-pkg": { @@ -4053,9 +9585,9 @@ "dev": true }, "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -4065,7 +9597,7 @@ "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", - "har-validator": "~5.1.0", + "har-validator": "~5.1.3", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", @@ -4075,45 +9607,27 @@ "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", + "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } - } } }, "request-promise-core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", - "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", "dev": true, "requires": { - "lodash": "^4.17.15" + "lodash": "^4.17.19" } }, "request-promise-native": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", - "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", "dev": true, "requires": { - "request-promise-core": "1.1.3", + "request-promise-core": "1.1.4", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" } @@ -4131,13 +9645,10 @@ "dev": true }, "resolve": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", - "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true }, "resolve-cwd": { "version": "2.0.0", @@ -4256,6 +9767,12 @@ "requires": { "is-extendable": "^0.1.0" } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true } } }, @@ -4281,15 +9798,15 @@ "dev": true }, "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, "sisteransi": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz", - "integrity": "sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true }, "slash": { @@ -4314,6 +9831,15 @@ "use": "^3.1.0" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -4332,10 +9858,73 @@ "is-extendable": "^0.1.0" } }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } @@ -4359,35 +9948,6 @@ "requires": { "is-descriptor": "^1.0.0" } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } } } }, @@ -4412,9 +9972,9 @@ } }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "source-map-resolve": { @@ -4431,25 +9991,33 @@ } }, "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -4457,15 +10025,15 @@ } }, "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -4473,9 +10041,9 @@ } }, "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, "split-string": { @@ -4487,6 +10055,11 @@ "extend-shallow": "^3.0.0" } }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, "sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", @@ -4505,10 +10078,21 @@ } }, "stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", - "dev": true + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.4.tgz", + "integrity": "sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } }, "static-extend": { "version": "0.1.2", @@ -4528,6 +10112,63 @@ "requires": { "is-descriptor": "^0.1.0" } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, @@ -4575,24 +10216,24 @@ "strip-ansi": "^5.1.0" } }, - "string.prototype.trimleft": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", - "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, - "string.prototype.trimright": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", - "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "strip-ansi": { @@ -4740,26 +10381,11 @@ "yargs-parser": "10.x" }, "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true - }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } } } }, @@ -4793,9 +10419,9 @@ } }, "typescript": { - "version": "3.7.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz", - "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==", + "version": "3.9.9", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz", + "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==", "dev": true }, "union-value": { @@ -4808,6 +10434,14 @@ "get-value": "^2.0.6", "is-extendable": "^0.1.1", "set-value": "^2.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + } } }, "unset-value": { @@ -4851,9 +10485,9 @@ } }, "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -4872,15 +10506,16 @@ "dev": true }, "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", + "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", + "for-each": "^0.3.3", "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" + "object.getownpropertydescriptors": "^2.1.1" } }, "uuid": { @@ -4910,12 +10545,12 @@ } }, "w3c-hr-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", - "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", "dev": true, "requires": { - "browser-process-hrtime": "^0.1.2" + "browser-process-hrtime": "^1.0.0" } }, "walker": { @@ -5024,25 +10659,39 @@ "dev": true }, "xmlbuilder2": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-2.1.2.tgz", - "integrity": "sha512-PI710tmtVlQ5VmwzbRTuhmVhKnj9pM8Si+iOZCV2g2SNo3gCrpzR2Ka9wNzZtqfD+mnP+xkrqoNy0sjKZqP4Dg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-2.4.0.tgz", + "integrity": "sha512-KrOVUGD65xTQ7ZA+GMQGdBSpe1Ufu5ylCQSYVk6QostySDkxPmAQ0WWIu7dR3JjLfVbF22RFQX7KyrZ6VTLcQg==", "requires": { - "@oozcitak/dom": "1.15.5", - "@oozcitak/infra": "1.0.5", - "@oozcitak/util": "8.3.3" + "@oozcitak/dom": "1.15.8", + "@oozcitak/infra": "1.0.8", + "@oozcitak/util": "8.3.8", + "@types/node": "14.6.2", + "js-yaml": "3.14.0" + }, + "dependencies": { + "@types/node": { + "version": "14.6.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.6.2.tgz", + "integrity": "sha512-onlIwbaeqvZyniGPfdw/TEhKIh79pz66L1q06WUQqJLnAb6wbjvOtepLYTGHTqzdXgBYIE3ZdmqHDGsRsbBz7A==" + } } }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "dev": true }, + "yaml": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" + }, "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, "requires": { "cliui": "^5.0.0", @@ -5054,17 +10703,36 @@ "string-width": "^3.0.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } } }, "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "camelcase": "^4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } } } } diff --git a/package.json b/package.json index a082cd2b..d3299388 100644 --- a/package.json +++ b/package.json @@ -25,23 +25,23 @@ "license": "MIT", "dependencies": { "@actions/core": "^1.0.0", - "@actions/exec": "^1.0.0", - "@actions/http-client": "^1.0.8", + "@actions/exec": "^1.0.4", + "@actions/http-client": "^1.0.9", "@actions/io": "^1.0.0", - "@actions/tool-cache": "^1.3.1", + "@actions/tool-cache": "^1.6.1", "semver": "^6.1.1", - "xmlbuilder2": "^2.1.2" + "xmlbuilder2": "^2.4.0" }, "devDependencies": { "@types/jest": "^24.0.13", - "@types/node": "^12.0.4", - "@types/semver": "^6.0.0", + "@types/node": "^12.20.1", + "@types/semver": "^6.2.2", "@zeit/ncc": "^0.20.5", "jest": "^24.8.0", "jest-circus": "^24.7.1", "prettier": "^1.19.1", "ts-jest": "^24.0.2", - "typescript": "^3.5.1" + "typescript": "^3.9.9" }, "husky": { "skipCI": true, diff --git a/src/auth.ts b/src/auth.ts index 9681049b..39d966a1 100644 --- a/src/auth.ts +++ b/src/auth.ts @@ -5,6 +5,7 @@ import * as core from '@actions/core'; import * as io from '@actions/io'; import {create as xmlCreate} from 'xmlbuilder2'; import * as constants from './constants'; +import {setupMaven, MavenOpts} from './maven'; export const M2_DIR = '.m2'; export const SETTINGS_FILE = 'settings.xml'; @@ -13,7 +14,8 @@ export async function configAuthentication( id: string, username: string, password: string, - gpgPassphrase: string | undefined = undefined + gpgPassphrase: string | undefined = undefined, + mvnOpts: MavenOpts | undefined = undefined ) { console.log( `creating ${SETTINGS_FILE} with server-id: ${id};`, @@ -34,6 +36,10 @@ export async function configAuthentication( settingsDirectory, generate(id, username, password, gpgPassphrase) ); + + if (mvnOpts) { + await setupMaven(mvnOpts); + } } // only exported for testing purposes diff --git a/src/constants.ts b/src/constants.ts index 2e885cff..a8dcfb44 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -9,6 +9,11 @@ export const INPUT_SERVER_PASSWORD = 'server-password'; export const INPUT_SETTINGS_PATH = 'settings-path'; export const INPUT_GPG_PRIVATE_KEY = 'gpg-private-key'; export const INPUT_GPG_PASSPHRASE = 'gpg-passphrase'; +export const INPUT_MAVEN_CA_CERT_B64 = 'maven-ca-cert-b64'; +export const INPUT_MAVEN_KEYSTORE_P12_B64 = 'maven-keystore-p12-b64'; +export const INPUT_MAVEN_KEYSTORE_PASSWORD = 'maven-keystore-password'; +export const INPUT_MAVEN_SETTINGS_B64 = 'maven-settings-b64'; +export const INPUT_MAVEN_SECURITY_SETTINGS_B64 = 'maven-security-settings-b64'; export const INPUT_DEFAULT_GPG_PRIVATE_KEY = undefined; export const INPUT_DEFAULT_GPG_PASSPHRASE = 'GPG_PASSPHRASE'; diff --git a/src/maven.ts b/src/maven.ts new file mode 100644 index 00000000..e6b4763b --- /dev/null +++ b/src/maven.ts @@ -0,0 +1,97 @@ +import * as core from '@actions/core'; +import * as fs from 'fs'; +import * as path from 'path'; +import * as constants from './constants'; +import * as os from 'os'; +import * as io from '@actions/io'; + +export interface MavenOpts { + caCert: string; + keystore: string; + password: string; + settings: string; + securitySettings: string; +} + +export function validateOptions(opts: MavenOpts): boolean { + if ( + (opts.caCert === '' || + opts.keystore === '' || + opts.password === '' || + opts.securitySettings === '', + opts.settings === '') + ) { + core.debug('maven options set is not valid: some field is empty'); + return false; + } + return true; +} + +export function isValidOptions(mvnOpts: MavenOpts): boolean { + if ( + (mvnOpts.caCert !== '' || + mvnOpts.keystore !== '' || + mvnOpts.password !== '' || + mvnOpts.securitySettings !== '', + mvnOpts.settings !== '') && + !validateOptions(mvnOpts) + ) { + return false; + } + + return true; +} + +export async function setupMaven(opts: MavenOpts): Promise { + const settingsDir = path.join( + core.getInput(constants.INPUT_SETTINGS_PATH) || os.homedir(), + core.getInput(constants.INPUT_SETTINGS_PATH) ? '' : '.m2' + ); + const certDir = path.join(os.homedir(), 'certs'); + + fs.writeFileSync( + path.join(settingsDir, 'settings.xml'), + btoa(opts.settings), + { + encoding: 'utf-8', + flag: 'w' + } + ); + + fs.writeFileSync( + path.join(settingsDir, 'settings-security.xml'), + btoa(opts.securitySettings), + { + encoding: 'utf-8', + flag: 'w' + } + ); + + await io.mkdirP(certDir); + fs.writeFileSync(path.join(certDir, 'rootca.crt'), btoa(opts.caCert), { + encoding: 'utf-8', + flag: 'w' + }); + + const p12Path = path.join(certDir, 'certificate.p12'); + fs.writeFileSync(p12Path, btoa(opts.keystore), { + encoding: 'utf-8', + flag: 'w' + }); + + const password = btoa(opts.password); + core.exportVariable( + 'MAVEN_OPTS', + `-Djavax.net.ssl.keyStore=${p12Path} -Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.keyStorePassword=${password}` + ); + + core.debug(`added maven opts for MTLS access`); +} + +const btoa = function(str: string) { + return Buffer.from(str, 'binary').toString('base64'); +}; + +const atob = function(str: string) { + return Buffer.from(str, 'base64').toString('binary'); +}; diff --git a/src/setup-java.ts b/src/setup-java.ts index 5ba35297..ffdf39ce 100644 --- a/src/setup-java.ts +++ b/src/setup-java.ts @@ -4,6 +4,7 @@ import * as auth from './auth'; import * as gpg from './gpg'; import * as constants from './constants'; import * as path from 'path'; +import {MavenOpts, isValidOptions} from './maven'; async function run() { try { @@ -12,6 +13,22 @@ async function run() { version = core.getInput(constants.INPUT_JAVA_VERSION, {required: true}); } + const mvnOpts: MavenOpts = { + caCert: core.getInput(constants.INPUT_MAVEN_CA_CERT_B64), + keystore: core.getInput(constants.INPUT_MAVEN_KEYSTORE_P12_B64), + password: core.getInput(constants.INPUT_MAVEN_KEYSTORE_PASSWORD), + settings: core.getInput(constants.INPUT_MAVEN_SETTINGS_B64), + securitySettings: core.getInput( + constants.INPUT_MAVEN_SECURITY_SETTINGS_B64 + ) + }; + + if (!isValidOptions(mvnOpts)) { + throw new Error( + 'Some of the Maven options is empty: please check maven-* parameters' + ); + } + const arch = core.getInput(constants.INPUT_ARCHITECTURE, {required: true}); if (!['x86', 'x64'].includes(arch)) { throw new Error(`architecture "${arch}" is not in [x86 | x64]`); @@ -45,7 +62,13 @@ async function run() { core.setSecret(gpgPrivateKey); } - await auth.configAuthentication(id, username, password, gpgPassphrase); + await auth.configAuthentication( + id, + username, + password, + gpgPassphrase, + mvnOpts + ); if (gpgPrivateKey) { core.info('importing private key');