@speclynx/apidom-json-pointer-relative 2.0.1 → 2.1.0

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.
@@ -1178,6 +1178,11 @@ __webpack_require__.r(__webpack_exports__);
1178
1178
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1179
1179
  /* harmony export */ Path: () => (/* binding */ Path)
1180
1180
  /* harmony export */ });
1181
+ /* harmony import */ var _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1198);
1182
+ /* harmony import */ var _swaggerexpert_jsonpath__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4637);
1183
+
1184
+
1185
+
1181
1186
  /**
1182
1187
  * Possible return values from a visitor function.
1183
1188
  * @public
@@ -1329,6 +1334,43 @@ class Path {
1329
1334
  return keys;
1330
1335
  }
1331
1336
 
1337
+ /**
1338
+ * Format path as RFC 6901 JSON Pointer or RFC 9535 Normalized JSONPath.
1339
+ *
1340
+ * @param pathFormat - Output format: "jsonpointer" (default) or "jsonpath"
1341
+ * @returns JSONPointer string like "/paths/~1pets/get/responses/200"
1342
+ * or Normalized JSONPath like "$['paths']['/pets']['get']['responses']['200']"
1343
+ *
1344
+ * @example
1345
+ * // JSON Pointer examples:
1346
+ * path.formatPath(); // "" (root)
1347
+ * path.formatPath(); // "/info"
1348
+ * path.formatPath(); // "/paths/~1pets/get"
1349
+ * path.formatPath(); // "/paths/~1users~1{id}/parameters/0"
1350
+ *
1351
+ * @example
1352
+ * // JSONPath examples:
1353
+ * path.formatPath('jsonpath'); // "$" (root)
1354
+ * path.formatPath('jsonpath'); // "$['info']"
1355
+ * path.formatPath('jsonpath'); // "$['paths']['/pets']['get']"
1356
+ * path.formatPath('jsonpath'); // "$['paths']['/users/{id}']['parameters'][0]"
1357
+ */
1358
+ formatPath(pathFormat = 'jsonpointer') {
1359
+ const parts = this.getPathKeys();
1360
+
1361
+ // Root node
1362
+ if (parts.length === 0) {
1363
+ return pathFormat === 'jsonpath' ? '$' : '';
1364
+ }
1365
+ if (pathFormat === 'jsonpath') {
1366
+ // RFC 9535 Normalized JSONPath
1367
+ return (0,_swaggerexpert_jsonpath__WEBPACK_IMPORTED_MODULE_1__.compile)(parts);
1368
+ }
1369
+
1370
+ // RFC 6901 JSON Pointer
1371
+ return (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_0__.compile)(parts);
1372
+ }
1373
+
1332
1374
  /**
1333
1375
  * Find the closest ancestor path that satisfies the predicate.
1334
1376
  */
@@ -1727,6 +1769,94 @@ __webpack_require__.r(__webpack_exports__);
1727
1769
 
1728
1770
 
1729
1771
 
1772
+
1773
+ /***/ }),
1774
+
1775
+ /***/ 1257:
1776
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1777
+
1778
+ __webpack_require__.r(__webpack_exports__);
1779
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1780
+ /* harmony export */ decodeDoubleQuotedString: () => (/* binding */ decodeDoubleQuotedString),
1781
+ /* harmony export */ decodeInteger: () => (/* binding */ decodeInteger),
1782
+ /* harmony export */ decodeJSONValue: () => (/* binding */ decodeJSONValue),
1783
+ /* harmony export */ decodeSingleQuotedString: () => (/* binding */ decodeSingleQuotedString)
1784
+ /* harmony export */ });
1785
+ const decodeDoubleQuotedString = str => {
1786
+ return decodeJSONValue(`"${str}"`);
1787
+ };
1788
+ const decodeSingleQuotedString = str => {
1789
+ // Decode single-quoted string escape sequences into raw text, then let JSON.stringify
1790
+ // produce a correctly escaped double-quoted JSON string.
1791
+ let decoded = '';
1792
+ for (let i = 0; i < str.length; i++) {
1793
+ const ch = str[i];
1794
+ if (ch === '\\') {
1795
+ i++;
1796
+ if (i >= str.length) {
1797
+ // Trailing backslash, treat it as a literal backslash
1798
+ decoded += '\\';
1799
+ break;
1800
+ }
1801
+ const esc = str[i];
1802
+ switch (esc) {
1803
+ case 'n':
1804
+ decoded += '\n';
1805
+ break;
1806
+ case 'r':
1807
+ decoded += '\r';
1808
+ break;
1809
+ case 't':
1810
+ decoded += '\t';
1811
+ break;
1812
+ case 'b':
1813
+ decoded += '\b';
1814
+ break;
1815
+ case 'f':
1816
+ decoded += '\f';
1817
+ break;
1818
+ case '/':
1819
+ decoded += '/';
1820
+ break;
1821
+ case '\\':
1822
+ decoded += '\\';
1823
+ break;
1824
+ case "'":
1825
+ decoded += "'";
1826
+ break;
1827
+ case '"':
1828
+ decoded += '"';
1829
+ break;
1830
+ case 'u':
1831
+ {
1832
+ // Unicode escape \uXXXX - grammar guarantees exactly 4 hex digits
1833
+ const hex = str.slice(i + 1, i + 5);
1834
+ decoded += String.fromCharCode(parseInt(hex, 16));
1835
+ i += 4;
1836
+ break;
1837
+ }
1838
+ default:
1839
+ // Unrecognized escape, keep the escaped character literally
1840
+ decoded += esc;
1841
+ break;
1842
+ }
1843
+ } else {
1844
+ decoded += ch;
1845
+ }
1846
+ }
1847
+ // Use JSON.stringify to produce a valid JSON string literal
1848
+ return decodeJSONValue(JSON.stringify(decoded));
1849
+ };
1850
+ const decodeInteger = str => {
1851
+ const value = parseInt(str, 10);
1852
+ if (!Number.isSafeInteger(value)) {
1853
+ throw new RangeError(`Integer value out of safe range [-(2^53)+1, (2^53)-1], got: ${str}`);
1854
+ }
1855
+ return value;
1856
+ };
1857
+ const decodeJSONValue = str => {
1858
+ return JSON.parse(str);
1859
+ };
1730
1860
 
1731
1861
  /***/ }),
1732
1862
 
@@ -1910,6 +2040,22 @@ var complement = /*#__PURE__*/(0,_lift_js__WEBPACK_IMPORTED_MODULE_0__["default"
1910
2040
 
1911
2041
  /***/ }),
1912
2042
 
2043
+ /***/ 1352:
2044
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2045
+
2046
+ __webpack_require__.r(__webpack_exports__);
2047
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2048
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2049
+ /* harmony export */ });
2050
+ class Expectations extends Array {
2051
+ toString() {
2052
+ return this.map(c => `"${String(c)}"`).join(', ');
2053
+ }
2054
+ }
2055
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Expectations);
2056
+
2057
+ /***/ }),
2058
+
1913
2059
  /***/ 1560:
1914
2060
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1915
2061
 
@@ -4759,6 +4905,20 @@ const testArrayIndex = referenceToken => {
4759
4905
 
4760
4906
  /***/ }),
4761
4907
 
4908
+ /***/ 2639:
4909
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
4910
+
4911
+ __webpack_require__.r(__webpack_exports__);
4912
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4913
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
4914
+ /* harmony export */ });
4915
+ /* harmony import */ var _JSONPathError_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4816);
4916
+
4917
+ class JSONPathParseError extends _JSONPathError_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {}
4918
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (JSONPathParseError);
4919
+
4920
+ /***/ }),
4921
+
4762
4922
  /***/ 2719:
4763
4923
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
4764
4924
 
@@ -4895,6 +5055,20 @@ function _concat(set1, set2) {
4895
5055
 
4896
5056
  /***/ }),
4897
5057
 
5058
+ /***/ 2977:
5059
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
5060
+
5061
+ __webpack_require__.r(__webpack_exports__);
5062
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5063
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
5064
+ /* harmony export */ });
5065
+ /* harmony import */ var _JSONPathError_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4816);
5066
+
5067
+ class JSONPathCompileError extends _JSONPathError_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {}
5068
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (JSONPathCompileError);
5069
+
5070
+ /***/ }),
5071
+
4898
5072
  /***/ 3020:
4899
5073
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
4900
5074
 
@@ -4940,6 +5114,62 @@ __webpack_require__.r(__webpack_exports__);
4940
5114
 
4941
5115
  /***/ }),
4942
5116
 
5117
+ /***/ 3222:
5118
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
5119
+
5120
+ __webpack_require__.r(__webpack_exports__);
5121
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5122
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
5123
+ /* harmony export */ });
5124
+ /* harmony import */ var apg_lite__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1751);
5125
+ /* harmony import */ var _errors_JSONPathParseError_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2639);
5126
+
5127
+
5128
+ const cst = nodeType => {
5129
+ return (state, chars, phraseIndex, phraseLength, data) => {
5130
+ var _data$options, _data$options2;
5131
+ if (!(typeof data === 'object' && data !== null && !Array.isArray(data))) {
5132
+ throw new _errors_JSONPathParseError_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]("parser's user data must be an object");
5133
+ }
5134
+
5135
+ // drop the empty nodes
5136
+ if ((_data$options = data.options) !== null && _data$options !== void 0 && _data$options.optimize && phraseLength === 0 && (_data$options2 = data.options) !== null && _data$options2 !== void 0 && (_data$options2 = _data$options2.droppableTypes) !== null && _data$options2 !== void 0 && _data$options2.includes(nodeType)) {
5137
+ return;
5138
+ }
5139
+ if (state === apg_lite__WEBPACK_IMPORTED_MODULE_0__.identifiers.SEM_PRE) {
5140
+ const node = {
5141
+ type: nodeType,
5142
+ text: apg_lite__WEBPACK_IMPORTED_MODULE_0__.utilities.charsToString(chars, phraseIndex, phraseLength),
5143
+ start: phraseIndex,
5144
+ length: phraseLength,
5145
+ children: []
5146
+ };
5147
+ if (data.stack.length > 0) {
5148
+ var _data$options3, _data$options4;
5149
+ const parent = data.stack[data.stack.length - 1];
5150
+ const prevSibling = parent.children[parent.children.length - 1];
5151
+ const isTextNodeWithinTextNode = parent.type === 'text' && node.type === 'text';
5152
+ const shouldCollapse = ((_data$options3 = data.options) === null || _data$options3 === void 0 ? void 0 : _data$options3.optimize) && ((_data$options4 = data.options) === null || _data$options4 === void 0 || (_data$options4 = _data$options4.collapsibleTypes) === null || _data$options4 === void 0 ? void 0 : _data$options4.includes(node.type)) && (prevSibling === null || prevSibling === void 0 ? void 0 : prevSibling.type) === node.type;
5153
+ if (shouldCollapse) {
5154
+ prevSibling.text += node.text;
5155
+ prevSibling.length += node.length;
5156
+ } else if (!isTextNodeWithinTextNode) {
5157
+ parent.children.push(node);
5158
+ }
5159
+ } else {
5160
+ data.root = node;
5161
+ }
5162
+ data.stack.push(node);
5163
+ }
5164
+ if (state === apg_lite__WEBPACK_IMPORTED_MODULE_0__.identifiers.SEM_POST) {
5165
+ data.stack.pop();
5166
+ }
5167
+ };
5168
+ };
5169
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (cst);
5170
+
5171
+ /***/ }),
5172
+
4943
5173
  /***/ 3321:
4944
5174
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
4945
5175
 
@@ -5035,6 +5265,131 @@ class ApiDOMAggregateError extends AggregateError {
5035
5265
 
5036
5266
  /***/ }),
5037
5267
 
5268
+ /***/ 3449:
5269
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
5270
+
5271
+ __webpack_require__.r(__webpack_exports__);
5272
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5273
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
5274
+ /* harmony export */ });
5275
+ /* harmony import */ var apg_lite__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1751);
5276
+ /* harmony import */ var _callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3222);
5277
+
5278
+
5279
+ class CSTTranslator extends apg_lite__WEBPACK_IMPORTED_MODULE_0__.Ast {
5280
+ constructor() {
5281
+ super();
5282
+
5283
+ // https://www.rfc-editor.org/rfc/rfc9535#section-2.1.1
5284
+ this.callbacks['jsonpath-query'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('jsonpath-query');
5285
+ this.callbacks['segments'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('segments');
5286
+ this.callbacks['B'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5287
+ this.callbacks['S'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5288
+
5289
+ // https://www.rfc-editor.org/rfc/rfc9535#section-2.2.1
5290
+ this.callbacks['root-identifier'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('root-identifier');
5291
+
5292
+ // https://www.rfc-editor.org/rfc/rfc9535#section-2.3
5293
+ this.callbacks['selector'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('selector');
5294
+
5295
+ // https://www.rfc-editor.org/rfc/rfc9535#section-2.3.1.1
5296
+ this.callbacks['name-selector'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('name-selector');
5297
+ this.callbacks['string-literal'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('string-literal');
5298
+ this.callbacks['double-quoted'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('double-quoted');
5299
+ this.callbacks['single-quoted'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('single-quoted');
5300
+
5301
+ // https://www.rfc-editor.org/rfc/rfc9535#section-2.3.2.1
5302
+ this.callbacks['wildcard-selector'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('wildcard-selector');
5303
+
5304
+ // https://www.rfc-editor.org/rfc/rfc9535#section-2.3.3.1
5305
+ this.callbacks['index-selector'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('index-selector');
5306
+
5307
+ // https://www.rfc-editor.org/rfc/rfc9535#section-2.3.4.1
5308
+ this.callbacks['slice-selector'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('slice-selector');
5309
+ this.callbacks['start'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('start');
5310
+ this.callbacks['end'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('end');
5311
+ this.callbacks['step'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('step');
5312
+
5313
+ // https://www.rfc-editor.org/rfc/rfc9535#section-2.3.5.1
5314
+ this.callbacks['filter-selector'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('filter-selector');
5315
+ this.callbacks['logical-expr'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('logical-expr');
5316
+ this.callbacks['logical-or-expr'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('logical-or-expr');
5317
+ this.callbacks['logical-and-expr'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('logical-and-expr');
5318
+ this.callbacks['basic-expr'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('basic-expr');
5319
+ this.callbacks['paren-expr'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('paren-expr');
5320
+ this.callbacks['logical-not-op'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('logical-not-op');
5321
+ this.callbacks['test-expr'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('test-expr');
5322
+ this.callbacks['filter-query'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('filter-query');
5323
+ this.callbacks['rel-query'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('rel-query');
5324
+ this.callbacks['current-node-identifier'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('current-node-identifier');
5325
+ this.callbacks['comparison-expr'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('comparison-expr');
5326
+ this.callbacks['literal'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('literal');
5327
+ this.callbacks['comparable'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('comparable');
5328
+ this.callbacks['comparison-op'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('comparison-op');
5329
+ this.callbacks['singular-query'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('singular-query');
5330
+ this.callbacks['rel-singular-query'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('rel-singular-query');
5331
+ this.callbacks['abs-singular-query'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('abs-singular-query');
5332
+ this.callbacks['singular-query-segments'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('singular-query-segments');
5333
+ this.callbacks['name-segment'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('name-segment');
5334
+ this.callbacks['index-segment'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('index-segment');
5335
+ this.callbacks['number'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('number');
5336
+ this.callbacks['true'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('true');
5337
+ this.callbacks['false'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('false');
5338
+ this.callbacks['null'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('null');
5339
+
5340
+ // https://www.rfc-editor.org/rfc/rfc9535#section-2.4
5341
+ this.callbacks['function-name'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('function-name');
5342
+ this.callbacks['function-expr'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('function-expr');
5343
+ this.callbacks['function-argument'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('function-argument');
5344
+
5345
+ // https://www.rfc-editor.org/rfc/rfc9535#section-2.5
5346
+ this.callbacks['segment'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('segment');
5347
+
5348
+ // https://www.rfc-editor.org/rfc/rfc9535#section-2.5.1.1
5349
+ this.callbacks['child-segment'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('child-segment');
5350
+ this.callbacks['bracketed-selection'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('bracketed-selection');
5351
+ this.callbacks['member-name-shorthand'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('member-name-shorthand');
5352
+
5353
+ // https://www.rfc-editor.org/rfc/rfc9535#section-2.5.2.1
5354
+ this.callbacks['descendant-segment'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('descendant-segment');
5355
+
5356
+ // https://www.rfc-editor.org/rfc/rfc9535#name-normalized-paths
5357
+ this.callbacks['normalized-path'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('normalized-path');
5358
+ this.callbacks['normal-index-segment'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('normal-index-segment');
5359
+ this.callbacks['normal-selector'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('normal-selector');
5360
+ this.callbacks['normal-name-selector'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('normal-name-selector');
5361
+ this.callbacks['normal-index-selector'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('normal-index-selector');
5362
+ this.callbacks['normal-single-quoted'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('normal-single-quoted');
5363
+
5364
+ // Surrogate named rules
5365
+ this.callbacks['dot-prefix'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5366
+ this.callbacks['double-dot-prefix'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5367
+ this.callbacks['left-bracket'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5368
+ this.callbacks['right-bracket'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5369
+ this.callbacks['comma'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5370
+ this.callbacks['colon'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5371
+ this.callbacks['dquote'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5372
+ this.callbacks['squote'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5373
+ this.callbacks['questionmark'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5374
+ this.callbacks['disjunction'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5375
+ this.callbacks['conjunction'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5376
+ this.callbacks['left-paren'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5377
+ this.callbacks['right-paren'] = (0,_callbacks_cst_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])('text');
5378
+ }
5379
+ getTree() {
5380
+ const data = {
5381
+ stack: [],
5382
+ root: null
5383
+ };
5384
+ this.translate(data);
5385
+ delete data.stack;
5386
+ return data;
5387
+ }
5388
+ }
5389
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CSTTranslator);
5390
+
5391
+ /***/ }),
5392
+
5038
5393
  /***/ 3461:
5039
5394
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
5040
5395
 
@@ -5367,6 +5722,37 @@ function _createReduce(arrayReduce, methodReduce, iterableReduce) {
5367
5722
 
5368
5723
  /***/ }),
5369
5724
 
5725
+ /***/ 4362:
5726
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
5727
+
5728
+ __webpack_require__.r(__webpack_exports__);
5729
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5730
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
5731
+ /* harmony export */ });
5732
+ /* harmony import */ var _parse_index_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8789);
5733
+
5734
+ const test = (jsonPath, {
5735
+ normalized = false
5736
+ } = {}) => {
5737
+ if (typeof jsonPath !== 'string') return false;
5738
+ try {
5739
+ const {
5740
+ result
5741
+ } = (0,_parse_index_mjs__WEBPACK_IMPORTED_MODULE_0__["default"])(jsonPath, {
5742
+ normalized,
5743
+ stats: false,
5744
+ trace: false,
5745
+ translator: null
5746
+ });
5747
+ return result.success;
5748
+ } catch {
5749
+ return false;
5750
+ }
5751
+ };
5752
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (test);
5753
+
5754
+ /***/ }),
5755
+
5370
5756
  /***/ 4436:
5371
5757
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
5372
5758
 
@@ -5704,6 +6090,54 @@ var _isArrayLike = /*#__PURE__*/(0,_curry1_js__WEBPACK_IMPORTED_MODULE_0__["defa
5704
6090
  });
5705
6091
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_isArrayLike);
5706
6092
 
6093
+ /***/ }),
6094
+
6095
+ /***/ 4637:
6096
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6097
+
6098
+ __webpack_require__.r(__webpack_exports__);
6099
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6100
+ /* harmony export */ ASTTranslator: () => (/* reexport safe */ _parse_translators_ASTTranslator_index_mjs__WEBPACK_IMPORTED_MODULE_4__["default"]),
6101
+ /* harmony export */ CSTOptimizedTranslator: () => (/* reexport safe */ _parse_translators_CSTOptimizedTranslator_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]),
6102
+ /* harmony export */ CSTTranslator: () => (/* reexport safe */ _parse_translators_CSTTranslator_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]),
6103
+ /* harmony export */ Grammar: () => (/* reexport safe */ _grammar_mjs__WEBPACK_IMPORTED_MODULE_0__["default"]),
6104
+ /* harmony export */ JSONPathCompileError: () => (/* reexport safe */ _errors_JSONPathCompileError_mjs__WEBPACK_IMPORTED_MODULE_12__["default"]),
6105
+ /* harmony export */ JSONPathError: () => (/* reexport safe */ _errors_JSONPathError_mjs__WEBPACK_IMPORTED_MODULE_10__["default"]),
6106
+ /* harmony export */ JSONPathParseError: () => (/* reexport safe */ _errors_JSONPathParseError_mjs__WEBPACK_IMPORTED_MODULE_11__["default"]),
6107
+ /* harmony export */ Trace: () => (/* reexport safe */ _parse_trace_Trace_mjs__WEBPACK_IMPORTED_MODULE_6__["default"]),
6108
+ /* harmony export */ XMLTranslator: () => (/* reexport safe */ _parse_translators_XMLTranslator_mjs__WEBPACK_IMPORTED_MODULE_5__["default"]),
6109
+ /* harmony export */ compile: () => (/* reexport safe */ _compile_mjs__WEBPACK_IMPORTED_MODULE_8__["default"]),
6110
+ /* harmony export */ escape: () => (/* reexport safe */ _escape_mjs__WEBPACK_IMPORTED_MODULE_9__["default"]),
6111
+ /* harmony export */ parse: () => (/* reexport safe */ _parse_index_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]),
6112
+ /* harmony export */ test: () => (/* reexport safe */ _test_index_mjs__WEBPACK_IMPORTED_MODULE_7__["default"])
6113
+ /* harmony export */ });
6114
+ /* harmony import */ var _grammar_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8186);
6115
+ /* harmony import */ var _parse_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8789);
6116
+ /* harmony import */ var _parse_translators_CSTTranslator_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3449);
6117
+ /* harmony import */ var _parse_translators_CSTOptimizedTranslator_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4848);
6118
+ /* harmony import */ var _parse_translators_ASTTranslator_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6998);
6119
+ /* harmony import */ var _parse_translators_XMLTranslator_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7636);
6120
+ /* harmony import */ var _parse_trace_Trace_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7724);
6121
+ /* harmony import */ var _test_index_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4362);
6122
+ /* harmony import */ var _compile_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(4766);
6123
+ /* harmony import */ var _escape_mjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(6938);
6124
+ /* harmony import */ var _errors_JSONPathError_mjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4816);
6125
+ /* harmony import */ var _errors_JSONPathParseError_mjs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(2639);
6126
+ /* harmony import */ var _errors_JSONPathCompileError_mjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(2977);
6127
+
6128
+
6129
+
6130
+
6131
+
6132
+
6133
+
6134
+
6135
+
6136
+
6137
+
6138
+
6139
+
6140
+
5707
6141
  /***/ }),
5708
6142
 
5709
6143
  /***/ 4641:
@@ -5776,65 +6210,172 @@ class AnnotationElement extends _primitives_StringElement_mjs__WEBPACK_IMPORTED_
5776
6210
 
5777
6211
  /***/ }),
5778
6212
 
5779
- /***/ 4823:
6213
+ /***/ 4766:
5780
6214
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
5781
6215
 
5782
6216
  __webpack_require__.r(__webpack_exports__);
5783
6217
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5784
6218
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
5785
6219
  /* harmony export */ });
5786
- /* harmony import */ var _primitives_ArrayElement_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7601);
5787
- /* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8252);
6220
+ /* harmony import */ var _escape_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6938);
6221
+ /* harmony import */ var _errors_JSONPathCompileError_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2977);
5788
6222
 
5789
6223
 
5790
6224
  /**
5791
- * ParseResultElement represents the result of parsing a document.
6225
+ * Compiles an array of selectors into a normalized JSONPath.
6226
+ * Follows RFC 9535 Section 2.7 normalized path format.
5792
6227
  *
5793
- * Contains the parsed API element, any result elements, and annotations
5794
- * (warnings and errors) from the parsing process.
6228
+ * @param {Array<string|number>} selectors - Array of name selectors (strings) or index selectors (numbers)
6229
+ * @returns {string} A normalized JSONPath string
6230
+ * @throws {JSONPathCompileError} If selectors is not an array or contains invalid selector types
5795
6231
  *
5796
- * @public
5797
- */
5798
- class ParseResultElement extends _primitives_ArrayElement_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {
5799
- constructor(content, meta, attributes) {
5800
- super(content, meta, attributes);
5801
- this.element = 'parseResult';
5802
- }
5803
-
5804
- /**
5805
- * The main API element from the parse result.
5806
- */
5807
- get api() {
5808
- return this.filter(item => (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_1__.includesClasses)(item, ['api'])).first;
6232
+ * @example
6233
+ * compile(['a', 'b', 1]) // returns "$['a']['b'][1]"
6234
+ * compile([]) // returns "$"
6235
+ * compile(['foo', 0, 'bar']) // returns "$['foo'][0]['bar']"
6236
+ */
6237
+ const compile = selectors => {
6238
+ if (!Array.isArray(selectors)) {
6239
+ throw new _errors_JSONPathCompileError_mjs__WEBPACK_IMPORTED_MODULE_1__["default"](`Selectors must be an array, got: ${typeof selectors}`, {
6240
+ selectors
6241
+ });
5809
6242
  }
5810
-
5811
- /**
5812
- * All result elements from the parse result.
5813
- */
5814
- get results() {
5815
- return this.filter(item => (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_1__.includesClasses)(item, ['result']));
6243
+ try {
6244
+ const segments = selectors.map(selector => {
6245
+ if (typeof selector === 'string') {
6246
+ // Name selector: escape and wrap in single quotes
6247
+ return `['${(0,_escape_mjs__WEBPACK_IMPORTED_MODULE_0__["default"])(selector)}']`;
6248
+ }
6249
+ if (typeof selector === 'number') {
6250
+ // Index selector: must be a non-negative safe integer (RFC 9535 Section 2.1)
6251
+ if (!Number.isSafeInteger(selector) || selector < 0) {
6252
+ throw new TypeError(`Index selector must be a non-negative safe integer, got: ${selector}`);
6253
+ }
6254
+ return `[${selector}]`;
6255
+ }
6256
+ throw new TypeError(`Selector must be a string or non-negative integer, got: ${typeof selector}`);
6257
+ });
6258
+ return `$${segments.join('')}`;
6259
+ } catch (error) {
6260
+ throw new _errors_JSONPathCompileError_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]('Failed to compile normalized JSONPath', {
6261
+ cause: error,
6262
+ selectors
6263
+ });
5816
6264
  }
6265
+ };
6266
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (compile);
5817
6267
 
5818
- /**
5819
- * The first result element.
5820
- */
5821
- get result() {
5822
- return this.results.first;
5823
- }
6268
+ /***/ }),
5824
6269
 
5825
- /**
5826
- * All annotation elements (warnings and errors).
5827
- */
5828
- get annotations() {
5829
- return this.filter(item => item.element === 'annotation');
5830
- }
6270
+ /***/ 4816:
6271
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
5831
6272
 
5832
- /**
5833
- * All warning annotations.
5834
- */
5835
- get warnings() {
5836
- return this.filter(item => item.element === 'annotation' && (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_1__.includesClasses)(item, ['warning']));
5837
- }
6273
+ __webpack_require__.r(__webpack_exports__);
6274
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6275
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6276
+ /* harmony export */ });
6277
+ class JSONPathError extends Error {
6278
+ constructor(message, options = undefined) {
6279
+ super(message, options);
6280
+ this.name = this.constructor.name;
6281
+ if (typeof message === 'string') {
6282
+ this.message = message;
6283
+ }
6284
+ if (typeof Error.captureStackTrace === 'function') {
6285
+ Error.captureStackTrace(this, this.constructor);
6286
+ } else {
6287
+ this.stack = new Error(message).stack;
6288
+ }
6289
+
6290
+ /**
6291
+ * This needs to stay here until our minimum supported version of Node.js is >= 16.9.0.
6292
+ * Node.js is >= 16.9.0 supports error causes natively.
6293
+ */
6294
+ if (options != null && typeof options === 'object' && Object.prototype.hasOwnProperty.call(options, 'cause') && !('cause' in this)) {
6295
+ const {
6296
+ cause
6297
+ } = options;
6298
+ this.cause = cause;
6299
+ if (cause instanceof Error && 'stack' in cause) {
6300
+ this.stack = `${this.stack}\nCAUSE: ${cause.stack}`;
6301
+ }
6302
+ }
6303
+
6304
+ /**
6305
+ * Allows to assign arbitrary properties to the error object.
6306
+ */
6307
+ if (options != null && typeof options === 'object') {
6308
+ const {
6309
+ cause,
6310
+ ...causelessOptions
6311
+ } = options;
6312
+ Object.assign(this, causelessOptions);
6313
+ }
6314
+ }
6315
+ }
6316
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (JSONPathError);
6317
+
6318
+ /***/ }),
6319
+
6320
+ /***/ 4823:
6321
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6322
+
6323
+ __webpack_require__.r(__webpack_exports__);
6324
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6325
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6326
+ /* harmony export */ });
6327
+ /* harmony import */ var _primitives_ArrayElement_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7601);
6328
+ /* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8252);
6329
+
6330
+
6331
+ /**
6332
+ * ParseResultElement represents the result of parsing a document.
6333
+ *
6334
+ * Contains the parsed API element, any result elements, and annotations
6335
+ * (warnings and errors) from the parsing process.
6336
+ *
6337
+ * @public
6338
+ */
6339
+ class ParseResultElement extends _primitives_ArrayElement_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {
6340
+ constructor(content, meta, attributes) {
6341
+ super(content, meta, attributes);
6342
+ this.element = 'parseResult';
6343
+ }
6344
+
6345
+ /**
6346
+ * The main API element from the parse result.
6347
+ */
6348
+ get api() {
6349
+ return this.filter(item => (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_1__.includesClasses)(item, ['api'])).first;
6350
+ }
6351
+
6352
+ /**
6353
+ * All result elements from the parse result.
6354
+ */
6355
+ get results() {
6356
+ return this.filter(item => (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_1__.includesClasses)(item, ['result']));
6357
+ }
6358
+
6359
+ /**
6360
+ * The first result element.
6361
+ */
6362
+ get result() {
6363
+ return this.results.first;
6364
+ }
6365
+
6366
+ /**
6367
+ * All annotation elements (warnings and errors).
6368
+ */
6369
+ get annotations() {
6370
+ return this.filter(item => item.element === 'annotation');
6371
+ }
6372
+
6373
+ /**
6374
+ * All warning annotations.
6375
+ */
6376
+ get warnings() {
6377
+ return this.filter(item => item.element === 'annotation' && (0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_1__.includesClasses)(item, ['warning']));
6378
+ }
5838
6379
 
5839
6380
  /**
5840
6381
  * All error annotations.
@@ -5874,6 +6415,51 @@ class ParseResultElement extends _primitives_ArrayElement_mjs__WEBPACK_IMPORTED_
5874
6415
 
5875
6416
  /***/ }),
5876
6417
 
6418
+ /***/ 4848:
6419
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6420
+
6421
+ __webpack_require__.r(__webpack_exports__);
6422
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6423
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6424
+ /* harmony export */ });
6425
+ /* harmony import */ var _CSTTranslator_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3449);
6426
+
6427
+ class CSTOptimizedTranslator extends _CSTTranslator_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {
6428
+ collapsibleTypes = ['single-quoted', 'double-quoted', 'normal-single-quoted'];
6429
+ droppableTypes = ['text', 'segments', 'singular-query-segments'];
6430
+ constructor({
6431
+ collapsibleTypes,
6432
+ droppableTypes
6433
+ } = {}) {
6434
+ super();
6435
+ if (Array.isArray(collapsibleTypes)) {
6436
+ this.collapsibleTypes = collapsibleTypes;
6437
+ }
6438
+ if (Array.isArray(droppableTypes)) {
6439
+ this.droppableTypes = droppableTypes;
6440
+ }
6441
+ }
6442
+ getTree() {
6443
+ const options = {
6444
+ optimize: true,
6445
+ collapsibleTypes: this.collapsibleTypes,
6446
+ droppableTypes: this.droppableTypes
6447
+ };
6448
+ const data = {
6449
+ stack: [],
6450
+ root: null,
6451
+ options
6452
+ };
6453
+ this.translate(data);
6454
+ delete data.stack;
6455
+ delete data.options;
6456
+ return data;
6457
+ }
6458
+ }
6459
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CSTOptimizedTranslator);
6460
+
6461
+ /***/ }),
6462
+
5877
6463
  /***/ 4860:
5878
6464
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
5879
6465
 
@@ -6539,258 +7125,676 @@ var slice = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["de
6539
7125
 
6540
7126
  /***/ }),
6541
7127
 
6542
- /***/ 6122:
6543
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6544
-
6545
- __webpack_require__.r(__webpack_exports__);
6546
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6547
- /* harmony export */ "default": () => (/* binding */ _checkForMethod)
6548
- /* harmony export */ });
6549
- /* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4099);
6550
-
6551
-
6552
- /**
6553
- * This checks whether a function has a [methodname] function. If it isn't an
6554
- * array it will execute that function otherwise it will default to the ramda
6555
- * implementation.
6556
- *
6557
- * @private
6558
- * @param {Function} fn ramda implementation
6559
- * @param {String} methodname property to check for a custom implementation
6560
- * @return {Object} Whatever the return value of the method is.
6561
- */
6562
- function _checkForMethod(methodname, fn) {
6563
- return function () {
6564
- var length = arguments.length;
6565
- if (length === 0) {
6566
- return fn();
6567
- }
6568
- var obj = arguments[length - 1];
6569
- return (0,_isArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));
6570
- };
6571
- }
6572
-
6573
- /***/ }),
6574
-
6575
- /***/ 6126:
7128
+ /***/ 6090:
6576
7129
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6577
7130
 
6578
7131
  __webpack_require__.r(__webpack_exports__);
6579
7132
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6580
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
7133
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
7134
+ /* harmony export */ transformCSTtoAST: () => (/* binding */ transformCSTtoAST)
6581
7135
  /* harmony export */ });
6582
- /* harmony import */ var _ApiDOMAggregateError_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3437);
6583
-
6584
- /**
6585
- * @public
6586
- */
6587
- class ApiDOMError extends Error {
6588
- static [Symbol.hasInstance](instance) {
6589
- // we want to ApiDOMAggregateError to act as if ApiDOMError was its superclass
6590
- return super[Symbol.hasInstance](instance) || Function.prototype[Symbol.hasInstance].call(_ApiDOMAggregateError_mjs__WEBPACK_IMPORTED_MODULE_0__["default"], instance);
6591
- }
6592
- constructor(message, options) {
6593
- super(message, options);
6594
- this.name = this.constructor.name;
6595
- if (typeof Error.captureStackTrace === 'function') {
6596
- Error.captureStackTrace(this, this.constructor);
6597
- }
6598
- }
6599
- }
6600
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ApiDOMError);
7136
+ /* harmony import */ var _errors_JSONPathParseError_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2639);
7137
+ /* harmony import */ var _decoders_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1257);
6601
7138
 
6602
- /***/ }),
6603
-
6604
- /***/ 6181:
6605
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6606
7139
 
6607
- __webpack_require__.r(__webpack_exports__);
6608
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6609
- /* harmony export */ from: () => (/* binding */ from),
6610
- /* harmony export */ fromURIReference: () => (/* binding */ fromURIReference),
6611
- /* harmony export */ to: () => (/* binding */ to)
6612
- /* harmony export */ });
6613
- const to = jsonPointer => {
6614
- const encodedFragment = [...jsonPointer].map(char => /^[A-Za-z0-9\-._~!$&'()*+,;=:@/?]$/.test(char) ? char : encodeURIComponent(char)).join('');
6615
- return `#${encodedFragment}`;
6616
- };
6617
- const from = fragment => {
6618
- try {
6619
- const rfc3986Fragment = fragment.startsWith('#') ? fragment.slice(1) : fragment;
6620
- return decodeURIComponent(rfc3986Fragment);
6621
- } catch {
6622
- return fragment;
7140
+ const transformCSTtoAST = (node, transformerMap, ctx = {
7141
+ parent: null,
7142
+ path: []
7143
+ }) => {
7144
+ const transformer = transformerMap[node.type];
7145
+ if (!transformer) {
7146
+ throw new _errors_JSONPathParseError_mjs__WEBPACK_IMPORTED_MODULE_0__["default"](`No transformer for CST node type: ${node.type}`);
6623
7147
  }
7148
+ const nextCtx = {
7149
+ parent: node,
7150
+ path: [...ctx.path, node]
7151
+ };
7152
+ return transformer(node, nextCtx);
6624
7153
  };
6625
- const fromURIReference = uriReference => {
6626
- const fragmentIndex = uriReference.indexOf('#');
6627
- const fragment = fragmentIndex === -1 ? '#' : uriReference.substring(fragmentIndex);
6628
- return from(fragment);
6629
- };
6630
-
6631
- /***/ }),
6632
-
6633
- /***/ 6260:
6634
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6635
-
6636
- __webpack_require__.r(__webpack_exports__);
6637
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6638
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6639
- /* harmony export */ });
6640
- /* harmony import */ var _traversal_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2078);
6641
-
6642
- /**
6643
- * Computes upwards edges from every child to its parent.
6644
- * @public
6645
- */
6646
- const parents = element => {
6647
- const parentEdges = new WeakMap();
6648
- (0,_traversal_mjs__WEBPACK_IMPORTED_MODULE_0__.traverse)(element, {
6649
- enter(path) {
6650
- // Use parentPath.node to get the actual Element parent.
6651
- // path.parent could be an array (ArraySlice) when inside ArrayElement/ObjectElement content.
6652
- parentEdges.set(path.node, path.parentPath?.node);
6653
- }
6654
- });
6655
- return parentEdges;
6656
- };
6657
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (parents);
6658
-
6659
- /***/ }),
6660
-
6661
- /***/ 6265:
6662
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6663
-
6664
- __webpack_require__.r(__webpack_exports__);
6665
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6666
- /* harmony export */ "default": () => (/* binding */ _includes)
6667
- /* harmony export */ });
6668
- /* harmony import */ var _indexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2243);
6669
-
6670
- function _includes(a, list) {
6671
- return (0,_indexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list, a, 0) >= 0;
6672
- }
6673
-
6674
- /***/ }),
6675
-
6676
- /***/ 6390:
6677
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6678
-
6679
- __webpack_require__.r(__webpack_exports__);
6680
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6681
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6682
- /* harmony export */ });
6683
- /* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3143);
6684
-
6685
- var XMap = /*#__PURE__*/function () {
6686
- function XMap(f, xf) {
6687
- this.xf = xf;
6688
- this.f = f;
6689
- }
6690
- XMap.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].init;
6691
- XMap.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].result;
6692
- XMap.prototype['@@transducer/step'] = function (result, input) {
6693
- return this.xf['@@transducer/step'](result, this.f(input));
6694
- };
6695
- return XMap;
6696
- }();
6697
- var _xmap = function _xmap(f) {
6698
- return function (xf) {
6699
- return new XMap(f, xf);
6700
- };
7154
+ const transformers = {
7155
+ /**
7156
+ * https://www.rfc-editor.org/rfc/rfc9535#section-2.1.1
7157
+ */
7158
+ ['jsonpath-query'](node, ctx) {
7159
+ const segments = node.children.find(c => c.type === 'segments');
7160
+ return {
7161
+ type: 'JsonPathQuery',
7162
+ segments: segments ? segments.children.filter(({
7163
+ type
7164
+ }) => type === 'segment').map(segNode => transformCSTtoAST(segNode, transformers, ctx)) : []
7165
+ };
7166
+ },
7167
+ /**
7168
+ * https://www.rfc-editor.org/rfc/rfc9535#section-2.5
7169
+ */
7170
+ segment(node, ctx) {
7171
+ const child = node.children.find(({
7172
+ type
7173
+ }) => ['child-segment', 'descendant-segment'].includes(type));
7174
+ return transformCSTtoAST(child, transformers, ctx);
7175
+ },
7176
+ /**
7177
+ * https://www.rfc-editor.org/rfc/rfc9535#section-2.3
7178
+ */
7179
+ selector(node, ctx) {
7180
+ const child = node.children.find(({
7181
+ type
7182
+ }) => ['name-selector', 'wildcard-selector', 'slice-selector', 'index-selector', 'filter-selector'].includes(type));
7183
+ return transformCSTtoAST(child, transformers, ctx);
7184
+ },
7185
+ /**
7186
+ * https://www.rfc-editor.org/rfc/rfc9535#section-2.3.1.1
7187
+ */
7188
+ ['name-selector'](node, ctx) {
7189
+ const stringLiteralCSTNode = node.children.find(({
7190
+ type
7191
+ }) => type === 'string-literal');
7192
+ const stringLiteralASTNode = transformCSTtoAST(stringLiteralCSTNode, transformers, ctx);
7193
+ return {
7194
+ type: 'NameSelector',
7195
+ value: stringLiteralASTNode.value,
7196
+ format: stringLiteralASTNode.format
7197
+ };
7198
+ },
7199
+ ['string-literal'](node) {
7200
+ const isSingleQuoted = node.children.find(({
7201
+ type,
7202
+ text
7203
+ }) => type === 'text' && text === "'");
7204
+ const quoted = node.children.find(({
7205
+ type
7206
+ }) => ['double-quoted', 'single-quoted'].includes(type));
7207
+ const decodeString = isSingleQuoted ? _decoders_mjs__WEBPACK_IMPORTED_MODULE_1__.decodeSingleQuotedString : _decoders_mjs__WEBPACK_IMPORTED_MODULE_1__.decodeDoubleQuotedString;
7208
+ return {
7209
+ type: 'StringLiteral',
7210
+ value: quoted ? decodeString(quoted.text) : '',
7211
+ format: isSingleQuoted ? 'single-quoted' : 'double-quoted'
7212
+ };
7213
+ },
7214
+ /**
7215
+ * https://www.rfc-editor.org/rfc/rfc9535#section-2.3.2.1
7216
+ */
7217
+ ['wildcard-selector']() {
7218
+ return {
7219
+ type: 'WildcardSelector'
7220
+ };
7221
+ },
7222
+ /**
7223
+ * https://www.rfc-editor.org/rfc/rfc9535#section-2.3.3.1
7224
+ */
7225
+ ['index-selector'](node) {
7226
+ return {
7227
+ type: 'IndexSelector',
7228
+ value: (0,_decoders_mjs__WEBPACK_IMPORTED_MODULE_1__.decodeInteger)(node.text)
7229
+ };
7230
+ },
7231
+ /**
7232
+ * https://www.rfc-editor.org/rfc/rfc9535#section-2.3.4.1
7233
+ */
7234
+ ['slice-selector'](node) {
7235
+ const start = node.children.find(({
7236
+ type
7237
+ }) => type === 'start');
7238
+ const end = node.children.find(({
7239
+ type
7240
+ }) => type === 'end');
7241
+ const step = node.children.find(({
7242
+ type
7243
+ }) => type === 'step');
7244
+ return {
7245
+ type: 'SliceSelector',
7246
+ start: start ? (0,_decoders_mjs__WEBPACK_IMPORTED_MODULE_1__.decodeInteger)(start.text) : null,
7247
+ end: end ? (0,_decoders_mjs__WEBPACK_IMPORTED_MODULE_1__.decodeInteger)(end.text) : null,
7248
+ step: step ? (0,_decoders_mjs__WEBPACK_IMPORTED_MODULE_1__.decodeInteger)(step.text) : null
7249
+ };
7250
+ },
7251
+ /**
7252
+ * https://www.rfc-editor.org/rfc/rfc9535#section-2.3.5.1
7253
+ */
7254
+ ['filter-selector'](node, ctx) {
7255
+ const child = node.children.find(({
7256
+ type
7257
+ }) => type === 'logical-expr');
7258
+ return {
7259
+ type: 'FilterSelector',
7260
+ expression: transformCSTtoAST(child, transformers, ctx)
7261
+ };
7262
+ },
7263
+ ['logical-expr'](node, ctx) {
7264
+ const child = node.children.find(({
7265
+ type
7266
+ }) => type === 'logical-or-expr');
7267
+ return transformCSTtoAST(child, transformers, ctx);
7268
+ },
7269
+ ['logical-or-expr'](node, ctx) {
7270
+ const logicalAndExprs = node.children.filter(({
7271
+ type
7272
+ }) => type === 'logical-and-expr');
7273
+ if (logicalAndExprs.length === 1) {
7274
+ return transformCSTtoAST(logicalAndExprs[0], transformers, ctx);
7275
+ }
7276
+
7277
+ // fold left for left-associativity
7278
+ let left = transformCSTtoAST(logicalAndExprs[0], transformers, ctx);
7279
+ for (let i = 1; i < logicalAndExprs.length; i += 1) {
7280
+ const right = transformCSTtoAST(logicalAndExprs[i], transformers, ctx);
7281
+ left = {
7282
+ type: 'LogicalOrExpr',
7283
+ left,
7284
+ right
7285
+ };
7286
+ }
7287
+ },
7288
+ ['logical-and-expr'](node, ctx) {
7289
+ const basicExprs = node.children.filter(({
7290
+ type
7291
+ }) => type === 'basic-expr');
7292
+ if (basicExprs.length === 1) {
7293
+ return transformCSTtoAST(basicExprs[0], transformers, ctx);
7294
+ }
7295
+ let left = transformCSTtoAST(basicExprs[0], transformers, ctx);
7296
+ for (let i = 1; i < basicExprs.length; i += 1) {
7297
+ const right = transformCSTtoAST(basicExprs[i], transformers, ctx);
7298
+ left = {
7299
+ type: 'LogicalAndExpr',
7300
+ left,
7301
+ right
7302
+ };
7303
+ }
7304
+ return left;
7305
+ },
7306
+ ['basic-expr'](node, ctx) {
7307
+ const child = node.children.find(({
7308
+ type
7309
+ }) => ['paren-expr', 'comparison-expr', 'test-expr'].includes(type));
7310
+ return transformCSTtoAST(child, transformers, ctx);
7311
+ },
7312
+ ['paren-expr'](node, ctx) {
7313
+ const isNegated = node.children.some(child => child.type === 'logical-not-op');
7314
+ const logicalExprCSTNode = node.children.find(child => child.type === 'logical-expr');
7315
+ const logicalExpressionASTNode = transformCSTtoAST(logicalExprCSTNode, transformers, ctx);
7316
+ if (isNegated) {
7317
+ return {
7318
+ type: 'LogicalNotExpr',
7319
+ expression: logicalExpressionASTNode
7320
+ };
7321
+ }
7322
+ return logicalExpressionASTNode;
7323
+ },
7324
+ ['test-expr'](node, ctx) {
7325
+ const isNegated = node.children.some(({
7326
+ type
7327
+ }) => type === 'logical-not-op');
7328
+ const expression = node.children.find(({
7329
+ type
7330
+ }) => ['filter-query', 'function-expr'].includes(type));
7331
+ const testExpr = {
7332
+ type: 'TestExpr',
7333
+ expression: transformCSTtoAST(expression, transformers, ctx)
7334
+ };
7335
+ return isNegated ? {
7336
+ type: 'LogicalNotExpr',
7337
+ expression: testExpr
7338
+ } : testExpr;
7339
+ },
7340
+ ['filter-query'](node, ctx) {
7341
+ const child = node.children.find(({
7342
+ type
7343
+ }) => ['rel-query', 'jsonpath-query'].includes(type));
7344
+ return {
7345
+ type: 'FilterQuery',
7346
+ query: transformCSTtoAST(child, transformers, ctx)
7347
+ };
7348
+ },
7349
+ ['rel-query'](node, ctx) {
7350
+ const segments = node.children.find(c => c.type === 'segments');
7351
+ return {
7352
+ type: 'RelQuery',
7353
+ segments: segments ? segments.children.filter(n => n.type === 'segment').map(segNode => transformCSTtoAST(segNode, transformers, ctx)) : []
7354
+ };
7355
+ },
7356
+ ['comparison-expr'](node, ctx) {
7357
+ const children = node.children.filter(({
7358
+ type
7359
+ }) => ['comparable', 'comparison-op'].includes(type));
7360
+ const [left, op, right] = children;
7361
+ return {
7362
+ type: 'ComparisonExpr',
7363
+ left: transformCSTtoAST(left, transformers, ctx),
7364
+ op: op.text,
7365
+ right: transformCSTtoAST(right, transformers, ctx)
7366
+ };
7367
+ },
7368
+ ['literal'](node, ctx) {
7369
+ const child = node.children.find(({
7370
+ type
7371
+ }) => ['number', 'string-literal', 'true', 'false', 'null'].includes(type));
7372
+ if (child.type === 'string-literal') {
7373
+ const stringLiteralASTNode = transformCSTtoAST(child, transformers, ctx);
7374
+ return {
7375
+ type: 'Literal',
7376
+ value: stringLiteralASTNode.value
7377
+ };
7378
+ }
7379
+ return {
7380
+ type: 'Literal',
7381
+ value: (0,_decoders_mjs__WEBPACK_IMPORTED_MODULE_1__.decodeJSONValue)(child.text)
7382
+ };
7383
+ },
7384
+ ['comparable'](node, ctx) {
7385
+ const child = node.children.find(({
7386
+ type
7387
+ }) => ['singular-query', 'function-expr', 'literal'].includes(type));
7388
+ return transformCSTtoAST(child, transformers, ctx);
7389
+ },
7390
+ ['singular-query'](node, ctx) {
7391
+ const child = node.children.find(({
7392
+ type
7393
+ }) => ['rel-singular-query', 'abs-singular-query'].includes(type));
7394
+ return transformCSTtoAST(child, transformers, ctx);
7395
+ },
7396
+ ['rel-singular-query'](node, ctx) {
7397
+ const segmentsNode = node.children.find(({
7398
+ type
7399
+ }) => type === 'singular-query-segments');
7400
+ const segments = segmentsNode ? segmentsNode.children.filter(({
7401
+ type
7402
+ }) => ['name-segment', 'index-segment'].includes(type)).map(segNode => ({
7403
+ type: 'SingularQuerySegment',
7404
+ selector: transformCSTtoAST(segNode, transformers, ctx)
7405
+ })) : [];
7406
+ return {
7407
+ type: 'RelSingularQuery',
7408
+ segments
7409
+ };
7410
+ },
7411
+ ['abs-singular-query'](node, ctx) {
7412
+ const segmentsNode = node.children.find(({
7413
+ type
7414
+ }) => type === 'singular-query-segments');
7415
+ const segments = segmentsNode ? segmentsNode.children.filter(({
7416
+ type
7417
+ }) => ['name-segment', 'index-segment'].includes(type)).map(segNode => ({
7418
+ type: 'SingularQuerySegment',
7419
+ selector: transformCSTtoAST(segNode, transformers, ctx)
7420
+ })) : [];
7421
+ return {
7422
+ type: 'AbsSingularQuery',
7423
+ segments
7424
+ };
7425
+ },
7426
+ ['name-segment'](node, ctx) {
7427
+ const child = node.children.find(({
7428
+ type
7429
+ }) => ['name-selector', 'member-name-shorthand'].includes(type));
7430
+ return transformCSTtoAST(child, transformers, ctx);
7431
+ },
7432
+ ['index-segment'](node, ctx) {
7433
+ const child = node.children.find(({
7434
+ type
7435
+ }) => type === 'index-selector');
7436
+ return transformCSTtoAST(child, transformers, ctx);
7437
+ },
7438
+ /**
7439
+ * https://www.rfc-editor.org/rfc/rfc9535#section-2.4
7440
+ */
7441
+ ['function-expr'](node, ctx) {
7442
+ const name = node.children.find(({
7443
+ type
7444
+ }) => type === 'function-name');
7445
+ const args = node.children.filter(({
7446
+ type
7447
+ }) => type === 'function-argument');
7448
+ return {
7449
+ type: 'FunctionExpr',
7450
+ name: name.text,
7451
+ arguments: args.map(arg => transformCSTtoAST(arg, transformers, ctx))
7452
+ };
7453
+ },
7454
+ ['function-argument'](node, ctx) {
7455
+ const child = node.children.find(({
7456
+ type
7457
+ }) => ['logical-expr', 'function-expr', 'filter-query', 'literal'].includes(type));
7458
+ return transformCSTtoAST(child, transformers, ctx);
7459
+ },
7460
+ /**
7461
+ * https://www.rfc-editor.org/rfc/rfc9535#section-2.5.1.1
7462
+ */
7463
+ ['child-segment'](node, ctx) {
7464
+ const child = node.children.find(({
7465
+ type
7466
+ }) => ['bracketed-selection', 'wildcard-selector', 'member-name-shorthand'].includes(type));
7467
+ return {
7468
+ type: 'ChildSegment',
7469
+ selector: transformCSTtoAST(child, transformers, ctx)
7470
+ };
7471
+ },
7472
+ ['bracketed-selection'](node, ctx) {
7473
+ return {
7474
+ type: 'BracketedSelection',
7475
+ selectors: node.children.filter(({
7476
+ type
7477
+ }) => type === 'selector').map(selectorNode => transformCSTtoAST(selectorNode, transformers, ctx))
7478
+ };
7479
+ },
7480
+ ['member-name-shorthand'](node) {
7481
+ return {
7482
+ type: 'NameSelector',
7483
+ value: node.text,
7484
+ format: 'shorthand'
7485
+ };
7486
+ },
7487
+ /**
7488
+ * https://www.rfc-editor.org/rfc/rfc9535#section-2.5.2.1
7489
+ */
7490
+ ['descendant-segment'](node, ctx) {
7491
+ const child = node.children.find(({
7492
+ type
7493
+ }) => ['bracketed-selection', 'wildcard-selector', 'member-name-shorthand'].includes(type));
7494
+ return {
7495
+ type: 'DescendantSegment',
7496
+ selector: transformCSTtoAST(child, transformers, ctx)
7497
+ };
7498
+ },
7499
+ /**
7500
+ * https://www.rfc-editor.org/rfc/rfc9535#name-normalized-paths
7501
+ */
7502
+ ['normalized-path'](node, ctx) {
7503
+ return {
7504
+ type: 'JsonPathQuery',
7505
+ segments: node.children.filter(({
7506
+ type
7507
+ }) => type === 'normal-index-segment').map(segNode => transformCSTtoAST(segNode, transformers, ctx))
7508
+ };
7509
+ },
7510
+ ['normal-index-segment'](node, ctx) {
7511
+ const child = node.children.find(({
7512
+ type
7513
+ }) => type === 'normal-selector');
7514
+ return {
7515
+ type: 'ChildSegment',
7516
+ selector: transformCSTtoAST(child, transformers, ctx)
7517
+ };
7518
+ },
7519
+ ['normal-selector'](node, ctx) {
7520
+ const child = node.children.find(({
7521
+ type
7522
+ }) => ['normal-name-selector', 'normal-index-selector'].includes(type));
7523
+ return transformCSTtoAST(child, transformers, ctx);
7524
+ },
7525
+ ['normal-name-selector'](node) {
7526
+ const child = node.children.find(({
7527
+ type
7528
+ }) => type === 'normal-single-quoted');
7529
+ return {
7530
+ type: 'NameSelector',
7531
+ value: child ? (0,_decoders_mjs__WEBPACK_IMPORTED_MODULE_1__.decodeSingleQuotedString)(child.text) : '',
7532
+ format: 'single-quoted'
7533
+ };
7534
+ },
7535
+ ['normal-index-selector'](node) {
7536
+ return {
7537
+ type: 'IndexSelector',
7538
+ value: (0,_decoders_mjs__WEBPACK_IMPORTED_MODULE_1__.decodeInteger)(node.text)
7539
+ };
7540
+ }
6701
7541
  };
6702
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_xmap);
6703
-
6704
- /***/ }),
6705
-
6706
- /***/ 6490:
6707
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6708
-
6709
- __webpack_require__.r(__webpack_exports__);
6710
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6711
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6712
- /* harmony export */ });
6713
- /* harmony import */ var _JSONPointerError_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9627);
6714
-
6715
- class JSONPointerParseError extends _JSONPointerError_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {}
6716
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (JSONPointerParseError);
7542
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (transformers);
6717
7543
 
6718
7544
  /***/ }),
6719
7545
 
6720
- /***/ 6561:
7546
+ /***/ 6122:
6721
7547
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6722
7548
 
6723
7549
  __webpack_require__.r(__webpack_exports__);
6724
7550
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6725
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
7551
+ /* harmony export */ "default": () => (/* binding */ _checkForMethod)
6726
7552
  /* harmony export */ });
6727
- /* harmony import */ var _internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6122);
6728
- /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8938);
6729
- /* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5969);
6730
-
6731
-
7553
+ /* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4099);
6732
7554
 
6733
7555
 
6734
7556
  /**
6735
- * Returns all but the first element of the given list or string (or object
6736
- * with a `tail` method).
6737
- *
6738
- * Dispatches to the `slice` method of the first argument, if present.
6739
- *
6740
- * @func
6741
- * @memberOf R
6742
- * @since v0.1.0
6743
- * @category List
6744
- * @sig [a] -> [a]
6745
- * @sig String -> String
6746
- * @param {*} list
6747
- * @return {*}
6748
- * @see R.head, R.init, R.last
6749
- * @example
6750
- *
6751
- * R.tail([1, 2, 3]); //=> [2, 3]
6752
- * R.tail([1, 2]); //=> [2]
6753
- * R.tail([1]); //=> []
6754
- * R.tail([]); //=> []
7557
+ * This checks whether a function has a [methodname] function. If it isn't an
7558
+ * array it will execute that function otherwise it will default to the ramda
7559
+ * implementation.
6755
7560
  *
6756
- * R.tail('abc'); //=> 'bc'
6757
- * R.tail('ab'); //=> 'b'
6758
- * R.tail('a'); //=> ''
6759
- * R.tail(''); //=> ''
7561
+ * @private
7562
+ * @param {Function} fn ramda implementation
7563
+ * @param {String} methodname property to check for a custom implementation
7564
+ * @return {Object} Whatever the return value of the method is.
6760
7565
  */
6761
- var tail = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/(0,_internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__["default"])('tail', /*#__PURE__*/(0,_slice_js__WEBPACK_IMPORTED_MODULE_2__["default"])(1, Infinity)));
6762
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (tail);
7566
+ function _checkForMethod(methodname, fn) {
7567
+ return function () {
7568
+ var length = arguments.length;
7569
+ if (length === 0) {
7570
+ return fn();
7571
+ }
7572
+ var obj = arguments[length - 1];
7573
+ return (0,_isArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));
7574
+ };
7575
+ }
6763
7576
 
6764
7577
  /***/ }),
6765
7578
 
6766
- /***/ 6574:
7579
+ /***/ 6126:
6767
7580
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6768
7581
 
6769
7582
  __webpack_require__.r(__webpack_exports__);
6770
7583
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6771
- /* harmony export */ "default": () => (/* binding */ _filter)
7584
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6772
7585
  /* harmony export */ });
6773
- function _filter(fn, list) {
6774
- var idx = 0;
6775
- var len = list.length;
6776
- var result = [];
6777
- while (idx < len) {
6778
- if (fn(list[idx])) {
6779
- result[result.length] = list[idx];
7586
+ /* harmony import */ var _ApiDOMAggregateError_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3437);
7587
+
7588
+ /**
7589
+ * @public
7590
+ */
7591
+ class ApiDOMError extends Error {
7592
+ static [Symbol.hasInstance](instance) {
7593
+ // we want to ApiDOMAggregateError to act as if ApiDOMError was its superclass
7594
+ return super[Symbol.hasInstance](instance) || Function.prototype[Symbol.hasInstance].call(_ApiDOMAggregateError_mjs__WEBPACK_IMPORTED_MODULE_0__["default"], instance);
7595
+ }
7596
+ constructor(message, options) {
7597
+ super(message, options);
7598
+ this.name = this.constructor.name;
7599
+ if (typeof Error.captureStackTrace === 'function') {
7600
+ Error.captureStackTrace(this, this.constructor);
6780
7601
  }
6781
- idx += 1;
6782
7602
  }
6783
- return result;
6784
7603
  }
7604
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ApiDOMError);
6785
7605
 
6786
7606
  /***/ }),
6787
7607
 
6788
- /***/ 6584:
7608
+ /***/ 6181:
6789
7609
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6790
7610
 
6791
7611
  __webpack_require__.r(__webpack_exports__);
6792
7612
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6793
- /* harmony export */ "default": () => (/* binding */ _map)
7613
+ /* harmony export */ from: () => (/* binding */ from),
7614
+ /* harmony export */ fromURIReference: () => (/* binding */ fromURIReference),
7615
+ /* harmony export */ to: () => (/* binding */ to)
7616
+ /* harmony export */ });
7617
+ const to = jsonPointer => {
7618
+ const encodedFragment = [...jsonPointer].map(char => /^[A-Za-z0-9\-._~!$&'()*+,;=:@/?]$/.test(char) ? char : encodeURIComponent(char)).join('');
7619
+ return `#${encodedFragment}`;
7620
+ };
7621
+ const from = fragment => {
7622
+ try {
7623
+ const rfc3986Fragment = fragment.startsWith('#') ? fragment.slice(1) : fragment;
7624
+ return decodeURIComponent(rfc3986Fragment);
7625
+ } catch {
7626
+ return fragment;
7627
+ }
7628
+ };
7629
+ const fromURIReference = uriReference => {
7630
+ const fragmentIndex = uriReference.indexOf('#');
7631
+ const fragment = fragmentIndex === -1 ? '#' : uriReference.substring(fragmentIndex);
7632
+ return from(fragment);
7633
+ };
7634
+
7635
+ /***/ }),
7636
+
7637
+ /***/ 6260:
7638
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7639
+
7640
+ __webpack_require__.r(__webpack_exports__);
7641
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7642
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
7643
+ /* harmony export */ });
7644
+ /* harmony import */ var _traversal_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2078);
7645
+
7646
+ /**
7647
+ * Computes upwards edges from every child to its parent.
7648
+ * @public
7649
+ */
7650
+ const parents = element => {
7651
+ const parentEdges = new WeakMap();
7652
+ (0,_traversal_mjs__WEBPACK_IMPORTED_MODULE_0__.traverse)(element, {
7653
+ enter(path) {
7654
+ // Use parentPath.node to get the actual Element parent.
7655
+ // path.parent could be an array (ArraySlice) when inside ArrayElement/ObjectElement content.
7656
+ parentEdges.set(path.node, path.parentPath?.node);
7657
+ }
7658
+ });
7659
+ return parentEdges;
7660
+ };
7661
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (parents);
7662
+
7663
+ /***/ }),
7664
+
7665
+ /***/ 6265:
7666
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7667
+
7668
+ __webpack_require__.r(__webpack_exports__);
7669
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7670
+ /* harmony export */ "default": () => (/* binding */ _includes)
7671
+ /* harmony export */ });
7672
+ /* harmony import */ var _indexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2243);
7673
+
7674
+ function _includes(a, list) {
7675
+ return (0,_indexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list, a, 0) >= 0;
7676
+ }
7677
+
7678
+ /***/ }),
7679
+
7680
+ /***/ 6390:
7681
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7682
+
7683
+ __webpack_require__.r(__webpack_exports__);
7684
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7685
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
7686
+ /* harmony export */ });
7687
+ /* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3143);
7688
+
7689
+ var XMap = /*#__PURE__*/function () {
7690
+ function XMap(f, xf) {
7691
+ this.xf = xf;
7692
+ this.f = f;
7693
+ }
7694
+ XMap.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].init;
7695
+ XMap.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].result;
7696
+ XMap.prototype['@@transducer/step'] = function (result, input) {
7697
+ return this.xf['@@transducer/step'](result, this.f(input));
7698
+ };
7699
+ return XMap;
7700
+ }();
7701
+ var _xmap = function _xmap(f) {
7702
+ return function (xf) {
7703
+ return new XMap(f, xf);
7704
+ };
7705
+ };
7706
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_xmap);
7707
+
7708
+ /***/ }),
7709
+
7710
+ /***/ 6490:
7711
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7712
+
7713
+ __webpack_require__.r(__webpack_exports__);
7714
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7715
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
7716
+ /* harmony export */ });
7717
+ /* harmony import */ var _JSONPointerError_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9627);
7718
+
7719
+ class JSONPointerParseError extends _JSONPointerError_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {}
7720
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (JSONPointerParseError);
7721
+
7722
+ /***/ }),
7723
+
7724
+ /***/ 6561:
7725
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7726
+
7727
+ __webpack_require__.r(__webpack_exports__);
7728
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7729
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
7730
+ /* harmony export */ });
7731
+ /* harmony import */ var _internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6122);
7732
+ /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8938);
7733
+ /* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5969);
7734
+
7735
+
7736
+
7737
+
7738
+ /**
7739
+ * Returns all but the first element of the given list or string (or object
7740
+ * with a `tail` method).
7741
+ *
7742
+ * Dispatches to the `slice` method of the first argument, if present.
7743
+ *
7744
+ * @func
7745
+ * @memberOf R
7746
+ * @since v0.1.0
7747
+ * @category List
7748
+ * @sig [a] -> [a]
7749
+ * @sig String -> String
7750
+ * @param {*} list
7751
+ * @return {*}
7752
+ * @see R.head, R.init, R.last
7753
+ * @example
7754
+ *
7755
+ * R.tail([1, 2, 3]); //=> [2, 3]
7756
+ * R.tail([1, 2]); //=> [2]
7757
+ * R.tail([1]); //=> []
7758
+ * R.tail([]); //=> []
7759
+ *
7760
+ * R.tail('abc'); //=> 'bc'
7761
+ * R.tail('ab'); //=> 'b'
7762
+ * R.tail('a'); //=> ''
7763
+ * R.tail(''); //=> ''
7764
+ */
7765
+ var tail = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/(0,_internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__["default"])('tail', /*#__PURE__*/(0,_slice_js__WEBPACK_IMPORTED_MODULE_2__["default"])(1, Infinity)));
7766
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (tail);
7767
+
7768
+ /***/ }),
7769
+
7770
+ /***/ 6574:
7771
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7772
+
7773
+ __webpack_require__.r(__webpack_exports__);
7774
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7775
+ /* harmony export */ "default": () => (/* binding */ _filter)
7776
+ /* harmony export */ });
7777
+ function _filter(fn, list) {
7778
+ var idx = 0;
7779
+ var len = list.length;
7780
+ var result = [];
7781
+ while (idx < len) {
7782
+ if (fn(list[idx])) {
7783
+ result[result.length] = list[idx];
7784
+ }
7785
+ idx += 1;
7786
+ }
7787
+ return result;
7788
+ }
7789
+
7790
+ /***/ }),
7791
+
7792
+ /***/ 6584:
7793
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7794
+
7795
+ __webpack_require__.r(__webpack_exports__);
7796
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7797
+ /* harmony export */ "default": () => (/* binding */ _map)
6794
7798
  /* harmony export */ });
6795
7799
  function _map(fn, functor) {
6796
7800
  var idx = 0;
@@ -7398,6 +8402,71 @@ const isSourceMapElement = element => element instanceof _elements_SourceMap_mjs
7398
8402
 
7399
8403
  /***/ }),
7400
8404
 
8405
+ /***/ 6938:
8406
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8407
+
8408
+ __webpack_require__.r(__webpack_exports__);
8409
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8410
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
8411
+ /* harmony export */ });
8412
+ /**
8413
+ * Escapes a string for use in a normalized JSONPath name selector.
8414
+ * Follows RFC 9535 Section 2.7 escaping rules for single-quoted strings.
8415
+ *
8416
+ * @param {string} selector - The string to escape
8417
+ * @returns {string} The escaped string (without surrounding quotes)
8418
+ */
8419
+ const escape = selector => {
8420
+ if (typeof selector !== 'string') {
8421
+ throw new TypeError('Selector must be a string');
8422
+ }
8423
+ let escaped = '';
8424
+ for (const char of selector) {
8425
+ const codePoint = char.codePointAt(0);
8426
+ switch (codePoint) {
8427
+ case 0x08:
8428
+ // backspace
8429
+ escaped += '\\b';
8430
+ break;
8431
+ case 0x09:
8432
+ // horizontal tab
8433
+ escaped += '\\t';
8434
+ break;
8435
+ case 0x0a:
8436
+ // line feed
8437
+ escaped += '\\n';
8438
+ break;
8439
+ case 0x0c:
8440
+ // form feed
8441
+ escaped += '\\f';
8442
+ break;
8443
+ case 0x0d:
8444
+ // carriage return
8445
+ escaped += '\\r';
8446
+ break;
8447
+ case 0x27:
8448
+ // apostrophe '
8449
+ escaped += "\\'";
8450
+ break;
8451
+ case 0x5c:
8452
+ // backslash \
8453
+ escaped += '\\\\';
8454
+ break;
8455
+ default:
8456
+ // Other control characters (U+0000-U+001F except those handled above)
8457
+ if (codePoint <= 0x1f) {
8458
+ escaped += `\\u${codePoint.toString(16).padStart(4, '0')}`;
8459
+ } else {
8460
+ escaped += char;
8461
+ }
8462
+ }
8463
+ }
8464
+ return escaped;
8465
+ };
8466
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (escape);
8467
+
8468
+ /***/ }),
8469
+
7401
8470
  /***/ 6986:
7402
8471
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7403
8472
 
@@ -7435,6 +8504,27 @@ var or = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defau
7435
8504
 
7436
8505
  /***/ }),
7437
8506
 
8507
+ /***/ 6998:
8508
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8509
+
8510
+ __webpack_require__.r(__webpack_exports__);
8511
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8512
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
8513
+ /* harmony export */ });
8514
+ /* harmony import */ var _CSTOptimizedTranslator_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4848);
8515
+ /* harmony import */ var _transformers_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6090);
8516
+
8517
+
8518
+ class ASTTranslator extends _CSTOptimizedTranslator_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {
8519
+ getTree() {
8520
+ const cst = super.getTree();
8521
+ return (0,_transformers_mjs__WEBPACK_IMPORTED_MODULE_1__.transformCSTtoAST)(cst.root, _transformers_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]);
8522
+ }
8523
+ }
8524
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ASTTranslator);
8525
+
8526
+ /***/ }),
8527
+
7438
8528
  /***/ 7057:
7439
8529
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7440
8530
 
@@ -8091,6 +9181,24 @@ class ArrayElement extends _CollectionElement_mjs__WEBPACK_IMPORTED_MODULE_0__["
8091
9181
 
8092
9182
  /***/ }),
8093
9183
 
9184
+ /***/ 7636:
9185
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9186
+
9187
+ __webpack_require__.r(__webpack_exports__);
9188
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9189
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
9190
+ /* harmony export */ });
9191
+ /* harmony import */ var _CSTTranslator_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3449);
9192
+
9193
+ class XMLTranslator extends _CSTTranslator_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {
9194
+ getTree() {
9195
+ return this.toXml();
9196
+ }
9197
+ }
9198
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (XMLTranslator);
9199
+
9200
+ /***/ }),
9201
+
8094
9202
  /***/ 7700:
8095
9203
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8096
9204
 
@@ -8112,25 +9220,67 @@ __webpack_require__.r(__webpack_exports__);
8112
9220
 
8113
9221
  /***/ }),
8114
9222
 
8115
- /***/ 7783:
9223
+ /***/ 7724:
8116
9224
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8117
9225
 
8118
9226
  __webpack_require__.r(__webpack_exports__);
8119
9227
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8120
9228
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
8121
9229
  /* harmony export */ });
8122
- /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8938);
8123
- /* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5722);
8124
- /* harmony import */ var _internal_isArguments_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6590);
9230
+ /* harmony import */ var apg_lite__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1751);
9231
+ /* harmony import */ var _Expectations_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1352);
8125
9232
 
8126
9233
 
9234
+ class Trace extends apg_lite__WEBPACK_IMPORTED_MODULE_0__.Trace {
9235
+ inferExpectations() {
9236
+ const lines = this.displayTrace().split('\n');
9237
+ const expectations = new Set();
9238
+ let lastMatchedIndex = -1;
9239
+ for (let i = 0; i < lines.length; i++) {
9240
+ const line = lines[i];
8127
9241
 
9242
+ // capture the max match line (first one that ends in a single character match)
9243
+ if (line.includes('M|')) {
9244
+ const textMatch = line.match(/]'(.*)'$/);
9245
+ if (textMatch && textMatch[1]) {
9246
+ lastMatchedIndex = i;
9247
+ }
9248
+ }
8128
9249
 
8129
- // cover IE < 9 keys issues
8130
- var hasEnumBug = ! /*#__PURE__*/{
8131
- toString: null
8132
- }.propertyIsEnumerable('toString');
8133
- var nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];
9250
+ // collect terminal failures after the deepest successful match
9251
+ if (i > lastMatchedIndex) {
9252
+ const terminalFailMatch = line.match(/N\|\[TLS\(([^)]+)\)]/);
9253
+ if (terminalFailMatch) {
9254
+ expectations.add(terminalFailMatch[1]);
9255
+ }
9256
+ }
9257
+ }
9258
+ return new _Expectations_mjs__WEBPACK_IMPORTED_MODULE_1__["default"](...expectations);
9259
+ }
9260
+ }
9261
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Trace);
9262
+
9263
+ /***/ }),
9264
+
9265
+ /***/ 7783:
9266
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9267
+
9268
+ __webpack_require__.r(__webpack_exports__);
9269
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9270
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
9271
+ /* harmony export */ });
9272
+ /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8938);
9273
+ /* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5722);
9274
+ /* harmony import */ var _internal_isArguments_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6590);
9275
+
9276
+
9277
+
9278
+
9279
+ // cover IE < 9 keys issues
9280
+ var hasEnumBug = ! /*#__PURE__*/{
9281
+ toString: null
9282
+ }.propertyIsEnumerable('toString');
9283
+ var nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];
8134
9284
  // Safari bug
8135
9285
  var hasArgsEnumBug = /*#__PURE__*/function () {
8136
9286
  'use strict';
@@ -8269,132 +9419,2977 @@ var reduce = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["d
8269
9419
 
8270
9420
  /***/ }),
8271
9421
 
8272
- /***/ 7902:
8273
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9422
+ /***/ 7902:
9423
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9424
+
9425
+ __webpack_require__.r(__webpack_exports__);
9426
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9427
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
9428
+ /* harmony export */ });
9429
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8252);
9430
+ /* harmony import */ var _traversal_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2078);
9431
+
9432
+
9433
+ /**
9434
+ * @public
9435
+ */
9436
+ /**
9437
+ * Finds the most inner node at the given offset.
9438
+ * If includeRightBound is set, also finds nodes that end at the given offset.
9439
+ * @public
9440
+ */
9441
+ const findAtOffset = (element, options) => {
9442
+ let offset;
9443
+ let includeRightBound;
9444
+ if (typeof options === 'number') {
9445
+ offset = options;
9446
+ includeRightBound = false;
9447
+ } else {
9448
+ offset = options.offset ?? 0;
9449
+ includeRightBound = options.includeRightBound ?? false;
9450
+ }
9451
+ const result = [];
9452
+ (0,_traversal_mjs__WEBPACK_IMPORTED_MODULE_1__.traverse)(element, {
9453
+ enter(path) {
9454
+ const node = path.node;
9455
+ if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.hasElementSourceMap)(node)) {
9456
+ return; // dive in
9457
+ }
9458
+ const startOffset = node.startOffset;
9459
+ const endOffset = node.endOffset;
9460
+ const isWithinOffsetRange = offset >= startOffset && (offset < endOffset || includeRightBound && offset <= endOffset);
9461
+ if (isWithinOffsetRange) {
9462
+ result.push(node);
9463
+ return; // push to stack and dive in
9464
+ }
9465
+ path.skip(); // skip entire sub-tree
9466
+ }
9467
+ });
9468
+ return result.at(-1);
9469
+ };
9470
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (findAtOffset);
9471
+
9472
+ /***/ }),
9473
+
9474
+ /***/ 7940:
9475
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9476
+
9477
+ __webpack_require__.r(__webpack_exports__);
9478
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9479
+ /* harmony export */ "default": () => (/* binding */ _complement)
9480
+ /* harmony export */ });
9481
+ function _complement(f) {
9482
+ return function () {
9483
+ return !f.apply(this, arguments);
9484
+ };
9485
+ }
9486
+
9487
+ /***/ }),
9488
+
9489
+ /***/ 8080:
9490
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9491
+
9492
+ __webpack_require__.r(__webpack_exports__);
9493
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9494
+ /* harmony export */ "default": () => (/* binding */ _xfilter)
9495
+ /* harmony export */ });
9496
+ /* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3143);
9497
+
9498
+ var XFilter = /*#__PURE__*/function () {
9499
+ function XFilter(f, xf) {
9500
+ this.xf = xf;
9501
+ this.f = f;
9502
+ }
9503
+ XFilter.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].init;
9504
+ XFilter.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].result;
9505
+ XFilter.prototype['@@transducer/step'] = function (result, input) {
9506
+ return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;
9507
+ };
9508
+ return XFilter;
9509
+ }();
9510
+ function _xfilter(f) {
9511
+ return function (xf) {
9512
+ return new XFilter(f, xf);
9513
+ };
9514
+ }
9515
+
9516
+ /***/ }),
9517
+
9518
+ /***/ 8121:
9519
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9520
+
9521
+ __webpack_require__.r(__webpack_exports__);
9522
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9523
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
9524
+ /* harmony export */ });
9525
+ /* harmony import */ var _Element_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(728);
9526
+
9527
+ /**
9528
+ * StringElement represents a string value in ApiDOM.
9529
+ * @public
9530
+ */
9531
+ class StringElement extends _Element_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {
9532
+ constructor(content, meta, attributes) {
9533
+ super(content, meta, attributes);
9534
+ this.element = 'string';
9535
+ }
9536
+ primitive() {
9537
+ return 'string';
9538
+ }
9539
+
9540
+ /**
9541
+ * The length of the string.
9542
+ */
9543
+ get length() {
9544
+ return this.content?.length ?? 0;
9545
+ }
9546
+ }
9547
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (StringElement);
9548
+
9549
+ /***/ }),
9550
+
9551
+ /***/ 8186:
9552
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9553
+
9554
+ __webpack_require__.r(__webpack_exports__);
9555
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9556
+ /* harmony export */ "default": () => (/* binding */ grammar)
9557
+ /* harmony export */ });
9558
+ // copyright: Copyright (c) 2024 Lowell D. Thomas, all rights reserved<br>
9559
+ // license: BSD-2-Clause (https://opensource.org/licenses/BSD-2-Clause)<br>
9560
+ //
9561
+ // Generated by apg-js, Version 4.4.0 [apg-js](https://github.com/ldthomas/apg-js)
9562
+ function grammar() {
9563
+ // ```
9564
+ // SUMMARY
9565
+ // rules = 91
9566
+ // udts = 0
9567
+ // opcodes = 423
9568
+ // --- ABNF original opcodes
9569
+ // ALT = 41
9570
+ // CAT = 60
9571
+ // REP = 32
9572
+ // RNM = 178
9573
+ // TLS = 64
9574
+ // TBS = 28
9575
+ // TRG = 20
9576
+ // --- SABNF superset opcodes
9577
+ // UDT = 0
9578
+ // AND = 0
9579
+ // NOT = 0
9580
+ // characters = [9 - 1114111]
9581
+ // ```
9582
+ /* OBJECT IDENTIFIER (for internal parser use) */
9583
+ this.grammarObject = 'grammarObject';
9584
+
9585
+ /* RULES */
9586
+ this.rules = [];
9587
+ this.rules[0] = {
9588
+ name: 'jsonpath-query',
9589
+ lower: 'jsonpath-query',
9590
+ index: 0,
9591
+ isBkr: false
9592
+ };
9593
+ this.rules[1] = {
9594
+ name: 'segments',
9595
+ lower: 'segments',
9596
+ index: 1,
9597
+ isBkr: false
9598
+ };
9599
+ this.rules[2] = {
9600
+ name: 'B',
9601
+ lower: 'b',
9602
+ index: 2,
9603
+ isBkr: false
9604
+ };
9605
+ this.rules[3] = {
9606
+ name: 'S',
9607
+ lower: 's',
9608
+ index: 3,
9609
+ isBkr: false
9610
+ };
9611
+ this.rules[4] = {
9612
+ name: 'root-identifier',
9613
+ lower: 'root-identifier',
9614
+ index: 4,
9615
+ isBkr: false
9616
+ };
9617
+ this.rules[5] = {
9618
+ name: 'selector',
9619
+ lower: 'selector',
9620
+ index: 5,
9621
+ isBkr: false
9622
+ };
9623
+ this.rules[6] = {
9624
+ name: 'name-selector',
9625
+ lower: 'name-selector',
9626
+ index: 6,
9627
+ isBkr: false
9628
+ };
9629
+ this.rules[7] = {
9630
+ name: 'string-literal',
9631
+ lower: 'string-literal',
9632
+ index: 7,
9633
+ isBkr: false
9634
+ };
9635
+ this.rules[8] = {
9636
+ name: 'double-quoted',
9637
+ lower: 'double-quoted',
9638
+ index: 8,
9639
+ isBkr: false
9640
+ };
9641
+ this.rules[9] = {
9642
+ name: 'single-quoted',
9643
+ lower: 'single-quoted',
9644
+ index: 9,
9645
+ isBkr: false
9646
+ };
9647
+ this.rules[10] = {
9648
+ name: 'ESC',
9649
+ lower: 'esc',
9650
+ index: 10,
9651
+ isBkr: false
9652
+ };
9653
+ this.rules[11] = {
9654
+ name: 'unescaped',
9655
+ lower: 'unescaped',
9656
+ index: 11,
9657
+ isBkr: false
9658
+ };
9659
+ this.rules[12] = {
9660
+ name: 'escapable',
9661
+ lower: 'escapable',
9662
+ index: 12,
9663
+ isBkr: false
9664
+ };
9665
+ this.rules[13] = {
9666
+ name: 'hexchar',
9667
+ lower: 'hexchar',
9668
+ index: 13,
9669
+ isBkr: false
9670
+ };
9671
+ this.rules[14] = {
9672
+ name: 'non-surrogate',
9673
+ lower: 'non-surrogate',
9674
+ index: 14,
9675
+ isBkr: false
9676
+ };
9677
+ this.rules[15] = {
9678
+ name: 'high-surrogate',
9679
+ lower: 'high-surrogate',
9680
+ index: 15,
9681
+ isBkr: false
9682
+ };
9683
+ this.rules[16] = {
9684
+ name: 'low-surrogate',
9685
+ lower: 'low-surrogate',
9686
+ index: 16,
9687
+ isBkr: false
9688
+ };
9689
+ this.rules[17] = {
9690
+ name: 'HEXDIG',
9691
+ lower: 'hexdig',
9692
+ index: 17,
9693
+ isBkr: false
9694
+ };
9695
+ this.rules[18] = {
9696
+ name: 'wildcard-selector',
9697
+ lower: 'wildcard-selector',
9698
+ index: 18,
9699
+ isBkr: false
9700
+ };
9701
+ this.rules[19] = {
9702
+ name: 'index-selector',
9703
+ lower: 'index-selector',
9704
+ index: 19,
9705
+ isBkr: false
9706
+ };
9707
+ this.rules[20] = {
9708
+ name: 'int',
9709
+ lower: 'int',
9710
+ index: 20,
9711
+ isBkr: false
9712
+ };
9713
+ this.rules[21] = {
9714
+ name: 'DIGIT1',
9715
+ lower: 'digit1',
9716
+ index: 21,
9717
+ isBkr: false
9718
+ };
9719
+ this.rules[22] = {
9720
+ name: 'slice-selector',
9721
+ lower: 'slice-selector',
9722
+ index: 22,
9723
+ isBkr: false
9724
+ };
9725
+ this.rules[23] = {
9726
+ name: 'start',
9727
+ lower: 'start',
9728
+ index: 23,
9729
+ isBkr: false
9730
+ };
9731
+ this.rules[24] = {
9732
+ name: 'end',
9733
+ lower: 'end',
9734
+ index: 24,
9735
+ isBkr: false
9736
+ };
9737
+ this.rules[25] = {
9738
+ name: 'step',
9739
+ lower: 'step',
9740
+ index: 25,
9741
+ isBkr: false
9742
+ };
9743
+ this.rules[26] = {
9744
+ name: 'filter-selector',
9745
+ lower: 'filter-selector',
9746
+ index: 26,
9747
+ isBkr: false
9748
+ };
9749
+ this.rules[27] = {
9750
+ name: 'logical-expr',
9751
+ lower: 'logical-expr',
9752
+ index: 27,
9753
+ isBkr: false
9754
+ };
9755
+ this.rules[28] = {
9756
+ name: 'logical-or-expr',
9757
+ lower: 'logical-or-expr',
9758
+ index: 28,
9759
+ isBkr: false
9760
+ };
9761
+ this.rules[29] = {
9762
+ name: 'logical-and-expr',
9763
+ lower: 'logical-and-expr',
9764
+ index: 29,
9765
+ isBkr: false
9766
+ };
9767
+ this.rules[30] = {
9768
+ name: 'basic-expr',
9769
+ lower: 'basic-expr',
9770
+ index: 30,
9771
+ isBkr: false
9772
+ };
9773
+ this.rules[31] = {
9774
+ name: 'paren-expr',
9775
+ lower: 'paren-expr',
9776
+ index: 31,
9777
+ isBkr: false
9778
+ };
9779
+ this.rules[32] = {
9780
+ name: 'logical-not-op',
9781
+ lower: 'logical-not-op',
9782
+ index: 32,
9783
+ isBkr: false
9784
+ };
9785
+ this.rules[33] = {
9786
+ name: 'test-expr',
9787
+ lower: 'test-expr',
9788
+ index: 33,
9789
+ isBkr: false
9790
+ };
9791
+ this.rules[34] = {
9792
+ name: 'filter-query',
9793
+ lower: 'filter-query',
9794
+ index: 34,
9795
+ isBkr: false
9796
+ };
9797
+ this.rules[35] = {
9798
+ name: 'rel-query',
9799
+ lower: 'rel-query',
9800
+ index: 35,
9801
+ isBkr: false
9802
+ };
9803
+ this.rules[36] = {
9804
+ name: 'current-node-identifier',
9805
+ lower: 'current-node-identifier',
9806
+ index: 36,
9807
+ isBkr: false
9808
+ };
9809
+ this.rules[37] = {
9810
+ name: 'comparison-expr',
9811
+ lower: 'comparison-expr',
9812
+ index: 37,
9813
+ isBkr: false
9814
+ };
9815
+ this.rules[38] = {
9816
+ name: 'literal',
9817
+ lower: 'literal',
9818
+ index: 38,
9819
+ isBkr: false
9820
+ };
9821
+ this.rules[39] = {
9822
+ name: 'comparable',
9823
+ lower: 'comparable',
9824
+ index: 39,
9825
+ isBkr: false
9826
+ };
9827
+ this.rules[40] = {
9828
+ name: 'comparison-op',
9829
+ lower: 'comparison-op',
9830
+ index: 40,
9831
+ isBkr: false
9832
+ };
9833
+ this.rules[41] = {
9834
+ name: 'singular-query',
9835
+ lower: 'singular-query',
9836
+ index: 41,
9837
+ isBkr: false
9838
+ };
9839
+ this.rules[42] = {
9840
+ name: 'rel-singular-query',
9841
+ lower: 'rel-singular-query',
9842
+ index: 42,
9843
+ isBkr: false
9844
+ };
9845
+ this.rules[43] = {
9846
+ name: 'abs-singular-query',
9847
+ lower: 'abs-singular-query',
9848
+ index: 43,
9849
+ isBkr: false
9850
+ };
9851
+ this.rules[44] = {
9852
+ name: 'singular-query-segments',
9853
+ lower: 'singular-query-segments',
9854
+ index: 44,
9855
+ isBkr: false
9856
+ };
9857
+ this.rules[45] = {
9858
+ name: 'name-segment',
9859
+ lower: 'name-segment',
9860
+ index: 45,
9861
+ isBkr: false
9862
+ };
9863
+ this.rules[46] = {
9864
+ name: 'index-segment',
9865
+ lower: 'index-segment',
9866
+ index: 46,
9867
+ isBkr: false
9868
+ };
9869
+ this.rules[47] = {
9870
+ name: 'number',
9871
+ lower: 'number',
9872
+ index: 47,
9873
+ isBkr: false
9874
+ };
9875
+ this.rules[48] = {
9876
+ name: 'frac',
9877
+ lower: 'frac',
9878
+ index: 48,
9879
+ isBkr: false
9880
+ };
9881
+ this.rules[49] = {
9882
+ name: 'exp',
9883
+ lower: 'exp',
9884
+ index: 49,
9885
+ isBkr: false
9886
+ };
9887
+ this.rules[50] = {
9888
+ name: 'true',
9889
+ lower: 'true',
9890
+ index: 50,
9891
+ isBkr: false
9892
+ };
9893
+ this.rules[51] = {
9894
+ name: 'false',
9895
+ lower: 'false',
9896
+ index: 51,
9897
+ isBkr: false
9898
+ };
9899
+ this.rules[52] = {
9900
+ name: 'null',
9901
+ lower: 'null',
9902
+ index: 52,
9903
+ isBkr: false
9904
+ };
9905
+ this.rules[53] = {
9906
+ name: 'function-name',
9907
+ lower: 'function-name',
9908
+ index: 53,
9909
+ isBkr: false
9910
+ };
9911
+ this.rules[54] = {
9912
+ name: 'function-name-first',
9913
+ lower: 'function-name-first',
9914
+ index: 54,
9915
+ isBkr: false
9916
+ };
9917
+ this.rules[55] = {
9918
+ name: 'function-name-char',
9919
+ lower: 'function-name-char',
9920
+ index: 55,
9921
+ isBkr: false
9922
+ };
9923
+ this.rules[56] = {
9924
+ name: 'LCALPHA',
9925
+ lower: 'lcalpha',
9926
+ index: 56,
9927
+ isBkr: false
9928
+ };
9929
+ this.rules[57] = {
9930
+ name: 'function-expr',
9931
+ lower: 'function-expr',
9932
+ index: 57,
9933
+ isBkr: false
9934
+ };
9935
+ this.rules[58] = {
9936
+ name: 'function-argument',
9937
+ lower: 'function-argument',
9938
+ index: 58,
9939
+ isBkr: false
9940
+ };
9941
+ this.rules[59] = {
9942
+ name: 'segment',
9943
+ lower: 'segment',
9944
+ index: 59,
9945
+ isBkr: false
9946
+ };
9947
+ this.rules[60] = {
9948
+ name: 'child-segment',
9949
+ lower: 'child-segment',
9950
+ index: 60,
9951
+ isBkr: false
9952
+ };
9953
+ this.rules[61] = {
9954
+ name: 'bracketed-selection',
9955
+ lower: 'bracketed-selection',
9956
+ index: 61,
9957
+ isBkr: false
9958
+ };
9959
+ this.rules[62] = {
9960
+ name: 'member-name-shorthand',
9961
+ lower: 'member-name-shorthand',
9962
+ index: 62,
9963
+ isBkr: false
9964
+ };
9965
+ this.rules[63] = {
9966
+ name: 'name-first',
9967
+ lower: 'name-first',
9968
+ index: 63,
9969
+ isBkr: false
9970
+ };
9971
+ this.rules[64] = {
9972
+ name: 'name-char',
9973
+ lower: 'name-char',
9974
+ index: 64,
9975
+ isBkr: false
9976
+ };
9977
+ this.rules[65] = {
9978
+ name: 'DIGIT',
9979
+ lower: 'digit',
9980
+ index: 65,
9981
+ isBkr: false
9982
+ };
9983
+ this.rules[66] = {
9984
+ name: 'ALPHA',
9985
+ lower: 'alpha',
9986
+ index: 66,
9987
+ isBkr: false
9988
+ };
9989
+ this.rules[67] = {
9990
+ name: 'descendant-segment',
9991
+ lower: 'descendant-segment',
9992
+ index: 67,
9993
+ isBkr: false
9994
+ };
9995
+ this.rules[68] = {
9996
+ name: 'normalized-path',
9997
+ lower: 'normalized-path',
9998
+ index: 68,
9999
+ isBkr: false
10000
+ };
10001
+ this.rules[69] = {
10002
+ name: 'normal-index-segment',
10003
+ lower: 'normal-index-segment',
10004
+ index: 69,
10005
+ isBkr: false
10006
+ };
10007
+ this.rules[70] = {
10008
+ name: 'normal-selector',
10009
+ lower: 'normal-selector',
10010
+ index: 70,
10011
+ isBkr: false
10012
+ };
10013
+ this.rules[71] = {
10014
+ name: 'normal-name-selector',
10015
+ lower: 'normal-name-selector',
10016
+ index: 71,
10017
+ isBkr: false
10018
+ };
10019
+ this.rules[72] = {
10020
+ name: 'normal-single-quoted',
10021
+ lower: 'normal-single-quoted',
10022
+ index: 72,
10023
+ isBkr: false
10024
+ };
10025
+ this.rules[73] = {
10026
+ name: 'normal-unescaped',
10027
+ lower: 'normal-unescaped',
10028
+ index: 73,
10029
+ isBkr: false
10030
+ };
10031
+ this.rules[74] = {
10032
+ name: 'normal-escapable',
10033
+ lower: 'normal-escapable',
10034
+ index: 74,
10035
+ isBkr: false
10036
+ };
10037
+ this.rules[75] = {
10038
+ name: 'normal-hexchar',
10039
+ lower: 'normal-hexchar',
10040
+ index: 75,
10041
+ isBkr: false
10042
+ };
10043
+ this.rules[76] = {
10044
+ name: 'normal-HEXDIG',
10045
+ lower: 'normal-hexdig',
10046
+ index: 76,
10047
+ isBkr: false
10048
+ };
10049
+ this.rules[77] = {
10050
+ name: 'normal-index-selector',
10051
+ lower: 'normal-index-selector',
10052
+ index: 77,
10053
+ isBkr: false
10054
+ };
10055
+ this.rules[78] = {
10056
+ name: 'dot-prefix',
10057
+ lower: 'dot-prefix',
10058
+ index: 78,
10059
+ isBkr: false
10060
+ };
10061
+ this.rules[79] = {
10062
+ name: 'double-dot-prefix',
10063
+ lower: 'double-dot-prefix',
10064
+ index: 79,
10065
+ isBkr: false
10066
+ };
10067
+ this.rules[80] = {
10068
+ name: 'left-bracket',
10069
+ lower: 'left-bracket',
10070
+ index: 80,
10071
+ isBkr: false
10072
+ };
10073
+ this.rules[81] = {
10074
+ name: 'right-bracket',
10075
+ lower: 'right-bracket',
10076
+ index: 81,
10077
+ isBkr: false
10078
+ };
10079
+ this.rules[82] = {
10080
+ name: 'left-paren',
10081
+ lower: 'left-paren',
10082
+ index: 82,
10083
+ isBkr: false
10084
+ };
10085
+ this.rules[83] = {
10086
+ name: 'right-paren',
10087
+ lower: 'right-paren',
10088
+ index: 83,
10089
+ isBkr: false
10090
+ };
10091
+ this.rules[84] = {
10092
+ name: 'comma',
10093
+ lower: 'comma',
10094
+ index: 84,
10095
+ isBkr: false
10096
+ };
10097
+ this.rules[85] = {
10098
+ name: 'colon',
10099
+ lower: 'colon',
10100
+ index: 85,
10101
+ isBkr: false
10102
+ };
10103
+ this.rules[86] = {
10104
+ name: 'dquote',
10105
+ lower: 'dquote',
10106
+ index: 86,
10107
+ isBkr: false
10108
+ };
10109
+ this.rules[87] = {
10110
+ name: 'squote',
10111
+ lower: 'squote',
10112
+ index: 87,
10113
+ isBkr: false
10114
+ };
10115
+ this.rules[88] = {
10116
+ name: 'questionmark',
10117
+ lower: 'questionmark',
10118
+ index: 88,
10119
+ isBkr: false
10120
+ };
10121
+ this.rules[89] = {
10122
+ name: 'disjunction',
10123
+ lower: 'disjunction',
10124
+ index: 89,
10125
+ isBkr: false
10126
+ };
10127
+ this.rules[90] = {
10128
+ name: 'conjunction',
10129
+ lower: 'conjunction',
10130
+ index: 90,
10131
+ isBkr: false
10132
+ };
10133
+
10134
+ /* UDTS */
10135
+ this.udts = [];
10136
+
10137
+ /* OPCODES */
10138
+ /* jsonpath-query */
10139
+ this.rules[0].opcodes = [];
10140
+ this.rules[0].opcodes[0] = {
10141
+ type: 2,
10142
+ children: [1, 2]
10143
+ }; // CAT
10144
+ this.rules[0].opcodes[1] = {
10145
+ type: 4,
10146
+ index: 4
10147
+ }; // RNM(root-identifier)
10148
+ this.rules[0].opcodes[2] = {
10149
+ type: 4,
10150
+ index: 1
10151
+ }; // RNM(segments)
10152
+
10153
+ /* segments */
10154
+ this.rules[1].opcodes = [];
10155
+ this.rules[1].opcodes[0] = {
10156
+ type: 3,
10157
+ min: 0,
10158
+ max: Infinity
10159
+ }; // REP
10160
+ this.rules[1].opcodes[1] = {
10161
+ type: 2,
10162
+ children: [2, 3]
10163
+ }; // CAT
10164
+ this.rules[1].opcodes[2] = {
10165
+ type: 4,
10166
+ index: 3
10167
+ }; // RNM(S)
10168
+ this.rules[1].opcodes[3] = {
10169
+ type: 4,
10170
+ index: 59
10171
+ }; // RNM(segment)
10172
+
10173
+ /* B */
10174
+ this.rules[2].opcodes = [];
10175
+ this.rules[2].opcodes[0] = {
10176
+ type: 1,
10177
+ children: [1, 2, 3, 4]
10178
+ }; // ALT
10179
+ this.rules[2].opcodes[1] = {
10180
+ type: 6,
10181
+ string: [32]
10182
+ }; // TBS
10183
+ this.rules[2].opcodes[2] = {
10184
+ type: 6,
10185
+ string: [9]
10186
+ }; // TBS
10187
+ this.rules[2].opcodes[3] = {
10188
+ type: 6,
10189
+ string: [10]
10190
+ }; // TBS
10191
+ this.rules[2].opcodes[4] = {
10192
+ type: 6,
10193
+ string: [13]
10194
+ }; // TBS
10195
+
10196
+ /* S */
10197
+ this.rules[3].opcodes = [];
10198
+ this.rules[3].opcodes[0] = {
10199
+ type: 3,
10200
+ min: 0,
10201
+ max: Infinity
10202
+ }; // REP
10203
+ this.rules[3].opcodes[1] = {
10204
+ type: 4,
10205
+ index: 2
10206
+ }; // RNM(B)
10207
+
10208
+ /* root-identifier */
10209
+ this.rules[4].opcodes = [];
10210
+ this.rules[4].opcodes[0] = {
10211
+ type: 7,
10212
+ string: [36]
10213
+ }; // TLS
10214
+
10215
+ /* selector */
10216
+ this.rules[5].opcodes = [];
10217
+ this.rules[5].opcodes[0] = {
10218
+ type: 1,
10219
+ children: [1, 2, 3, 4, 5]
10220
+ }; // ALT
10221
+ this.rules[5].opcodes[1] = {
10222
+ type: 4,
10223
+ index: 6
10224
+ }; // RNM(name-selector)
10225
+ this.rules[5].opcodes[2] = {
10226
+ type: 4,
10227
+ index: 18
10228
+ }; // RNM(wildcard-selector)
10229
+ this.rules[5].opcodes[3] = {
10230
+ type: 4,
10231
+ index: 22
10232
+ }; // RNM(slice-selector)
10233
+ this.rules[5].opcodes[4] = {
10234
+ type: 4,
10235
+ index: 19
10236
+ }; // RNM(index-selector)
10237
+ this.rules[5].opcodes[5] = {
10238
+ type: 4,
10239
+ index: 26
10240
+ }; // RNM(filter-selector)
10241
+
10242
+ /* name-selector */
10243
+ this.rules[6].opcodes = [];
10244
+ this.rules[6].opcodes[0] = {
10245
+ type: 4,
10246
+ index: 7
10247
+ }; // RNM(string-literal)
10248
+
10249
+ /* string-literal */
10250
+ this.rules[7].opcodes = [];
10251
+ this.rules[7].opcodes[0] = {
10252
+ type: 1,
10253
+ children: [1, 6]
10254
+ }; // ALT
10255
+ this.rules[7].opcodes[1] = {
10256
+ type: 2,
10257
+ children: [2, 3, 5]
10258
+ }; // CAT
10259
+ this.rules[7].opcodes[2] = {
10260
+ type: 4,
10261
+ index: 86
10262
+ }; // RNM(dquote)
10263
+ this.rules[7].opcodes[3] = {
10264
+ type: 3,
10265
+ min: 0,
10266
+ max: Infinity
10267
+ }; // REP
10268
+ this.rules[7].opcodes[4] = {
10269
+ type: 4,
10270
+ index: 8
10271
+ }; // RNM(double-quoted)
10272
+ this.rules[7].opcodes[5] = {
10273
+ type: 4,
10274
+ index: 86
10275
+ }; // RNM(dquote)
10276
+ this.rules[7].opcodes[6] = {
10277
+ type: 2,
10278
+ children: [7, 8, 10]
10279
+ }; // CAT
10280
+ this.rules[7].opcodes[7] = {
10281
+ type: 4,
10282
+ index: 87
10283
+ }; // RNM(squote)
10284
+ this.rules[7].opcodes[8] = {
10285
+ type: 3,
10286
+ min: 0,
10287
+ max: Infinity
10288
+ }; // REP
10289
+ this.rules[7].opcodes[9] = {
10290
+ type: 4,
10291
+ index: 9
10292
+ }; // RNM(single-quoted)
10293
+ this.rules[7].opcodes[10] = {
10294
+ type: 4,
10295
+ index: 87
10296
+ }; // RNM(squote)
10297
+
10298
+ /* double-quoted */
10299
+ this.rules[8].opcodes = [];
10300
+ this.rules[8].opcodes[0] = {
10301
+ type: 1,
10302
+ children: [1, 2, 3, 6]
10303
+ }; // ALT
10304
+ this.rules[8].opcodes[1] = {
10305
+ type: 4,
10306
+ index: 11
10307
+ }; // RNM(unescaped)
10308
+ this.rules[8].opcodes[2] = {
10309
+ type: 6,
10310
+ string: [39]
10311
+ }; // TBS
10312
+ this.rules[8].opcodes[3] = {
10313
+ type: 2,
10314
+ children: [4, 5]
10315
+ }; // CAT
10316
+ this.rules[8].opcodes[4] = {
10317
+ type: 4,
10318
+ index: 10
10319
+ }; // RNM(ESC)
10320
+ this.rules[8].opcodes[5] = {
10321
+ type: 6,
10322
+ string: [34]
10323
+ }; // TBS
10324
+ this.rules[8].opcodes[6] = {
10325
+ type: 2,
10326
+ children: [7, 8]
10327
+ }; // CAT
10328
+ this.rules[8].opcodes[7] = {
10329
+ type: 4,
10330
+ index: 10
10331
+ }; // RNM(ESC)
10332
+ this.rules[8].opcodes[8] = {
10333
+ type: 4,
10334
+ index: 12
10335
+ }; // RNM(escapable)
10336
+
10337
+ /* single-quoted */
10338
+ this.rules[9].opcodes = [];
10339
+ this.rules[9].opcodes[0] = {
10340
+ type: 1,
10341
+ children: [1, 2, 3, 6]
10342
+ }; // ALT
10343
+ this.rules[9].opcodes[1] = {
10344
+ type: 4,
10345
+ index: 11
10346
+ }; // RNM(unescaped)
10347
+ this.rules[9].opcodes[2] = {
10348
+ type: 6,
10349
+ string: [34]
10350
+ }; // TBS
10351
+ this.rules[9].opcodes[3] = {
10352
+ type: 2,
10353
+ children: [4, 5]
10354
+ }; // CAT
10355
+ this.rules[9].opcodes[4] = {
10356
+ type: 4,
10357
+ index: 10
10358
+ }; // RNM(ESC)
10359
+ this.rules[9].opcodes[5] = {
10360
+ type: 6,
10361
+ string: [39]
10362
+ }; // TBS
10363
+ this.rules[9].opcodes[6] = {
10364
+ type: 2,
10365
+ children: [7, 8]
10366
+ }; // CAT
10367
+ this.rules[9].opcodes[7] = {
10368
+ type: 4,
10369
+ index: 10
10370
+ }; // RNM(ESC)
10371
+ this.rules[9].opcodes[8] = {
10372
+ type: 4,
10373
+ index: 12
10374
+ }; // RNM(escapable)
10375
+
10376
+ /* ESC */
10377
+ this.rules[10].opcodes = [];
10378
+ this.rules[10].opcodes[0] = {
10379
+ type: 6,
10380
+ string: [92]
10381
+ }; // TBS
10382
+
10383
+ /* unescaped */
10384
+ this.rules[11].opcodes = [];
10385
+ this.rules[11].opcodes[0] = {
10386
+ type: 1,
10387
+ children: [1, 2, 3, 4, 5]
10388
+ }; // ALT
10389
+ this.rules[11].opcodes[1] = {
10390
+ type: 5,
10391
+ min: 32,
10392
+ max: 33
10393
+ }; // TRG
10394
+ this.rules[11].opcodes[2] = {
10395
+ type: 5,
10396
+ min: 35,
10397
+ max: 38
10398
+ }; // TRG
10399
+ this.rules[11].opcodes[3] = {
10400
+ type: 5,
10401
+ min: 40,
10402
+ max: 91
10403
+ }; // TRG
10404
+ this.rules[11].opcodes[4] = {
10405
+ type: 5,
10406
+ min: 93,
10407
+ max: 55295
10408
+ }; // TRG
10409
+ this.rules[11].opcodes[5] = {
10410
+ type: 5,
10411
+ min: 57344,
10412
+ max: 1114111
10413
+ }; // TRG
10414
+
10415
+ /* escapable */
10416
+ this.rules[12].opcodes = [];
10417
+ this.rules[12].opcodes[0] = {
10418
+ type: 1,
10419
+ children: [1, 2, 3, 4, 5, 6, 7, 8]
10420
+ }; // ALT
10421
+ this.rules[12].opcodes[1] = {
10422
+ type: 6,
10423
+ string: [98]
10424
+ }; // TBS
10425
+ this.rules[12].opcodes[2] = {
10426
+ type: 6,
10427
+ string: [102]
10428
+ }; // TBS
10429
+ this.rules[12].opcodes[3] = {
10430
+ type: 6,
10431
+ string: [110]
10432
+ }; // TBS
10433
+ this.rules[12].opcodes[4] = {
10434
+ type: 6,
10435
+ string: [114]
10436
+ }; // TBS
10437
+ this.rules[12].opcodes[5] = {
10438
+ type: 6,
10439
+ string: [116]
10440
+ }; // TBS
10441
+ this.rules[12].opcodes[6] = {
10442
+ type: 7,
10443
+ string: [47]
10444
+ }; // TLS
10445
+ this.rules[12].opcodes[7] = {
10446
+ type: 7,
10447
+ string: [92]
10448
+ }; // TLS
10449
+ this.rules[12].opcodes[8] = {
10450
+ type: 2,
10451
+ children: [9, 10]
10452
+ }; // CAT
10453
+ this.rules[12].opcodes[9] = {
10454
+ type: 6,
10455
+ string: [117]
10456
+ }; // TBS
10457
+ this.rules[12].opcodes[10] = {
10458
+ type: 4,
10459
+ index: 13
10460
+ }; // RNM(hexchar)
10461
+
10462
+ /* hexchar */
10463
+ this.rules[13].opcodes = [];
10464
+ this.rules[13].opcodes[0] = {
10465
+ type: 1,
10466
+ children: [1, 2]
10467
+ }; // ALT
10468
+ this.rules[13].opcodes[1] = {
10469
+ type: 4,
10470
+ index: 14
10471
+ }; // RNM(non-surrogate)
10472
+ this.rules[13].opcodes[2] = {
10473
+ type: 2,
10474
+ children: [3, 4, 5, 6]
10475
+ }; // CAT
10476
+ this.rules[13].opcodes[3] = {
10477
+ type: 4,
10478
+ index: 15
10479
+ }; // RNM(high-surrogate)
10480
+ this.rules[13].opcodes[4] = {
10481
+ type: 7,
10482
+ string: [92]
10483
+ }; // TLS
10484
+ this.rules[13].opcodes[5] = {
10485
+ type: 6,
10486
+ string: [117]
10487
+ }; // TBS
10488
+ this.rules[13].opcodes[6] = {
10489
+ type: 4,
10490
+ index: 16
10491
+ }; // RNM(low-surrogate)
10492
+
10493
+ /* non-surrogate */
10494
+ this.rules[14].opcodes = [];
10495
+ this.rules[14].opcodes[0] = {
10496
+ type: 1,
10497
+ children: [1, 11]
10498
+ }; // ALT
10499
+ this.rules[14].opcodes[1] = {
10500
+ type: 2,
10501
+ children: [2, 9]
10502
+ }; // CAT
10503
+ this.rules[14].opcodes[2] = {
10504
+ type: 1,
10505
+ children: [3, 4, 5, 6, 7, 8]
10506
+ }; // ALT
10507
+ this.rules[14].opcodes[3] = {
10508
+ type: 4,
10509
+ index: 65
10510
+ }; // RNM(DIGIT)
10511
+ this.rules[14].opcodes[4] = {
10512
+ type: 7,
10513
+ string: [97]
10514
+ }; // TLS
10515
+ this.rules[14].opcodes[5] = {
10516
+ type: 7,
10517
+ string: [98]
10518
+ }; // TLS
10519
+ this.rules[14].opcodes[6] = {
10520
+ type: 7,
10521
+ string: [99]
10522
+ }; // TLS
10523
+ this.rules[14].opcodes[7] = {
10524
+ type: 7,
10525
+ string: [101]
10526
+ }; // TLS
10527
+ this.rules[14].opcodes[8] = {
10528
+ type: 7,
10529
+ string: [102]
10530
+ }; // TLS
10531
+ this.rules[14].opcodes[9] = {
10532
+ type: 3,
10533
+ min: 3,
10534
+ max: 3
10535
+ }; // REP
10536
+ this.rules[14].opcodes[10] = {
10537
+ type: 4,
10538
+ index: 17
10539
+ }; // RNM(HEXDIG)
10540
+ this.rules[14].opcodes[11] = {
10541
+ type: 2,
10542
+ children: [12, 13, 14]
10543
+ }; // CAT
10544
+ this.rules[14].opcodes[12] = {
10545
+ type: 7,
10546
+ string: [100]
10547
+ }; // TLS
10548
+ this.rules[14].opcodes[13] = {
10549
+ type: 5,
10550
+ min: 48,
10551
+ max: 55
10552
+ }; // TRG
10553
+ this.rules[14].opcodes[14] = {
10554
+ type: 3,
10555
+ min: 2,
10556
+ max: 2
10557
+ }; // REP
10558
+ this.rules[14].opcodes[15] = {
10559
+ type: 4,
10560
+ index: 17
10561
+ }; // RNM(HEXDIG)
10562
+
10563
+ /* high-surrogate */
10564
+ this.rules[15].opcodes = [];
10565
+ this.rules[15].opcodes[0] = {
10566
+ type: 2,
10567
+ children: [1, 2, 7]
10568
+ }; // CAT
10569
+ this.rules[15].opcodes[1] = {
10570
+ type: 7,
10571
+ string: [100]
10572
+ }; // TLS
10573
+ this.rules[15].opcodes[2] = {
10574
+ type: 1,
10575
+ children: [3, 4, 5, 6]
10576
+ }; // ALT
10577
+ this.rules[15].opcodes[3] = {
10578
+ type: 7,
10579
+ string: [56]
10580
+ }; // TLS
10581
+ this.rules[15].opcodes[4] = {
10582
+ type: 7,
10583
+ string: [57]
10584
+ }; // TLS
10585
+ this.rules[15].opcodes[5] = {
10586
+ type: 7,
10587
+ string: [97]
10588
+ }; // TLS
10589
+ this.rules[15].opcodes[6] = {
10590
+ type: 7,
10591
+ string: [98]
10592
+ }; // TLS
10593
+ this.rules[15].opcodes[7] = {
10594
+ type: 3,
10595
+ min: 2,
10596
+ max: 2
10597
+ }; // REP
10598
+ this.rules[15].opcodes[8] = {
10599
+ type: 4,
10600
+ index: 17
10601
+ }; // RNM(HEXDIG)
10602
+
10603
+ /* low-surrogate */
10604
+ this.rules[16].opcodes = [];
10605
+ this.rules[16].opcodes[0] = {
10606
+ type: 2,
10607
+ children: [1, 2, 7]
10608
+ }; // CAT
10609
+ this.rules[16].opcodes[1] = {
10610
+ type: 7,
10611
+ string: [100]
10612
+ }; // TLS
10613
+ this.rules[16].opcodes[2] = {
10614
+ type: 1,
10615
+ children: [3, 4, 5, 6]
10616
+ }; // ALT
10617
+ this.rules[16].opcodes[3] = {
10618
+ type: 7,
10619
+ string: [99]
10620
+ }; // TLS
10621
+ this.rules[16].opcodes[4] = {
10622
+ type: 7,
10623
+ string: [100]
10624
+ }; // TLS
10625
+ this.rules[16].opcodes[5] = {
10626
+ type: 7,
10627
+ string: [101]
10628
+ }; // TLS
10629
+ this.rules[16].opcodes[6] = {
10630
+ type: 7,
10631
+ string: [102]
10632
+ }; // TLS
10633
+ this.rules[16].opcodes[7] = {
10634
+ type: 3,
10635
+ min: 2,
10636
+ max: 2
10637
+ }; // REP
10638
+ this.rules[16].opcodes[8] = {
10639
+ type: 4,
10640
+ index: 17
10641
+ }; // RNM(HEXDIG)
10642
+
10643
+ /* HEXDIG */
10644
+ this.rules[17].opcodes = [];
10645
+ this.rules[17].opcodes[0] = {
10646
+ type: 1,
10647
+ children: [1, 2, 3, 4, 5, 6, 7]
10648
+ }; // ALT
10649
+ this.rules[17].opcodes[1] = {
10650
+ type: 4,
10651
+ index: 65
10652
+ }; // RNM(DIGIT)
10653
+ this.rules[17].opcodes[2] = {
10654
+ type: 7,
10655
+ string: [97]
10656
+ }; // TLS
10657
+ this.rules[17].opcodes[3] = {
10658
+ type: 7,
10659
+ string: [98]
10660
+ }; // TLS
10661
+ this.rules[17].opcodes[4] = {
10662
+ type: 7,
10663
+ string: [99]
10664
+ }; // TLS
10665
+ this.rules[17].opcodes[5] = {
10666
+ type: 7,
10667
+ string: [100]
10668
+ }; // TLS
10669
+ this.rules[17].opcodes[6] = {
10670
+ type: 7,
10671
+ string: [101]
10672
+ }; // TLS
10673
+ this.rules[17].opcodes[7] = {
10674
+ type: 7,
10675
+ string: [102]
10676
+ }; // TLS
10677
+
10678
+ /* wildcard-selector */
10679
+ this.rules[18].opcodes = [];
10680
+ this.rules[18].opcodes[0] = {
10681
+ type: 7,
10682
+ string: [42]
10683
+ }; // TLS
10684
+
10685
+ /* index-selector */
10686
+ this.rules[19].opcodes = [];
10687
+ this.rules[19].opcodes[0] = {
10688
+ type: 4,
10689
+ index: 20
10690
+ }; // RNM(int)
10691
+
10692
+ /* int */
10693
+ this.rules[20].opcodes = [];
10694
+ this.rules[20].opcodes[0] = {
10695
+ type: 1,
10696
+ children: [1, 2]
10697
+ }; // ALT
10698
+ this.rules[20].opcodes[1] = {
10699
+ type: 7,
10700
+ string: [48]
10701
+ }; // TLS
10702
+ this.rules[20].opcodes[2] = {
10703
+ type: 2,
10704
+ children: [3, 5, 6]
10705
+ }; // CAT
10706
+ this.rules[20].opcodes[3] = {
10707
+ type: 3,
10708
+ min: 0,
10709
+ max: 1
10710
+ }; // REP
10711
+ this.rules[20].opcodes[4] = {
10712
+ type: 7,
10713
+ string: [45]
10714
+ }; // TLS
10715
+ this.rules[20].opcodes[5] = {
10716
+ type: 4,
10717
+ index: 21
10718
+ }; // RNM(DIGIT1)
10719
+ this.rules[20].opcodes[6] = {
10720
+ type: 3,
10721
+ min: 0,
10722
+ max: Infinity
10723
+ }; // REP
10724
+ this.rules[20].opcodes[7] = {
10725
+ type: 4,
10726
+ index: 65
10727
+ }; // RNM(DIGIT)
10728
+
10729
+ /* DIGIT1 */
10730
+ this.rules[21].opcodes = [];
10731
+ this.rules[21].opcodes[0] = {
10732
+ type: 5,
10733
+ min: 49,
10734
+ max: 57
10735
+ }; // TRG
10736
+
10737
+ /* slice-selector */
10738
+ this.rules[22].opcodes = [];
10739
+ this.rules[22].opcodes[0] = {
10740
+ type: 2,
10741
+ children: [1, 5, 6, 7, 11]
10742
+ }; // CAT
10743
+ this.rules[22].opcodes[1] = {
10744
+ type: 3,
10745
+ min: 0,
10746
+ max: 1
10747
+ }; // REP
10748
+ this.rules[22].opcodes[2] = {
10749
+ type: 2,
10750
+ children: [3, 4]
10751
+ }; // CAT
10752
+ this.rules[22].opcodes[3] = {
10753
+ type: 4,
10754
+ index: 23
10755
+ }; // RNM(start)
10756
+ this.rules[22].opcodes[4] = {
10757
+ type: 4,
10758
+ index: 3
10759
+ }; // RNM(S)
10760
+ this.rules[22].opcodes[5] = {
10761
+ type: 4,
10762
+ index: 85
10763
+ }; // RNM(colon)
10764
+ this.rules[22].opcodes[6] = {
10765
+ type: 4,
10766
+ index: 3
10767
+ }; // RNM(S)
10768
+ this.rules[22].opcodes[7] = {
10769
+ type: 3,
10770
+ min: 0,
10771
+ max: 1
10772
+ }; // REP
10773
+ this.rules[22].opcodes[8] = {
10774
+ type: 2,
10775
+ children: [9, 10]
10776
+ }; // CAT
10777
+ this.rules[22].opcodes[9] = {
10778
+ type: 4,
10779
+ index: 24
10780
+ }; // RNM(end)
10781
+ this.rules[22].opcodes[10] = {
10782
+ type: 4,
10783
+ index: 3
10784
+ }; // RNM(S)
10785
+ this.rules[22].opcodes[11] = {
10786
+ type: 3,
10787
+ min: 0,
10788
+ max: 1
10789
+ }; // REP
10790
+ this.rules[22].opcodes[12] = {
10791
+ type: 2,
10792
+ children: [13, 14]
10793
+ }; // CAT
10794
+ this.rules[22].opcodes[13] = {
10795
+ type: 4,
10796
+ index: 85
10797
+ }; // RNM(colon)
10798
+ this.rules[22].opcodes[14] = {
10799
+ type: 3,
10800
+ min: 0,
10801
+ max: 1
10802
+ }; // REP
10803
+ this.rules[22].opcodes[15] = {
10804
+ type: 2,
10805
+ children: [16, 17]
10806
+ }; // CAT
10807
+ this.rules[22].opcodes[16] = {
10808
+ type: 4,
10809
+ index: 3
10810
+ }; // RNM(S)
10811
+ this.rules[22].opcodes[17] = {
10812
+ type: 4,
10813
+ index: 25
10814
+ }; // RNM(step)
10815
+
10816
+ /* start */
10817
+ this.rules[23].opcodes = [];
10818
+ this.rules[23].opcodes[0] = {
10819
+ type: 4,
10820
+ index: 20
10821
+ }; // RNM(int)
10822
+
10823
+ /* end */
10824
+ this.rules[24].opcodes = [];
10825
+ this.rules[24].opcodes[0] = {
10826
+ type: 4,
10827
+ index: 20
10828
+ }; // RNM(int)
10829
+
10830
+ /* step */
10831
+ this.rules[25].opcodes = [];
10832
+ this.rules[25].opcodes[0] = {
10833
+ type: 4,
10834
+ index: 20
10835
+ }; // RNM(int)
10836
+
10837
+ /* filter-selector */
10838
+ this.rules[26].opcodes = [];
10839
+ this.rules[26].opcodes[0] = {
10840
+ type: 2,
10841
+ children: [1, 2, 3]
10842
+ }; // CAT
10843
+ this.rules[26].opcodes[1] = {
10844
+ type: 4,
10845
+ index: 88
10846
+ }; // RNM(questionmark)
10847
+ this.rules[26].opcodes[2] = {
10848
+ type: 4,
10849
+ index: 3
10850
+ }; // RNM(S)
10851
+ this.rules[26].opcodes[3] = {
10852
+ type: 4,
10853
+ index: 27
10854
+ }; // RNM(logical-expr)
10855
+
10856
+ /* logical-expr */
10857
+ this.rules[27].opcodes = [];
10858
+ this.rules[27].opcodes[0] = {
10859
+ type: 4,
10860
+ index: 28
10861
+ }; // RNM(logical-or-expr)
10862
+
10863
+ /* logical-or-expr */
10864
+ this.rules[28].opcodes = [];
10865
+ this.rules[28].opcodes[0] = {
10866
+ type: 2,
10867
+ children: [1, 2]
10868
+ }; // CAT
10869
+ this.rules[28].opcodes[1] = {
10870
+ type: 4,
10871
+ index: 29
10872
+ }; // RNM(logical-and-expr)
10873
+ this.rules[28].opcodes[2] = {
10874
+ type: 3,
10875
+ min: 0,
10876
+ max: Infinity
10877
+ }; // REP
10878
+ this.rules[28].opcodes[3] = {
10879
+ type: 2,
10880
+ children: [4, 5, 6, 7]
10881
+ }; // CAT
10882
+ this.rules[28].opcodes[4] = {
10883
+ type: 4,
10884
+ index: 3
10885
+ }; // RNM(S)
10886
+ this.rules[28].opcodes[5] = {
10887
+ type: 4,
10888
+ index: 89
10889
+ }; // RNM(disjunction)
10890
+ this.rules[28].opcodes[6] = {
10891
+ type: 4,
10892
+ index: 3
10893
+ }; // RNM(S)
10894
+ this.rules[28].opcodes[7] = {
10895
+ type: 4,
10896
+ index: 29
10897
+ }; // RNM(logical-and-expr)
10898
+
10899
+ /* logical-and-expr */
10900
+ this.rules[29].opcodes = [];
10901
+ this.rules[29].opcodes[0] = {
10902
+ type: 2,
10903
+ children: [1, 2]
10904
+ }; // CAT
10905
+ this.rules[29].opcodes[1] = {
10906
+ type: 4,
10907
+ index: 30
10908
+ }; // RNM(basic-expr)
10909
+ this.rules[29].opcodes[2] = {
10910
+ type: 3,
10911
+ min: 0,
10912
+ max: Infinity
10913
+ }; // REP
10914
+ this.rules[29].opcodes[3] = {
10915
+ type: 2,
10916
+ children: [4, 5, 6, 7]
10917
+ }; // CAT
10918
+ this.rules[29].opcodes[4] = {
10919
+ type: 4,
10920
+ index: 3
10921
+ }; // RNM(S)
10922
+ this.rules[29].opcodes[5] = {
10923
+ type: 4,
10924
+ index: 90
10925
+ }; // RNM(conjunction)
10926
+ this.rules[29].opcodes[6] = {
10927
+ type: 4,
10928
+ index: 3
10929
+ }; // RNM(S)
10930
+ this.rules[29].opcodes[7] = {
10931
+ type: 4,
10932
+ index: 30
10933
+ }; // RNM(basic-expr)
10934
+
10935
+ /* basic-expr */
10936
+ this.rules[30].opcodes = [];
10937
+ this.rules[30].opcodes[0] = {
10938
+ type: 1,
10939
+ children: [1, 2, 3]
10940
+ }; // ALT
10941
+ this.rules[30].opcodes[1] = {
10942
+ type: 4,
10943
+ index: 31
10944
+ }; // RNM(paren-expr)
10945
+ this.rules[30].opcodes[2] = {
10946
+ type: 4,
10947
+ index: 37
10948
+ }; // RNM(comparison-expr)
10949
+ this.rules[30].opcodes[3] = {
10950
+ type: 4,
10951
+ index: 33
10952
+ }; // RNM(test-expr)
10953
+
10954
+ /* paren-expr */
10955
+ this.rules[31].opcodes = [];
10956
+ this.rules[31].opcodes[0] = {
10957
+ type: 2,
10958
+ children: [1, 5, 6, 7, 8, 9]
10959
+ }; // CAT
10960
+ this.rules[31].opcodes[1] = {
10961
+ type: 3,
10962
+ min: 0,
10963
+ max: 1
10964
+ }; // REP
10965
+ this.rules[31].opcodes[2] = {
10966
+ type: 2,
10967
+ children: [3, 4]
10968
+ }; // CAT
10969
+ this.rules[31].opcodes[3] = {
10970
+ type: 4,
10971
+ index: 32
10972
+ }; // RNM(logical-not-op)
10973
+ this.rules[31].opcodes[4] = {
10974
+ type: 4,
10975
+ index: 3
10976
+ }; // RNM(S)
10977
+ this.rules[31].opcodes[5] = {
10978
+ type: 4,
10979
+ index: 82
10980
+ }; // RNM(left-paren)
10981
+ this.rules[31].opcodes[6] = {
10982
+ type: 4,
10983
+ index: 3
10984
+ }; // RNM(S)
10985
+ this.rules[31].opcodes[7] = {
10986
+ type: 4,
10987
+ index: 27
10988
+ }; // RNM(logical-expr)
10989
+ this.rules[31].opcodes[8] = {
10990
+ type: 4,
10991
+ index: 3
10992
+ }; // RNM(S)
10993
+ this.rules[31].opcodes[9] = {
10994
+ type: 4,
10995
+ index: 83
10996
+ }; // RNM(right-paren)
10997
+
10998
+ /* logical-not-op */
10999
+ this.rules[32].opcodes = [];
11000
+ this.rules[32].opcodes[0] = {
11001
+ type: 7,
11002
+ string: [33]
11003
+ }; // TLS
11004
+
11005
+ /* test-expr */
11006
+ this.rules[33].opcodes = [];
11007
+ this.rules[33].opcodes[0] = {
11008
+ type: 2,
11009
+ children: [1, 5]
11010
+ }; // CAT
11011
+ this.rules[33].opcodes[1] = {
11012
+ type: 3,
11013
+ min: 0,
11014
+ max: 1
11015
+ }; // REP
11016
+ this.rules[33].opcodes[2] = {
11017
+ type: 2,
11018
+ children: [3, 4]
11019
+ }; // CAT
11020
+ this.rules[33].opcodes[3] = {
11021
+ type: 4,
11022
+ index: 32
11023
+ }; // RNM(logical-not-op)
11024
+ this.rules[33].opcodes[4] = {
11025
+ type: 4,
11026
+ index: 3
11027
+ }; // RNM(S)
11028
+ this.rules[33].opcodes[5] = {
11029
+ type: 1,
11030
+ children: [6, 7]
11031
+ }; // ALT
11032
+ this.rules[33].opcodes[6] = {
11033
+ type: 4,
11034
+ index: 34
11035
+ }; // RNM(filter-query)
11036
+ this.rules[33].opcodes[7] = {
11037
+ type: 4,
11038
+ index: 57
11039
+ }; // RNM(function-expr)
11040
+
11041
+ /* filter-query */
11042
+ this.rules[34].opcodes = [];
11043
+ this.rules[34].opcodes[0] = {
11044
+ type: 1,
11045
+ children: [1, 2]
11046
+ }; // ALT
11047
+ this.rules[34].opcodes[1] = {
11048
+ type: 4,
11049
+ index: 35
11050
+ }; // RNM(rel-query)
11051
+ this.rules[34].opcodes[2] = {
11052
+ type: 4,
11053
+ index: 0
11054
+ }; // RNM(jsonpath-query)
11055
+
11056
+ /* rel-query */
11057
+ this.rules[35].opcodes = [];
11058
+ this.rules[35].opcodes[0] = {
11059
+ type: 2,
11060
+ children: [1, 2]
11061
+ }; // CAT
11062
+ this.rules[35].opcodes[1] = {
11063
+ type: 4,
11064
+ index: 36
11065
+ }; // RNM(current-node-identifier)
11066
+ this.rules[35].opcodes[2] = {
11067
+ type: 4,
11068
+ index: 1
11069
+ }; // RNM(segments)
11070
+
11071
+ /* current-node-identifier */
11072
+ this.rules[36].opcodes = [];
11073
+ this.rules[36].opcodes[0] = {
11074
+ type: 7,
11075
+ string: [64]
11076
+ }; // TLS
11077
+
11078
+ /* comparison-expr */
11079
+ this.rules[37].opcodes = [];
11080
+ this.rules[37].opcodes[0] = {
11081
+ type: 2,
11082
+ children: [1, 2, 3, 4, 5]
11083
+ }; // CAT
11084
+ this.rules[37].opcodes[1] = {
11085
+ type: 4,
11086
+ index: 39
11087
+ }; // RNM(comparable)
11088
+ this.rules[37].opcodes[2] = {
11089
+ type: 4,
11090
+ index: 3
11091
+ }; // RNM(S)
11092
+ this.rules[37].opcodes[3] = {
11093
+ type: 4,
11094
+ index: 40
11095
+ }; // RNM(comparison-op)
11096
+ this.rules[37].opcodes[4] = {
11097
+ type: 4,
11098
+ index: 3
11099
+ }; // RNM(S)
11100
+ this.rules[37].opcodes[5] = {
11101
+ type: 4,
11102
+ index: 39
11103
+ }; // RNM(comparable)
11104
+
11105
+ /* literal */
11106
+ this.rules[38].opcodes = [];
11107
+ this.rules[38].opcodes[0] = {
11108
+ type: 1,
11109
+ children: [1, 2, 3, 4, 5]
11110
+ }; // ALT
11111
+ this.rules[38].opcodes[1] = {
11112
+ type: 4,
11113
+ index: 47
11114
+ }; // RNM(number)
11115
+ this.rules[38].opcodes[2] = {
11116
+ type: 4,
11117
+ index: 7
11118
+ }; // RNM(string-literal)
11119
+ this.rules[38].opcodes[3] = {
11120
+ type: 4,
11121
+ index: 50
11122
+ }; // RNM(true)
11123
+ this.rules[38].opcodes[4] = {
11124
+ type: 4,
11125
+ index: 51
11126
+ }; // RNM(false)
11127
+ this.rules[38].opcodes[5] = {
11128
+ type: 4,
11129
+ index: 52
11130
+ }; // RNM(null)
11131
+
11132
+ /* comparable */
11133
+ this.rules[39].opcodes = [];
11134
+ this.rules[39].opcodes[0] = {
11135
+ type: 1,
11136
+ children: [1, 2, 3]
11137
+ }; // ALT
11138
+ this.rules[39].opcodes[1] = {
11139
+ type: 4,
11140
+ index: 41
11141
+ }; // RNM(singular-query)
11142
+ this.rules[39].opcodes[2] = {
11143
+ type: 4,
11144
+ index: 57
11145
+ }; // RNM(function-expr)
11146
+ this.rules[39].opcodes[3] = {
11147
+ type: 4,
11148
+ index: 38
11149
+ }; // RNM(literal)
11150
+
11151
+ /* comparison-op */
11152
+ this.rules[40].opcodes = [];
11153
+ this.rules[40].opcodes[0] = {
11154
+ type: 1,
11155
+ children: [1, 2, 3, 4, 5, 6]
11156
+ }; // ALT
11157
+ this.rules[40].opcodes[1] = {
11158
+ type: 7,
11159
+ string: [61, 61]
11160
+ }; // TLS
11161
+ this.rules[40].opcodes[2] = {
11162
+ type: 7,
11163
+ string: [33, 61]
11164
+ }; // TLS
11165
+ this.rules[40].opcodes[3] = {
11166
+ type: 7,
11167
+ string: [60, 61]
11168
+ }; // TLS
11169
+ this.rules[40].opcodes[4] = {
11170
+ type: 7,
11171
+ string: [62, 61]
11172
+ }; // TLS
11173
+ this.rules[40].opcodes[5] = {
11174
+ type: 7,
11175
+ string: [60]
11176
+ }; // TLS
11177
+ this.rules[40].opcodes[6] = {
11178
+ type: 7,
11179
+ string: [62]
11180
+ }; // TLS
11181
+
11182
+ /* singular-query */
11183
+ this.rules[41].opcodes = [];
11184
+ this.rules[41].opcodes[0] = {
11185
+ type: 1,
11186
+ children: [1, 2]
11187
+ }; // ALT
11188
+ this.rules[41].opcodes[1] = {
11189
+ type: 4,
11190
+ index: 42
11191
+ }; // RNM(rel-singular-query)
11192
+ this.rules[41].opcodes[2] = {
11193
+ type: 4,
11194
+ index: 43
11195
+ }; // RNM(abs-singular-query)
11196
+
11197
+ /* rel-singular-query */
11198
+ this.rules[42].opcodes = [];
11199
+ this.rules[42].opcodes[0] = {
11200
+ type: 2,
11201
+ children: [1, 2]
11202
+ }; // CAT
11203
+ this.rules[42].opcodes[1] = {
11204
+ type: 4,
11205
+ index: 36
11206
+ }; // RNM(current-node-identifier)
11207
+ this.rules[42].opcodes[2] = {
11208
+ type: 4,
11209
+ index: 44
11210
+ }; // RNM(singular-query-segments)
11211
+
11212
+ /* abs-singular-query */
11213
+ this.rules[43].opcodes = [];
11214
+ this.rules[43].opcodes[0] = {
11215
+ type: 2,
11216
+ children: [1, 2]
11217
+ }; // CAT
11218
+ this.rules[43].opcodes[1] = {
11219
+ type: 4,
11220
+ index: 4
11221
+ }; // RNM(root-identifier)
11222
+ this.rules[43].opcodes[2] = {
11223
+ type: 4,
11224
+ index: 44
11225
+ }; // RNM(singular-query-segments)
11226
+
11227
+ /* singular-query-segments */
11228
+ this.rules[44].opcodes = [];
11229
+ this.rules[44].opcodes[0] = {
11230
+ type: 3,
11231
+ min: 0,
11232
+ max: Infinity
11233
+ }; // REP
11234
+ this.rules[44].opcodes[1] = {
11235
+ type: 2,
11236
+ children: [2, 3]
11237
+ }; // CAT
11238
+ this.rules[44].opcodes[2] = {
11239
+ type: 4,
11240
+ index: 3
11241
+ }; // RNM(S)
11242
+ this.rules[44].opcodes[3] = {
11243
+ type: 1,
11244
+ children: [4, 5]
11245
+ }; // ALT
11246
+ this.rules[44].opcodes[4] = {
11247
+ type: 4,
11248
+ index: 45
11249
+ }; // RNM(name-segment)
11250
+ this.rules[44].opcodes[5] = {
11251
+ type: 4,
11252
+ index: 46
11253
+ }; // RNM(index-segment)
11254
+
11255
+ /* name-segment */
11256
+ this.rules[45].opcodes = [];
11257
+ this.rules[45].opcodes[0] = {
11258
+ type: 1,
11259
+ children: [1, 5]
11260
+ }; // ALT
11261
+ this.rules[45].opcodes[1] = {
11262
+ type: 2,
11263
+ children: [2, 3, 4]
11264
+ }; // CAT
11265
+ this.rules[45].opcodes[2] = {
11266
+ type: 4,
11267
+ index: 80
11268
+ }; // RNM(left-bracket)
11269
+ this.rules[45].opcodes[3] = {
11270
+ type: 4,
11271
+ index: 6
11272
+ }; // RNM(name-selector)
11273
+ this.rules[45].opcodes[4] = {
11274
+ type: 4,
11275
+ index: 81
11276
+ }; // RNM(right-bracket)
11277
+ this.rules[45].opcodes[5] = {
11278
+ type: 2,
11279
+ children: [6, 7]
11280
+ }; // CAT
11281
+ this.rules[45].opcodes[6] = {
11282
+ type: 4,
11283
+ index: 78
11284
+ }; // RNM(dot-prefix)
11285
+ this.rules[45].opcodes[7] = {
11286
+ type: 4,
11287
+ index: 62
11288
+ }; // RNM(member-name-shorthand)
11289
+
11290
+ /* index-segment */
11291
+ this.rules[46].opcodes = [];
11292
+ this.rules[46].opcodes[0] = {
11293
+ type: 2,
11294
+ children: [1, 2, 3]
11295
+ }; // CAT
11296
+ this.rules[46].opcodes[1] = {
11297
+ type: 4,
11298
+ index: 80
11299
+ }; // RNM(left-bracket)
11300
+ this.rules[46].opcodes[2] = {
11301
+ type: 4,
11302
+ index: 19
11303
+ }; // RNM(index-selector)
11304
+ this.rules[46].opcodes[3] = {
11305
+ type: 4,
11306
+ index: 81
11307
+ }; // RNM(right-bracket)
11308
+
11309
+ /* number */
11310
+ this.rules[47].opcodes = [];
11311
+ this.rules[47].opcodes[0] = {
11312
+ type: 2,
11313
+ children: [1, 4, 6]
11314
+ }; // CAT
11315
+ this.rules[47].opcodes[1] = {
11316
+ type: 1,
11317
+ children: [2, 3]
11318
+ }; // ALT
11319
+ this.rules[47].opcodes[2] = {
11320
+ type: 4,
11321
+ index: 20
11322
+ }; // RNM(int)
11323
+ this.rules[47].opcodes[3] = {
11324
+ type: 7,
11325
+ string: [45, 48]
11326
+ }; // TLS
11327
+ this.rules[47].opcodes[4] = {
11328
+ type: 3,
11329
+ min: 0,
11330
+ max: 1
11331
+ }; // REP
11332
+ this.rules[47].opcodes[5] = {
11333
+ type: 4,
11334
+ index: 48
11335
+ }; // RNM(frac)
11336
+ this.rules[47].opcodes[6] = {
11337
+ type: 3,
11338
+ min: 0,
11339
+ max: 1
11340
+ }; // REP
11341
+ this.rules[47].opcodes[7] = {
11342
+ type: 4,
11343
+ index: 49
11344
+ }; // RNM(exp)
11345
+
11346
+ /* frac */
11347
+ this.rules[48].opcodes = [];
11348
+ this.rules[48].opcodes[0] = {
11349
+ type: 2,
11350
+ children: [1, 2]
11351
+ }; // CAT
11352
+ this.rules[48].opcodes[1] = {
11353
+ type: 7,
11354
+ string: [46]
11355
+ }; // TLS
11356
+ this.rules[48].opcodes[2] = {
11357
+ type: 3,
11358
+ min: 1,
11359
+ max: Infinity
11360
+ }; // REP
11361
+ this.rules[48].opcodes[3] = {
11362
+ type: 4,
11363
+ index: 65
11364
+ }; // RNM(DIGIT)
11365
+
11366
+ /* exp */
11367
+ this.rules[49].opcodes = [];
11368
+ this.rules[49].opcodes[0] = {
11369
+ type: 2,
11370
+ children: [1, 2, 6]
11371
+ }; // CAT
11372
+ this.rules[49].opcodes[1] = {
11373
+ type: 7,
11374
+ string: [101]
11375
+ }; // TLS
11376
+ this.rules[49].opcodes[2] = {
11377
+ type: 3,
11378
+ min: 0,
11379
+ max: 1
11380
+ }; // REP
11381
+ this.rules[49].opcodes[3] = {
11382
+ type: 1,
11383
+ children: [4, 5]
11384
+ }; // ALT
11385
+ this.rules[49].opcodes[4] = {
11386
+ type: 7,
11387
+ string: [45]
11388
+ }; // TLS
11389
+ this.rules[49].opcodes[5] = {
11390
+ type: 7,
11391
+ string: [43]
11392
+ }; // TLS
11393
+ this.rules[49].opcodes[6] = {
11394
+ type: 3,
11395
+ min: 1,
11396
+ max: Infinity
11397
+ }; // REP
11398
+ this.rules[49].opcodes[7] = {
11399
+ type: 4,
11400
+ index: 65
11401
+ }; // RNM(DIGIT)
11402
+
11403
+ /* true */
11404
+ this.rules[50].opcodes = [];
11405
+ this.rules[50].opcodes[0] = {
11406
+ type: 6,
11407
+ string: [116, 114, 117, 101]
11408
+ }; // TBS
11409
+
11410
+ /* false */
11411
+ this.rules[51].opcodes = [];
11412
+ this.rules[51].opcodes[0] = {
11413
+ type: 6,
11414
+ string: [102, 97, 108, 115, 101]
11415
+ }; // TBS
11416
+
11417
+ /* null */
11418
+ this.rules[52].opcodes = [];
11419
+ this.rules[52].opcodes[0] = {
11420
+ type: 6,
11421
+ string: [110, 117, 108, 108]
11422
+ }; // TBS
11423
+
11424
+ /* function-name */
11425
+ this.rules[53].opcodes = [];
11426
+ this.rules[53].opcodes[0] = {
11427
+ type: 2,
11428
+ children: [1, 2]
11429
+ }; // CAT
11430
+ this.rules[53].opcodes[1] = {
11431
+ type: 4,
11432
+ index: 54
11433
+ }; // RNM(function-name-first)
11434
+ this.rules[53].opcodes[2] = {
11435
+ type: 3,
11436
+ min: 0,
11437
+ max: Infinity
11438
+ }; // REP
11439
+ this.rules[53].opcodes[3] = {
11440
+ type: 4,
11441
+ index: 55
11442
+ }; // RNM(function-name-char)
11443
+
11444
+ /* function-name-first */
11445
+ this.rules[54].opcodes = [];
11446
+ this.rules[54].opcodes[0] = {
11447
+ type: 4,
11448
+ index: 56
11449
+ }; // RNM(LCALPHA)
11450
+
11451
+ /* function-name-char */
11452
+ this.rules[55].opcodes = [];
11453
+ this.rules[55].opcodes[0] = {
11454
+ type: 1,
11455
+ children: [1, 2, 3]
11456
+ }; // ALT
11457
+ this.rules[55].opcodes[1] = {
11458
+ type: 4,
11459
+ index: 54
11460
+ }; // RNM(function-name-first)
11461
+ this.rules[55].opcodes[2] = {
11462
+ type: 7,
11463
+ string: [95]
11464
+ }; // TLS
11465
+ this.rules[55].opcodes[3] = {
11466
+ type: 4,
11467
+ index: 65
11468
+ }; // RNM(DIGIT)
11469
+
11470
+ /* LCALPHA */
11471
+ this.rules[56].opcodes = [];
11472
+ this.rules[56].opcodes[0] = {
11473
+ type: 5,
11474
+ min: 97,
11475
+ max: 122
11476
+ }; // TRG
11477
+
11478
+ /* function-expr */
11479
+ this.rules[57].opcodes = [];
11480
+ this.rules[57].opcodes[0] = {
11481
+ type: 2,
11482
+ children: [1, 2, 3, 4, 13, 14]
11483
+ }; // CAT
11484
+ this.rules[57].opcodes[1] = {
11485
+ type: 4,
11486
+ index: 53
11487
+ }; // RNM(function-name)
11488
+ this.rules[57].opcodes[2] = {
11489
+ type: 4,
11490
+ index: 82
11491
+ }; // RNM(left-paren)
11492
+ this.rules[57].opcodes[3] = {
11493
+ type: 4,
11494
+ index: 3
11495
+ }; // RNM(S)
11496
+ this.rules[57].opcodes[4] = {
11497
+ type: 3,
11498
+ min: 0,
11499
+ max: 1
11500
+ }; // REP
11501
+ this.rules[57].opcodes[5] = {
11502
+ type: 2,
11503
+ children: [6, 7]
11504
+ }; // CAT
11505
+ this.rules[57].opcodes[6] = {
11506
+ type: 4,
11507
+ index: 58
11508
+ }; // RNM(function-argument)
11509
+ this.rules[57].opcodes[7] = {
11510
+ type: 3,
11511
+ min: 0,
11512
+ max: Infinity
11513
+ }; // REP
11514
+ this.rules[57].opcodes[8] = {
11515
+ type: 2,
11516
+ children: [9, 10, 11, 12]
11517
+ }; // CAT
11518
+ this.rules[57].opcodes[9] = {
11519
+ type: 4,
11520
+ index: 3
11521
+ }; // RNM(S)
11522
+ this.rules[57].opcodes[10] = {
11523
+ type: 4,
11524
+ index: 84
11525
+ }; // RNM(comma)
11526
+ this.rules[57].opcodes[11] = {
11527
+ type: 4,
11528
+ index: 3
11529
+ }; // RNM(S)
11530
+ this.rules[57].opcodes[12] = {
11531
+ type: 4,
11532
+ index: 58
11533
+ }; // RNM(function-argument)
11534
+ this.rules[57].opcodes[13] = {
11535
+ type: 4,
11536
+ index: 3
11537
+ }; // RNM(S)
11538
+ this.rules[57].opcodes[14] = {
11539
+ type: 4,
11540
+ index: 83
11541
+ }; // RNM(right-paren)
11542
+
11543
+ /* function-argument */
11544
+ this.rules[58].opcodes = [];
11545
+ this.rules[58].opcodes[0] = {
11546
+ type: 1,
11547
+ children: [1, 2, 3, 4]
11548
+ }; // ALT
11549
+ this.rules[58].opcodes[1] = {
11550
+ type: 4,
11551
+ index: 27
11552
+ }; // RNM(logical-expr)
11553
+ this.rules[58].opcodes[2] = {
11554
+ type: 4,
11555
+ index: 34
11556
+ }; // RNM(filter-query)
11557
+ this.rules[58].opcodes[3] = {
11558
+ type: 4,
11559
+ index: 57
11560
+ }; // RNM(function-expr)
11561
+ this.rules[58].opcodes[4] = {
11562
+ type: 4,
11563
+ index: 38
11564
+ }; // RNM(literal)
11565
+
11566
+ /* segment */
11567
+ this.rules[59].opcodes = [];
11568
+ this.rules[59].opcodes[0] = {
11569
+ type: 1,
11570
+ children: [1, 2]
11571
+ }; // ALT
11572
+ this.rules[59].opcodes[1] = {
11573
+ type: 4,
11574
+ index: 60
11575
+ }; // RNM(child-segment)
11576
+ this.rules[59].opcodes[2] = {
11577
+ type: 4,
11578
+ index: 67
11579
+ }; // RNM(descendant-segment)
11580
+
11581
+ /* child-segment */
11582
+ this.rules[60].opcodes = [];
11583
+ this.rules[60].opcodes[0] = {
11584
+ type: 1,
11585
+ children: [1, 2]
11586
+ }; // ALT
11587
+ this.rules[60].opcodes[1] = {
11588
+ type: 4,
11589
+ index: 61
11590
+ }; // RNM(bracketed-selection)
11591
+ this.rules[60].opcodes[2] = {
11592
+ type: 2,
11593
+ children: [3, 4]
11594
+ }; // CAT
11595
+ this.rules[60].opcodes[3] = {
11596
+ type: 4,
11597
+ index: 78
11598
+ }; // RNM(dot-prefix)
11599
+ this.rules[60].opcodes[4] = {
11600
+ type: 1,
11601
+ children: [5, 6]
11602
+ }; // ALT
11603
+ this.rules[60].opcodes[5] = {
11604
+ type: 4,
11605
+ index: 18
11606
+ }; // RNM(wildcard-selector)
11607
+ this.rules[60].opcodes[6] = {
11608
+ type: 4,
11609
+ index: 62
11610
+ }; // RNM(member-name-shorthand)
11611
+
11612
+ /* bracketed-selection */
11613
+ this.rules[61].opcodes = [];
11614
+ this.rules[61].opcodes[0] = {
11615
+ type: 2,
11616
+ children: [1, 2, 3, 4, 10, 11]
11617
+ }; // CAT
11618
+ this.rules[61].opcodes[1] = {
11619
+ type: 4,
11620
+ index: 80
11621
+ }; // RNM(left-bracket)
11622
+ this.rules[61].opcodes[2] = {
11623
+ type: 4,
11624
+ index: 3
11625
+ }; // RNM(S)
11626
+ this.rules[61].opcodes[3] = {
11627
+ type: 4,
11628
+ index: 5
11629
+ }; // RNM(selector)
11630
+ this.rules[61].opcodes[4] = {
11631
+ type: 3,
11632
+ min: 0,
11633
+ max: Infinity
11634
+ }; // REP
11635
+ this.rules[61].opcodes[5] = {
11636
+ type: 2,
11637
+ children: [6, 7, 8, 9]
11638
+ }; // CAT
11639
+ this.rules[61].opcodes[6] = {
11640
+ type: 4,
11641
+ index: 3
11642
+ }; // RNM(S)
11643
+ this.rules[61].opcodes[7] = {
11644
+ type: 4,
11645
+ index: 84
11646
+ }; // RNM(comma)
11647
+ this.rules[61].opcodes[8] = {
11648
+ type: 4,
11649
+ index: 3
11650
+ }; // RNM(S)
11651
+ this.rules[61].opcodes[9] = {
11652
+ type: 4,
11653
+ index: 5
11654
+ }; // RNM(selector)
11655
+ this.rules[61].opcodes[10] = {
11656
+ type: 4,
11657
+ index: 3
11658
+ }; // RNM(S)
11659
+ this.rules[61].opcodes[11] = {
11660
+ type: 4,
11661
+ index: 81
11662
+ }; // RNM(right-bracket)
11663
+
11664
+ /* member-name-shorthand */
11665
+ this.rules[62].opcodes = [];
11666
+ this.rules[62].opcodes[0] = {
11667
+ type: 2,
11668
+ children: [1, 2]
11669
+ }; // CAT
11670
+ this.rules[62].opcodes[1] = {
11671
+ type: 4,
11672
+ index: 63
11673
+ }; // RNM(name-first)
11674
+ this.rules[62].opcodes[2] = {
11675
+ type: 3,
11676
+ min: 0,
11677
+ max: Infinity
11678
+ }; // REP
11679
+ this.rules[62].opcodes[3] = {
11680
+ type: 4,
11681
+ index: 64
11682
+ }; // RNM(name-char)
11683
+
11684
+ /* name-first */
11685
+ this.rules[63].opcodes = [];
11686
+ this.rules[63].opcodes[0] = {
11687
+ type: 1,
11688
+ children: [1, 2, 3, 4]
11689
+ }; // ALT
11690
+ this.rules[63].opcodes[1] = {
11691
+ type: 4,
11692
+ index: 66
11693
+ }; // RNM(ALPHA)
11694
+ this.rules[63].opcodes[2] = {
11695
+ type: 7,
11696
+ string: [95]
11697
+ }; // TLS
11698
+ this.rules[63].opcodes[3] = {
11699
+ type: 5,
11700
+ min: 128,
11701
+ max: 55295
11702
+ }; // TRG
11703
+ this.rules[63].opcodes[4] = {
11704
+ type: 5,
11705
+ min: 57344,
11706
+ max: 1114111
11707
+ }; // TRG
11708
+
11709
+ /* name-char */
11710
+ this.rules[64].opcodes = [];
11711
+ this.rules[64].opcodes[0] = {
11712
+ type: 1,
11713
+ children: [1, 2]
11714
+ }; // ALT
11715
+ this.rules[64].opcodes[1] = {
11716
+ type: 4,
11717
+ index: 63
11718
+ }; // RNM(name-first)
11719
+ this.rules[64].opcodes[2] = {
11720
+ type: 4,
11721
+ index: 65
11722
+ }; // RNM(DIGIT)
11723
+
11724
+ /* DIGIT */
11725
+ this.rules[65].opcodes = [];
11726
+ this.rules[65].opcodes[0] = {
11727
+ type: 5,
11728
+ min: 48,
11729
+ max: 57
11730
+ }; // TRG
11731
+
11732
+ /* ALPHA */
11733
+ this.rules[66].opcodes = [];
11734
+ this.rules[66].opcodes[0] = {
11735
+ type: 1,
11736
+ children: [1, 2]
11737
+ }; // ALT
11738
+ this.rules[66].opcodes[1] = {
11739
+ type: 5,
11740
+ min: 65,
11741
+ max: 90
11742
+ }; // TRG
11743
+ this.rules[66].opcodes[2] = {
11744
+ type: 5,
11745
+ min: 97,
11746
+ max: 122
11747
+ }; // TRG
11748
+
11749
+ /* descendant-segment */
11750
+ this.rules[67].opcodes = [];
11751
+ this.rules[67].opcodes[0] = {
11752
+ type: 2,
11753
+ children: [1, 2]
11754
+ }; // CAT
11755
+ this.rules[67].opcodes[1] = {
11756
+ type: 4,
11757
+ index: 79
11758
+ }; // RNM(double-dot-prefix)
11759
+ this.rules[67].opcodes[2] = {
11760
+ type: 1,
11761
+ children: [3, 4, 5]
11762
+ }; // ALT
11763
+ this.rules[67].opcodes[3] = {
11764
+ type: 4,
11765
+ index: 61
11766
+ }; // RNM(bracketed-selection)
11767
+ this.rules[67].opcodes[4] = {
11768
+ type: 4,
11769
+ index: 18
11770
+ }; // RNM(wildcard-selector)
11771
+ this.rules[67].opcodes[5] = {
11772
+ type: 4,
11773
+ index: 62
11774
+ }; // RNM(member-name-shorthand)
11775
+
11776
+ /* normalized-path */
11777
+ this.rules[68].opcodes = [];
11778
+ this.rules[68].opcodes[0] = {
11779
+ type: 2,
11780
+ children: [1, 2]
11781
+ }; // CAT
11782
+ this.rules[68].opcodes[1] = {
11783
+ type: 4,
11784
+ index: 4
11785
+ }; // RNM(root-identifier)
11786
+ this.rules[68].opcodes[2] = {
11787
+ type: 3,
11788
+ min: 0,
11789
+ max: Infinity
11790
+ }; // REP
11791
+ this.rules[68].opcodes[3] = {
11792
+ type: 4,
11793
+ index: 69
11794
+ }; // RNM(normal-index-segment)
11795
+
11796
+ /* normal-index-segment */
11797
+ this.rules[69].opcodes = [];
11798
+ this.rules[69].opcodes[0] = {
11799
+ type: 2,
11800
+ children: [1, 2, 3]
11801
+ }; // CAT
11802
+ this.rules[69].opcodes[1] = {
11803
+ type: 4,
11804
+ index: 80
11805
+ }; // RNM(left-bracket)
11806
+ this.rules[69].opcodes[2] = {
11807
+ type: 4,
11808
+ index: 70
11809
+ }; // RNM(normal-selector)
11810
+ this.rules[69].opcodes[3] = {
11811
+ type: 4,
11812
+ index: 81
11813
+ }; // RNM(right-bracket)
11814
+
11815
+ /* normal-selector */
11816
+ this.rules[70].opcodes = [];
11817
+ this.rules[70].opcodes[0] = {
11818
+ type: 1,
11819
+ children: [1, 2]
11820
+ }; // ALT
11821
+ this.rules[70].opcodes[1] = {
11822
+ type: 4,
11823
+ index: 71
11824
+ }; // RNM(normal-name-selector)
11825
+ this.rules[70].opcodes[2] = {
11826
+ type: 4,
11827
+ index: 77
11828
+ }; // RNM(normal-index-selector)
11829
+
11830
+ /* normal-name-selector */
11831
+ this.rules[71].opcodes = [];
11832
+ this.rules[71].opcodes[0] = {
11833
+ type: 2,
11834
+ children: [1, 2, 4]
11835
+ }; // CAT
11836
+ this.rules[71].opcodes[1] = {
11837
+ type: 4,
11838
+ index: 87
11839
+ }; // RNM(squote)
11840
+ this.rules[71].opcodes[2] = {
11841
+ type: 3,
11842
+ min: 0,
11843
+ max: Infinity
11844
+ }; // REP
11845
+ this.rules[71].opcodes[3] = {
11846
+ type: 4,
11847
+ index: 72
11848
+ }; // RNM(normal-single-quoted)
11849
+ this.rules[71].opcodes[4] = {
11850
+ type: 4,
11851
+ index: 87
11852
+ }; // RNM(squote)
11853
+
11854
+ /* normal-single-quoted */
11855
+ this.rules[72].opcodes = [];
11856
+ this.rules[72].opcodes[0] = {
11857
+ type: 1,
11858
+ children: [1, 2]
11859
+ }; // ALT
11860
+ this.rules[72].opcodes[1] = {
11861
+ type: 4,
11862
+ index: 73
11863
+ }; // RNM(normal-unescaped)
11864
+ this.rules[72].opcodes[2] = {
11865
+ type: 2,
11866
+ children: [3, 4]
11867
+ }; // CAT
11868
+ this.rules[72].opcodes[3] = {
11869
+ type: 4,
11870
+ index: 10
11871
+ }; // RNM(ESC)
11872
+ this.rules[72].opcodes[4] = {
11873
+ type: 4,
11874
+ index: 74
11875
+ }; // RNM(normal-escapable)
11876
+
11877
+ /* normal-unescaped */
11878
+ this.rules[73].opcodes = [];
11879
+ this.rules[73].opcodes[0] = {
11880
+ type: 1,
11881
+ children: [1, 2, 3, 4]
11882
+ }; // ALT
11883
+ this.rules[73].opcodes[1] = {
11884
+ type: 5,
11885
+ min: 32,
11886
+ max: 38
11887
+ }; // TRG
11888
+ this.rules[73].opcodes[2] = {
11889
+ type: 5,
11890
+ min: 40,
11891
+ max: 91
11892
+ }; // TRG
11893
+ this.rules[73].opcodes[3] = {
11894
+ type: 5,
11895
+ min: 93,
11896
+ max: 55295
11897
+ }; // TRG
11898
+ this.rules[73].opcodes[4] = {
11899
+ type: 5,
11900
+ min: 57344,
11901
+ max: 1114111
11902
+ }; // TRG
11903
+
11904
+ /* normal-escapable */
11905
+ this.rules[74].opcodes = [];
11906
+ this.rules[74].opcodes[0] = {
11907
+ type: 1,
11908
+ children: [1, 2, 3, 4, 5, 6, 7, 8]
11909
+ }; // ALT
11910
+ this.rules[74].opcodes[1] = {
11911
+ type: 6,
11912
+ string: [98]
11913
+ }; // TBS
11914
+ this.rules[74].opcodes[2] = {
11915
+ type: 6,
11916
+ string: [102]
11917
+ }; // TBS
11918
+ this.rules[74].opcodes[3] = {
11919
+ type: 6,
11920
+ string: [110]
11921
+ }; // TBS
11922
+ this.rules[74].opcodes[4] = {
11923
+ type: 6,
11924
+ string: [114]
11925
+ }; // TBS
11926
+ this.rules[74].opcodes[5] = {
11927
+ type: 6,
11928
+ string: [116]
11929
+ }; // TBS
11930
+ this.rules[74].opcodes[6] = {
11931
+ type: 7,
11932
+ string: [39]
11933
+ }; // TLS
11934
+ this.rules[74].opcodes[7] = {
11935
+ type: 7,
11936
+ string: [92]
11937
+ }; // TLS
11938
+ this.rules[74].opcodes[8] = {
11939
+ type: 2,
11940
+ children: [9, 10]
11941
+ }; // CAT
11942
+ this.rules[74].opcodes[9] = {
11943
+ type: 6,
11944
+ string: [117]
11945
+ }; // TBS
11946
+ this.rules[74].opcodes[10] = {
11947
+ type: 4,
11948
+ index: 75
11949
+ }; // RNM(normal-hexchar)
11950
+
11951
+ /* normal-hexchar */
11952
+ this.rules[75].opcodes = [];
11953
+ this.rules[75].opcodes[0] = {
11954
+ type: 2,
11955
+ children: [1, 2, 3]
11956
+ }; // CAT
11957
+ this.rules[75].opcodes[1] = {
11958
+ type: 7,
11959
+ string: [48]
11960
+ }; // TLS
11961
+ this.rules[75].opcodes[2] = {
11962
+ type: 7,
11963
+ string: [48]
11964
+ }; // TLS
11965
+ this.rules[75].opcodes[3] = {
11966
+ type: 1,
11967
+ children: [4, 7, 10, 13]
11968
+ }; // ALT
11969
+ this.rules[75].opcodes[4] = {
11970
+ type: 2,
11971
+ children: [5, 6]
11972
+ }; // CAT
11973
+ this.rules[75].opcodes[5] = {
11974
+ type: 7,
11975
+ string: [48]
11976
+ }; // TLS
11977
+ this.rules[75].opcodes[6] = {
11978
+ type: 5,
11979
+ min: 48,
11980
+ max: 55
11981
+ }; // TRG
11982
+ this.rules[75].opcodes[7] = {
11983
+ type: 2,
11984
+ children: [8, 9]
11985
+ }; // CAT
11986
+ this.rules[75].opcodes[8] = {
11987
+ type: 7,
11988
+ string: [48]
11989
+ }; // TLS
11990
+ this.rules[75].opcodes[9] = {
11991
+ type: 6,
11992
+ string: [98]
11993
+ }; // TBS
11994
+ this.rules[75].opcodes[10] = {
11995
+ type: 2,
11996
+ children: [11, 12]
11997
+ }; // CAT
11998
+ this.rules[75].opcodes[11] = {
11999
+ type: 7,
12000
+ string: [48]
12001
+ }; // TLS
12002
+ this.rules[75].opcodes[12] = {
12003
+ type: 5,
12004
+ min: 101,
12005
+ max: 102
12006
+ }; // TRG
12007
+ this.rules[75].opcodes[13] = {
12008
+ type: 2,
12009
+ children: [14, 15]
12010
+ }; // CAT
12011
+ this.rules[75].opcodes[14] = {
12012
+ type: 7,
12013
+ string: [49]
12014
+ }; // TLS
12015
+ this.rules[75].opcodes[15] = {
12016
+ type: 4,
12017
+ index: 76
12018
+ }; // RNM(normal-HEXDIG)
12019
+
12020
+ /* normal-HEXDIG */
12021
+ this.rules[76].opcodes = [];
12022
+ this.rules[76].opcodes[0] = {
12023
+ type: 1,
12024
+ children: [1, 2]
12025
+ }; // ALT
12026
+ this.rules[76].opcodes[1] = {
12027
+ type: 4,
12028
+ index: 65
12029
+ }; // RNM(DIGIT)
12030
+ this.rules[76].opcodes[2] = {
12031
+ type: 5,
12032
+ min: 97,
12033
+ max: 102
12034
+ }; // TRG
8274
12035
 
8275
- __webpack_require__.r(__webpack_exports__);
8276
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8277
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
8278
- /* harmony export */ });
8279
- /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8252);
8280
- /* harmony import */ var _traversal_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2078);
12036
+ /* normal-index-selector */
12037
+ this.rules[77].opcodes = [];
12038
+ this.rules[77].opcodes[0] = {
12039
+ type: 1,
12040
+ children: [1, 2]
12041
+ }; // ALT
12042
+ this.rules[77].opcodes[1] = {
12043
+ type: 7,
12044
+ string: [48]
12045
+ }; // TLS
12046
+ this.rules[77].opcodes[2] = {
12047
+ type: 2,
12048
+ children: [3, 4]
12049
+ }; // CAT
12050
+ this.rules[77].opcodes[3] = {
12051
+ type: 4,
12052
+ index: 21
12053
+ }; // RNM(DIGIT1)
12054
+ this.rules[77].opcodes[4] = {
12055
+ type: 3,
12056
+ min: 0,
12057
+ max: Infinity
12058
+ }; // REP
12059
+ this.rules[77].opcodes[5] = {
12060
+ type: 4,
12061
+ index: 65
12062
+ }; // RNM(DIGIT)
8281
12063
 
12064
+ /* dot-prefix */
12065
+ this.rules[78].opcodes = [];
12066
+ this.rules[78].opcodes[0] = {
12067
+ type: 7,
12068
+ string: [46]
12069
+ }; // TLS
8282
12070
 
8283
- /**
8284
- * @public
8285
- */
8286
- /**
8287
- * Finds the most inner node at the given offset.
8288
- * If includeRightBound is set, also finds nodes that end at the given offset.
8289
- * @public
8290
- */
8291
- const findAtOffset = (element, options) => {
8292
- let offset;
8293
- let includeRightBound;
8294
- if (typeof options === 'number') {
8295
- offset = options;
8296
- includeRightBound = false;
8297
- } else {
8298
- offset = options.offset ?? 0;
8299
- includeRightBound = options.includeRightBound ?? false;
8300
- }
8301
- const result = [];
8302
- (0,_traversal_mjs__WEBPACK_IMPORTED_MODULE_1__.traverse)(element, {
8303
- enter(path) {
8304
- const node = path.node;
8305
- if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.hasElementSourceMap)(node)) {
8306
- return; // dive in
8307
- }
8308
- const startOffset = node.startOffset;
8309
- const endOffset = node.endOffset;
8310
- const isWithinOffsetRange = offset >= startOffset && (offset < endOffset || includeRightBound && offset <= endOffset);
8311
- if (isWithinOffsetRange) {
8312
- result.push(node);
8313
- return; // push to stack and dive in
8314
- }
8315
- path.skip(); // skip entire sub-tree
8316
- }
8317
- });
8318
- return result.at(-1);
8319
- };
8320
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (findAtOffset);
12071
+ /* double-dot-prefix */
12072
+ this.rules[79].opcodes = [];
12073
+ this.rules[79].opcodes[0] = {
12074
+ type: 7,
12075
+ string: [46, 46]
12076
+ }; // TLS
8321
12077
 
8322
- /***/ }),
12078
+ /* left-bracket */
12079
+ this.rules[80].opcodes = [];
12080
+ this.rules[80].opcodes[0] = {
12081
+ type: 7,
12082
+ string: [91]
12083
+ }; // TLS
8323
12084
 
8324
- /***/ 7940:
8325
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
12085
+ /* right-bracket */
12086
+ this.rules[81].opcodes = [];
12087
+ this.rules[81].opcodes[0] = {
12088
+ type: 7,
12089
+ string: [93]
12090
+ }; // TLS
8326
12091
 
8327
- __webpack_require__.r(__webpack_exports__);
8328
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8329
- /* harmony export */ "default": () => (/* binding */ _complement)
8330
- /* harmony export */ });
8331
- function _complement(f) {
8332
- return function () {
8333
- return !f.apply(this, arguments);
8334
- };
8335
- }
12092
+ /* left-paren */
12093
+ this.rules[82].opcodes = [];
12094
+ this.rules[82].opcodes[0] = {
12095
+ type: 7,
12096
+ string: [40]
12097
+ }; // TLS
8336
12098
 
8337
- /***/ }),
12099
+ /* right-paren */
12100
+ this.rules[83].opcodes = [];
12101
+ this.rules[83].opcodes[0] = {
12102
+ type: 7,
12103
+ string: [41]
12104
+ }; // TLS
8338
12105
 
8339
- /***/ 8080:
8340
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
12106
+ /* comma */
12107
+ this.rules[84].opcodes = [];
12108
+ this.rules[84].opcodes[0] = {
12109
+ type: 7,
12110
+ string: [44]
12111
+ }; // TLS
8341
12112
 
8342
- __webpack_require__.r(__webpack_exports__);
8343
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8344
- /* harmony export */ "default": () => (/* binding */ _xfilter)
8345
- /* harmony export */ });
8346
- /* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3143);
12113
+ /* colon */
12114
+ this.rules[85].opcodes = [];
12115
+ this.rules[85].opcodes[0] = {
12116
+ type: 7,
12117
+ string: [58]
12118
+ }; // TLS
8347
12119
 
8348
- var XFilter = /*#__PURE__*/function () {
8349
- function XFilter(f, xf) {
8350
- this.xf = xf;
8351
- this.f = f;
8352
- }
8353
- XFilter.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].init;
8354
- XFilter.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].result;
8355
- XFilter.prototype['@@transducer/step'] = function (result, input) {
8356
- return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;
8357
- };
8358
- return XFilter;
8359
- }();
8360
- function _xfilter(f) {
8361
- return function (xf) {
8362
- return new XFilter(f, xf);
8363
- };
8364
- }
12120
+ /* dquote */
12121
+ this.rules[86].opcodes = [];
12122
+ this.rules[86].opcodes[0] = {
12123
+ type: 6,
12124
+ string: [34]
12125
+ }; // TBS
8365
12126
 
8366
- /***/ }),
12127
+ /* squote */
12128
+ this.rules[87].opcodes = [];
12129
+ this.rules[87].opcodes[0] = {
12130
+ type: 6,
12131
+ string: [39]
12132
+ }; // TBS
8367
12133
 
8368
- /***/ 8121:
8369
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
12134
+ /* questionmark */
12135
+ this.rules[88].opcodes = [];
12136
+ this.rules[88].opcodes[0] = {
12137
+ type: 7,
12138
+ string: [63]
12139
+ }; // TLS
8370
12140
 
8371
- __webpack_require__.r(__webpack_exports__);
8372
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8373
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
8374
- /* harmony export */ });
8375
- /* harmony import */ var _Element_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(728);
12141
+ /* disjunction */
12142
+ this.rules[89].opcodes = [];
12143
+ this.rules[89].opcodes[0] = {
12144
+ type: 7,
12145
+ string: [124, 124]
12146
+ }; // TLS
8376
12147
 
8377
- /**
8378
- * StringElement represents a string value in ApiDOM.
8379
- * @public
8380
- */
8381
- class StringElement extends _Element_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {
8382
- constructor(content, meta, attributes) {
8383
- super(content, meta, attributes);
8384
- this.element = 'string';
8385
- }
8386
- primitive() {
8387
- return 'string';
8388
- }
12148
+ /* conjunction */
12149
+ this.rules[90].opcodes = [];
12150
+ this.rules[90].opcodes[0] = {
12151
+ type: 7,
12152
+ string: [38, 38]
12153
+ }; // TLS
8389
12154
 
8390
- /**
8391
- * The length of the string.
8392
- */
8393
- get length() {
8394
- return this.content?.length ?? 0;
8395
- }
12155
+ // The `toString()` function will display the original grammar file(s) that produced these opcodes.
12156
+ this.toString = function toString() {
12157
+ let str = "";
12158
+ str += "; JSONPath: Query Expressions for JSON\n";
12159
+ str += "; https://www.rfc-editor.org/rfc/rfc9535\n";
12160
+ str += "\n";
12161
+ str += "; https://www.rfc-editor.org/rfc/rfc9535#section-2.1.1\n";
12162
+ str += "jsonpath-query = root-identifier segments\n";
12163
+ str += "segments = *(S segment)\n";
12164
+ str += "\n";
12165
+ str += "B = %x20 / ; Space\n";
12166
+ str += " %x09 / ; Horizontal tab\n";
12167
+ str += " %x0A / ; Line feed or New line\n";
12168
+ str += " %x0D ; Carriage return\n";
12169
+ str += "S = *B ; optional blank space\n";
12170
+ str += "\n";
12171
+ str += "; https://www.rfc-editor.org/rfc/rfc9535#section-2.2.1\n";
12172
+ str += "root-identifier = \"$\"\n";
12173
+ str += "\n";
12174
+ str += "; https://www.rfc-editor.org/rfc/rfc9535#section-2.3\n";
12175
+ str += "selector = name-selector /\n";
12176
+ str += " wildcard-selector /\n";
12177
+ str += " slice-selector /\n";
12178
+ str += " index-selector /\n";
12179
+ str += " filter-selector\n";
12180
+ str += "\n";
12181
+ str += "; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.1.1\n";
12182
+ str += "name-selector = string-literal\n";
12183
+ str += "\n";
12184
+ str += "string-literal = dquote *double-quoted dquote / ; \"string\", MODIFICATION: surrogate text rule used\n";
12185
+ str += " squote *single-quoted squote ; 'string', MODIFICATION: surrogate text rule used\n";
12186
+ str += "\n";
12187
+ str += "double-quoted = unescaped /\n";
12188
+ str += " %x27 / ; '\n";
12189
+ str += " ESC %x22 / ; \\\"\n";
12190
+ str += " ESC escapable\n";
12191
+ str += "\n";
12192
+ str += "single-quoted = unescaped /\n";
12193
+ str += " %x22 / ; \"\n";
12194
+ str += " ESC %x27 / ; \\'\n";
12195
+ str += " ESC escapable\n";
12196
+ str += "\n";
12197
+ str += "ESC = %x5C ; \\ backslash\n";
12198
+ str += "\n";
12199
+ str += "unescaped = %x20-21 / ; see RFC 8259\n";
12200
+ str += " ; omit 0x22 \"\n";
12201
+ str += " %x23-26 /\n";
12202
+ str += " ; omit 0x27 '\n";
12203
+ str += " %x28-5B /\n";
12204
+ str += " ; omit 0x5C \\\n";
12205
+ str += " %x5D-D7FF /\n";
12206
+ str += " ; skip surrogate code points\n";
12207
+ str += " %xE000-10FFFF\n";
12208
+ str += "\n";
12209
+ str += "escapable = %x62 / ; b BS backspace U+0008\n";
12210
+ str += " %x66 / ; f FF form feed U+000C\n";
12211
+ str += " %x6E / ; n LF line feed U+000A\n";
12212
+ str += " %x72 / ; r CR carriage return U+000D\n";
12213
+ str += " %x74 / ; t HT horizontal tab U+0009\n";
12214
+ str += " \"/\" / ; / slash (solidus) U+002F\n";
12215
+ str += " \"\\\" / ; \\ backslash (reverse solidus) U+005C\n";
12216
+ str += " (%x75 hexchar) ; uXXXX U+XXXX\n";
12217
+ str += "\n";
12218
+ str += "hexchar = non-surrogate /\n";
12219
+ str += " (high-surrogate \"\\\" %x75 low-surrogate)\n";
12220
+ str += "non-surrogate = ((DIGIT / \"A\"/\"B\"/\"C\" / \"E\"/\"F\") 3HEXDIG) /\n";
12221
+ str += " (\"D\" %x30-37 2HEXDIG )\n";
12222
+ str += "high-surrogate = \"D\" (\"8\"/\"9\"/\"A\"/\"B\") 2HEXDIG\n";
12223
+ str += "low-surrogate = \"D\" (\"C\"/\"D\"/\"E\"/\"F\") 2HEXDIG\n";
12224
+ str += "\n";
12225
+ str += "HEXDIG = DIGIT / \"A\" / \"B\" / \"C\" / \"D\" / \"E\" / \"F\"\n";
12226
+ str += "\n";
12227
+ str += "; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.2.1\n";
12228
+ str += "wildcard-selector = \"*\"\n";
12229
+ str += "\n";
12230
+ str += "; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.3.1\n";
12231
+ str += "index-selector = int ; decimal integer\n";
12232
+ str += "\n";
12233
+ str += "int = \"0\" /\n";
12234
+ str += " ([\"-\"] DIGIT1 *DIGIT) ; - optional\n";
12235
+ str += "DIGIT1 = %x31-39 ; 1-9 non-zero digit\n";
12236
+ str += "\n";
12237
+ str += "; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.4.1\n";
12238
+ str += "slice-selector = [start S] colon S [end S] [colon [S step ]] ; MODIFICATION: surrogate text rule used\n";
12239
+ str += "\n";
12240
+ str += "start = int ; included in selection\n";
12241
+ str += "end = int ; not included in selection\n";
12242
+ str += "step = int ; default: 1\n";
12243
+ str += "\n";
12244
+ str += "; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.5.1\n";
12245
+ str += "filter-selector = questionmark S logical-expr ; MODIFICATION: surrogate text rule used\n";
12246
+ str += "\n";
12247
+ str += "logical-expr = logical-or-expr\n";
12248
+ str += "logical-or-expr = logical-and-expr *(S disjunction S logical-and-expr) ; MODIFICATION: surrogate text rule used\n";
12249
+ str += " ; disjunction\n";
12250
+ str += " ; binds less tightly than conjunction\n";
12251
+ str += "logical-and-expr = basic-expr *(S conjunction S basic-expr) ; MODIFICATION: surrogate text rule used\n";
12252
+ str += " ; conjunction\n";
12253
+ str += " ; binds more tightly than disjunction\n";
12254
+ str += "\n";
12255
+ str += "basic-expr = paren-expr /\n";
12256
+ str += " comparison-expr /\n";
12257
+ str += " test-expr\n";
12258
+ str += "\n";
12259
+ str += "paren-expr = [logical-not-op S] left-paren S logical-expr S right-paren ; MODIFICATION: surrogate text rule used\n";
12260
+ str += " ; parenthesized expression\n";
12261
+ str += "logical-not-op = \"!\" ; logical NOT operator\n";
12262
+ str += "\n";
12263
+ str += "test-expr = [logical-not-op S]\n";
12264
+ str += " (filter-query / ; existence/non-existence\n";
12265
+ str += " function-expr) ; LogicalType or NodesType\n";
12266
+ str += "filter-query = rel-query / jsonpath-query\n";
12267
+ str += "rel-query = current-node-identifier segments\n";
12268
+ str += "current-node-identifier = \"@\"\n";
12269
+ str += "\n";
12270
+ str += "comparison-expr = comparable S comparison-op S comparable\n";
12271
+ str += "literal = number / string-literal /\n";
12272
+ str += " true / false / null\n";
12273
+ str += "comparable = singular-query / ; singular query value\n";
12274
+ str += " function-expr / ; ValueType\n";
12275
+ str += " literal\n";
12276
+ str += " ; MODIFICATION: https://www.rfc-editor.org/errata/eid8352\n";
12277
+ str += "comparison-op = \"==\" / \"!=\" /\n";
12278
+ str += " \"<=\" / \">=\" /\n";
12279
+ str += " \"<\" / \">\"\n";
12280
+ str += "\n";
12281
+ str += "singular-query = rel-singular-query / abs-singular-query\n";
12282
+ str += "rel-singular-query = current-node-identifier singular-query-segments\n";
12283
+ str += "abs-singular-query = root-identifier singular-query-segments\n";
12284
+ str += "singular-query-segments = *(S (name-segment / index-segment))\n";
12285
+ str += "name-segment = (left-bracket name-selector right-bracket) / ; MODIFICATION: surrogate text rule used\n";
12286
+ str += " (dot-prefix member-name-shorthand) ; MODIFICATION: surrogate text rule used\n";
12287
+ str += "index-segment = left-bracket index-selector right-bracket ; MODIFICATION: surrogate text rule used\n";
12288
+ str += "\n";
12289
+ str += "number = (int / \"-0\") [ frac ] [ exp ] ; decimal number\n";
12290
+ str += "frac = \".\" 1*DIGIT ; decimal fraction\n";
12291
+ str += "exp = \"e\" [ \"-\" / \"+\" ] 1*DIGIT ; decimal exponent\n";
12292
+ str += "true = %x74.72.75.65 ; true\n";
12293
+ str += "false = %x66.61.6c.73.65 ; false\n";
12294
+ str += "null = %x6e.75.6c.6c ; null\n";
12295
+ str += "\n";
12296
+ str += "; https://www.rfc-editor.org/rfc/rfc9535#section-2.4\n";
12297
+ str += "function-name = function-name-first *function-name-char\n";
12298
+ str += "function-name-first = LCALPHA\n";
12299
+ str += "function-name-char = function-name-first / \"_\" / DIGIT\n";
12300
+ str += "LCALPHA = %x61-7A ; \"a\"..\"z\"\n";
12301
+ str += "\n";
12302
+ str += "function-expr = function-name left-paren S [function-argument ; MODIFICATION: surrogate text rule used\n";
12303
+ str += " *(S comma S function-argument)] S right-paren ; MODIFICATION: surrogate text rule used\n";
12304
+ str += "function-argument = logical-expr / ; MODIFICATION: https://www.rfc-editor.org/errata/eid8343\n";
12305
+ str += " filter-query / ; (includes singular-query)\n";
12306
+ str += " function-expr /\n";
12307
+ str += " literal\n";
12308
+ str += "\n";
12309
+ str += "\n";
12310
+ str += "; https://www.rfc-editor.org/rfc/rfc9535#section-2.5\n";
12311
+ str += "segment = child-segment / descendant-segment\n";
12312
+ str += "\n";
12313
+ str += "; https://www.rfc-editor.org/rfc/rfc9535#section-2.5.1.1\n";
12314
+ str += "child-segment = bracketed-selection /\n";
12315
+ str += " (dot-prefix ; MODIFICATION: surrogate text rule used\n";
12316
+ str += " (wildcard-selector /\n";
12317
+ str += " member-name-shorthand))\n";
12318
+ str += "\n";
12319
+ str += "bracketed-selection = left-bracket S selector *(S comma S selector) S right-bracket\n";
12320
+ str += " ; MODIFICATION: surrogate text rule used\n";
12321
+ str += "\n";
12322
+ str += "member-name-shorthand = name-first *name-char\n";
12323
+ str += "name-first = ALPHA /\n";
12324
+ str += " \"_\" /\n";
12325
+ str += " %x80-D7FF /\n";
12326
+ str += " ; skip surrogate code points\n";
12327
+ str += " %xE000-10FFFF\n";
12328
+ str += "name-char = name-first / DIGIT\n";
12329
+ str += "\n";
12330
+ str += "DIGIT = %x30-39 ; 0-9\n";
12331
+ str += "ALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n";
12332
+ str += "\n";
12333
+ str += "; https://www.rfc-editor.org/rfc/rfc9535#section-2.5.2.1\n";
12334
+ str += "descendant-segment = double-dot-prefix (bracketed-selection / ; MODIFICATION: surrogate text rule used\n";
12335
+ str += " wildcard-selector /\n";
12336
+ str += " member-name-shorthand)\n";
12337
+ str += "\n";
12338
+ str += "; https://www.rfc-editor.org/rfc/rfc9535#name-normalized-paths\n";
12339
+ str += "normalized-path = root-identifier *(normal-index-segment)\n";
12340
+ str += "normal-index-segment = left-bracket normal-selector right-bracket ; MODIFICATION: surrogate text rule used\n";
12341
+ str += "normal-selector = normal-name-selector / normal-index-selector\n";
12342
+ str += "normal-name-selector = squote *normal-single-quoted squote ; 'string', MODIFICATION: surrogate text rule used\n";
12343
+ str += "normal-single-quoted = normal-unescaped /\n";
12344
+ str += " ESC normal-escapable\n";
12345
+ str += "normal-unescaped = ; omit %x0-1F control codes\n";
12346
+ str += " %x20-26 /\n";
12347
+ str += " ; omit 0x27 '\n";
12348
+ str += " %x28-5B /\n";
12349
+ str += " ; omit 0x5C \\\n";
12350
+ str += " %x5D-D7FF /\n";
12351
+ str += " ; skip surrogate code points\n";
12352
+ str += " %xE000-10FFFF\n";
12353
+ str += "\n";
12354
+ str += "normal-escapable = %x62 / ; b BS backspace U+0008\n";
12355
+ str += " %x66 / ; f FF form feed U+000C\n";
12356
+ str += " %x6E / ; n LF line feed U+000A\n";
12357
+ str += " %x72 / ; r CR carriage return U+000D\n";
12358
+ str += " %x74 / ; t HT horizontal tab U+0009\n";
12359
+ str += " \"'\" / ; ' apostrophe U+0027\n";
12360
+ str += " \"\\\" / ; \\ backslash (reverse solidus) U+005C\n";
12361
+ str += " (%x75 normal-hexchar)\n";
12362
+ str += " ; certain values u00xx U+00XX\n";
12363
+ str += "normal-hexchar = \"0\" \"0\"\n";
12364
+ str += " (\n";
12365
+ str += " (\"0\" %x30-37) / ; \"00\"-\"07\"\n";
12366
+ str += " ; omit U+0008-U+000A BS HT LF\n";
12367
+ str += " (\"0\" %x62) / ; \"0b\"\n";
12368
+ str += " ; omit U+000C-U+000D FF CR\n";
12369
+ str += " (\"0\" %x65-66) / ; \"0e\"-\"0f\"\n";
12370
+ str += " (\"1\" normal-HEXDIG)\n";
12371
+ str += " )\n";
12372
+ str += "normal-HEXDIG = DIGIT / %x61-66 ; \"0\"-\"9\", \"a\"-\"f\"\n";
12373
+ str += "normal-index-selector = \"0\" / (DIGIT1 *DIGIT)\n";
12374
+ str += " ; non-negative decimal integer\n";
12375
+ str += "\n";
12376
+ str += "; Surrogate named rules\n";
12377
+ str += "dot-prefix = \".\"\n";
12378
+ str += "double-dot-prefix = \"..\"\n";
12379
+ str += "left-bracket = \"[\"\n";
12380
+ str += "right-bracket = \"]\"\n";
12381
+ str += "left-paren = \"(\"\n";
12382
+ str += "right-paren = \")\"\n";
12383
+ str += "comma = \",\"\n";
12384
+ str += "colon = \":\"\n";
12385
+ str += "dquote = %x22 ; \"\n";
12386
+ str += "squote = %x27 ; '\n";
12387
+ str += "questionmark = \"?\"\n";
12388
+ str += "disjunction = \"||\"\n";
12389
+ str += "conjunction = \"&&\"\n";
12390
+ return str;
12391
+ };
8396
12392
  }
8397
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (StringElement);
8398
12393
 
8399
12394
  /***/ }),
8400
12395
 
@@ -8994,6 +12989,57 @@ class CompilationRelativeJsonPointerError extends _RelativeJsonPointerError_ts__
8994
12989
 
8995
12990
  /***/ }),
8996
12991
 
12992
+ /***/ 8789:
12993
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
12994
+
12995
+ __webpack_require__.r(__webpack_exports__);
12996
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
12997
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
12998
+ /* harmony export */ });
12999
+ /* harmony import */ var apg_lite__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1751);
13000
+ /* harmony import */ var _trace_Trace_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7724);
13001
+ /* harmony import */ var _grammar_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8186);
13002
+ /* harmony import */ var _translators_ASTTranslator_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6998);
13003
+ /* harmony import */ var _errors_JSONPathParseError_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2639);
13004
+
13005
+
13006
+
13007
+
13008
+
13009
+ const grammar = new _grammar_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]();
13010
+ const parse = (jsonPath, {
13011
+ normalized = false,
13012
+ stats = false,
13013
+ trace = false,
13014
+ translator = new _translators_ASTTranslator_index_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]()
13015
+ } = {}) => {
13016
+ if (typeof jsonPath !== 'string') {
13017
+ throw new TypeError('JSONPath must be a string');
13018
+ }
13019
+ try {
13020
+ const parser = new apg_lite__WEBPACK_IMPORTED_MODULE_0__.Parser();
13021
+ if (translator) parser.ast = translator;
13022
+ if (stats) parser.stats = new apg_lite__WEBPACK_IMPORTED_MODULE_0__.Stats();
13023
+ if (trace) parser.trace = new _trace_Trace_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]();
13024
+ const startRule = normalized ? 'normalized-path' : 'jsonpath-query';
13025
+ const result = parser.parse(grammar, startRule, jsonPath);
13026
+ return {
13027
+ result,
13028
+ tree: result.success && translator ? parser.ast.getTree() : undefined,
13029
+ stats: parser.stats,
13030
+ trace: parser.trace
13031
+ };
13032
+ } catch (error) {
13033
+ throw new _errors_JSONPathParseError_mjs__WEBPACK_IMPORTED_MODULE_4__["default"]('Unexpected error during JSONPath parsing', {
13034
+ cause: error,
13035
+ jsonPath
13036
+ });
13037
+ }
13038
+ };
13039
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (parse);
13040
+
13041
+ /***/ }),
13042
+
8997
13043
  /***/ 8822:
8998
13044
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8999
13045