vlt 0.0.0-3 → 0.0.0-5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/README.md +2 -1
  2. package/package.json +17 -10
  3. package/postinstall.cjs +56 -0
  4. package/vlix +25 -0
  5. package/vlr +25 -0
  6. package/vlrx +25 -0
  7. package/vlt +25 -0
  8. package/vlx +25 -0
  9. package/cache-unzip-src-unzip.js +0 -7896
  10. package/cache-unzip-src-unzip.js.map +0 -7
  11. package/chunk-227OF2U2.js +0 -1183
  12. package/chunk-227OF2U2.js.map +0 -7
  13. package/chunk-3HXIYJS2.js +0 -54
  14. package/chunk-3HXIYJS2.js.map +0 -7
  15. package/chunk-AA6MVXJX.js +0 -19823
  16. package/chunk-AA6MVXJX.js.map +0 -7
  17. package/chunk-BCK4ZGNG.js +0 -41
  18. package/chunk-BCK4ZGNG.js.map +0 -7
  19. package/chunk-DH36SF3E.js +0 -35
  20. package/chunk-DH36SF3E.js.map +0 -7
  21. package/chunk-FNKWJ7AZ.js +0 -1379
  22. package/chunk-FNKWJ7AZ.js.map +0 -7
  23. package/chunk-H77UDCL3.js +0 -9820
  24. package/chunk-H77UDCL3.js.map +0 -7
  25. package/chunk-HL76E44L.js +0 -73
  26. package/chunk-HL76E44L.js.map +0 -7
  27. package/chunk-IN7DEH7F.js +0 -44
  28. package/chunk-IN7DEH7F.js.map +0 -7
  29. package/chunk-JLP2QDXQ.js +0 -1137
  30. package/chunk-JLP2QDXQ.js.map +0 -7
  31. package/chunk-JMGSFQ32.js +0 -969
  32. package/chunk-JMGSFQ32.js.map +0 -7
  33. package/chunk-JQRUGUZ3.js +0 -512
  34. package/chunk-JQRUGUZ3.js.map +0 -7
  35. package/chunk-K2BYYPM7.js +0 -8656
  36. package/chunk-K2BYYPM7.js.map +0 -7
  37. package/chunk-LNUDEBGP.js +0 -2071
  38. package/chunk-LNUDEBGP.js.map +0 -7
  39. package/chunk-MV5ZQ3LW.js +0 -1105
  40. package/chunk-MV5ZQ3LW.js.map +0 -7
  41. package/chunk-O7CDQZDW.js +0 -5234
  42. package/chunk-O7CDQZDW.js.map +0 -7
  43. package/chunk-OFW7MWFP.js +0 -82
  44. package/chunk-OFW7MWFP.js.map +0 -7
  45. package/chunk-PGDJ2ZZ6.js +0 -4810
  46. package/chunk-PGDJ2ZZ6.js.map +0 -7
  47. package/chunk-POVPHE2F.js +0 -1864
  48. package/chunk-POVPHE2F.js.map +0 -7
  49. package/chunk-PTVPYZHU.js +0 -72
  50. package/chunk-PTVPYZHU.js.map +0 -7
  51. package/chunk-SXBMMXTY.js +0 -11837
  52. package/chunk-SXBMMXTY.js.map +0 -7
  53. package/chunk-UZZ72UON.js +0 -152
  54. package/chunk-UZZ72UON.js.map +0 -7
  55. package/chunk-V7KRP7IO.js +0 -481
  56. package/chunk-V7KRP7IO.js.map +0 -7
  57. package/chunk-WVNUD273.js +0 -83
  58. package/chunk-WVNUD273.js.map +0 -7
  59. package/chunk-WYPE3MV4.js +0 -62
  60. package/chunk-WYPE3MV4.js.map +0 -7
  61. package/chunk-ZRNJWPYC.js +0 -37
  62. package/chunk-ZRNJWPYC.js.map +0 -7
  63. package/cli-package.json +0 -107
  64. package/config-3QQHUYLI.js +0 -179
  65. package/config-3QQHUYLI.js.map +0 -7
  66. package/devtools-5BBQJTDW.js +0 -16682
  67. package/devtools-5BBQJTDW.js.map +0 -7
  68. package/exec-C6GK336U.js +0 -50
  69. package/exec-C6GK336U.js.map +0 -7
  70. package/gui-IQ4M4K5X.js +0 -46
  71. package/gui-IQ4M4K5X.js.map +0 -7
  72. package/gui-assets/favicon.ico +0 -0
  73. package/gui-assets/fonts/geist-mono.ttf +0 -0
  74. package/gui-assets/fonts/inter.ttf +0 -0
  75. package/gui-assets/images/folder.png +0 -0
  76. package/gui-assets/index.html +0 -34
  77. package/gui-assets/index.js +0 -1549
  78. package/gui-assets/index.js.map +0 -7
  79. package/gui-assets/main.css +0 -1
  80. package/help-R6TSKVEA.js +0 -25
  81. package/help-R6TSKVEA.js.map +0 -7
  82. package/init-UTJGYULC.js +0 -25
  83. package/init-UTJGYULC.js.map +0 -7
  84. package/install-5XDTGLAU.js +0 -56
  85. package/install-5XDTGLAU.js.map +0 -7
  86. package/install-exec-VMPN3JE7.js +0 -28
  87. package/install-exec-VMPN3JE7.js.map +0 -7
  88. package/list-Q7IANZ3I.js +0 -129
  89. package/list-Q7IANZ3I.js.map +0 -7
  90. package/login-VHJEIRVU.js +0 -36
  91. package/login-VHJEIRVU.js.map +0 -7
  92. package/logout-5KMCSSR4.js +0 -36
  93. package/logout-5KMCSSR4.js.map +0 -7
  94. package/pkg-WYFDWETL.js +0 -364
  95. package/pkg-WYFDWETL.js.map +0 -7
  96. package/query-KP4F5D2Y.js +0 -117
  97. package/query-KP4F5D2Y.js.map +0 -7
  98. package/registry-client-package.json +0 -85
  99. package/reporter-LFGXWL6N.js +0 -18
  100. package/reporter-LFGXWL6N.js.map +0 -7
  101. package/rollback-remove-src-remove.js +0 -7398
  102. package/rollback-remove-src-remove.js.map +0 -7
  103. package/run-XNDZH72D.js +0 -68
  104. package/run-XNDZH72D.js.map +0 -7
  105. package/run-exec-NXA33NXJ.js +0 -41
  106. package/run-exec-NXA33NXJ.js.map +0 -7
  107. package/source-JWPG6PR3.js +0 -33
  108. package/source-JWPG6PR3.js.map +0 -7
  109. package/token-6IJNGEMI.js +0 -86
  110. package/token-6IJNGEMI.js.map +0 -7
  111. package/uninstall-MI7NFD27.js +0 -45
  112. package/uninstall-MI7NFD27.js.map +0 -7
  113. package/vlix.js +0 -25
  114. package/vlix.js.map +0 -7
  115. package/vlr.js +0 -25
  116. package/vlr.js.map +0 -7
  117. package/vlrx.js +0 -25
  118. package/vlrx.js.map +0 -7
  119. package/vlt.js +0 -24
  120. package/vlt.js.map +0 -7
  121. package/vlx.js +0 -25
  122. package/vlx.js.map +0 -7
  123. package/whoami-3IEXJF3U.js +0 -46
  124. package/whoami-3IEXJF3U.js.map +0 -7
  125. package/yoga.wasm +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/util/unesc.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/util/getProp.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/util/ensureObject.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/util/stripComments.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/util/index.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/node.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/types.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/container.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/root.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/selector.js", "../../../node_modules/.pnpm/cssesc@3.0.0/node_modules/cssesc/cssesc.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/className.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/comment.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/id.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/namespace.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/tag.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/string.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/pseudo.js", "../../../node_modules/.pnpm/util-deprecate@1.0.2/node_modules/util-deprecate/node.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/attribute.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/universal.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/combinator.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/nesting.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/sortAscending.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/tokenTypes.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/tokenize.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/parser.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/processor.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/constructors.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/guards.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/selectors/index.js", "../../../node_modules/.pnpm/postcss-selector-parser@6.1.2/node_modules/postcss-selector-parser/dist/index.js", "../../../src/query/src/index.ts", "../../../src/query/src/types.ts", "../../../src/query/src/attribute.ts", "../../../src/query/src/class.ts", "../../../src/query/src/combinator.ts", "../../../src/query/src/id.ts", "../../../src/query/src/pseudo/attr.ts", "../../../src/query/src/pseudo/helpers.ts", "../../../src/query/src/pseudo/outdated.ts", "../../../src/query/src/pseudo/semver.ts", "../../../src/query/src/pseudo.ts"],
4
- "sourcesContent": ["\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = unesc;\n// Many thanks for this post which made this migration much easier.\n// https://mathiasbynens.be/notes/css-escapes\n\n/**\n * \n * @param {string} str \n * @returns {[string, number]|undefined}\n */\nfunction gobbleHex(str) {\n var lower = str.toLowerCase();\n var hex = '';\n var spaceTerminated = false;\n for (var i = 0; i < 6 && lower[i] !== undefined; i++) {\n var code = lower.charCodeAt(i);\n // check to see if we are dealing with a valid hex char [a-f|0-9]\n var valid = code >= 97 && code <= 102 || code >= 48 && code <= 57;\n // https://drafts.csswg.org/css-syntax/#consume-escaped-code-point\n spaceTerminated = code === 32;\n if (!valid) {\n break;\n }\n hex += lower[i];\n }\n if (hex.length === 0) {\n return undefined;\n }\n var codePoint = parseInt(hex, 16);\n var isSurrogate = codePoint >= 0xD800 && codePoint <= 0xDFFF;\n // Add special case for\n // \"If this number is zero, or is for a surrogate, or is greater than the maximum allowed code point\"\n // https://drafts.csswg.org/css-syntax/#maximum-allowed-code-point\n if (isSurrogate || codePoint === 0x0000 || codePoint > 0x10FFFF) {\n return [\"\\uFFFD\", hex.length + (spaceTerminated ? 1 : 0)];\n }\n return [String.fromCodePoint(codePoint), hex.length + (spaceTerminated ? 1 : 0)];\n}\nvar CONTAINS_ESCAPE = /\\\\/;\nfunction unesc(str) {\n var needToProcess = CONTAINS_ESCAPE.test(str);\n if (!needToProcess) {\n return str;\n }\n var ret = \"\";\n for (var i = 0; i < str.length; i++) {\n if (str[i] === \"\\\\\") {\n var gobbled = gobbleHex(str.slice(i + 1, i + 7));\n if (gobbled !== undefined) {\n ret += gobbled[0];\n i += gobbled[1];\n continue;\n }\n\n // Retain a pair of \\\\ if double escaped `\\\\\\\\`\n // https://github.com/postcss/postcss-selector-parser/commit/268c9a7656fb53f543dc620aa5b73a30ec3ff20e\n if (str[i + 1] === \"\\\\\") {\n ret += \"\\\\\";\n i++;\n continue;\n }\n\n // if \\\\ is at the end of the string retain it\n // https://github.com/postcss/postcss-selector-parser/commit/01a6b346e3612ce1ab20219acc26abdc259ccefb\n if (str.length === i + 1) {\n ret += str[i];\n }\n continue;\n }\n ret += str[i];\n }\n return ret;\n}\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = getProp;\nfunction getProp(obj) {\n for (var _len = arguments.length, props = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n props[_key - 1] = arguments[_key];\n }\n while (props.length > 0) {\n var prop = props.shift();\n if (!obj[prop]) {\n return undefined;\n }\n obj = obj[prop];\n }\n return obj;\n}\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = ensureObject;\nfunction ensureObject(obj) {\n for (var _len = arguments.length, props = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n props[_key - 1] = arguments[_key];\n }\n while (props.length > 0) {\n var prop = props.shift();\n if (!obj[prop]) {\n obj[prop] = {};\n }\n obj = obj[prop];\n }\n}\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = stripComments;\nfunction stripComments(str) {\n var s = \"\";\n var commentStart = str.indexOf(\"/*\");\n var lastEnd = 0;\n while (commentStart >= 0) {\n s = s + str.slice(lastEnd, commentStart);\n var commentEnd = str.indexOf(\"*/\", commentStart + 2);\n if (commentEnd < 0) {\n return s;\n }\n lastEnd = commentEnd + 2;\n commentStart = str.indexOf(\"/*\", lastEnd);\n }\n s = s + str.slice(lastEnd);\n return s;\n}\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports.unesc = exports.stripComments = exports.getProp = exports.ensureObject = void 0;\nvar _unesc = _interopRequireDefault(require(\"./unesc\"));\nexports.unesc = _unesc[\"default\"];\nvar _getProp = _interopRequireDefault(require(\"./getProp\"));\nexports.getProp = _getProp[\"default\"];\nvar _ensureObject = _interopRequireDefault(require(\"./ensureObject\"));\nexports.ensureObject = _ensureObject[\"default\"];\nvar _stripComments = _interopRequireDefault(require(\"./stripComments\"));\nexports.stripComments = _stripComments[\"default\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _util = require(\"../util\");\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nvar cloneNode = function cloneNode(obj, parent) {\n if (typeof obj !== 'object' || obj === null) {\n return obj;\n }\n var cloned = new obj.constructor();\n for (var i in obj) {\n if (!obj.hasOwnProperty(i)) {\n continue;\n }\n var value = obj[i];\n var type = typeof value;\n if (i === 'parent' && type === 'object') {\n if (parent) {\n cloned[i] = parent;\n }\n } else if (value instanceof Array) {\n cloned[i] = value.map(function (j) {\n return cloneNode(j, cloned);\n });\n } else {\n cloned[i] = cloneNode(value, cloned);\n }\n }\n return cloned;\n};\nvar Node = /*#__PURE__*/function () {\n function Node(opts) {\n if (opts === void 0) {\n opts = {};\n }\n Object.assign(this, opts);\n this.spaces = this.spaces || {};\n this.spaces.before = this.spaces.before || '';\n this.spaces.after = this.spaces.after || '';\n }\n var _proto = Node.prototype;\n _proto.remove = function remove() {\n if (this.parent) {\n this.parent.removeChild(this);\n }\n this.parent = undefined;\n return this;\n };\n _proto.replaceWith = function replaceWith() {\n if (this.parent) {\n for (var index in arguments) {\n this.parent.insertBefore(this, arguments[index]);\n }\n this.remove();\n }\n return this;\n };\n _proto.next = function next() {\n return this.parent.at(this.parent.index(this) + 1);\n };\n _proto.prev = function prev() {\n return this.parent.at(this.parent.index(this) - 1);\n };\n _proto.clone = function clone(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n var cloned = cloneNode(this);\n for (var name in overrides) {\n cloned[name] = overrides[name];\n }\n return cloned;\n }\n\n /**\n * Some non-standard syntax doesn't follow normal escaping rules for css.\n * This allows non standard syntax to be appended to an existing property\n * by specifying the escaped value. By specifying the escaped value,\n * illegal characters are allowed to be directly inserted into css output.\n * @param {string} name the property to set\n * @param {any} value the unescaped value of the property\n * @param {string} valueEscaped optional. the escaped value of the property.\n */;\n _proto.appendToPropertyAndEscape = function appendToPropertyAndEscape(name, value, valueEscaped) {\n if (!this.raws) {\n this.raws = {};\n }\n var originalValue = this[name];\n var originalEscaped = this.raws[name];\n this[name] = originalValue + value; // this may trigger a setter that updates raws, so it has to be set first.\n if (originalEscaped || valueEscaped !== value) {\n this.raws[name] = (originalEscaped || originalValue) + valueEscaped;\n } else {\n delete this.raws[name]; // delete any escaped value that was created by the setter.\n }\n }\n\n /**\n * Some non-standard syntax doesn't follow normal escaping rules for css.\n * This allows the escaped value to be specified directly, allowing illegal\n * characters to be directly inserted into css output.\n * @param {string} name the property to set\n * @param {any} value the unescaped value of the property\n * @param {string} valueEscaped the escaped value of the property.\n */;\n _proto.setPropertyAndEscape = function setPropertyAndEscape(name, value, valueEscaped) {\n if (!this.raws) {\n this.raws = {};\n }\n this[name] = value; // this may trigger a setter that updates raws, so it has to be set first.\n this.raws[name] = valueEscaped;\n }\n\n /**\n * When you want a value to passed through to CSS directly. This method\n * deletes the corresponding raw value causing the stringifier to fallback\n * to the unescaped value.\n * @param {string} name the property to set.\n * @param {any} value The value that is both escaped and unescaped.\n */;\n _proto.setPropertyWithoutEscape = function setPropertyWithoutEscape(name, value) {\n this[name] = value; // this may trigger a setter that updates raws, so it has to be set first.\n if (this.raws) {\n delete this.raws[name];\n }\n }\n\n /**\n *\n * @param {number} line The number (starting with 1)\n * @param {number} column The column number (starting with 1)\n */;\n _proto.isAtPosition = function isAtPosition(line, column) {\n if (this.source && this.source.start && this.source.end) {\n if (this.source.start.line > line) {\n return false;\n }\n if (this.source.end.line < line) {\n return false;\n }\n if (this.source.start.line === line && this.source.start.column > column) {\n return false;\n }\n if (this.source.end.line === line && this.source.end.column < column) {\n return false;\n }\n return true;\n }\n return undefined;\n };\n _proto.stringifyProperty = function stringifyProperty(name) {\n return this.raws && this.raws[name] || this[name];\n };\n _proto.valueToString = function valueToString() {\n return String(this.stringifyProperty(\"value\"));\n };\n _proto.toString = function toString() {\n return [this.rawSpaceBefore, this.valueToString(), this.rawSpaceAfter].join('');\n };\n _createClass(Node, [{\n key: \"rawSpaceBefore\",\n get: function get() {\n var rawSpace = this.raws && this.raws.spaces && this.raws.spaces.before;\n if (rawSpace === undefined) {\n rawSpace = this.spaces && this.spaces.before;\n }\n return rawSpace || \"\";\n },\n set: function set(raw) {\n (0, _util.ensureObject)(this, \"raws\", \"spaces\");\n this.raws.spaces.before = raw;\n }\n }, {\n key: \"rawSpaceAfter\",\n get: function get() {\n var rawSpace = this.raws && this.raws.spaces && this.raws.spaces.after;\n if (rawSpace === undefined) {\n rawSpace = this.spaces.after;\n }\n return rawSpace || \"\";\n },\n set: function set(raw) {\n (0, _util.ensureObject)(this, \"raws\", \"spaces\");\n this.raws.spaces.after = raw;\n }\n }]);\n return Node;\n}();\nexports[\"default\"] = Node;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports.UNIVERSAL = exports.TAG = exports.STRING = exports.SELECTOR = exports.ROOT = exports.PSEUDO = exports.NESTING = exports.ID = exports.COMMENT = exports.COMBINATOR = exports.CLASS = exports.ATTRIBUTE = void 0;\nvar TAG = 'tag';\nexports.TAG = TAG;\nvar STRING = 'string';\nexports.STRING = STRING;\nvar SELECTOR = 'selector';\nexports.SELECTOR = SELECTOR;\nvar ROOT = 'root';\nexports.ROOT = ROOT;\nvar PSEUDO = 'pseudo';\nexports.PSEUDO = PSEUDO;\nvar NESTING = 'nesting';\nexports.NESTING = NESTING;\nvar ID = 'id';\nexports.ID = ID;\nvar COMMENT = 'comment';\nexports.COMMENT = COMMENT;\nvar COMBINATOR = 'combinator';\nexports.COMBINATOR = COMBINATOR;\nvar CLASS = 'class';\nexports.CLASS = CLASS;\nvar ATTRIBUTE = 'attribute';\nexports.ATTRIBUTE = ATTRIBUTE;\nvar UNIVERSAL = 'universal';\nexports.UNIVERSAL = UNIVERSAL;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _node = _interopRequireDefault(require(\"./node\"));\nvar types = _interopRequireWildcard(require(\"./types\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar Container = /*#__PURE__*/function (_Node) {\n _inheritsLoose(Container, _Node);\n function Container(opts) {\n var _this;\n _this = _Node.call(this, opts) || this;\n if (!_this.nodes) {\n _this.nodes = [];\n }\n return _this;\n }\n var _proto = Container.prototype;\n _proto.append = function append(selector) {\n selector.parent = this;\n this.nodes.push(selector);\n return this;\n };\n _proto.prepend = function prepend(selector) {\n selector.parent = this;\n this.nodes.unshift(selector);\n return this;\n };\n _proto.at = function at(index) {\n return this.nodes[index];\n };\n _proto.index = function index(child) {\n if (typeof child === 'number') {\n return child;\n }\n return this.nodes.indexOf(child);\n };\n _proto.removeChild = function removeChild(child) {\n child = this.index(child);\n this.at(child).parent = undefined;\n this.nodes.splice(child, 1);\n var index;\n for (var id in this.indexes) {\n index = this.indexes[id];\n if (index >= child) {\n this.indexes[id] = index - 1;\n }\n }\n return this;\n };\n _proto.removeAll = function removeAll() {\n for (var _iterator = _createForOfIteratorHelperLoose(this.nodes), _step; !(_step = _iterator()).done;) {\n var node = _step.value;\n node.parent = undefined;\n }\n this.nodes = [];\n return this;\n };\n _proto.empty = function empty() {\n return this.removeAll();\n };\n _proto.insertAfter = function insertAfter(oldNode, newNode) {\n newNode.parent = this;\n var oldIndex = this.index(oldNode);\n this.nodes.splice(oldIndex + 1, 0, newNode);\n newNode.parent = this;\n var index;\n for (var id in this.indexes) {\n index = this.indexes[id];\n if (oldIndex <= index) {\n this.indexes[id] = index + 1;\n }\n }\n return this;\n };\n _proto.insertBefore = function insertBefore(oldNode, newNode) {\n newNode.parent = this;\n var oldIndex = this.index(oldNode);\n this.nodes.splice(oldIndex, 0, newNode);\n newNode.parent = this;\n var index;\n for (var id in this.indexes) {\n index = this.indexes[id];\n if (index <= oldIndex) {\n this.indexes[id] = index + 1;\n }\n }\n return this;\n };\n _proto._findChildAtPosition = function _findChildAtPosition(line, col) {\n var found = undefined;\n this.each(function (node) {\n if (node.atPosition) {\n var foundChild = node.atPosition(line, col);\n if (foundChild) {\n found = foundChild;\n return false;\n }\n } else if (node.isAtPosition(line, col)) {\n found = node;\n return false;\n }\n });\n return found;\n }\n\n /**\n * Return the most specific node at the line and column number given.\n * The source location is based on the original parsed location, locations aren't\n * updated as selector nodes are mutated.\n * \n * Note that this location is relative to the location of the first character\n * of the selector, and not the location of the selector in the overall document\n * when used in conjunction with postcss.\n *\n * If not found, returns undefined.\n * @param {number} line The line number of the node to find. (1-based index)\n * @param {number} col The column number of the node to find. (1-based index)\n */;\n _proto.atPosition = function atPosition(line, col) {\n if (this.isAtPosition(line, col)) {\n return this._findChildAtPosition(line, col) || this;\n } else {\n return undefined;\n }\n };\n _proto._inferEndPosition = function _inferEndPosition() {\n if (this.last && this.last.source && this.last.source.end) {\n this.source = this.source || {};\n this.source.end = this.source.end || {};\n Object.assign(this.source.end, this.last.source.end);\n }\n };\n _proto.each = function each(callback) {\n if (!this.lastEach) {\n this.lastEach = 0;\n }\n if (!this.indexes) {\n this.indexes = {};\n }\n this.lastEach++;\n var id = this.lastEach;\n this.indexes[id] = 0;\n if (!this.length) {\n return undefined;\n }\n var index, result;\n while (this.indexes[id] < this.length) {\n index = this.indexes[id];\n result = callback(this.at(index), index);\n if (result === false) {\n break;\n }\n this.indexes[id] += 1;\n }\n delete this.indexes[id];\n if (result === false) {\n return false;\n }\n };\n _proto.walk = function walk(callback) {\n return this.each(function (node, i) {\n var result = callback(node, i);\n if (result !== false && node.length) {\n result = node.walk(callback);\n }\n if (result === false) {\n return false;\n }\n });\n };\n _proto.walkAttributes = function walkAttributes(callback) {\n var _this2 = this;\n return this.walk(function (selector) {\n if (selector.type === types.ATTRIBUTE) {\n return callback.call(_this2, selector);\n }\n });\n };\n _proto.walkClasses = function walkClasses(callback) {\n var _this3 = this;\n return this.walk(function (selector) {\n if (selector.type === types.CLASS) {\n return callback.call(_this3, selector);\n }\n });\n };\n _proto.walkCombinators = function walkCombinators(callback) {\n var _this4 = this;\n return this.walk(function (selector) {\n if (selector.type === types.COMBINATOR) {\n return callback.call(_this4, selector);\n }\n });\n };\n _proto.walkComments = function walkComments(callback) {\n var _this5 = this;\n return this.walk(function (selector) {\n if (selector.type === types.COMMENT) {\n return callback.call(_this5, selector);\n }\n });\n };\n _proto.walkIds = function walkIds(callback) {\n var _this6 = this;\n return this.walk(function (selector) {\n if (selector.type === types.ID) {\n return callback.call(_this6, selector);\n }\n });\n };\n _proto.walkNesting = function walkNesting(callback) {\n var _this7 = this;\n return this.walk(function (selector) {\n if (selector.type === types.NESTING) {\n return callback.call(_this7, selector);\n }\n });\n };\n _proto.walkPseudos = function walkPseudos(callback) {\n var _this8 = this;\n return this.walk(function (selector) {\n if (selector.type === types.PSEUDO) {\n return callback.call(_this8, selector);\n }\n });\n };\n _proto.walkTags = function walkTags(callback) {\n var _this9 = this;\n return this.walk(function (selector) {\n if (selector.type === types.TAG) {\n return callback.call(_this9, selector);\n }\n });\n };\n _proto.walkUniversals = function walkUniversals(callback) {\n var _this10 = this;\n return this.walk(function (selector) {\n if (selector.type === types.UNIVERSAL) {\n return callback.call(_this10, selector);\n }\n });\n };\n _proto.split = function split(callback) {\n var _this11 = this;\n var current = [];\n return this.reduce(function (memo, node, index) {\n var split = callback.call(_this11, node);\n current.push(node);\n if (split) {\n memo.push(current);\n current = [];\n } else if (index === _this11.length - 1) {\n memo.push(current);\n }\n return memo;\n }, []);\n };\n _proto.map = function map(callback) {\n return this.nodes.map(callback);\n };\n _proto.reduce = function reduce(callback, memo) {\n return this.nodes.reduce(callback, memo);\n };\n _proto.every = function every(callback) {\n return this.nodes.every(callback);\n };\n _proto.some = function some(callback) {\n return this.nodes.some(callback);\n };\n _proto.filter = function filter(callback) {\n return this.nodes.filter(callback);\n };\n _proto.sort = function sort(callback) {\n return this.nodes.sort(callback);\n };\n _proto.toString = function toString() {\n return this.map(String).join('');\n };\n _createClass(Container, [{\n key: \"first\",\n get: function get() {\n return this.at(0);\n }\n }, {\n key: \"last\",\n get: function get() {\n return this.at(this.length - 1);\n }\n }, {\n key: \"length\",\n get: function get() {\n return this.nodes.length;\n }\n }]);\n return Container;\n}(_node[\"default\"]);\nexports[\"default\"] = Container;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _container = _interopRequireDefault(require(\"./container\"));\nvar _types = require(\"./types\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar Root = /*#__PURE__*/function (_Container) {\n _inheritsLoose(Root, _Container);\n function Root(opts) {\n var _this;\n _this = _Container.call(this, opts) || this;\n _this.type = _types.ROOT;\n return _this;\n }\n var _proto = Root.prototype;\n _proto.toString = function toString() {\n var str = this.reduce(function (memo, selector) {\n memo.push(String(selector));\n return memo;\n }, []).join(',');\n return this.trailingComma ? str + ',' : str;\n };\n _proto.error = function error(message, options) {\n if (this._error) {\n return this._error(message, options);\n } else {\n return new Error(message);\n }\n };\n _createClass(Root, [{\n key: \"errorGenerator\",\n set: function set(handler) {\n this._error = handler;\n }\n }]);\n return Root;\n}(_container[\"default\"]);\nexports[\"default\"] = Root;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _container = _interopRequireDefault(require(\"./container\"));\nvar _types = require(\"./types\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar Selector = /*#__PURE__*/function (_Container) {\n _inheritsLoose(Selector, _Container);\n function Selector(opts) {\n var _this;\n _this = _Container.call(this, opts) || this;\n _this.type = _types.SELECTOR;\n return _this;\n }\n return Selector;\n}(_container[\"default\"]);\nexports[\"default\"] = Selector;\nmodule.exports = exports.default;", "/*! https://mths.be/cssesc v3.0.0 by @mathias */\n'use strict';\n\nvar object = {};\nvar hasOwnProperty = object.hasOwnProperty;\nvar merge = function merge(options, defaults) {\n\tif (!options) {\n\t\treturn defaults;\n\t}\n\tvar result = {};\n\tfor (var key in defaults) {\n\t\t// `if (defaults.hasOwnProperty(key) { \u2026 }` is not needed here, since\n\t\t// only recognized option names are used.\n\t\tresult[key] = hasOwnProperty.call(options, key) ? options[key] : defaults[key];\n\t}\n\treturn result;\n};\n\nvar regexAnySingleEscape = /[ -,\\.\\/:-@\\[-\\^`\\{-~]/;\nvar regexSingleEscape = /[ -,\\.\\/:-@\\[\\]\\^`\\{-~]/;\nvar regexAlwaysEscape = /['\"\\\\]/;\nvar regexExcessiveSpaces = /(^|\\\\+)?(\\\\[A-F0-9]{1,6})\\x20(?![a-fA-F0-9\\x20])/g;\n\n// https://mathiasbynens.be/notes/css-escapes#css\nvar cssesc = function cssesc(string, options) {\n\toptions = merge(options, cssesc.options);\n\tif (options.quotes != 'single' && options.quotes != 'double') {\n\t\toptions.quotes = 'single';\n\t}\n\tvar quote = options.quotes == 'double' ? '\"' : '\\'';\n\tvar isIdentifier = options.isIdentifier;\n\n\tvar firstChar = string.charAt(0);\n\tvar output = '';\n\tvar counter = 0;\n\tvar length = string.length;\n\twhile (counter < length) {\n\t\tvar character = string.charAt(counter++);\n\t\tvar codePoint = character.charCodeAt();\n\t\tvar value = void 0;\n\t\t// If it\u2019s not a printable ASCII character\u2026\n\t\tif (codePoint < 0x20 || codePoint > 0x7E) {\n\t\t\tif (codePoint >= 0xD800 && codePoint <= 0xDBFF && counter < length) {\n\t\t\t\t// It\u2019s a high surrogate, and there is a next character.\n\t\t\t\tvar extra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) {\n\t\t\t\t\t// next character is low surrogate\n\t\t\t\t\tcodePoint = ((codePoint & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000;\n\t\t\t\t} else {\n\t\t\t\t\t// It\u2019s an unmatched surrogate; only append this code unit, in case\n\t\t\t\t\t// the next code unit is the high surrogate of a surrogate pair.\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvalue = '\\\\' + codePoint.toString(16).toUpperCase() + ' ';\n\t\t} else {\n\t\t\tif (options.escapeEverything) {\n\t\t\t\tif (regexAnySingleEscape.test(character)) {\n\t\t\t\t\tvalue = '\\\\' + character;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = '\\\\' + codePoint.toString(16).toUpperCase() + ' ';\n\t\t\t\t}\n\t\t\t} else if (/[\\t\\n\\f\\r\\x0B]/.test(character)) {\n\t\t\t\tvalue = '\\\\' + codePoint.toString(16).toUpperCase() + ' ';\n\t\t\t} else if (character == '\\\\' || !isIdentifier && (character == '\"' && quote == character || character == '\\'' && quote == character) || isIdentifier && regexSingleEscape.test(character)) {\n\t\t\t\tvalue = '\\\\' + character;\n\t\t\t} else {\n\t\t\t\tvalue = character;\n\t\t\t}\n\t\t}\n\t\toutput += value;\n\t}\n\n\tif (isIdentifier) {\n\t\tif (/^-[-\\d]/.test(output)) {\n\t\t\toutput = '\\\\-' + output.slice(1);\n\t\t} else if (/\\d/.test(firstChar)) {\n\t\t\toutput = '\\\\3' + firstChar + ' ' + output.slice(1);\n\t\t}\n\t}\n\n\t// Remove spaces after `\\HEX` escapes that are not followed by a hex digit,\n\t// since they\u2019re redundant. Note that this is only possible if the escape\n\t// sequence isn\u2019t preceded by an odd number of backslashes.\n\toutput = output.replace(regexExcessiveSpaces, function ($0, $1, $2) {\n\t\tif ($1 && $1.length % 2) {\n\t\t\t// It\u2019s not safe to remove the space, so don\u2019t.\n\t\t\treturn $0;\n\t\t}\n\t\t// Strip the space.\n\t\treturn ($1 || '') + $2;\n\t});\n\n\tif (!isIdentifier && options.wrap) {\n\t\treturn quote + output + quote;\n\t}\n\treturn output;\n};\n\n// Expose default options (so they can be overridden globally).\ncssesc.options = {\n\t'escapeEverything': false,\n\t'isIdentifier': false,\n\t'quotes': 'single',\n\t'wrap': false\n};\n\ncssesc.version = '3.0.0';\n\nmodule.exports = cssesc;\n", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _cssesc = _interopRequireDefault(require(\"cssesc\"));\nvar _util = require(\"../util\");\nvar _node = _interopRequireDefault(require(\"./node\"));\nvar _types = require(\"./types\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar ClassName = /*#__PURE__*/function (_Node) {\n _inheritsLoose(ClassName, _Node);\n function ClassName(opts) {\n var _this;\n _this = _Node.call(this, opts) || this;\n _this.type = _types.CLASS;\n _this._constructed = true;\n return _this;\n }\n var _proto = ClassName.prototype;\n _proto.valueToString = function valueToString() {\n return '.' + _Node.prototype.valueToString.call(this);\n };\n _createClass(ClassName, [{\n key: \"value\",\n get: function get() {\n return this._value;\n },\n set: function set(v) {\n if (this._constructed) {\n var escaped = (0, _cssesc[\"default\"])(v, {\n isIdentifier: true\n });\n if (escaped !== v) {\n (0, _util.ensureObject)(this, \"raws\");\n this.raws.value = escaped;\n } else if (this.raws) {\n delete this.raws.value;\n }\n }\n this._value = v;\n }\n }]);\n return ClassName;\n}(_node[\"default\"]);\nexports[\"default\"] = ClassName;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _node = _interopRequireDefault(require(\"./node\"));\nvar _types = require(\"./types\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar Comment = /*#__PURE__*/function (_Node) {\n _inheritsLoose(Comment, _Node);\n function Comment(opts) {\n var _this;\n _this = _Node.call(this, opts) || this;\n _this.type = _types.COMMENT;\n return _this;\n }\n return Comment;\n}(_node[\"default\"]);\nexports[\"default\"] = Comment;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _node = _interopRequireDefault(require(\"./node\"));\nvar _types = require(\"./types\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar ID = /*#__PURE__*/function (_Node) {\n _inheritsLoose(ID, _Node);\n function ID(opts) {\n var _this;\n _this = _Node.call(this, opts) || this;\n _this.type = _types.ID;\n return _this;\n }\n var _proto = ID.prototype;\n _proto.valueToString = function valueToString() {\n return '#' + _Node.prototype.valueToString.call(this);\n };\n return ID;\n}(_node[\"default\"]);\nexports[\"default\"] = ID;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _cssesc = _interopRequireDefault(require(\"cssesc\"));\nvar _util = require(\"../util\");\nvar _node = _interopRequireDefault(require(\"./node\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar Namespace = /*#__PURE__*/function (_Node) {\n _inheritsLoose(Namespace, _Node);\n function Namespace() {\n return _Node.apply(this, arguments) || this;\n }\n var _proto = Namespace.prototype;\n _proto.qualifiedName = function qualifiedName(value) {\n if (this.namespace) {\n return this.namespaceString + \"|\" + value;\n } else {\n return value;\n }\n };\n _proto.valueToString = function valueToString() {\n return this.qualifiedName(_Node.prototype.valueToString.call(this));\n };\n _createClass(Namespace, [{\n key: \"namespace\",\n get: function get() {\n return this._namespace;\n },\n set: function set(namespace) {\n if (namespace === true || namespace === \"*\" || namespace === \"&\") {\n this._namespace = namespace;\n if (this.raws) {\n delete this.raws.namespace;\n }\n return;\n }\n var escaped = (0, _cssesc[\"default\"])(namespace, {\n isIdentifier: true\n });\n this._namespace = namespace;\n if (escaped !== namespace) {\n (0, _util.ensureObject)(this, \"raws\");\n this.raws.namespace = escaped;\n } else if (this.raws) {\n delete this.raws.namespace;\n }\n }\n }, {\n key: \"ns\",\n get: function get() {\n return this._namespace;\n },\n set: function set(namespace) {\n this.namespace = namespace;\n }\n }, {\n key: \"namespaceString\",\n get: function get() {\n if (this.namespace) {\n var ns = this.stringifyProperty(\"namespace\");\n if (ns === true) {\n return '';\n } else {\n return ns;\n }\n } else {\n return '';\n }\n }\n }]);\n return Namespace;\n}(_node[\"default\"]);\nexports[\"default\"] = Namespace;\n;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _namespace = _interopRequireDefault(require(\"./namespace\"));\nvar _types = require(\"./types\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar Tag = /*#__PURE__*/function (_Namespace) {\n _inheritsLoose(Tag, _Namespace);\n function Tag(opts) {\n var _this;\n _this = _Namespace.call(this, opts) || this;\n _this.type = _types.TAG;\n return _this;\n }\n return Tag;\n}(_namespace[\"default\"]);\nexports[\"default\"] = Tag;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _node = _interopRequireDefault(require(\"./node\"));\nvar _types = require(\"./types\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar String = /*#__PURE__*/function (_Node) {\n _inheritsLoose(String, _Node);\n function String(opts) {\n var _this;\n _this = _Node.call(this, opts) || this;\n _this.type = _types.STRING;\n return _this;\n }\n return String;\n}(_node[\"default\"]);\nexports[\"default\"] = String;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _container = _interopRequireDefault(require(\"./container\"));\nvar _types = require(\"./types\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar Pseudo = /*#__PURE__*/function (_Container) {\n _inheritsLoose(Pseudo, _Container);\n function Pseudo(opts) {\n var _this;\n _this = _Container.call(this, opts) || this;\n _this.type = _types.PSEUDO;\n return _this;\n }\n var _proto = Pseudo.prototype;\n _proto.toString = function toString() {\n var params = this.length ? '(' + this.map(String).join(',') + ')' : '';\n return [this.rawSpaceBefore, this.stringifyProperty(\"value\"), params, this.rawSpaceAfter].join('');\n };\n return Pseudo;\n}(_container[\"default\"]);\nexports[\"default\"] = Pseudo;\nmodule.exports = exports.default;", "\n/**\n * For Node.js, simply re-export the core `util.deprecate` function.\n */\n\nmodule.exports = require('util').deprecate;\n", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nexports.unescapeValue = unescapeValue;\nvar _cssesc = _interopRequireDefault(require(\"cssesc\"));\nvar _unesc = _interopRequireDefault(require(\"../util/unesc\"));\nvar _namespace = _interopRequireDefault(require(\"./namespace\"));\nvar _types = require(\"./types\");\nvar _CSSESC_QUOTE_OPTIONS;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar deprecate = require(\"util-deprecate\");\nvar WRAPPED_IN_QUOTES = /^('|\")([^]*)\\1$/;\nvar warnOfDeprecatedValueAssignment = deprecate(function () {}, \"Assigning an attribute a value containing characters that might need to be escaped is deprecated. \" + \"Call attribute.setValue() instead.\");\nvar warnOfDeprecatedQuotedAssignment = deprecate(function () {}, \"Assigning attr.quoted is deprecated and has no effect. Assign to attr.quoteMark instead.\");\nvar warnOfDeprecatedConstructor = deprecate(function () {}, \"Constructing an Attribute selector with a value without specifying quoteMark is deprecated. Note: The value should be unescaped now.\");\nfunction unescapeValue(value) {\n var deprecatedUsage = false;\n var quoteMark = null;\n var unescaped = value;\n var m = unescaped.match(WRAPPED_IN_QUOTES);\n if (m) {\n quoteMark = m[1];\n unescaped = m[2];\n }\n unescaped = (0, _unesc[\"default\"])(unescaped);\n if (unescaped !== value) {\n deprecatedUsage = true;\n }\n return {\n deprecatedUsage: deprecatedUsage,\n unescaped: unescaped,\n quoteMark: quoteMark\n };\n}\nfunction handleDeprecatedContructorOpts(opts) {\n if (opts.quoteMark !== undefined) {\n return opts;\n }\n if (opts.value === undefined) {\n return opts;\n }\n warnOfDeprecatedConstructor();\n var _unescapeValue = unescapeValue(opts.value),\n quoteMark = _unescapeValue.quoteMark,\n unescaped = _unescapeValue.unescaped;\n if (!opts.raws) {\n opts.raws = {};\n }\n if (opts.raws.value === undefined) {\n opts.raws.value = opts.value;\n }\n opts.value = unescaped;\n opts.quoteMark = quoteMark;\n return opts;\n}\nvar Attribute = /*#__PURE__*/function (_Namespace) {\n _inheritsLoose(Attribute, _Namespace);\n function Attribute(opts) {\n var _this;\n if (opts === void 0) {\n opts = {};\n }\n _this = _Namespace.call(this, handleDeprecatedContructorOpts(opts)) || this;\n _this.type = _types.ATTRIBUTE;\n _this.raws = _this.raws || {};\n Object.defineProperty(_this.raws, 'unquoted', {\n get: deprecate(function () {\n return _this.value;\n }, \"attr.raws.unquoted is deprecated. Call attr.value instead.\"),\n set: deprecate(function () {\n return _this.value;\n }, \"Setting attr.raws.unquoted is deprecated and has no effect. attr.value is unescaped by default now.\")\n });\n _this._constructed = true;\n return _this;\n }\n\n /**\n * Returns the Attribute's value quoted such that it would be legal to use\n * in the value of a css file. The original value's quotation setting\n * used for stringification is left unchanged. See `setValue(value, options)`\n * if you want to control the quote settings of a new value for the attribute.\n *\n * You can also change the quotation used for the current value by setting quoteMark.\n *\n * Options:\n * * quoteMark {'\"' | \"'\" | null} - Use this value to quote the value. If this\n * option is not set, the original value for quoteMark will be used. If\n * indeterminate, a double quote is used. The legal values are:\n * * `null` - the value will be unquoted and characters will be escaped as necessary.\n * * `'` - the value will be quoted with a single quote and single quotes are escaped.\n * * `\"` - the value will be quoted with a double quote and double quotes are escaped.\n * * preferCurrentQuoteMark {boolean} - if true, prefer the source quote mark\n * over the quoteMark option value.\n * * smart {boolean} - if true, will select a quote mark based on the value\n * and the other options specified here. See the `smartQuoteMark()`\n * method.\n **/\n var _proto = Attribute.prototype;\n _proto.getQuotedValue = function getQuotedValue(options) {\n if (options === void 0) {\n options = {};\n }\n var quoteMark = this._determineQuoteMark(options);\n var cssescopts = CSSESC_QUOTE_OPTIONS[quoteMark];\n var escaped = (0, _cssesc[\"default\"])(this._value, cssescopts);\n return escaped;\n };\n _proto._determineQuoteMark = function _determineQuoteMark(options) {\n return options.smart ? this.smartQuoteMark(options) : this.preferredQuoteMark(options);\n }\n\n /**\n * Set the unescaped value with the specified quotation options. The value\n * provided must not include any wrapping quote marks -- those quotes will\n * be interpreted as part of the value and escaped accordingly.\n */;\n _proto.setValue = function setValue(value, options) {\n if (options === void 0) {\n options = {};\n }\n this._value = value;\n this._quoteMark = this._determineQuoteMark(options);\n this._syncRawValue();\n }\n\n /**\n * Intelligently select a quoteMark value based on the value's contents. If\n * the value is a legal CSS ident, it will not be quoted. Otherwise a quote\n * mark will be picked that minimizes the number of escapes.\n *\n * If there's no clear winner, the quote mark from these options is used,\n * then the source quote mark (this is inverted if `preferCurrentQuoteMark` is\n * true). If the quoteMark is unspecified, a double quote is used.\n *\n * @param options This takes the quoteMark and preferCurrentQuoteMark options\n * from the quoteValue method.\n */;\n _proto.smartQuoteMark = function smartQuoteMark(options) {\n var v = this.value;\n var numSingleQuotes = v.replace(/[^']/g, '').length;\n var numDoubleQuotes = v.replace(/[^\"]/g, '').length;\n if (numSingleQuotes + numDoubleQuotes === 0) {\n var escaped = (0, _cssesc[\"default\"])(v, {\n isIdentifier: true\n });\n if (escaped === v) {\n return Attribute.NO_QUOTE;\n } else {\n var pref = this.preferredQuoteMark(options);\n if (pref === Attribute.NO_QUOTE) {\n // pick a quote mark that isn't none and see if it's smaller\n var quote = this.quoteMark || options.quoteMark || Attribute.DOUBLE_QUOTE;\n var opts = CSSESC_QUOTE_OPTIONS[quote];\n var quoteValue = (0, _cssesc[\"default\"])(v, opts);\n if (quoteValue.length < escaped.length) {\n return quote;\n }\n }\n return pref;\n }\n } else if (numDoubleQuotes === numSingleQuotes) {\n return this.preferredQuoteMark(options);\n } else if (numDoubleQuotes < numSingleQuotes) {\n return Attribute.DOUBLE_QUOTE;\n } else {\n return Attribute.SINGLE_QUOTE;\n }\n }\n\n /**\n * Selects the preferred quote mark based on the options and the current quote mark value.\n * If you want the quote mark to depend on the attribute value, call `smartQuoteMark(opts)`\n * instead.\n */;\n _proto.preferredQuoteMark = function preferredQuoteMark(options) {\n var quoteMark = options.preferCurrentQuoteMark ? this.quoteMark : options.quoteMark;\n if (quoteMark === undefined) {\n quoteMark = options.preferCurrentQuoteMark ? options.quoteMark : this.quoteMark;\n }\n if (quoteMark === undefined) {\n quoteMark = Attribute.DOUBLE_QUOTE;\n }\n return quoteMark;\n };\n _proto._syncRawValue = function _syncRawValue() {\n var rawValue = (0, _cssesc[\"default\"])(this._value, CSSESC_QUOTE_OPTIONS[this.quoteMark]);\n if (rawValue === this._value) {\n if (this.raws) {\n delete this.raws.value;\n }\n } else {\n this.raws.value = rawValue;\n }\n };\n _proto._handleEscapes = function _handleEscapes(prop, value) {\n if (this._constructed) {\n var escaped = (0, _cssesc[\"default\"])(value, {\n isIdentifier: true\n });\n if (escaped !== value) {\n this.raws[prop] = escaped;\n } else {\n delete this.raws[prop];\n }\n }\n };\n _proto._spacesFor = function _spacesFor(name) {\n var attrSpaces = {\n before: '',\n after: ''\n };\n var spaces = this.spaces[name] || {};\n var rawSpaces = this.raws.spaces && this.raws.spaces[name] || {};\n return Object.assign(attrSpaces, spaces, rawSpaces);\n };\n _proto._stringFor = function _stringFor(name, spaceName, concat) {\n if (spaceName === void 0) {\n spaceName = name;\n }\n if (concat === void 0) {\n concat = defaultAttrConcat;\n }\n var attrSpaces = this._spacesFor(spaceName);\n return concat(this.stringifyProperty(name), attrSpaces);\n }\n\n /**\n * returns the offset of the attribute part specified relative to the\n * start of the node of the output string.\n *\n * * \"ns\" - alias for \"namespace\"\n * * \"namespace\" - the namespace if it exists.\n * * \"attribute\" - the attribute name\n * * \"attributeNS\" - the start of the attribute or its namespace\n * * \"operator\" - the match operator of the attribute\n * * \"value\" - The value (string or identifier)\n * * \"insensitive\" - the case insensitivity flag;\n * @param part One of the possible values inside an attribute.\n * @returns -1 if the name is invalid or the value doesn't exist in this attribute.\n */;\n _proto.offsetOf = function offsetOf(name) {\n var count = 1;\n var attributeSpaces = this._spacesFor(\"attribute\");\n count += attributeSpaces.before.length;\n if (name === \"namespace\" || name === \"ns\") {\n return this.namespace ? count : -1;\n }\n if (name === \"attributeNS\") {\n return count;\n }\n count += this.namespaceString.length;\n if (this.namespace) {\n count += 1;\n }\n if (name === \"attribute\") {\n return count;\n }\n count += this.stringifyProperty(\"attribute\").length;\n count += attributeSpaces.after.length;\n var operatorSpaces = this._spacesFor(\"operator\");\n count += operatorSpaces.before.length;\n var operator = this.stringifyProperty(\"operator\");\n if (name === \"operator\") {\n return operator ? count : -1;\n }\n count += operator.length;\n count += operatorSpaces.after.length;\n var valueSpaces = this._spacesFor(\"value\");\n count += valueSpaces.before.length;\n var value = this.stringifyProperty(\"value\");\n if (name === \"value\") {\n return value ? count : -1;\n }\n count += value.length;\n count += valueSpaces.after.length;\n var insensitiveSpaces = this._spacesFor(\"insensitive\");\n count += insensitiveSpaces.before.length;\n if (name === \"insensitive\") {\n return this.insensitive ? count : -1;\n }\n return -1;\n };\n _proto.toString = function toString() {\n var _this2 = this;\n var selector = [this.rawSpaceBefore, '['];\n selector.push(this._stringFor('qualifiedAttribute', 'attribute'));\n if (this.operator && (this.value || this.value === '')) {\n selector.push(this._stringFor('operator'));\n selector.push(this._stringFor('value'));\n selector.push(this._stringFor('insensitiveFlag', 'insensitive', function (attrValue, attrSpaces) {\n if (attrValue.length > 0 && !_this2.quoted && attrSpaces.before.length === 0 && !(_this2.spaces.value && _this2.spaces.value.after)) {\n attrSpaces.before = \" \";\n }\n return defaultAttrConcat(attrValue, attrSpaces);\n }));\n }\n selector.push(']');\n selector.push(this.rawSpaceAfter);\n return selector.join('');\n };\n _createClass(Attribute, [{\n key: \"quoted\",\n get: function get() {\n var qm = this.quoteMark;\n return qm === \"'\" || qm === '\"';\n },\n set: function set(value) {\n warnOfDeprecatedQuotedAssignment();\n }\n\n /**\n * returns a single (`'`) or double (`\"`) quote character if the value is quoted.\n * returns `null` if the value is not quoted.\n * returns `undefined` if the quotation state is unknown (this can happen when\n * the attribute is constructed without specifying a quote mark.)\n */\n }, {\n key: \"quoteMark\",\n get: function get() {\n return this._quoteMark;\n }\n\n /**\n * Set the quote mark to be used by this attribute's value.\n * If the quote mark changes, the raw (escaped) value at `attr.raws.value` of the attribute\n * value is updated accordingly.\n *\n * @param {\"'\" | '\"' | null} quoteMark The quote mark or `null` if the value should be unquoted.\n */,\n set: function set(quoteMark) {\n if (!this._constructed) {\n this._quoteMark = quoteMark;\n return;\n }\n if (this._quoteMark !== quoteMark) {\n this._quoteMark = quoteMark;\n this._syncRawValue();\n }\n }\n }, {\n key: \"qualifiedAttribute\",\n get: function get() {\n return this.qualifiedName(this.raws.attribute || this.attribute);\n }\n }, {\n key: \"insensitiveFlag\",\n get: function get() {\n return this.insensitive ? 'i' : '';\n }\n }, {\n key: \"value\",\n get: function get() {\n return this._value;\n },\n set:\n /**\n * Before 3.0, the value had to be set to an escaped value including any wrapped\n * quote marks. In 3.0, the semantics of `Attribute.value` changed so that the value\n * is unescaped during parsing and any quote marks are removed.\n *\n * Because the ambiguity of this semantic change, if you set `attr.value = newValue`,\n * a deprecation warning is raised when the new value contains any characters that would\n * require escaping (including if it contains wrapped quotes).\n *\n * Instead, you should call `attr.setValue(newValue, opts)` and pass options that describe\n * how the new value is quoted.\n */\n function set(v) {\n if (this._constructed) {\n var _unescapeValue2 = unescapeValue(v),\n deprecatedUsage = _unescapeValue2.deprecatedUsage,\n unescaped = _unescapeValue2.unescaped,\n quoteMark = _unescapeValue2.quoteMark;\n if (deprecatedUsage) {\n warnOfDeprecatedValueAssignment();\n }\n if (unescaped === this._value && quoteMark === this._quoteMark) {\n return;\n }\n this._value = unescaped;\n this._quoteMark = quoteMark;\n this._syncRawValue();\n } else {\n this._value = v;\n }\n }\n }, {\n key: \"insensitive\",\n get: function get() {\n return this._insensitive;\n }\n\n /**\n * Set the case insensitive flag.\n * If the case insensitive flag changes, the raw (escaped) value at `attr.raws.insensitiveFlag`\n * of the attribute is updated accordingly.\n *\n * @param {true | false} insensitive true if the attribute should match case-insensitively.\n */,\n set: function set(insensitive) {\n if (!insensitive) {\n this._insensitive = false;\n\n // \"i\" and \"I\" can be used in \"this.raws.insensitiveFlag\" to store the original notation.\n // When setting `attr.insensitive = false` both should be erased to ensure correct serialization.\n if (this.raws && (this.raws.insensitiveFlag === 'I' || this.raws.insensitiveFlag === 'i')) {\n this.raws.insensitiveFlag = undefined;\n }\n }\n this._insensitive = insensitive;\n }\n }, {\n key: \"attribute\",\n get: function get() {\n return this._attribute;\n },\n set: function set(name) {\n this._handleEscapes(\"attribute\", name);\n this._attribute = name;\n }\n }]);\n return Attribute;\n}(_namespace[\"default\"]);\nexports[\"default\"] = Attribute;\nAttribute.NO_QUOTE = null;\nAttribute.SINGLE_QUOTE = \"'\";\nAttribute.DOUBLE_QUOTE = '\"';\nvar CSSESC_QUOTE_OPTIONS = (_CSSESC_QUOTE_OPTIONS = {\n \"'\": {\n quotes: 'single',\n wrap: true\n },\n '\"': {\n quotes: 'double',\n wrap: true\n }\n}, _CSSESC_QUOTE_OPTIONS[null] = {\n isIdentifier: true\n}, _CSSESC_QUOTE_OPTIONS);\nfunction defaultAttrConcat(attrValue, attrSpaces) {\n return \"\" + attrSpaces.before + attrValue + attrSpaces.after;\n}", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _namespace = _interopRequireDefault(require(\"./namespace\"));\nvar _types = require(\"./types\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar Universal = /*#__PURE__*/function (_Namespace) {\n _inheritsLoose(Universal, _Namespace);\n function Universal(opts) {\n var _this;\n _this = _Namespace.call(this, opts) || this;\n _this.type = _types.UNIVERSAL;\n _this.value = '*';\n return _this;\n }\n return Universal;\n}(_namespace[\"default\"]);\nexports[\"default\"] = Universal;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _node = _interopRequireDefault(require(\"./node\"));\nvar _types = require(\"./types\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar Combinator = /*#__PURE__*/function (_Node) {\n _inheritsLoose(Combinator, _Node);\n function Combinator(opts) {\n var _this;\n _this = _Node.call(this, opts) || this;\n _this.type = _types.COMBINATOR;\n return _this;\n }\n return Combinator;\n}(_node[\"default\"]);\nexports[\"default\"] = Combinator;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _node = _interopRequireDefault(require(\"./node\"));\nvar _types = require(\"./types\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar Nesting = /*#__PURE__*/function (_Node) {\n _inheritsLoose(Nesting, _Node);\n function Nesting(opts) {\n var _this;\n _this = _Node.call(this, opts) || this;\n _this.type = _types.NESTING;\n _this.value = '&';\n return _this;\n }\n return Nesting;\n}(_node[\"default\"]);\nexports[\"default\"] = Nesting;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = sortAscending;\nfunction sortAscending(list) {\n return list.sort(function (a, b) {\n return a - b;\n });\n}\n;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports.word = exports.tilde = exports.tab = exports.str = exports.space = exports.slash = exports.singleQuote = exports.semicolon = exports.plus = exports.pipe = exports.openSquare = exports.openParenthesis = exports.newline = exports.greaterThan = exports.feed = exports.equals = exports.doubleQuote = exports.dollar = exports.cr = exports.comment = exports.comma = exports.combinator = exports.colon = exports.closeSquare = exports.closeParenthesis = exports.caret = exports.bang = exports.backslash = exports.at = exports.asterisk = exports.ampersand = void 0;\nvar ampersand = 38; // `&`.charCodeAt(0);\nexports.ampersand = ampersand;\nvar asterisk = 42; // `*`.charCodeAt(0);\nexports.asterisk = asterisk;\nvar at = 64; // `@`.charCodeAt(0);\nexports.at = at;\nvar comma = 44; // `,`.charCodeAt(0);\nexports.comma = comma;\nvar colon = 58; // `:`.charCodeAt(0);\nexports.colon = colon;\nvar semicolon = 59; // `;`.charCodeAt(0);\nexports.semicolon = semicolon;\nvar openParenthesis = 40; // `(`.charCodeAt(0);\nexports.openParenthesis = openParenthesis;\nvar closeParenthesis = 41; // `)`.charCodeAt(0);\nexports.closeParenthesis = closeParenthesis;\nvar openSquare = 91; // `[`.charCodeAt(0);\nexports.openSquare = openSquare;\nvar closeSquare = 93; // `]`.charCodeAt(0);\nexports.closeSquare = closeSquare;\nvar dollar = 36; // `$`.charCodeAt(0);\nexports.dollar = dollar;\nvar tilde = 126; // `~`.charCodeAt(0);\nexports.tilde = tilde;\nvar caret = 94; // `^`.charCodeAt(0);\nexports.caret = caret;\nvar plus = 43; // `+`.charCodeAt(0);\nexports.plus = plus;\nvar equals = 61; // `=`.charCodeAt(0);\nexports.equals = equals;\nvar pipe = 124; // `|`.charCodeAt(0);\nexports.pipe = pipe;\nvar greaterThan = 62; // `>`.charCodeAt(0);\nexports.greaterThan = greaterThan;\nvar space = 32; // ` `.charCodeAt(0);\nexports.space = space;\nvar singleQuote = 39; // `'`.charCodeAt(0);\nexports.singleQuote = singleQuote;\nvar doubleQuote = 34; // `\"`.charCodeAt(0);\nexports.doubleQuote = doubleQuote;\nvar slash = 47; // `/`.charCodeAt(0);\nexports.slash = slash;\nvar bang = 33; // `!`.charCodeAt(0);\nexports.bang = bang;\nvar backslash = 92; // '\\\\'.charCodeAt(0);\nexports.backslash = backslash;\nvar cr = 13; // '\\r'.charCodeAt(0);\nexports.cr = cr;\nvar feed = 12; // '\\f'.charCodeAt(0);\nexports.feed = feed;\nvar newline = 10; // '\\n'.charCodeAt(0);\nexports.newline = newline;\nvar tab = 9; // '\\t'.charCodeAt(0);\n\n// Expose aliases primarily for readability.\nexports.tab = tab;\nvar str = singleQuote;\n\n// No good single character representation!\nexports.str = str;\nvar comment = -1;\nexports.comment = comment;\nvar word = -2;\nexports.word = word;\nvar combinator = -3;\nexports.combinator = combinator;", "\"use strict\";\n\nexports.__esModule = true;\nexports.FIELDS = void 0;\nexports[\"default\"] = tokenize;\nvar t = _interopRequireWildcard(require(\"./tokenTypes\"));\nvar _unescapable, _wordDelimiters;\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar unescapable = (_unescapable = {}, _unescapable[t.tab] = true, _unescapable[t.newline] = true, _unescapable[t.cr] = true, _unescapable[t.feed] = true, _unescapable);\nvar wordDelimiters = (_wordDelimiters = {}, _wordDelimiters[t.space] = true, _wordDelimiters[t.tab] = true, _wordDelimiters[t.newline] = true, _wordDelimiters[t.cr] = true, _wordDelimiters[t.feed] = true, _wordDelimiters[t.ampersand] = true, _wordDelimiters[t.asterisk] = true, _wordDelimiters[t.bang] = true, _wordDelimiters[t.comma] = true, _wordDelimiters[t.colon] = true, _wordDelimiters[t.semicolon] = true, _wordDelimiters[t.openParenthesis] = true, _wordDelimiters[t.closeParenthesis] = true, _wordDelimiters[t.openSquare] = true, _wordDelimiters[t.closeSquare] = true, _wordDelimiters[t.singleQuote] = true, _wordDelimiters[t.doubleQuote] = true, _wordDelimiters[t.plus] = true, _wordDelimiters[t.pipe] = true, _wordDelimiters[t.tilde] = true, _wordDelimiters[t.greaterThan] = true, _wordDelimiters[t.equals] = true, _wordDelimiters[t.dollar] = true, _wordDelimiters[t.caret] = true, _wordDelimiters[t.slash] = true, _wordDelimiters);\nvar hex = {};\nvar hexChars = \"0123456789abcdefABCDEF\";\nfor (var i = 0; i < hexChars.length; i++) {\n hex[hexChars.charCodeAt(i)] = true;\n}\n\n/**\n * Returns the last index of the bar css word\n * @param {string} css The string in which the word begins\n * @param {number} start The index into the string where word's first letter occurs\n */\nfunction consumeWord(css, start) {\n var next = start;\n var code;\n do {\n code = css.charCodeAt(next);\n if (wordDelimiters[code]) {\n return next - 1;\n } else if (code === t.backslash) {\n next = consumeEscape(css, next) + 1;\n } else {\n // All other characters are part of the word\n next++;\n }\n } while (next < css.length);\n return next - 1;\n}\n\n/**\n * Returns the last index of the escape sequence\n * @param {string} css The string in which the sequence begins\n * @param {number} start The index into the string where escape character (`\\`) occurs.\n */\nfunction consumeEscape(css, start) {\n var next = start;\n var code = css.charCodeAt(next + 1);\n if (unescapable[code]) {\n // just consume the escape char\n } else if (hex[code]) {\n var hexDigits = 0;\n // consume up to 6 hex chars\n do {\n next++;\n hexDigits++;\n code = css.charCodeAt(next + 1);\n } while (hex[code] && hexDigits < 6);\n // if fewer than 6 hex chars, a trailing space ends the escape\n if (hexDigits < 6 && code === t.space) {\n next++;\n }\n } else {\n // the next char is part of the current word\n next++;\n }\n return next;\n}\nvar FIELDS = {\n TYPE: 0,\n START_LINE: 1,\n START_COL: 2,\n END_LINE: 3,\n END_COL: 4,\n START_POS: 5,\n END_POS: 6\n};\nexports.FIELDS = FIELDS;\nfunction tokenize(input) {\n var tokens = [];\n var css = input.css.valueOf();\n var _css = css,\n length = _css.length;\n var offset = -1;\n var line = 1;\n var start = 0;\n var end = 0;\n var code, content, endColumn, endLine, escaped, escapePos, last, lines, next, nextLine, nextOffset, quote, tokenType;\n function unclosed(what, fix) {\n if (input.safe) {\n // fyi: this is never set to true.\n css += fix;\n next = css.length - 1;\n } else {\n throw input.error('Unclosed ' + what, line, start - offset, start);\n }\n }\n while (start < length) {\n code = css.charCodeAt(start);\n if (code === t.newline) {\n offset = start;\n line += 1;\n }\n switch (code) {\n case t.space:\n case t.tab:\n case t.newline:\n case t.cr:\n case t.feed:\n next = start;\n do {\n next += 1;\n code = css.charCodeAt(next);\n if (code === t.newline) {\n offset = next;\n line += 1;\n }\n } while (code === t.space || code === t.newline || code === t.tab || code === t.cr || code === t.feed);\n tokenType = t.space;\n endLine = line;\n endColumn = next - offset - 1;\n end = next;\n break;\n case t.plus:\n case t.greaterThan:\n case t.tilde:\n case t.pipe:\n next = start;\n do {\n next += 1;\n code = css.charCodeAt(next);\n } while (code === t.plus || code === t.greaterThan || code === t.tilde || code === t.pipe);\n tokenType = t.combinator;\n endLine = line;\n endColumn = start - offset;\n end = next;\n break;\n\n // Consume these characters as single tokens.\n case t.asterisk:\n case t.ampersand:\n case t.bang:\n case t.comma:\n case t.equals:\n case t.dollar:\n case t.caret:\n case t.openSquare:\n case t.closeSquare:\n case t.colon:\n case t.semicolon:\n case t.openParenthesis:\n case t.closeParenthesis:\n next = start;\n tokenType = code;\n endLine = line;\n endColumn = start - offset;\n end = next + 1;\n break;\n case t.singleQuote:\n case t.doubleQuote:\n quote = code === t.singleQuote ? \"'\" : '\"';\n next = start;\n do {\n escaped = false;\n next = css.indexOf(quote, next + 1);\n if (next === -1) {\n unclosed('quote', quote);\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === t.backslash) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n tokenType = t.str;\n endLine = line;\n endColumn = start - offset;\n end = next + 1;\n break;\n default:\n if (code === t.slash && css.charCodeAt(start + 1) === t.asterisk) {\n next = css.indexOf('*/', start + 2) + 1;\n if (next === 0) {\n unclosed('comment', '*/');\n }\n content = css.slice(start, next + 1);\n lines = content.split('\\n');\n last = lines.length - 1;\n if (last > 0) {\n nextLine = line + last;\n nextOffset = next - lines[last].length;\n } else {\n nextLine = line;\n nextOffset = offset;\n }\n tokenType = t.comment;\n line = nextLine;\n endLine = nextLine;\n endColumn = next - nextOffset;\n } else if (code === t.slash) {\n next = start;\n tokenType = code;\n endLine = line;\n endColumn = start - offset;\n end = next + 1;\n } else {\n next = consumeWord(css, start);\n tokenType = t.word;\n endLine = line;\n endColumn = next - offset;\n }\n end = next + 1;\n break;\n }\n\n // Ensure that the token structure remains consistent\n tokens.push([tokenType,\n // [0] Token type\n line,\n // [1] Starting line\n start - offset,\n // [2] Starting column\n endLine,\n // [3] Ending line\n endColumn,\n // [4] Ending column\n start,\n // [5] Start position / Source index\n end // [6] End position\n ]);\n\n // Reset offset for the next token\n if (nextOffset) {\n offset = nextOffset;\n nextOffset = null;\n }\n start = end;\n }\n return tokens;\n}", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _root = _interopRequireDefault(require(\"./selectors/root\"));\nvar _selector = _interopRequireDefault(require(\"./selectors/selector\"));\nvar _className = _interopRequireDefault(require(\"./selectors/className\"));\nvar _comment = _interopRequireDefault(require(\"./selectors/comment\"));\nvar _id = _interopRequireDefault(require(\"./selectors/id\"));\nvar _tag = _interopRequireDefault(require(\"./selectors/tag\"));\nvar _string = _interopRequireDefault(require(\"./selectors/string\"));\nvar _pseudo = _interopRequireDefault(require(\"./selectors/pseudo\"));\nvar _attribute = _interopRequireWildcard(require(\"./selectors/attribute\"));\nvar _universal = _interopRequireDefault(require(\"./selectors/universal\"));\nvar _combinator = _interopRequireDefault(require(\"./selectors/combinator\"));\nvar _nesting = _interopRequireDefault(require(\"./selectors/nesting\"));\nvar _sortAscending = _interopRequireDefault(require(\"./sortAscending\"));\nvar _tokenize = _interopRequireWildcard(require(\"./tokenize\"));\nvar tokens = _interopRequireWildcard(require(\"./tokenTypes\"));\nvar types = _interopRequireWildcard(require(\"./selectors/types\"));\nvar _util = require(\"./util\");\nvar _WHITESPACE_TOKENS, _Object$assign;\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nvar WHITESPACE_TOKENS = (_WHITESPACE_TOKENS = {}, _WHITESPACE_TOKENS[tokens.space] = true, _WHITESPACE_TOKENS[tokens.cr] = true, _WHITESPACE_TOKENS[tokens.feed] = true, _WHITESPACE_TOKENS[tokens.newline] = true, _WHITESPACE_TOKENS[tokens.tab] = true, _WHITESPACE_TOKENS);\nvar WHITESPACE_EQUIV_TOKENS = Object.assign({}, WHITESPACE_TOKENS, (_Object$assign = {}, _Object$assign[tokens.comment] = true, _Object$assign));\nfunction tokenStart(token) {\n return {\n line: token[_tokenize.FIELDS.START_LINE],\n column: token[_tokenize.FIELDS.START_COL]\n };\n}\nfunction tokenEnd(token) {\n return {\n line: token[_tokenize.FIELDS.END_LINE],\n column: token[_tokenize.FIELDS.END_COL]\n };\n}\nfunction getSource(startLine, startColumn, endLine, endColumn) {\n return {\n start: {\n line: startLine,\n column: startColumn\n },\n end: {\n line: endLine,\n column: endColumn\n }\n };\n}\nfunction getTokenSource(token) {\n return getSource(token[_tokenize.FIELDS.START_LINE], token[_tokenize.FIELDS.START_COL], token[_tokenize.FIELDS.END_LINE], token[_tokenize.FIELDS.END_COL]);\n}\nfunction getTokenSourceSpan(startToken, endToken) {\n if (!startToken) {\n return undefined;\n }\n return getSource(startToken[_tokenize.FIELDS.START_LINE], startToken[_tokenize.FIELDS.START_COL], endToken[_tokenize.FIELDS.END_LINE], endToken[_tokenize.FIELDS.END_COL]);\n}\nfunction unescapeProp(node, prop) {\n var value = node[prop];\n if (typeof value !== \"string\") {\n return;\n }\n if (value.indexOf(\"\\\\\") !== -1) {\n (0, _util.ensureObject)(node, 'raws');\n node[prop] = (0, _util.unesc)(value);\n if (node.raws[prop] === undefined) {\n node.raws[prop] = value;\n }\n }\n return node;\n}\nfunction indexesOf(array, item) {\n var i = -1;\n var indexes = [];\n while ((i = array.indexOf(item, i + 1)) !== -1) {\n indexes.push(i);\n }\n return indexes;\n}\nfunction uniqs() {\n var list = Array.prototype.concat.apply([], arguments);\n return list.filter(function (item, i) {\n return i === list.indexOf(item);\n });\n}\nvar Parser = /*#__PURE__*/function () {\n function Parser(rule, options) {\n if (options === void 0) {\n options = {};\n }\n this.rule = rule;\n this.options = Object.assign({\n lossy: false,\n safe: false\n }, options);\n this.position = 0;\n this.css = typeof this.rule === 'string' ? this.rule : this.rule.selector;\n this.tokens = (0, _tokenize[\"default\"])({\n css: this.css,\n error: this._errorGenerator(),\n safe: this.options.safe\n });\n var rootSource = getTokenSourceSpan(this.tokens[0], this.tokens[this.tokens.length - 1]);\n this.root = new _root[\"default\"]({\n source: rootSource\n });\n this.root.errorGenerator = this._errorGenerator();\n var selector = new _selector[\"default\"]({\n source: {\n start: {\n line: 1,\n column: 1\n }\n },\n sourceIndex: 0\n });\n this.root.append(selector);\n this.current = selector;\n this.loop();\n }\n var _proto = Parser.prototype;\n _proto._errorGenerator = function _errorGenerator() {\n var _this = this;\n return function (message, errorOptions) {\n if (typeof _this.rule === 'string') {\n return new Error(message);\n }\n return _this.rule.error(message, errorOptions);\n };\n };\n _proto.attribute = function attribute() {\n var attr = [];\n var startingToken = this.currToken;\n this.position++;\n while (this.position < this.tokens.length && this.currToken[_tokenize.FIELDS.TYPE] !== tokens.closeSquare) {\n attr.push(this.currToken);\n this.position++;\n }\n if (this.currToken[_tokenize.FIELDS.TYPE] !== tokens.closeSquare) {\n return this.expected('closing square bracket', this.currToken[_tokenize.FIELDS.START_POS]);\n }\n var len = attr.length;\n var node = {\n source: getSource(startingToken[1], startingToken[2], this.currToken[3], this.currToken[4]),\n sourceIndex: startingToken[_tokenize.FIELDS.START_POS]\n };\n if (len === 1 && !~[tokens.word].indexOf(attr[0][_tokenize.FIELDS.TYPE])) {\n return this.expected('attribute', attr[0][_tokenize.FIELDS.START_POS]);\n }\n var pos = 0;\n var spaceBefore = '';\n var commentBefore = '';\n var lastAdded = null;\n var spaceAfterMeaningfulToken = false;\n while (pos < len) {\n var token = attr[pos];\n var content = this.content(token);\n var next = attr[pos + 1];\n switch (token[_tokenize.FIELDS.TYPE]) {\n case tokens.space:\n // if (\n // len === 1 ||\n // pos === 0 && this.content(next) === '|'\n // ) {\n // return this.expected('attribute', token[TOKEN.START_POS], content);\n // }\n spaceAfterMeaningfulToken = true;\n if (this.options.lossy) {\n break;\n }\n if (lastAdded) {\n (0, _util.ensureObject)(node, 'spaces', lastAdded);\n var prevContent = node.spaces[lastAdded].after || '';\n node.spaces[lastAdded].after = prevContent + content;\n var existingComment = (0, _util.getProp)(node, 'raws', 'spaces', lastAdded, 'after') || null;\n if (existingComment) {\n node.raws.spaces[lastAdded].after = existingComment + content;\n }\n } else {\n spaceBefore = spaceBefore + content;\n commentBefore = commentBefore + content;\n }\n break;\n case tokens.asterisk:\n if (next[_tokenize.FIELDS.TYPE] === tokens.equals) {\n node.operator = content;\n lastAdded = 'operator';\n } else if ((!node.namespace || lastAdded === \"namespace\" && !spaceAfterMeaningfulToken) && next) {\n if (spaceBefore) {\n (0, _util.ensureObject)(node, 'spaces', 'attribute');\n node.spaces.attribute.before = spaceBefore;\n spaceBefore = '';\n }\n if (commentBefore) {\n (0, _util.ensureObject)(node, 'raws', 'spaces', 'attribute');\n node.raws.spaces.attribute.before = spaceBefore;\n commentBefore = '';\n }\n node.namespace = (node.namespace || \"\") + content;\n var rawValue = (0, _util.getProp)(node, 'raws', 'namespace') || null;\n if (rawValue) {\n node.raws.namespace += content;\n }\n lastAdded = 'namespace';\n }\n spaceAfterMeaningfulToken = false;\n break;\n case tokens.dollar:\n if (lastAdded === \"value\") {\n var oldRawValue = (0, _util.getProp)(node, 'raws', 'value');\n node.value += \"$\";\n if (oldRawValue) {\n node.raws.value = oldRawValue + \"$\";\n }\n break;\n }\n // Falls through\n case tokens.caret:\n if (next[_tokenize.FIELDS.TYPE] === tokens.equals) {\n node.operator = content;\n lastAdded = 'operator';\n }\n spaceAfterMeaningfulToken = false;\n break;\n case tokens.combinator:\n if (content === '~' && next[_tokenize.FIELDS.TYPE] === tokens.equals) {\n node.operator = content;\n lastAdded = 'operator';\n }\n if (content !== '|') {\n spaceAfterMeaningfulToken = false;\n break;\n }\n if (next[_tokenize.FIELDS.TYPE] === tokens.equals) {\n node.operator = content;\n lastAdded = 'operator';\n } else if (!node.namespace && !node.attribute) {\n node.namespace = true;\n }\n spaceAfterMeaningfulToken = false;\n break;\n case tokens.word:\n if (next && this.content(next) === '|' && attr[pos + 2] && attr[pos + 2][_tokenize.FIELDS.TYPE] !== tokens.equals &&\n // this look-ahead probably fails with comment nodes involved.\n !node.operator && !node.namespace) {\n node.namespace = content;\n lastAdded = 'namespace';\n } else if (!node.attribute || lastAdded === \"attribute\" && !spaceAfterMeaningfulToken) {\n if (spaceBefore) {\n (0, _util.ensureObject)(node, 'spaces', 'attribute');\n node.spaces.attribute.before = spaceBefore;\n spaceBefore = '';\n }\n if (commentBefore) {\n (0, _util.ensureObject)(node, 'raws', 'spaces', 'attribute');\n node.raws.spaces.attribute.before = commentBefore;\n commentBefore = '';\n }\n node.attribute = (node.attribute || \"\") + content;\n var _rawValue = (0, _util.getProp)(node, 'raws', 'attribute') || null;\n if (_rawValue) {\n node.raws.attribute += content;\n }\n lastAdded = 'attribute';\n } else if (!node.value && node.value !== \"\" || lastAdded === \"value\" && !(spaceAfterMeaningfulToken || node.quoteMark)) {\n var _unescaped = (0, _util.unesc)(content);\n var _oldRawValue = (0, _util.getProp)(node, 'raws', 'value') || '';\n var oldValue = node.value || '';\n node.value = oldValue + _unescaped;\n node.quoteMark = null;\n if (_unescaped !== content || _oldRawValue) {\n (0, _util.ensureObject)(node, 'raws');\n node.raws.value = (_oldRawValue || oldValue) + content;\n }\n lastAdded = 'value';\n } else {\n var insensitive = content === 'i' || content === \"I\";\n if ((node.value || node.value === '') && (node.quoteMark || spaceAfterMeaningfulToken)) {\n node.insensitive = insensitive;\n if (!insensitive || content === \"I\") {\n (0, _util.ensureObject)(node, 'raws');\n node.raws.insensitiveFlag = content;\n }\n lastAdded = 'insensitive';\n if (spaceBefore) {\n (0, _util.ensureObject)(node, 'spaces', 'insensitive');\n node.spaces.insensitive.before = spaceBefore;\n spaceBefore = '';\n }\n if (commentBefore) {\n (0, _util.ensureObject)(node, 'raws', 'spaces', 'insensitive');\n node.raws.spaces.insensitive.before = commentBefore;\n commentBefore = '';\n }\n } else if (node.value || node.value === '') {\n lastAdded = 'value';\n node.value += content;\n if (node.raws.value) {\n node.raws.value += content;\n }\n }\n }\n spaceAfterMeaningfulToken = false;\n break;\n case tokens.str:\n if (!node.attribute || !node.operator) {\n return this.error(\"Expected an attribute followed by an operator preceding the string.\", {\n index: token[_tokenize.FIELDS.START_POS]\n });\n }\n var _unescapeValue = (0, _attribute.unescapeValue)(content),\n unescaped = _unescapeValue.unescaped,\n quoteMark = _unescapeValue.quoteMark;\n node.value = unescaped;\n node.quoteMark = quoteMark;\n lastAdded = 'value';\n (0, _util.ensureObject)(node, 'raws');\n node.raws.value = content;\n spaceAfterMeaningfulToken = false;\n break;\n case tokens.equals:\n if (!node.attribute) {\n return this.expected('attribute', token[_tokenize.FIELDS.START_POS], content);\n }\n if (node.value) {\n return this.error('Unexpected \"=\" found; an operator was already defined.', {\n index: token[_tokenize.FIELDS.START_POS]\n });\n }\n node.operator = node.operator ? node.operator + content : content;\n lastAdded = 'operator';\n spaceAfterMeaningfulToken = false;\n break;\n case tokens.comment:\n if (lastAdded) {\n if (spaceAfterMeaningfulToken || next && next[_tokenize.FIELDS.TYPE] === tokens.space || lastAdded === 'insensitive') {\n var lastComment = (0, _util.getProp)(node, 'spaces', lastAdded, 'after') || '';\n var rawLastComment = (0, _util.getProp)(node, 'raws', 'spaces', lastAdded, 'after') || lastComment;\n (0, _util.ensureObject)(node, 'raws', 'spaces', lastAdded);\n node.raws.spaces[lastAdded].after = rawLastComment + content;\n } else {\n var lastValue = node[lastAdded] || '';\n var rawLastValue = (0, _util.getProp)(node, 'raws', lastAdded) || lastValue;\n (0, _util.ensureObject)(node, 'raws');\n node.raws[lastAdded] = rawLastValue + content;\n }\n } else {\n commentBefore = commentBefore + content;\n }\n break;\n default:\n return this.error(\"Unexpected \\\"\" + content + \"\\\" found.\", {\n index: token[_tokenize.FIELDS.START_POS]\n });\n }\n pos++;\n }\n unescapeProp(node, \"attribute\");\n unescapeProp(node, \"namespace\");\n this.newNode(new _attribute[\"default\"](node));\n this.position++;\n }\n\n /**\n * return a node containing meaningless garbage up to (but not including) the specified token position.\n * if the token position is negative, all remaining tokens are consumed.\n *\n * This returns an array containing a single string node if all whitespace,\n * otherwise an array of comment nodes with space before and after.\n *\n * These tokens are not added to the current selector, the caller can add them or use them to amend\n * a previous node's space metadata.\n *\n * In lossy mode, this returns only comments.\n */;\n _proto.parseWhitespaceEquivalentTokens = function parseWhitespaceEquivalentTokens(stopPosition) {\n if (stopPosition < 0) {\n stopPosition = this.tokens.length;\n }\n var startPosition = this.position;\n var nodes = [];\n var space = \"\";\n var lastComment = undefined;\n do {\n if (WHITESPACE_TOKENS[this.currToken[_tokenize.FIELDS.TYPE]]) {\n if (!this.options.lossy) {\n space += this.content();\n }\n } else if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.comment) {\n var spaces = {};\n if (space) {\n spaces.before = space;\n space = \"\";\n }\n lastComment = new _comment[\"default\"]({\n value: this.content(),\n source: getTokenSource(this.currToken),\n sourceIndex: this.currToken[_tokenize.FIELDS.START_POS],\n spaces: spaces\n });\n nodes.push(lastComment);\n }\n } while (++this.position < stopPosition);\n if (space) {\n if (lastComment) {\n lastComment.spaces.after = space;\n } else if (!this.options.lossy) {\n var firstToken = this.tokens[startPosition];\n var lastToken = this.tokens[this.position - 1];\n nodes.push(new _string[\"default\"]({\n value: '',\n source: getSource(firstToken[_tokenize.FIELDS.START_LINE], firstToken[_tokenize.FIELDS.START_COL], lastToken[_tokenize.FIELDS.END_LINE], lastToken[_tokenize.FIELDS.END_COL]),\n sourceIndex: firstToken[_tokenize.FIELDS.START_POS],\n spaces: {\n before: space,\n after: ''\n }\n }));\n }\n }\n return nodes;\n }\n\n /**\n *\n * @param {*} nodes\n */;\n _proto.convertWhitespaceNodesToSpace = function convertWhitespaceNodesToSpace(nodes, requiredSpace) {\n var _this2 = this;\n if (requiredSpace === void 0) {\n requiredSpace = false;\n }\n var space = \"\";\n var rawSpace = \"\";\n nodes.forEach(function (n) {\n var spaceBefore = _this2.lossySpace(n.spaces.before, requiredSpace);\n var rawSpaceBefore = _this2.lossySpace(n.rawSpaceBefore, requiredSpace);\n space += spaceBefore + _this2.lossySpace(n.spaces.after, requiredSpace && spaceBefore.length === 0);\n rawSpace += spaceBefore + n.value + _this2.lossySpace(n.rawSpaceAfter, requiredSpace && rawSpaceBefore.length === 0);\n });\n if (rawSpace === space) {\n rawSpace = undefined;\n }\n var result = {\n space: space,\n rawSpace: rawSpace\n };\n return result;\n };\n _proto.isNamedCombinator = function isNamedCombinator(position) {\n if (position === void 0) {\n position = this.position;\n }\n return this.tokens[position + 0] && this.tokens[position + 0][_tokenize.FIELDS.TYPE] === tokens.slash && this.tokens[position + 1] && this.tokens[position + 1][_tokenize.FIELDS.TYPE] === tokens.word && this.tokens[position + 2] && this.tokens[position + 2][_tokenize.FIELDS.TYPE] === tokens.slash;\n };\n _proto.namedCombinator = function namedCombinator() {\n if (this.isNamedCombinator()) {\n var nameRaw = this.content(this.tokens[this.position + 1]);\n var name = (0, _util.unesc)(nameRaw).toLowerCase();\n var raws = {};\n if (name !== nameRaw) {\n raws.value = \"/\" + nameRaw + \"/\";\n }\n var node = new _combinator[\"default\"]({\n value: \"/\" + name + \"/\",\n source: getSource(this.currToken[_tokenize.FIELDS.START_LINE], this.currToken[_tokenize.FIELDS.START_COL], this.tokens[this.position + 2][_tokenize.FIELDS.END_LINE], this.tokens[this.position + 2][_tokenize.FIELDS.END_COL]),\n sourceIndex: this.currToken[_tokenize.FIELDS.START_POS],\n raws: raws\n });\n this.position = this.position + 3;\n return node;\n } else {\n this.unexpected();\n }\n };\n _proto.combinator = function combinator() {\n var _this3 = this;\n if (this.content() === '|') {\n return this.namespace();\n }\n // We need to decide between a space that's a descendant combinator and meaningless whitespace at the end of a selector.\n var nextSigTokenPos = this.locateNextMeaningfulToken(this.position);\n if (nextSigTokenPos < 0 || this.tokens[nextSigTokenPos][_tokenize.FIELDS.TYPE] === tokens.comma || this.tokens[nextSigTokenPos][_tokenize.FIELDS.TYPE] === tokens.closeParenthesis) {\n var nodes = this.parseWhitespaceEquivalentTokens(nextSigTokenPos);\n if (nodes.length > 0) {\n var last = this.current.last;\n if (last) {\n var _this$convertWhitespa = this.convertWhitespaceNodesToSpace(nodes),\n space = _this$convertWhitespa.space,\n rawSpace = _this$convertWhitespa.rawSpace;\n if (rawSpace !== undefined) {\n last.rawSpaceAfter += rawSpace;\n }\n last.spaces.after += space;\n } else {\n nodes.forEach(function (n) {\n return _this3.newNode(n);\n });\n }\n }\n return;\n }\n var firstToken = this.currToken;\n var spaceOrDescendantSelectorNodes = undefined;\n if (nextSigTokenPos > this.position) {\n spaceOrDescendantSelectorNodes = this.parseWhitespaceEquivalentTokens(nextSigTokenPos);\n }\n var node;\n if (this.isNamedCombinator()) {\n node = this.namedCombinator();\n } else if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.combinator) {\n node = new _combinator[\"default\"]({\n value: this.content(),\n source: getTokenSource(this.currToken),\n sourceIndex: this.currToken[_tokenize.FIELDS.START_POS]\n });\n this.position++;\n } else if (WHITESPACE_TOKENS[this.currToken[_tokenize.FIELDS.TYPE]]) {\n // pass\n } else if (!spaceOrDescendantSelectorNodes) {\n this.unexpected();\n }\n if (node) {\n if (spaceOrDescendantSelectorNodes) {\n var _this$convertWhitespa2 = this.convertWhitespaceNodesToSpace(spaceOrDescendantSelectorNodes),\n _space = _this$convertWhitespa2.space,\n _rawSpace = _this$convertWhitespa2.rawSpace;\n node.spaces.before = _space;\n node.rawSpaceBefore = _rawSpace;\n }\n } else {\n // descendant combinator\n var _this$convertWhitespa3 = this.convertWhitespaceNodesToSpace(spaceOrDescendantSelectorNodes, true),\n _space2 = _this$convertWhitespa3.space,\n _rawSpace2 = _this$convertWhitespa3.rawSpace;\n if (!_rawSpace2) {\n _rawSpace2 = _space2;\n }\n var spaces = {};\n var raws = {\n spaces: {}\n };\n if (_space2.endsWith(' ') && _rawSpace2.endsWith(' ')) {\n spaces.before = _space2.slice(0, _space2.length - 1);\n raws.spaces.before = _rawSpace2.slice(0, _rawSpace2.length - 1);\n } else if (_space2.startsWith(' ') && _rawSpace2.startsWith(' ')) {\n spaces.after = _space2.slice(1);\n raws.spaces.after = _rawSpace2.slice(1);\n } else {\n raws.value = _rawSpace2;\n }\n node = new _combinator[\"default\"]({\n value: ' ',\n source: getTokenSourceSpan(firstToken, this.tokens[this.position - 1]),\n sourceIndex: firstToken[_tokenize.FIELDS.START_POS],\n spaces: spaces,\n raws: raws\n });\n }\n if (this.currToken && this.currToken[_tokenize.FIELDS.TYPE] === tokens.space) {\n node.spaces.after = this.optionalSpace(this.content());\n this.position++;\n }\n return this.newNode(node);\n };\n _proto.comma = function comma() {\n if (this.position === this.tokens.length - 1) {\n this.root.trailingComma = true;\n this.position++;\n return;\n }\n this.current._inferEndPosition();\n var selector = new _selector[\"default\"]({\n source: {\n start: tokenStart(this.tokens[this.position + 1])\n },\n sourceIndex: this.tokens[this.position + 1][_tokenize.FIELDS.START_POS]\n });\n this.current.parent.append(selector);\n this.current = selector;\n this.position++;\n };\n _proto.comment = function comment() {\n var current = this.currToken;\n this.newNode(new _comment[\"default\"]({\n value: this.content(),\n source: getTokenSource(current),\n sourceIndex: current[_tokenize.FIELDS.START_POS]\n }));\n this.position++;\n };\n _proto.error = function error(message, opts) {\n throw this.root.error(message, opts);\n };\n _proto.missingBackslash = function missingBackslash() {\n return this.error('Expected a backslash preceding the semicolon.', {\n index: this.currToken[_tokenize.FIELDS.START_POS]\n });\n };\n _proto.missingParenthesis = function missingParenthesis() {\n return this.expected('opening parenthesis', this.currToken[_tokenize.FIELDS.START_POS]);\n };\n _proto.missingSquareBracket = function missingSquareBracket() {\n return this.expected('opening square bracket', this.currToken[_tokenize.FIELDS.START_POS]);\n };\n _proto.unexpected = function unexpected() {\n return this.error(\"Unexpected '\" + this.content() + \"'. Escaping special characters with \\\\ may help.\", this.currToken[_tokenize.FIELDS.START_POS]);\n };\n _proto.unexpectedPipe = function unexpectedPipe() {\n return this.error(\"Unexpected '|'.\", this.currToken[_tokenize.FIELDS.START_POS]);\n };\n _proto.namespace = function namespace() {\n var before = this.prevToken && this.content(this.prevToken) || true;\n if (this.nextToken[_tokenize.FIELDS.TYPE] === tokens.word) {\n this.position++;\n return this.word(before);\n } else if (this.nextToken[_tokenize.FIELDS.TYPE] === tokens.asterisk) {\n this.position++;\n return this.universal(before);\n }\n this.unexpectedPipe();\n };\n _proto.nesting = function nesting() {\n if (this.nextToken) {\n var nextContent = this.content(this.nextToken);\n if (nextContent === \"|\") {\n this.position++;\n return;\n }\n }\n var current = this.currToken;\n this.newNode(new _nesting[\"default\"]({\n value: this.content(),\n source: getTokenSource(current),\n sourceIndex: current[_tokenize.FIELDS.START_POS]\n }));\n this.position++;\n };\n _proto.parentheses = function parentheses() {\n var last = this.current.last;\n var unbalanced = 1;\n this.position++;\n if (last && last.type === types.PSEUDO) {\n var selector = new _selector[\"default\"]({\n source: {\n start: tokenStart(this.tokens[this.position])\n },\n sourceIndex: this.tokens[this.position][_tokenize.FIELDS.START_POS]\n });\n var cache = this.current;\n last.append(selector);\n this.current = selector;\n while (this.position < this.tokens.length && unbalanced) {\n if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis) {\n unbalanced++;\n }\n if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.closeParenthesis) {\n unbalanced--;\n }\n if (unbalanced) {\n this.parse();\n } else {\n this.current.source.end = tokenEnd(this.currToken);\n this.current.parent.source.end = tokenEnd(this.currToken);\n this.position++;\n }\n }\n this.current = cache;\n } else {\n // I think this case should be an error. It's used to implement a basic parse of media queries\n // but I don't think it's a good idea.\n var parenStart = this.currToken;\n var parenValue = \"(\";\n var parenEnd;\n while (this.position < this.tokens.length && unbalanced) {\n if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis) {\n unbalanced++;\n }\n if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.closeParenthesis) {\n unbalanced--;\n }\n parenEnd = this.currToken;\n parenValue += this.parseParenthesisToken(this.currToken);\n this.position++;\n }\n if (last) {\n last.appendToPropertyAndEscape(\"value\", parenValue, parenValue);\n } else {\n this.newNode(new _string[\"default\"]({\n value: parenValue,\n source: getSource(parenStart[_tokenize.FIELDS.START_LINE], parenStart[_tokenize.FIELDS.START_COL], parenEnd[_tokenize.FIELDS.END_LINE], parenEnd[_tokenize.FIELDS.END_COL]),\n sourceIndex: parenStart[_tokenize.FIELDS.START_POS]\n }));\n }\n }\n if (unbalanced) {\n return this.expected('closing parenthesis', this.currToken[_tokenize.FIELDS.START_POS]);\n }\n };\n _proto.pseudo = function pseudo() {\n var _this4 = this;\n var pseudoStr = '';\n var startingToken = this.currToken;\n while (this.currToken && this.currToken[_tokenize.FIELDS.TYPE] === tokens.colon) {\n pseudoStr += this.content();\n this.position++;\n }\n if (!this.currToken) {\n return this.expected(['pseudo-class', 'pseudo-element'], this.position - 1);\n }\n if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.word) {\n this.splitWord(false, function (first, length) {\n pseudoStr += first;\n _this4.newNode(new _pseudo[\"default\"]({\n value: pseudoStr,\n source: getTokenSourceSpan(startingToken, _this4.currToken),\n sourceIndex: startingToken[_tokenize.FIELDS.START_POS]\n }));\n if (length > 1 && _this4.nextToken && _this4.nextToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis) {\n _this4.error('Misplaced parenthesis.', {\n index: _this4.nextToken[_tokenize.FIELDS.START_POS]\n });\n }\n });\n } else {\n return this.expected(['pseudo-class', 'pseudo-element'], this.currToken[_tokenize.FIELDS.START_POS]);\n }\n };\n _proto.space = function space() {\n var content = this.content();\n // Handle space before and after the selector\n if (this.position === 0 || this.prevToken[_tokenize.FIELDS.TYPE] === tokens.comma || this.prevToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis || this.current.nodes.every(function (node) {\n return node.type === 'comment';\n })) {\n this.spaces = this.optionalSpace(content);\n this.position++;\n } else if (this.position === this.tokens.length - 1 || this.nextToken[_tokenize.FIELDS.TYPE] === tokens.comma || this.nextToken[_tokenize.FIELDS.TYPE] === tokens.closeParenthesis) {\n this.current.last.spaces.after = this.optionalSpace(content);\n this.position++;\n } else {\n this.combinator();\n }\n };\n _proto.string = function string() {\n var current = this.currToken;\n this.newNode(new _string[\"default\"]({\n value: this.content(),\n source: getTokenSource(current),\n sourceIndex: current[_tokenize.FIELDS.START_POS]\n }));\n this.position++;\n };\n _proto.universal = function universal(namespace) {\n var nextToken = this.nextToken;\n if (nextToken && this.content(nextToken) === '|') {\n this.position++;\n return this.namespace();\n }\n var current = this.currToken;\n this.newNode(new _universal[\"default\"]({\n value: this.content(),\n source: getTokenSource(current),\n sourceIndex: current[_tokenize.FIELDS.START_POS]\n }), namespace);\n this.position++;\n };\n _proto.splitWord = function splitWord(namespace, firstCallback) {\n var _this5 = this;\n var nextToken = this.nextToken;\n var word = this.content();\n while (nextToken && ~[tokens.dollar, tokens.caret, tokens.equals, tokens.word].indexOf(nextToken[_tokenize.FIELDS.TYPE])) {\n this.position++;\n var current = this.content();\n word += current;\n if (current.lastIndexOf('\\\\') === current.length - 1) {\n var next = this.nextToken;\n if (next && next[_tokenize.FIELDS.TYPE] === tokens.space) {\n word += this.requiredSpace(this.content(next));\n this.position++;\n }\n }\n nextToken = this.nextToken;\n }\n var hasClass = indexesOf(word, '.').filter(function (i) {\n // Allow escaped dot within class name\n var escapedDot = word[i - 1] === '\\\\';\n // Allow decimal numbers percent in @keyframes\n var isKeyframesPercent = /^\\d+\\.\\d+%$/.test(word);\n return !escapedDot && !isKeyframesPercent;\n });\n var hasId = indexesOf(word, '#').filter(function (i) {\n return word[i - 1] !== '\\\\';\n });\n // Eliminate Sass interpolations from the list of id indexes\n var interpolations = indexesOf(word, '#{');\n if (interpolations.length) {\n hasId = hasId.filter(function (hashIndex) {\n return !~interpolations.indexOf(hashIndex);\n });\n }\n var indices = (0, _sortAscending[\"default\"])(uniqs([0].concat(hasClass, hasId)));\n indices.forEach(function (ind, i) {\n var index = indices[i + 1] || word.length;\n var value = word.slice(ind, index);\n if (i === 0 && firstCallback) {\n return firstCallback.call(_this5, value, indices.length);\n }\n var node;\n var current = _this5.currToken;\n var sourceIndex = current[_tokenize.FIELDS.START_POS] + indices[i];\n var source = getSource(current[1], current[2] + ind, current[3], current[2] + (index - 1));\n if (~hasClass.indexOf(ind)) {\n var classNameOpts = {\n value: value.slice(1),\n source: source,\n sourceIndex: sourceIndex\n };\n node = new _className[\"default\"](unescapeProp(classNameOpts, \"value\"));\n } else if (~hasId.indexOf(ind)) {\n var idOpts = {\n value: value.slice(1),\n source: source,\n sourceIndex: sourceIndex\n };\n node = new _id[\"default\"](unescapeProp(idOpts, \"value\"));\n } else {\n var tagOpts = {\n value: value,\n source: source,\n sourceIndex: sourceIndex\n };\n unescapeProp(tagOpts, \"value\");\n node = new _tag[\"default\"](tagOpts);\n }\n _this5.newNode(node, namespace);\n // Ensure that the namespace is used only once\n namespace = null;\n });\n this.position++;\n };\n _proto.word = function word(namespace) {\n var nextToken = this.nextToken;\n if (nextToken && this.content(nextToken) === '|') {\n this.position++;\n return this.namespace();\n }\n return this.splitWord(namespace);\n };\n _proto.loop = function loop() {\n while (this.position < this.tokens.length) {\n this.parse(true);\n }\n this.current._inferEndPosition();\n return this.root;\n };\n _proto.parse = function parse(throwOnParenthesis) {\n switch (this.currToken[_tokenize.FIELDS.TYPE]) {\n case tokens.space:\n this.space();\n break;\n case tokens.comment:\n this.comment();\n break;\n case tokens.openParenthesis:\n this.parentheses();\n break;\n case tokens.closeParenthesis:\n if (throwOnParenthesis) {\n this.missingParenthesis();\n }\n break;\n case tokens.openSquare:\n this.attribute();\n break;\n case tokens.dollar:\n case tokens.caret:\n case tokens.equals:\n case tokens.word:\n this.word();\n break;\n case tokens.colon:\n this.pseudo();\n break;\n case tokens.comma:\n this.comma();\n break;\n case tokens.asterisk:\n this.universal();\n break;\n case tokens.ampersand:\n this.nesting();\n break;\n case tokens.slash:\n case tokens.combinator:\n this.combinator();\n break;\n case tokens.str:\n this.string();\n break;\n // These cases throw; no break needed.\n case tokens.closeSquare:\n this.missingSquareBracket();\n case tokens.semicolon:\n this.missingBackslash();\n default:\n this.unexpected();\n }\n }\n\n /**\n * Helpers\n */;\n _proto.expected = function expected(description, index, found) {\n if (Array.isArray(description)) {\n var last = description.pop();\n description = description.join(', ') + \" or \" + last;\n }\n var an = /^[aeiou]/.test(description[0]) ? 'an' : 'a';\n if (!found) {\n return this.error(\"Expected \" + an + \" \" + description + \".\", {\n index: index\n });\n }\n return this.error(\"Expected \" + an + \" \" + description + \", found \\\"\" + found + \"\\\" instead.\", {\n index: index\n });\n };\n _proto.requiredSpace = function requiredSpace(space) {\n return this.options.lossy ? ' ' : space;\n };\n _proto.optionalSpace = function optionalSpace(space) {\n return this.options.lossy ? '' : space;\n };\n _proto.lossySpace = function lossySpace(space, required) {\n if (this.options.lossy) {\n return required ? ' ' : '';\n } else {\n return space;\n }\n };\n _proto.parseParenthesisToken = function parseParenthesisToken(token) {\n var content = this.content(token);\n if (token[_tokenize.FIELDS.TYPE] === tokens.space) {\n return this.requiredSpace(content);\n } else {\n return content;\n }\n };\n _proto.newNode = function newNode(node, namespace) {\n if (namespace) {\n if (/^ +$/.test(namespace)) {\n if (!this.options.lossy) {\n this.spaces = (this.spaces || '') + namespace;\n }\n namespace = true;\n }\n node.namespace = namespace;\n unescapeProp(node, \"namespace\");\n }\n if (this.spaces) {\n node.spaces.before = this.spaces;\n this.spaces = '';\n }\n return this.current.append(node);\n };\n _proto.content = function content(token) {\n if (token === void 0) {\n token = this.currToken;\n }\n return this.css.slice(token[_tokenize.FIELDS.START_POS], token[_tokenize.FIELDS.END_POS]);\n };\n /**\n * returns the index of the next non-whitespace, non-comment token.\n * returns -1 if no meaningful token is found.\n */\n _proto.locateNextMeaningfulToken = function locateNextMeaningfulToken(startPosition) {\n if (startPosition === void 0) {\n startPosition = this.position + 1;\n }\n var searchPosition = startPosition;\n while (searchPosition < this.tokens.length) {\n if (WHITESPACE_EQUIV_TOKENS[this.tokens[searchPosition][_tokenize.FIELDS.TYPE]]) {\n searchPosition++;\n continue;\n } else {\n return searchPosition;\n }\n }\n return -1;\n };\n _createClass(Parser, [{\n key: \"currToken\",\n get: function get() {\n return this.tokens[this.position];\n }\n }, {\n key: \"nextToken\",\n get: function get() {\n return this.tokens[this.position + 1];\n }\n }, {\n key: \"prevToken\",\n get: function get() {\n return this.tokens[this.position - 1];\n }\n }]);\n return Parser;\n}();\nexports[\"default\"] = Parser;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _parser = _interopRequireDefault(require(\"./parser\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar Processor = /*#__PURE__*/function () {\n function Processor(func, options) {\n this.func = func || function noop() {};\n this.funcRes = null;\n this.options = options;\n }\n var _proto = Processor.prototype;\n _proto._shouldUpdateSelector = function _shouldUpdateSelector(rule, options) {\n if (options === void 0) {\n options = {};\n }\n var merged = Object.assign({}, this.options, options);\n if (merged.updateSelector === false) {\n return false;\n } else {\n return typeof rule !== \"string\";\n }\n };\n _proto._isLossy = function _isLossy(options) {\n if (options === void 0) {\n options = {};\n }\n var merged = Object.assign({}, this.options, options);\n if (merged.lossless === false) {\n return true;\n } else {\n return false;\n }\n };\n _proto._root = function _root(rule, options) {\n if (options === void 0) {\n options = {};\n }\n var parser = new _parser[\"default\"](rule, this._parseOptions(options));\n return parser.root;\n };\n _proto._parseOptions = function _parseOptions(options) {\n return {\n lossy: this._isLossy(options)\n };\n };\n _proto._run = function _run(rule, options) {\n var _this = this;\n if (options === void 0) {\n options = {};\n }\n return new Promise(function (resolve, reject) {\n try {\n var root = _this._root(rule, options);\n Promise.resolve(_this.func(root)).then(function (transform) {\n var string = undefined;\n if (_this._shouldUpdateSelector(rule, options)) {\n string = root.toString();\n rule.selector = string;\n }\n return {\n transform: transform,\n root: root,\n string: string\n };\n }).then(resolve, reject);\n } catch (e) {\n reject(e);\n return;\n }\n });\n };\n _proto._runSync = function _runSync(rule, options) {\n if (options === void 0) {\n options = {};\n }\n var root = this._root(rule, options);\n var transform = this.func(root);\n if (transform && typeof transform.then === \"function\") {\n throw new Error(\"Selector processor returned a promise to a synchronous call.\");\n }\n var string = undefined;\n if (options.updateSelector && typeof rule !== \"string\") {\n string = root.toString();\n rule.selector = string;\n }\n return {\n transform: transform,\n root: root,\n string: string\n };\n }\n\n /**\n * Process rule into a selector AST.\n *\n * @param rule {postcss.Rule | string} The css selector to be processed\n * @param options The options for processing\n * @returns {Promise<parser.Root>} The AST of the selector after processing it.\n */;\n _proto.ast = function ast(rule, options) {\n return this._run(rule, options).then(function (result) {\n return result.root;\n });\n }\n\n /**\n * Process rule into a selector AST synchronously.\n *\n * @param rule {postcss.Rule | string} The css selector to be processed\n * @param options The options for processing\n * @returns {parser.Root} The AST of the selector after processing it.\n */;\n _proto.astSync = function astSync(rule, options) {\n return this._runSync(rule, options).root;\n }\n\n /**\n * Process a selector into a transformed value asynchronously\n *\n * @param rule {postcss.Rule | string} The css selector to be processed\n * @param options The options for processing\n * @returns {Promise<any>} The value returned by the processor.\n */;\n _proto.transform = function transform(rule, options) {\n return this._run(rule, options).then(function (result) {\n return result.transform;\n });\n }\n\n /**\n * Process a selector into a transformed value synchronously.\n *\n * @param rule {postcss.Rule | string} The css selector to be processed\n * @param options The options for processing\n * @returns {any} The value returned by the processor.\n */;\n _proto.transformSync = function transformSync(rule, options) {\n return this._runSync(rule, options).transform;\n }\n\n /**\n * Process a selector into a new selector string asynchronously.\n *\n * @param rule {postcss.Rule | string} The css selector to be processed\n * @param options The options for processing\n * @returns {string} the selector after processing.\n */;\n _proto.process = function process(rule, options) {\n return this._run(rule, options).then(function (result) {\n return result.string || result.root.toString();\n });\n }\n\n /**\n * Process a selector into a new selector string synchronously.\n *\n * @param rule {postcss.Rule | string} The css selector to be processed\n * @param options The options for processing\n * @returns {string} the selector after processing.\n */;\n _proto.processSync = function processSync(rule, options) {\n var result = this._runSync(rule, options);\n return result.string || result.root.toString();\n };\n return Processor;\n}();\nexports[\"default\"] = Processor;\nmodule.exports = exports.default;", "\"use strict\";\n\nexports.__esModule = true;\nexports.universal = exports.tag = exports.string = exports.selector = exports.root = exports.pseudo = exports.nesting = exports.id = exports.comment = exports.combinator = exports.className = exports.attribute = void 0;\nvar _attribute = _interopRequireDefault(require(\"./attribute\"));\nvar _className = _interopRequireDefault(require(\"./className\"));\nvar _combinator = _interopRequireDefault(require(\"./combinator\"));\nvar _comment = _interopRequireDefault(require(\"./comment\"));\nvar _id = _interopRequireDefault(require(\"./id\"));\nvar _nesting = _interopRequireDefault(require(\"./nesting\"));\nvar _pseudo = _interopRequireDefault(require(\"./pseudo\"));\nvar _root = _interopRequireDefault(require(\"./root\"));\nvar _selector = _interopRequireDefault(require(\"./selector\"));\nvar _string = _interopRequireDefault(require(\"./string\"));\nvar _tag = _interopRequireDefault(require(\"./tag\"));\nvar _universal = _interopRequireDefault(require(\"./universal\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar attribute = function attribute(opts) {\n return new _attribute[\"default\"](opts);\n};\nexports.attribute = attribute;\nvar className = function className(opts) {\n return new _className[\"default\"](opts);\n};\nexports.className = className;\nvar combinator = function combinator(opts) {\n return new _combinator[\"default\"](opts);\n};\nexports.combinator = combinator;\nvar comment = function comment(opts) {\n return new _comment[\"default\"](opts);\n};\nexports.comment = comment;\nvar id = function id(opts) {\n return new _id[\"default\"](opts);\n};\nexports.id = id;\nvar nesting = function nesting(opts) {\n return new _nesting[\"default\"](opts);\n};\nexports.nesting = nesting;\nvar pseudo = function pseudo(opts) {\n return new _pseudo[\"default\"](opts);\n};\nexports.pseudo = pseudo;\nvar root = function root(opts) {\n return new _root[\"default\"](opts);\n};\nexports.root = root;\nvar selector = function selector(opts) {\n return new _selector[\"default\"](opts);\n};\nexports.selector = selector;\nvar string = function string(opts) {\n return new _string[\"default\"](opts);\n};\nexports.string = string;\nvar tag = function tag(opts) {\n return new _tag[\"default\"](opts);\n};\nexports.tag = tag;\nvar universal = function universal(opts) {\n return new _universal[\"default\"](opts);\n};\nexports.universal = universal;", "\"use strict\";\n\nexports.__esModule = true;\nexports.isComment = exports.isCombinator = exports.isClassName = exports.isAttribute = void 0;\nexports.isContainer = isContainer;\nexports.isIdentifier = void 0;\nexports.isNamespace = isNamespace;\nexports.isNesting = void 0;\nexports.isNode = isNode;\nexports.isPseudo = void 0;\nexports.isPseudoClass = isPseudoClass;\nexports.isPseudoElement = isPseudoElement;\nexports.isUniversal = exports.isTag = exports.isString = exports.isSelector = exports.isRoot = void 0;\nvar _types = require(\"./types\");\nvar _IS_TYPE;\nvar IS_TYPE = (_IS_TYPE = {}, _IS_TYPE[_types.ATTRIBUTE] = true, _IS_TYPE[_types.CLASS] = true, _IS_TYPE[_types.COMBINATOR] = true, _IS_TYPE[_types.COMMENT] = true, _IS_TYPE[_types.ID] = true, _IS_TYPE[_types.NESTING] = true, _IS_TYPE[_types.PSEUDO] = true, _IS_TYPE[_types.ROOT] = true, _IS_TYPE[_types.SELECTOR] = true, _IS_TYPE[_types.STRING] = true, _IS_TYPE[_types.TAG] = true, _IS_TYPE[_types.UNIVERSAL] = true, _IS_TYPE);\nfunction isNode(node) {\n return typeof node === \"object\" && IS_TYPE[node.type];\n}\nfunction isNodeType(type, node) {\n return isNode(node) && node.type === type;\n}\nvar isAttribute = isNodeType.bind(null, _types.ATTRIBUTE);\nexports.isAttribute = isAttribute;\nvar isClassName = isNodeType.bind(null, _types.CLASS);\nexports.isClassName = isClassName;\nvar isCombinator = isNodeType.bind(null, _types.COMBINATOR);\nexports.isCombinator = isCombinator;\nvar isComment = isNodeType.bind(null, _types.COMMENT);\nexports.isComment = isComment;\nvar isIdentifier = isNodeType.bind(null, _types.ID);\nexports.isIdentifier = isIdentifier;\nvar isNesting = isNodeType.bind(null, _types.NESTING);\nexports.isNesting = isNesting;\nvar isPseudo = isNodeType.bind(null, _types.PSEUDO);\nexports.isPseudo = isPseudo;\nvar isRoot = isNodeType.bind(null, _types.ROOT);\nexports.isRoot = isRoot;\nvar isSelector = isNodeType.bind(null, _types.SELECTOR);\nexports.isSelector = isSelector;\nvar isString = isNodeType.bind(null, _types.STRING);\nexports.isString = isString;\nvar isTag = isNodeType.bind(null, _types.TAG);\nexports.isTag = isTag;\nvar isUniversal = isNodeType.bind(null, _types.UNIVERSAL);\nexports.isUniversal = isUniversal;\nfunction isPseudoElement(node) {\n return isPseudo(node) && node.value && (node.value.startsWith(\"::\") || node.value.toLowerCase() === \":before\" || node.value.toLowerCase() === \":after\" || node.value.toLowerCase() === \":first-letter\" || node.value.toLowerCase() === \":first-line\");\n}\nfunction isPseudoClass(node) {\n return isPseudo(node) && !isPseudoElement(node);\n}\nfunction isContainer(node) {\n return !!(isNode(node) && node.walk);\n}\nfunction isNamespace(node) {\n return isAttribute(node) || isTag(node);\n}", "\"use strict\";\n\nexports.__esModule = true;\nvar _types = require(\"./types\");\nObject.keys(_types).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _types[key]) return;\n exports[key] = _types[key];\n});\nvar _constructors = require(\"./constructors\");\nObject.keys(_constructors).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _constructors[key]) return;\n exports[key] = _constructors[key];\n});\nvar _guards = require(\"./guards\");\nObject.keys(_guards).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _guards[key]) return;\n exports[key] = _guards[key];\n});", "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _processor = _interopRequireDefault(require(\"./processor\"));\nvar selectors = _interopRequireWildcard(require(\"./selectors\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar parser = function parser(processor) {\n return new _processor[\"default\"](processor);\n};\nObject.assign(parser, selectors);\ndelete parser.__esModule;\nvar _default = parser;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;", "import { error } from '@vltpkg/error-cause'\nimport type { EdgeLike, GraphLike, NodeLike } from '@vltpkg/graph'\nimport type { SpecOptions } from '@vltpkg/spec/browser'\nimport postcssSelectorParser from 'postcss-selector-parser'\nimport { attribute } from './attribute.ts'\nimport { classFn } from './class.ts'\nimport { combinator } from './combinator.ts'\nimport { id } from './id.ts'\nimport { pseudo } from './pseudo.ts'\nimport {\n isPostcssNodeWithChildren,\n asPostcssNodeWithChildren,\n isSelectorNode,\n} from './types.ts'\nimport type {\n PostcssNodeWithChildren,\n ParserState,\n ParserFn,\n QueryResponse,\n} from './types.ts'\n\nexport * from './types.ts'\n\nconst noopFn = async (state: ParserState) => state\n\nconst selectors = {\n attribute,\n class: classFn,\n combinator,\n comment: noopFn,\n id,\n nesting: noopFn,\n pseudo,\n root: noopFn,\n selector: async (state: ParserState) => {\n state.partial.nodes = new Set(state.initial.nodes)\n state.partial.edges = new Set(state.initial.edges)\n return state\n },\n string: async (state: ParserState) => {\n throw error('Unsupported selector', { found: state.current })\n },\n tag: async (state: ParserState) => {\n if (state.current.value !== '{' && state.current.value !== '}') {\n throw error('Unsupported selector', { found: state.current })\n }\n return state\n },\n universal: noopFn,\n}\nconst selectorsMap = new Map<string, ParserFn>(\n Object.entries(selectors),\n)\n\nexport const walk = async (\n state: ParserState,\n): Promise<ParserState> => {\n await state.cancellable()\n\n const parserFn = selectorsMap.get(state.current.type)\n\n if (!parserFn) {\n if (state.loose) {\n return state\n }\n\n throw new Error(\n `Missing parser for query node: ${state.current.type}`,\n )\n }\n state = await parserFn(state)\n\n // pseudo selectors handle their own sub selectors\n if (\n isPostcssNodeWithChildren(state.current) &&\n state.current.type !== 'pseudo'\n ) {\n const node: PostcssNodeWithChildren = asPostcssNodeWithChildren(\n state.current,\n )\n\n if (node.nodes.length) {\n for (let i = 0; i < node.nodes.length; i++) {\n const current = node.nodes[i]\n /* c8 ignore next -- impossible but TS doesn't know that */\n if (!current) continue\n\n const childState: ParserState = {\n ...state,\n current,\n next: node.nodes[i + 1],\n prev: node.nodes[i - 1],\n }\n state = await walk(childState)\n }\n }\n\n if (isSelectorNode(node)) {\n for (const edge of state.partial.edges) {\n state.collect.edges.add(edge)\n }\n for (const node of state.partial.nodes) {\n state.collect.nodes.add(node)\n }\n }\n }\n return state\n}\n\nexport type QueryOptions = {\n graph: GraphLike\n specOptions: SpecOptions\n}\n\nexport class Query {\n #cache: Map<string, QueryResponse>\n #graph: GraphLike\n #specOptions: SpecOptions\n\n constructor({ graph, specOptions }: QueryOptions) {\n this.#cache = new Map()\n this.#graph = graph\n this.#specOptions = specOptions\n }\n\n async search(\n query: string,\n signal?: AbortSignal,\n ): Promise<QueryResponse> {\n if (typeof query !== 'string') {\n throw new TypeError(\n 'Query search argument needs to be a string',\n )\n }\n\n if (!query) return { edges: [], nodes: [] }\n\n const cachedResult = this.#cache.get(query)\n if (cachedResult) {\n return cachedResult\n }\n\n const nodes = new Set<NodeLike>(\n Array.from(this.#graph.nodes.values()),\n )\n const edges = new Set<EdgeLike>(Array.from(this.#graph.edges))\n\n // builds initial state and walks over it,\n // retrieving the collected result\n const { collect } = await walk({\n cancellable: async () => {\n await new Promise(resolve => {\n setTimeout(resolve, 0)\n })\n signal?.throwIfAborted()\n },\n current: postcssSelectorParser().astSync(query),\n initial: {\n nodes: new Set(nodes),\n edges: new Set(edges),\n },\n collect: {\n nodes: new Set<NodeLike>(),\n edges: new Set<EdgeLike>(),\n },\n partial: { nodes, edges },\n signal,\n specOptions: this.#specOptions,\n walk,\n })\n\n const res: QueryResponse = {\n edges: Array.from(collect.edges),\n nodes: Array.from(collect.nodes),\n }\n this.#cache.set(query, res)\n return res\n }\n}\n", "import { error } from '@vltpkg/error-cause'\nimport type { EdgeLike, NodeLike } from '@vltpkg/graph'\nimport type { SpecOptions } from '@vltpkg/spec/browser'\nimport type {\n Tag,\n String,\n Selector,\n Root,\n Pseudo,\n Nesting,\n Identifier,\n Comment,\n Combinator,\n ClassName,\n Attribute,\n Universal,\n} from 'postcss-selector-parser'\n\nexport type PostcssNode =\n | Tag\n | String\n | Selector\n | Root\n | Pseudo\n | Nesting\n | Identifier\n | Comment\n | Combinator\n | ClassName\n | Attribute\n | Universal\n\nexport type PostcssNodeWithChildren = Selector | Root | Pseudo\n\nexport type GraphSelectionState = {\n nodes: Set<NodeLike>\n edges: Set<EdgeLike>\n}\n\nexport type ParserState = {\n cancellable: () => Promise<void>\n collect: GraphSelectionState\n current: PostcssNode\n initial: GraphSelectionState\n loose?: boolean\n next?: PostcssNode\n prev?: PostcssNode\n result?: NodeLike[]\n signal?: AbortSignal\n walk: ParserFn\n partial: GraphSelectionState\n specOptions: SpecOptions\n}\n\nexport type QueryResponse = {\n edges: EdgeLike[]\n nodes: NodeLike[]\n}\n\nexport type ParserFn = (opt: ParserState) => Promise<ParserState>\n\nexport const isPostcssNodeWithChildren = (\n node: any,\n): node is PostcssNodeWithChildren =>\n 'type' in node && 'nodes' in node\n\nexport const asPostcssNodeWithChildren = (\n node?: PostcssNode,\n): PostcssNodeWithChildren => {\n if (!node) {\n throw error('Expected a query node')\n }\n\n if (!isPostcssNodeWithChildren(node)) {\n throw error('Not a query selector node with children', {\n found: node,\n })\n }\n return node\n}\n\nconst isObj = (o: unknown): o is Record<string, unknown> =>\n !!o && typeof o === 'object'\n\nexport const isAttributeNode = (node: unknown): node is Attribute =>\n isObj(node) && !!node.attribute && node.type === 'attribute'\n\nexport const asAttributeNode = (node?: PostcssNode): Attribute => {\n if (!node) {\n throw error('Expected a query node')\n }\n\n if (!isAttributeNode(node)) {\n throw error('Mismatching query node', {\n wanted: 'attribute',\n found: node.type,\n })\n }\n return node\n}\n\nexport const isClassNode = (node: unknown): node is ClassName =>\n isObj(node) && !!node.value && node.type === 'class'\n\nexport const asClassNode = (node?: PostcssNode): ClassName => {\n if (!node) {\n throw error('Expected a query node')\n }\n\n if (!isClassNode(node)) {\n throw error('Mismatching query node', {\n wanted: 'class',\n found: node.type,\n })\n }\n return node\n}\n\nexport const isCombinatorNode = (node: unknown): node is Combinator =>\n isObj(node) && !!node.value && node.type === 'combinator'\n\nexport const asCombinatorNode = (node?: PostcssNode): Combinator => {\n if (!node) {\n throw error('Expected a query node')\n }\n\n if (!isCombinatorNode(node)) {\n throw error('Mismatching query node', {\n wanted: 'combinator',\n found: node.type,\n })\n }\n return node\n}\n\nexport const isIdentifierNode = (node: any): node is Identifier =>\n isObj(node) && !!node.value && node.type === 'id'\n\nexport const asIdentifierNode = (node?: PostcssNode): Identifier => {\n if (!node) {\n throw error('Expected a query node')\n }\n\n if (!isIdentifierNode(node)) {\n throw error('Mismatching query node', {\n wanted: 'id',\n found: node.type,\n })\n }\n return node\n}\n\nexport const isSelectorNode = (node: any): node is Selector =>\n isPostcssNodeWithChildren(node) && node.type === 'selector'\n\nexport const isPseudoNode = (node: unknown): node is Pseudo =>\n isObj(node) && !!node.value && node.type === 'pseudo'\n\nexport const asPseudoNode = (node?: PostcssNode): Pseudo => {\n if (!node) {\n throw error('Expected a query node')\n }\n\n if (!isPseudoNode(node)) {\n throw error('Mismatching query node', {\n wanted: 'pseudo',\n found: node.type,\n })\n }\n return node\n}\n\nexport const isTagNode = (node: unknown): node is Tag =>\n isObj(node) && !!node.value && node.type === 'tag'\n\nexport const asTagNode = (node?: PostcssNode): Tag => {\n if (!node) {\n throw error('Expected a query node')\n }\n\n if (!isTagNode(node)) {\n throw error('Mismatching query node', {\n wanted: 'tag',\n found: node.type,\n })\n }\n\n return node\n}\n\nexport const isStringNode = (node: unknown): node is String =>\n isObj(node) && !!node.value && node.type === 'string'\n\nexport const asStringNode = (node?: PostcssNode): String => {\n if (!node) {\n throw error('Expected a query node')\n }\n\n if (!isStringNode(node)) {\n throw error('Mismatching query node', {\n wanted: 'string',\n found: node.type,\n })\n }\n\n return node\n}\n", "import { error } from '@vltpkg/error-cause'\nimport type { NodeLike } from '@vltpkg/graph'\nimport type { JSONField, Manifest } from '@vltpkg/types'\nimport { asAttributeNode } from './types.ts'\nimport type { ParserState } from './types.ts'\n\nexport type ComparatorFn = (attr: string, value?: string) => boolean\n\n// JSONField has a mapped type constituent that would coerce to [object Object]\n// when stringified, which is what we want in this case.\n// eslint-disable-next-line @typescript-eslint/no-base-to-string\nconst jsonFieldToString = (v: JSONField) => String(v)\n\n/**\n * Retrieve the {@link Manifest} values found at the given `properties`\n * location for a given {@link Node}.\n */\nexport const getManifestPropertyValues = (\n node: NodeLike,\n properties: string[],\n attribute: string,\n): string[] | undefined => {\n if (!node.manifest) return\n\n const traverse = new Set<JSONField>([node.manifest as JSONField])\n const props = new Set<JSONField>()\n for (const key of properties) {\n for (const prop of traverse) {\n /* c8 ignore start - should be impossible */\n if (!prop) {\n throw error('failed to find nested property in :attr', {\n found: properties,\n })\n }\n /* c8 ignore stop */\n\n // expand the result list to include nested array values\n if (Array.isArray(prop)) {\n for (const p of prop) {\n traverse.add(p)\n }\n continue\n }\n\n // guard for inspecting keys of objects next\n if (\n typeof prop === 'string' ||\n typeof prop === 'number' ||\n typeof prop === 'boolean'\n ) {\n continue\n }\n\n // assign next value when found\n if (key in prop) {\n const nextValue = prop[key]\n if (nextValue) {\n if (key === attribute) {\n props.add(nextValue)\n } else {\n traverse.delete(prop)\n traverse.add(nextValue)\n }\n }\n }\n }\n }\n // if no value was found after trying a given key\n // then there's nothing to be collected\n if (!props.size) return\n\n // expand the result to include array values\n const collect = new Set<string>()\n for (const prop of props) {\n if (Array.isArray(prop)) {\n for (const p of prop) {\n collect.add(p ? jsonFieldToString(p) : '')\n }\n } else {\n collect.add(jsonFieldToString(prop))\n }\n }\n\n return [...collect]\n}\n\n// decorator style of function that will filter `ParserState` results\n// based on a provided `comparator` function\nexport const filterAttributes = (\n state: ParserState,\n comparator: ComparatorFn | undefined,\n value: string,\n propertyName: string,\n insensitive: boolean,\n prefixProperties: string[] = [],\n): ParserState => {\n const check = (attr: JSONField) =>\n comparator?.(\n insensitive ?\n jsonFieldToString(attr).toLowerCase()\n : jsonFieldToString(attr),\n insensitive ? value.toLowerCase() : value,\n )\n const deleteNode = (node: NodeLike) => {\n for (const edge of node.edgesIn) {\n state.partial.edges.delete(edge)\n }\n state.partial.nodes.delete(node)\n }\n\n for (const node of state.partial.nodes) {\n const prefixes =\n prefixProperties.length ? prefixProperties : [propertyName]\n const attrs = getManifestPropertyValues(\n node,\n prefixes,\n propertyName,\n )\n\n // if no attribute value was found, that means the attribute won't match\n if (!attrs?.length) {\n deleteNode(node)\n continue\n }\n\n // if the node attribute value won't match, then remove the node\n if (comparator && !attrs.some(check)) {\n deleteNode(node)\n }\n }\n\n for (const edge of state.partial.edges) {\n // edge.name is a special case in order\n // to be able to match missing nodes by name\n if (propertyName === 'name' && check(edge.name)) {\n continue\n }\n // remove any remaining dangling edge\n if (!edge.to) {\n state.partial.edges.delete(edge)\n }\n }\n return state\n}\n\n// ref: https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors\nconst attributeSelectors: Record<string, ComparatorFn> = {\n '=': (attr: string, value = '') => attr === value,\n '^=': (attr: string, value = '') => attr.startsWith(value),\n '$=': (attr: string, value = '') => attr.endsWith(value),\n '~=': (attr: string, value = '') =>\n new Set<string>(attr.match(/\\w+/g)).has(value),\n '*=': (attr: string, value = '') => attr.includes(value),\n '|=': (attr: string, value = '') =>\n attr === value || attr.startsWith(`${value}-`),\n undefined: (attr: string) => !!attr,\n}\nexport const attributeSelectorsMap = new Map<string, ComparatorFn>(\n Object.entries(attributeSelectors),\n)\n\n/**\n * Parse attributes selectors, e.g: `[name]`, `[name=value]`, etc\n */\nexport const attribute = async (\n state: ParserState,\n): Promise<ParserState> => {\n await state.cancellable()\n\n const curr = asAttributeNode(state.current)\n const operatorFn = attributeSelectorsMap.get(String(curr.operator))\n if (!operatorFn) {\n if (state.loose) {\n return state\n }\n\n throw new Error(\n `Unsupported attribute operator: ${curr.operator}`,\n )\n }\n\n const value = curr.value || ''\n const propertyName = curr.attribute\n const insensitive = !!curr.insensitive\n return filterAttributes(\n state,\n operatorFn,\n value,\n propertyName,\n insensitive,\n )\n}\n", "import { asClassNode } from './types.ts'\nimport type { ParserFn, ParserState } from './types.ts'\n\nconst classSelectors: Record<string, ParserFn> = {\n prod: async (state: ParserState) => {\n for (const edge of state.partial.edges) {\n if (edge.type !== 'prod' || edge.from.dev) {\n state.partial.edges.delete(edge)\n }\n }\n for (const node of state.partial.nodes) {\n if (!node.edgesIn.size) {\n state.partial.nodes.delete(node)\n continue\n }\n const iterator = new Set(node.edgesIn)\n for (const edge of iterator) {\n if (!state.partial.edges.has(edge)) {\n iterator.delete(edge)\n }\n }\n if (!iterator.size) {\n state.partial.nodes.delete(node)\n }\n }\n return state\n },\n dev: async (state: ParserState) => {\n for (const edge of state.partial.edges) {\n if (edge.type !== 'dev' && !edge.from.dev) {\n state.partial.edges.delete(edge)\n }\n }\n for (const node of state.partial.nodes) {\n if (!node.edgesIn.size) {\n state.partial.nodes.delete(node)\n continue\n }\n const iterator = new Set(node.edgesIn)\n for (const edge of iterator) {\n if (!state.partial.edges.has(edge)) {\n iterator.delete(edge)\n }\n }\n if (!iterator.size) {\n state.partial.nodes.delete(node)\n }\n }\n return state\n },\n optional: async (state: ParserState) => {\n for (const edge of state.partial.edges) {\n if (edge.type !== 'optional' && !edge.from.optional) {\n state.partial.edges.delete(edge)\n }\n }\n for (const node of state.partial.nodes) {\n if (!node.edgesIn.size) {\n state.partial.nodes.delete(node)\n continue\n }\n const iterator = new Set(node.edgesIn)\n for (const edge of iterator) {\n if (!state.partial.edges.has(edge)) {\n iterator.delete(edge)\n }\n }\n if (!iterator.size) {\n state.partial.nodes.delete(node)\n }\n }\n return state\n },\n peer: async (state: ParserState) => {\n for (const edge of state.partial.edges) {\n if (edge.type !== 'peer') {\n state.partial.edges.delete(edge)\n }\n }\n for (const node of state.partial.nodes) {\n if (!node.edgesIn.size) {\n state.partial.nodes.delete(node)\n continue\n }\n for (const e of node.edgesIn) {\n if (!state.partial.edges.has(e)) {\n state.partial.nodes.delete(node)\n }\n }\n }\n return state\n },\n workspace: async (state: ParserState) => {\n for (const node of state.partial.nodes) {\n if (!node.importer || node.mainImporter) {\n state.partial.nodes.delete(node)\n }\n }\n for (const edge of state.partial.edges) {\n // workspaces can't be missing\n if (!edge.to) {\n state.partial.edges.delete(edge)\n // keep only edges that are linking to preivously kept nodes\n } else if (!state.partial.nodes.has(edge.to)) {\n state.partial.edges.delete(edge)\n }\n }\n return state\n },\n // TBD: all things bundled\n // bundled: () => false,\n}\n\nconst classSelectorsMap = new Map<string, ParserFn>(\n Object.entries(classSelectors),\n)\n\n/**\n * Parse classes, e.g: `.prod`, `.dev`, `.optional`, etc\n */\nexport const classFn = async (state: ParserState) => {\n await state.cancellable()\n\n const curr = asClassNode(state.current)\n const comparatorFn = curr.value && classSelectorsMap.get(curr.value)\n if (!comparatorFn) {\n if (state.loose) {\n return state\n }\n\n throw new Error(`Unsupported class: ${state.current.value}`)\n }\n return comparatorFn(state)\n}\n", "import type { EdgeLike, NodeLike } from '@vltpkg/graph'\nimport { asCombinatorNode } from './types.ts'\nimport type { ParserState, ParserFn } from './types.ts'\n\n/**\n * Returns a new set of nodes, containing all direct dependencies\n * of the current list of nodes used.\n *\n * ref: https://developer.mozilla.org/en-US/docs/Web/CSS/Child_combinator\n */\nconst childCombinator = async (state: ParserState) => {\n const traverse = new Set(state.partial.nodes)\n state.partial.edges.clear()\n state.partial.nodes.clear()\n\n // visit direct children of the current list of nodes\n // collecting refs to these children and the edges that\n // connected them.\n for (const node of traverse) {\n for (const edge of node.edgesOut.values()) {\n if (edge.to) {\n state.partial.edges.add(edge)\n state.partial.nodes.add(edge.to)\n }\n }\n }\n\n return state\n}\n\n/**\n * Returns a new set of nodes, containing nodes that are also children\n * of all parent nodes to the current list of nodes used.\n *\n * Note: The subsequent-sibling comparator has a behavior that is\n * somehow approximative of that of its css counterpart, given that\n * in the context of dependency graphs the order of appearance is\n * not necessarily controlled by the end user. The approach for\n * this comparator is to match all siblings of a node.\n *\n * ref: https://developer.mozilla.org/en-US/docs/Web/CSS/Subsequent-sibling_combinator\n */\nconst subsequentSiblingCombinator = async (state: ParserState) => {\n const traverse = new Set(state.partial.nodes)\n state.partial.edges.clear()\n state.partial.nodes.clear()\n\n // visits direct parents of the current list of node and then\n // visit their children, collecting refs to all children and edges\n // that are not in the original list of nodes.\n for (const node of traverse) {\n for (const edge of node.edgesIn) {\n const parents: IterableIterator<EdgeLike> =\n edge.from.edgesOut.values()\n for (const edge of parents) {\n if (edge.to && edge.to !== node) {\n state.partial.edges.add(edge)\n state.partial.nodes.add(edge.to)\n }\n }\n }\n }\n\n return state\n}\n\n/**\n * Returns a new set of nodes containing all nodes that are descendents\n * to items in the current list of nodes.\n *\n * ref: https://developer.mozilla.org/en-US/docs/Web/CSS/Descendant_combinator\n */\nconst descendentCombinator = async (state: ParserState) => {\n // spaces between tags selectors are a noop\n if (state.prev?.type === 'tag' || state.next?.type === 'tag') {\n return state\n }\n\n const traverse = new Set<NodeLike>(state.partial.nodes)\n state.partial.edges.clear()\n state.partial.nodes.clear()\n\n // breadth-first traversal of the graph, starting from the current\n // list of nodes, collecting all nodes and edges along the way\n for (const node of traverse) {\n const children = new Set<NodeLike>()\n for (const edge of node.edgesOut.values()) {\n if (edge.to) {\n children.add(edge.to)\n state.partial.edges.add(edge)\n state.partial.nodes.add(edge.to)\n }\n }\n for (const child of children) {\n traverse.add(child)\n }\n }\n\n return state\n}\n\nconst combinatorSelectors = {\n '>': childCombinator,\n '~': subsequentSiblingCombinator,\n ' ': descendentCombinator,\n}\n\nconst combinatorSelectorsMap = new Map<string, ParserFn>(\n Object.entries(combinatorSelectors),\n)\n\n/**\n * Parse css-style combinators, e.g: `>`, `~` and ` `\n */\nexport const combinator = async (state: ParserState) => {\n await state.cancellable()\n\n const curr = asCombinatorNode(state.current)\n const parserFn =\n curr.value && combinatorSelectorsMap.get(curr.value)\n if (!parserFn) {\n if (state.loose) {\n return state\n }\n\n throw new Error(`Unsupported combinator: ${state.current.value}`)\n }\n return parserFn(state)\n}\n", "import { error } from '@vltpkg/error-cause'\nimport { asIdentifierNode } from './types.ts'\nimport type { ParserState } from './types.ts'\nimport {\n attributeSelectorsMap,\n filterAttributes,\n} from './attribute.ts'\n\n/**\n * Parse ids, e.g: `#foo`\n */\nexport const id = async (state: ParserState) => {\n const { value } = asIdentifierNode(state.current)\n const comparator = attributeSelectorsMap.get('=')\n\n /* c8 ignore start - should not be possible */\n if (!value) {\n throw error('Missing identifier name')\n }\n if (!comparator) {\n throw error('Could not find attribute selector comparator')\n }\n /* c8 ignore stop */\n\n return filterAttributes(state, comparator, value, 'name', true)\n}\n", "import { error } from '@vltpkg/error-cause'\nimport {\n asAttributeNode,\n asPostcssNodeWithChildren,\n asTagNode,\n} from '../types.ts'\nimport type { ParserState, PostcssNode } from '../types.ts'\nimport {\n attributeSelectorsMap,\n filterAttributes,\n} from '../attribute.ts'\n\nexport type AttrInternals = {\n attribute: string\n insensitive: boolean\n operator?: string\n value?: string\n properties: string[]\n}\n\n/**\n * Parses the internal / nested selectors of a `:attr` selector.\n */\nexport const parseInternals = (\n nodes: PostcssNode[],\n): AttrInternals => {\n // the last part is the attribute selector\n const attributeSelector = asAttributeNode(\n asPostcssNodeWithChildren(nodes.pop()).nodes[0],\n )\n // all preppending selectors are naming nested properties\n const properties: string[] = []\n for (const selector of nodes) {\n properties.push(\n asTagNode(asPostcssNodeWithChildren(selector).nodes[0]).value,\n )\n }\n // include the attribute selector as the last part of the property lookup\n properties.push(attributeSelector.attribute)\n\n return {\n attribute: attributeSelector.attribute,\n insensitive: attributeSelector.insensitive || false,\n operator: attributeSelector.operator,\n value: attributeSelector.value,\n properties,\n }\n}\n\n/**\n * :attr Pseudo-Selector, allows for retrieving nodes based on nested\n * properties of the `package.json` metadata.\n */\nexport const attr = async (state: ParserState) => {\n // Parses and retrieves the values for the nested selectors\n let internals\n try {\n internals = parseInternals(\n asPostcssNodeWithChildren(state.current).nodes,\n )\n } catch (err) {\n throw error('Failed to parse :attr selector', {\n cause: err,\n })\n }\n\n // reuses the attribute selector logic to filter the nodes\n const comparator =\n internals.operator ?\n attributeSelectorsMap.get(internals.operator)\n : undefined\n const value = internals.value || ''\n const propertyName = internals.attribute\n const insensitive = internals.insensitive\n const prefixProperties = internals.properties\n return filterAttributes(\n state,\n comparator,\n value,\n propertyName,\n insensitive,\n prefixProperties,\n )\n}\n", "import type { NodeLike } from '@vltpkg/graph'\nimport type { ParserState } from '../types.js'\n\n/**\n * Removes a node and its incoming edges from the results.\n */\nexport const removeNode = (state: ParserState, node: NodeLike) => {\n for (const edge of node.edgesIn) {\n state.partial.edges.delete(edge)\n }\n state.partial.nodes.delete(node)\n}\n\n/**\n * Removes any edges that have no destination node from the results.\n */\nexport const removeDanglingEdges = (state: ParserState) => {\n for (const edge of state.partial.edges) {\n if (!edge.to) {\n state.partial.edges.delete(edge)\n }\n }\n}\n\n/**\n * Removes quotes from a string value.\n */\nexport const removeQuotes = (value: string) =>\n value.replace(/^\"(.*?)\"$/, '$1')\n", "import { hydrate, splitDepID } from '@vltpkg/dep-id/browser'\nimport { error } from '@vltpkg/error-cause'\nimport type { NodeLike } from '@vltpkg/graph'\nimport type { SpecOptions } from '@vltpkg/spec/browser'\nimport {\n compare,\n gt,\n major,\n minor,\n patch,\n satisfies,\n} from '@vltpkg/semver'\nimport type { Packument } from '@vltpkg/types'\nimport {\n asPostcssNodeWithChildren,\n asStringNode,\n asTagNode,\n isStringNode,\n isTagNode,\n} from '../types.ts'\nimport type { ParserState, PostcssNode } from '../types.ts'\nimport { removeNode, removeQuotes } from './helpers.ts'\n\n/**\n * The possible values accepted by the :outdated() pseudo selector.\n */\nexport type OutdatedKinds =\n | 'any'\n | 'major'\n | 'minor'\n | 'patch'\n | 'in-range'\n | 'out-of-range'\n\n/**\n * Result of the internal parsing of the :outdated() pseudo selector.\n */\nexport type OutdatedInternals = {\n kind: OutdatedKinds\n}\n\n/**\n * Extracts a semver type from a version string.\n */\nexport type SemverTypeExtraction = (\n version: string,\n) => number | undefined\n\nconst kinds = new Set<OutdatedKinds>([\n 'any',\n 'major',\n 'minor',\n 'patch',\n 'in-range',\n 'out-of-range',\n])\n\n/**\n * Checks if a string is a valid {@link OutdatedKinds}.\n */\nexport const isOutdatedKind = (\n value: string,\n): value is OutdatedKinds => kinds.has(value as OutdatedKinds)\n\n/**\n * Asserts that a string is a valid {@link OutdatedKinds}.\n */\nexport const asOutdatedKind = (value: string): OutdatedKinds => {\n if (!isOutdatedKind(value)) {\n throw error('Expected a valid outdated kind', {\n found: value,\n validOptions: Array.from(kinds),\n })\n }\n return value\n}\n\n/**\n * Fetches the available versions of a package from the npm registry.\n */\nexport const retrieveRemoteVersions = async (\n node: NodeLike,\n specOptions: SpecOptions,\n): Promise<string[]> => {\n const spec = hydrate(node.id, String(node.name), specOptions)\n if (!spec.registry || !node.name) {\n return []\n }\n\n const url = new URL(spec.registry)\n url.pathname = `/${node.name}`\n\n try {\n const response = await fetch(String(url), {\n headers: {\n Accept: 'application/vnd.npm.install-v1+json',\n },\n })\n if (!response.ok) {\n // eslint-disable-next-line no-console\n console.warn(\n error('Failed to fetch packument', {\n name: String(node.name),\n spec,\n response,\n }),\n )\n return []\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const packument: Packument = await response.json()\n return Object.keys(packument.versions).sort(compare)\n } catch (e) {\n const err = e as Error\n // eslint-disable-next-line no-console\n console.warn(\n error('Could not retrieve registry versions', {\n name: String(node.name),\n spec,\n cause: err,\n }),\n )\n return []\n }\n}\n\n/**\n * Retrieves what kind of check the :outdated selector should perform.\n */\nexport const parseInternals = (\n nodes: PostcssNode[],\n): OutdatedInternals => {\n let kind: OutdatedKinds = 'any'\n\n if (isStringNode(asPostcssNodeWithChildren(nodes[0]).nodes[0])) {\n kind = asOutdatedKind(\n removeQuotes(\n asStringNode(asPostcssNodeWithChildren(nodes[0]).nodes[0])\n .value,\n ),\n )\n } else if (\n isTagNode(asPostcssNodeWithChildren(nodes[0]).nodes[0])\n ) {\n kind = asOutdatedKind(\n asTagNode(asPostcssNodeWithChildren(nodes[0]).nodes[0]).value,\n )\n }\n\n return { kind }\n}\n\n/**\n * Filter nodes by queueing up for removal those that are not outdated.\n */\nexport const queueNode = async (\n state: ParserState,\n node: NodeLike,\n kind: OutdatedKinds,\n): Promise<NodeLike | undefined> => {\n if (!node.name || !node.version) {\n return node\n }\n\n const nodeVersion: string = node.version\n const versions = await retrieveRemoteVersions(\n node,\n state.specOptions,\n )\n\n const greaterVersions = versions.filter((version: string) =>\n gt(version, nodeVersion),\n )\n\n // if there are no greater versions, then the node is not outdated\n if (!greaterVersions.length) {\n return node\n }\n\n const checkKind = new Map<OutdatedKinds, SemverTypeExtraction>([\n ['major', major],\n ['minor', minor],\n ['patch', patch],\n ])\n\n switch (kind) {\n case 'any':\n return\n case 'major':\n case 'minor':\n case 'patch': {\n return (\n greaterVersions.some((version: string) => {\n const va = checkKind.get(kind)?.(version)\n const vb = checkKind.get(kind)?.(nodeVersion)\n /* c8 ignore next - impossible but typescript doesn't know */\n if (va === undefined || vb === undefined) return false\n return va > vb\n })\n ) ?\n undefined\n : node\n }\n // the node should be part of the result as long as it has at least\n // one parent node that has a spec definition that satisfies one\n // of the available remove versions\n case 'in-range': {\n for (const edge of node.edgesIn) {\n // if the edge is not part of the partial results, skip it\n /* c8 ignore next */\n if (!state.partial.edges.has(edge)) continue\n\n if (\n greaterVersions.some(\n version =>\n edge.spec.final.range &&\n satisfies(version, edge.spec.final.range),\n )\n ) {\n return\n }\n }\n return node\n }\n // the node is part of the result as long as none of its parents has\n // a spec definition that satisfies one of the available remote versions\n case 'out-of-range': {\n for (const edge of node.edgesIn) {\n // if the edge is not part of the partial results, skip it\n /* c8 ignore next */\n if (!state.partial.edges.has(edge)) continue\n\n if (\n greaterVersions.some(\n version =>\n edge.spec.final.range &&\n satisfies(version, edge.spec.final.range),\n )\n ) {\n return node\n }\n }\n return\n }\n }\n}\n\n/**\n * Filters out nodes that are not outdated.\n *\n * The :outdated() pseudo selector supports one `type` argument,\n * possible values are the following:\n *\n * - `any`: Selects all nodes that have a greater version available.\n * - `major`: Selects all nodes that have a greater major version available.\n * - `minor`: Selects all nodes that have a greater minor version available.\n * - `patch`: Selects all nodes that have a greater patch version available.\n * - `in-range`: Selects all nodes that have a parent node with a spec definition\n * that satisfies one of the available remote versions.\n * - `out-of-range`: Selects all nodes that have a parent node with a spec definition\n * that does not satisfy any of the available remote versions.\n */\nexport const outdated = async (state: ParserState) => {\n let internals\n try {\n internals = parseInternals(\n asPostcssNodeWithChildren(state.current).nodes,\n )\n } catch (err) {\n throw error('Failed to parse :outdated selector', {\n cause: err,\n })\n }\n\n const { kind } = internals\n const queue = []\n\n for (const node of state.partial.nodes) {\n // filter out nodes that are always ignored by the outdated selector\n if (\n node.mainImporter ||\n node.manifest?.private ||\n splitDepID(node.id)[0] !== 'registry'\n ) {\n removeNode(state, node)\n continue\n }\n\n // fetchs outdated info and performs checks to define\n // whether or not a node should be filtered out\n queue.push(queueNode(state, node, kind))\n }\n\n // nodes queued for removal are then finally removed\n const removeNodeQueue = await Promise.all(queue)\n for (const node of removeNodeQueue) {\n if (node) {\n removeNode(state, node)\n }\n }\n\n return state\n}\n", "import {\n satisfies,\n gt,\n gte,\n lt,\n lte,\n eq,\n neq,\n parse,\n parseRange,\n} from '@vltpkg/semver'\nimport type { Version } from '@vltpkg/semver'\nimport { error } from '@vltpkg/error-cause'\nimport { parseInternals as parseAttrInternals } from './attr.ts'\nimport type { AttrInternals } from './attr.ts'\nimport { getManifestPropertyValues } from '../attribute.ts'\nimport {\n asAttributeNode,\n asPostcssNodeWithChildren,\n asPseudoNode,\n asStringNode,\n asTagNode,\n isAttributeNode,\n isClassNode,\n isCombinatorNode,\n isPseudoNode,\n isStringNode,\n} from '../types.ts'\nimport type { ParserState, PostcssNode } from '../types.ts'\nimport { removeNode, removeQuotes } from './helpers.ts'\n\nexport type SemverInternals = {\n semverValue: string\n semverFunction: SemverComparatorFn\n compareAttribute: SemverCompareAttribute\n}\n\nexport type SemverFunctionNames =\n | 'satisfies'\n | 'gt'\n | 'gte'\n | 'lt'\n | 'lte'\n | 'eq'\n | 'neq'\nexport type SemverComparatorFn = (\n version: Version | string,\n range: string,\n) => boolean\nexport type SemverCompareAttribute =\n | Pick<AttrInternals, 'attribute' | 'properties'>\n | undefined\n\nconst semverFunctionNames = new Set([\n 'satisfies',\n 'gt',\n 'gte',\n 'lt',\n 'lte',\n 'eq',\n 'neq',\n])\nexport const isSemverFunctionName = (\n name: string,\n): name is SemverFunctionNames => semverFunctionNames.has(name)\n\nexport const asSemverFunctionName = (\n name: string,\n): SemverFunctionNames => {\n if (!isSemverFunctionName(name)) {\n throw error('Invalid semver function name', {\n found: name,\n validOptions: Array.from(semverFunctionNames),\n })\n }\n return name\n}\n\nconst semverFunctions = new Map<\n SemverFunctionNames,\n SemverComparatorFn\n>([\n ['satisfies', satisfies],\n ['gt', gt],\n ['gte', gte],\n ['lt', lt],\n ['lte', lte],\n ['eq', eq],\n ['neq', neq],\n])\n\n// list a few css combinators that should never have\n// spaces around when parsing as a semver range\nconst unspacedCombinators = new Set<string>([' ', '+'])\n\nexport const parseInternals = (\n nodes: PostcssNode[],\n loose: boolean,\n): SemverInternals => {\n // tries to parse the first param as a string node, otherwise defaults\n // to reading all postcss nodes as just strings, since it just means\n // the value was defined as an unquoted string\n let semverValue\n try {\n semverValue = removeQuotes(\n asStringNode(asPostcssNodeWithChildren(nodes[0]).nodes[0])\n .value,\n )\n } catch (e) {\n const err = e as Error\n if (err.message === 'Mismatching query node') {\n semverValue = ''\n for (const node of asPostcssNodeWithChildren(nodes[0]).nodes) {\n if (isClassNode(node)) {\n semverValue += '.'\n } else if (\n isCombinatorNode(node) &&\n !unspacedCombinators.has(node.value)\n ) {\n semverValue += ' '\n }\n\n if (node.value) {\n semverValue += node.value\n }\n }\n } else {\n throw err\n }\n }\n\n // second param is the function name\n let fnName: SemverFunctionNames = 'satisfies'\n try {\n // if there is a second node defined, try to parse it as a string node\n // first and if that fails, then parse it as a tag node which just means\n // it was defined as an unquoted string\n if (nodes[1]) {\n try {\n fnName = asSemverFunctionName(\n removeQuotes(\n asStringNode(asPostcssNodeWithChildren(nodes[1]).nodes[0])\n .value,\n ),\n )\n } catch (e) {\n const err = e as Error\n if (err.message === 'Mismatching query node') {\n fnName = asSemverFunctionName(\n asTagNode(asPostcssNodeWithChildren(nodes[1]).nodes[0])\n .value,\n )\n } else {\n throw err\n }\n }\n }\n } catch (e) {\n // allow invalid semver function names in loose mode, defaults to satisfies\n if (!loose) {\n throw e\n }\n }\n\n const semverFunction = semverFunctions.get(fnName)\n // the following should never happen as long as the semver function names\n // type and Set are correctly mirroring each other values\n /* c8 ignore start */\n if (!semverFunction) {\n throw error('Invalid semver function name', {\n found: fnName,\n validOptions: Array.from(semverFunctions.keys()),\n })\n }\n /* c8 ignore stop */\n\n // optional third param is the compare value\n let compareAttribute: SemverCompareAttribute\n if (nodes[2]) {\n const parentNode = asPostcssNodeWithChildren(nodes[2])\n const currNode = parentNode.nodes[0]\n if (isAttributeNode(currNode)) {\n const { attribute } = asAttributeNode(currNode)\n compareAttribute = {\n attribute,\n properties: [attribute],\n }\n } else if (isPseudoNode(currNode)) {\n compareAttribute = parseAttrInternals(\n asPseudoNode(currNode).nodes,\n )\n } else if (isStringNode(currNode)) {\n const attribute = removeQuotes(asStringNode(currNode).value)\n compareAttribute = {\n attribute,\n properties: [attribute],\n }\n }\n }\n\n return {\n semverValue,\n semverFunction,\n compareAttribute,\n }\n}\n\nexport const semverParser = async (state: ParserState) => {\n let internals\n try {\n internals = parseInternals(\n asPostcssNodeWithChildren(state.current).nodes,\n !!state.loose,\n )\n } catch (err) {\n throw error('Failed to parse :semver selector', {\n cause: err,\n })\n }\n\n const { semverValue, semverFunction, compareAttribute } = internals\n\n for (const node of state.partial.nodes) {\n if (compareAttribute) {\n const compareValues = getManifestPropertyValues(\n node,\n compareAttribute.properties,\n compareAttribute.attribute,\n )\n\n // if the provided semver value is a fixed semver version and the\n // compare attribute is resolving to a range value, then we flip the\n // order of comparison, in case it's a \"satisfies\" function check\n const compareValue = compareValues?.[0]\n const semverValueVersion = parse(semverValue)\n const compareValueRange =\n compareValue && parseRange(compareValue)\n if (\n semverFunction === satisfies &&\n semverValueVersion &&\n compareValueRange\n ) {\n if (!satisfies(semverValueVersion, compareValueRange)) {\n removeNode(state, node)\n }\n // otherwise just compares the read attribute to the semver value\n } else if (\n !compareValue ||\n !semverFunction(compareValue, semverValue)\n ) {\n removeNode(state, node)\n }\n } else {\n const manifestVersion = node.manifest?.version\n if (\n !manifestVersion ||\n !semverFunction(manifestVersion, semverValue)\n ) {\n removeNode(state, node)\n }\n }\n }\n\n return state\n}\n", "import { splitDepID } from '@vltpkg/dep-id/browser'\nimport { error } from '@vltpkg/error-cause'\nimport type { EdgeLike, NodeLike } from '@vltpkg/graph'\nimport { asManifest } from '@vltpkg/types'\nimport { attr } from './pseudo/attr.ts'\nimport { outdated } from './pseudo/outdated.ts'\nimport { semverParser as semver } from './pseudo/semver.ts'\nimport { removeDanglingEdges, removeNode } from './pseudo/helpers.ts'\nimport {\n asPostcssNodeWithChildren,\n asPseudoNode,\n asTagNode,\n isSelectorNode,\n} from './types.ts'\nimport type { ParserFn, ParserState } from './types.ts'\n\n/**\n * :empty Pseudo-Selector, matches only nodes that have no children.\n */\nconst empty = async (state: ParserState) => {\n for (const node of state.partial.nodes) {\n if (node.edgesOut.size > 0) {\n removeNode(state, node)\n }\n }\n return state\n}\n\n/**\n * :has Pseudo-Selector, matches only nodes that have valid results\n * for its nested selector expressions.\n */\nconst has = async (state: ParserState) => {\n const top = asPostcssNodeWithChildren(state.current)\n const collectNodes = new Set<NodeLike>()\n const collectEdges = new Set<EdgeLike>()\n\n for (const node of top.nodes) {\n if (isSelectorNode(node)) {\n const nestedState = await state.walk({\n cancellable: state.cancellable,\n initial: {\n edges: new Set(state.initial.edges),\n nodes: new Set(state.initial.nodes),\n },\n current: node,\n walk: state.walk,\n collect: {\n edges: new Set(),\n nodes: new Set(),\n },\n partial: {\n edges: new Set(state.partial.edges),\n nodes: new Set(state.partial.nodes),\n },\n specOptions: state.specOptions,\n })\n for (const n of nestedState.collect.nodes) {\n collectNodes.add(n)\n }\n for (const e of nestedState.partial.edges) {\n collectEdges.add(e)\n }\n }\n }\n\n // if the nested selector did not match anything, that means\n // no current node has any matches\n if (collectNodes.size === 0) {\n state.partial.edges.clear()\n state.partial.nodes.clear()\n return state\n }\n\n // handles transitive dependencies\n // compareNodes collects a list of all ancestor nodes\n // from the resulting nodes of the nested selector\n const compareNodes = new Set<NodeLike>()\n const traverse = new Set(collectNodes)\n for (const node of traverse) {\n for (const edge of node.edgesIn) {\n compareNodes.add(edge.from)\n if (edge.from.edgesIn.size) {\n traverse.add(edge.from)\n }\n }\n }\n\n // for each node in the current list checks to see if\n // it has a node in the resulting nested state that is\n // a transitive dependency / children.\n nodesLoop: for (const node of state.partial.nodes) {\n if (node.edgesOut.size === 0 || !compareNodes.has(node)) {\n removeNode(state, node)\n continue\n }\n\n for (const edge of node.edgesOut.values()) {\n if (collectEdges.has(edge)) {\n continue nodesLoop\n }\n }\n removeNode(state, node)\n }\n\n removeDanglingEdges(state)\n\n return state\n}\n\n/**\n * :is Pseudo-selector, acts as a shortcut for writing more compact expressions\n * by allowing multiple nested selectors to match on the previous results.\n *\n * It also enables the loose parsing mode, skipping instead of erroring usage\n * of non-existing classes, identifiers, pseudo-classes, etc.\n */\nconst is = async (state: ParserState) => {\n const top = asPostcssNodeWithChildren(state.current)\n const collect = new Set()\n for (const node of top.nodes) {\n if (isSelectorNode(node)) {\n const nestedState = await state.walk({\n cancellable: state.cancellable,\n collect: {\n edges: new Set(),\n nodes: new Set(),\n },\n current: node,\n initial: state.initial,\n loose: true,\n partial: {\n nodes: new Set(state.partial.nodes),\n edges: new Set(state.partial.edges),\n },\n walk: state.walk,\n specOptions: state.specOptions,\n })\n for (const n of nestedState.collect.nodes) {\n collect.add(n)\n }\n }\n }\n for (const node of state.partial.nodes) {\n if (!collect.has(node)) {\n removeNode(state, node)\n }\n }\n return state\n}\n\n/**\n * :missing Pseudo-Selector, matches only\n * edges that are not linked to any node.\n */\nconst missing = async (state: ParserState) => {\n for (const edge of state.partial.edges) {\n if (edge.to) {\n state.partial.edges.delete(edge)\n }\n }\n state.partial.nodes.clear()\n return state\n}\n\n/**\n * :not Pseudo-class, serves to create negate expressions, anything that\n * matches selectors declared inside the `:not()` expression is going to be\n * filtered out in the final result.\n */\nconst not = async (state: ParserState) => {\n const top = asPostcssNodeWithChildren(state.current)\n const collect = new Set()\n for (const node of top.nodes) {\n if (isSelectorNode(node)) {\n const nestedState = await state.walk({\n cancellable: state.cancellable,\n collect: {\n edges: new Set(),\n nodes: new Set(),\n },\n current: node,\n initial: state.initial,\n partial: {\n nodes: new Set(state.partial.nodes),\n edges: new Set(state.partial.edges),\n },\n walk: state.walk,\n specOptions: state.specOptions,\n })\n for (const n of nestedState.collect.nodes) {\n collect.add(n)\n }\n /* c8 ignore start - should be impossible */\n } else {\n throw error('Error parsing :not() selectors', {\n wanted: { type: 'selector' },\n found: node,\n })\n }\n /* c8 ignore stop */\n }\n for (const node of state.partial.nodes) {\n if (collect.has(node)) {\n removeNode(state, node)\n }\n }\n return state\n}\n\n/**\n * :private Pseudo-Selector will only match packages that have\n * a `private: true` key set in their `package.json` metadata.\n */\nconst privateFn = async (state: ParserState) => {\n for (const node of state.partial.nodes) {\n if (!node.manifest || !asManifest(node.manifest).private) {\n removeNode(state, node)\n }\n }\n\n removeDanglingEdges(state)\n\n return state\n}\n\n/**\n * :root Pseudo-Element will return the project root node for the graph.\n */\nconst root = async (state: ParserState) => {\n const [anyNode] = state.initial.nodes.values()\n const mainImporter = anyNode?.graph.mainImporter\n if (!mainImporter) {\n throw error(':root pseudo-element works on local graphs only')\n }\n for (const edge of state.partial.edges) {\n if (edge.to !== mainImporter) {\n state.partial.edges.delete(edge)\n }\n }\n state.partial.nodes.clear()\n state.partial.nodes.add(mainImporter)\n return state\n}\n\n/**\n * :project Pseudo-Element, returns all graph importers (e.g: the\n * root node along with any configured workspace)\n */\nconst project = async (state: ParserState) => {\n const [anyNode] = state.initial.nodes.values()\n const importers = anyNode?.graph.importers\n if (!importers?.size) {\n throw error(':project pseudo-element works on local graphs only')\n }\n\n // make a list of all edges that are coming from importers\n // so that we can filter out any edges that are not direct\n // dependencies of the importers\n const importersEdgesIn = new Set<EdgeLike>()\n for (const importer of importers) {\n for (const edge of importer.edgesIn) {\n importersEdgesIn.add(edge)\n }\n }\n\n for (const edge of state.partial.edges) {\n if (!edge.to || !importersEdgesIn.has(edge)) {\n state.partial.edges.delete(edge)\n }\n }\n state.partial.nodes.clear()\n for (const importer of importers) {\n state.partial.nodes.add(importer)\n }\n return state\n}\n\n/**\n * :scope Pseudo-Element, returns the original scope of items\n * at the start of a given selector.\n */\nconst scope = async (state: ParserState) => {\n state.partial.edges.clear()\n state.partial.nodes.clear()\n for (const edge of state.initial.edges) {\n state.partial.edges.add(edge)\n }\n for (const node of state.initial.nodes) {\n state.partial.nodes.add(node)\n }\n return state\n}\n\n/**\n * :type(str) Pseudo-Element will match only nodes that are of\n * the same type as the value used\n */\nconst typeFn = async (state: ParserState) => {\n const type = asPostcssNodeWithChildren(state.current)\n const selector = asPostcssNodeWithChildren(type.nodes[0])\n const name = asTagNode(selector.nodes[0]).value\n for (const node of state.partial.nodes) {\n const nodeType = splitDepID(node.id)[0]\n if (nodeType !== name) {\n removeNode(state, node)\n }\n }\n return state\n}\n\nconst pseudoSelectors = new Map<string, ParserFn>(\n Object.entries({\n attr,\n empty,\n has,\n is,\n // TODO: link\n missing,\n not,\n // TODO: overridden\n private: privateFn,\n project,\n root,\n scope,\n type: typeFn,\n semver,\n outdated,\n }),\n)\n\n/**\n * Parsers the `pseudo` node types.\n */\nexport const pseudo = async (state: ParserState) => {\n await state.cancellable()\n\n const curr = asPseudoNode(state.current)\n const parserFn =\n curr.value && pseudoSelectors.get(curr.value.slice(1))\n\n if (!parserFn) {\n if (state.loose) {\n return state\n }\n\n throw new Error(\n `Unsupported pseudo-class: ${state.current.value}`,\n )\n }\n return parserFn(state)\n}\n"],
5
- "mappings": "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",
6
- "names": ["cloneNode", "Node", "_getRequireWildcardCache", "nodeInterop", "_setPrototypeOf", "o", "p", "Container", "id", "empty", "walk", "split", "_setPrototypeOf", "o", "p", "Root", "error", "_setPrototypeOf", "o", "p", "Selector", "merge", "cssesc", "_setPrototypeOf", "o", "p", "ClassName", "_setPrototypeOf", "o", "p", "Comment", "_setPrototypeOf", "o", "p", "ID", "_setPrototypeOf", "o", "p", "Namespace", "_setPrototypeOf", "o", "p", "Tag", "_setPrototypeOf", "o", "p", "String", "_setPrototypeOf", "o", "p", "Pseudo", "require_node", "_setPrototypeOf", "o", "p", "Attribute", "_setPrototypeOf", "o", "p", "Universal", "_setPrototypeOf", "o", "p", "Combinator", "_setPrototypeOf", "o", "p", "Nesting", "combinator", "_getRequireWildcardCache", "nodeInterop", "_getRequireWildcardCache", "nodeInterop", "Parser", "attribute", "attr", "combinator", "error", "pseudo", "current", "parse", "Processor", "root", "attribute", "className", "combinator", "comment", "id", "nesting", "pseudo", "root", "selector", "string", "tag", "universal", "selectors", "_getRequireWildcardCache", "nodeInterop", "parser", "attribute", "attr", "edge", "parseInternals", "parseInternals", "attribute", "node", "postcssSelectorParser"]
7
- }