@react-querybuilder/core 8.9.2 → 8.11.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.
Files changed (113) hide show
  1. package/dist/{arrayUtils-BF1P8iHS.mjs → arrayUtils-A_OXU9W1.mjs} +3 -75
  2. package/dist/arrayUtils-A_OXU9W1.mjs.map +1 -0
  3. package/dist/arrayUtils-QxZOZTf6.js +73 -0
  4. package/dist/arrayUtils-QxZOZTf6.js.map +1 -0
  5. package/dist/basic-DEc65Kng.d.mts +363 -0
  6. package/dist/basic-Dd_M2f3M.d.ts +363 -0
  7. package/dist/cjs/react-querybuilder_core.cjs.development.d.ts +806 -1366
  8. package/dist/cjs/react-querybuilder_core.cjs.development.js +455 -116
  9. package/dist/cjs/react-querybuilder_core.cjs.development.js.map +1 -1
  10. package/dist/cjs/react-querybuilder_core.cjs.production.d.ts +806 -1366
  11. package/dist/cjs/react-querybuilder_core.cjs.production.js +1 -1
  12. package/dist/cjs/react-querybuilder_core.cjs.production.js.map +1 -1
  13. package/dist/{convertQuery-H7RhQiIc.mjs → convertQuery-CqX3rPvj.mjs} +3 -3
  14. package/dist/{convertQuery-H7RhQiIc.mjs.map → convertQuery-CqX3rPvj.mjs.map} +1 -1
  15. package/dist/{export-DyrnTh6K.d.ts → export-Dy4FckB-.d.ts} +7 -6
  16. package/dist/{export-r-V7bU31.d.mts → export-t1V2N8pz.d.mts} +7 -6
  17. package/dist/formatQuery.d.mts +3 -2
  18. package/dist/formatQuery.d.ts +3 -2
  19. package/dist/formatQuery.js +217 -87
  20. package/dist/formatQuery.js.map +1 -1
  21. package/dist/formatQuery.mjs +217 -87
  22. package/dist/formatQuery.mjs.map +1 -1
  23. package/dist/{import-Cksobmln.d.ts → import-Cz8canKo.d.mts} +3 -3
  24. package/dist/{import-BwbbP4oU.d.mts → import-DtS9Ocx5.d.ts} +3 -3
  25. package/dist/{isRuleGroup-CnhYpLOM.mjs → isRuleGroup-CYcfPgbg.mjs} +2 -2
  26. package/dist/{isRuleGroup-CnhYpLOM.mjs.map → isRuleGroup-CYcfPgbg.mjs.map} +1 -1
  27. package/dist/lexer-C53tqS2p.js +406 -0
  28. package/dist/lexer-C53tqS2p.js.map +1 -0
  29. package/dist/{optGroupUtils-CXLgyg2i.js → optGroupUtils-B0hTpodo.js} +114 -1
  30. package/dist/optGroupUtils-B0hTpodo.js.map +1 -0
  31. package/dist/{optGroupUtils-Duv-M8rf.mjs → optGroupUtils-VeZ3k7-1.mjs} +86 -3
  32. package/dist/optGroupUtils-VeZ3k7-1.mjs.map +1 -0
  33. package/dist/parseCEL.d.mts +292 -11
  34. package/dist/parseCEL.d.ts +292 -11
  35. package/dist/parseCEL.js +874 -1125
  36. package/dist/parseCEL.js.map +1 -1
  37. package/dist/parseCEL.mjs +828 -1126
  38. package/dist/parseCEL.mjs.map +1 -1
  39. package/dist/parseJSONata.d.mts +3 -2
  40. package/dist/parseJSONata.d.ts +3 -2
  41. package/dist/parseJSONata.js +49 -77
  42. package/dist/parseJSONata.js.map +1 -1
  43. package/dist/parseJSONata.mjs +4 -5
  44. package/dist/parseJSONata.mjs.map +1 -1
  45. package/dist/parseJsonLogic.d.mts +4 -3
  46. package/dist/parseJsonLogic.d.ts +4 -3
  47. package/dist/parseJsonLogic.js +5 -6
  48. package/dist/parseJsonLogic.js.map +1 -1
  49. package/dist/parseJsonLogic.mjs +5 -6
  50. package/dist/parseJsonLogic.mjs.map +1 -1
  51. package/dist/parseMongoDB.d.mts +3 -2
  52. package/dist/parseMongoDB.d.ts +3 -2
  53. package/dist/parseMongoDB.js +15 -16
  54. package/dist/parseMongoDB.js.map +1 -1
  55. package/dist/parseMongoDB.mjs +5 -6
  56. package/dist/parseMongoDB.mjs.map +1 -1
  57. package/dist/{parseNumber-BtGKa58z.mjs → parseNumber-CXdMVNFx.mjs} +2 -2
  58. package/dist/{parseNumber-BtGKa58z.mjs.map → parseNumber-CXdMVNFx.mjs.map} +1 -1
  59. package/dist/{parseNumber-Bcys1kOH.js → parseNumber-D4iQDxK-.js} +1 -1
  60. package/dist/{parseNumber-Bcys1kOH.js.map → parseNumber-D4iQDxK-.js.map} +1 -1
  61. package/dist/parseSQL.d.mts +3 -2
  62. package/dist/parseSQL.d.ts +3 -2
  63. package/dist/parseSQL.js +2691 -3036
  64. package/dist/parseSQL.js.map +1 -1
  65. package/dist/parseSQL.mjs +2691 -3037
  66. package/dist/parseSQL.mjs.map +1 -1
  67. package/dist/parseSpEL.d.mts +3 -2
  68. package/dist/parseSpEL.d.ts +3 -2
  69. package/dist/parseSpEL.js +7 -9
  70. package/dist/parseSpEL.js.map +1 -1
  71. package/dist/parseSpEL.mjs +5 -6
  72. package/dist/parseSpEL.mjs.map +1 -1
  73. package/dist/{prepareQueryObjects-BqFEs4eV.js → prepareQueryObjects-BOUWfel5.js} +4 -5
  74. package/dist/prepareQueryObjects-BOUWfel5.js.map +1 -0
  75. package/dist/{prepareQueryObjects-CS6Wmhmf.mjs → prepareQueryObjects-DPCC-iHp.mjs} +6 -7
  76. package/dist/prepareQueryObjects-DPCC-iHp.mjs.map +1 -0
  77. package/dist/query-builder-layout.css +1 -1
  78. package/dist/query-builder-layout.css.map +1 -1
  79. package/dist/query-builder.css +1 -1
  80. package/dist/query-builder.css.map +1 -1
  81. package/dist/react-querybuilder_core.d.mts +806 -1366
  82. package/dist/react-querybuilder_core.legacy-esm.d.ts +806 -1366
  83. package/dist/react-querybuilder_core.legacy-esm.js +455 -114
  84. package/dist/react-querybuilder_core.legacy-esm.js.map +1 -1
  85. package/dist/react-querybuilder_core.mjs +448 -117
  86. package/dist/react-querybuilder_core.mjs.map +1 -1
  87. package/dist/react-querybuilder_core.production.d.mts +806 -1366
  88. package/dist/react-querybuilder_core.production.mjs +1 -1
  89. package/dist/react-querybuilder_core.production.mjs.map +1 -1
  90. package/dist/styles/_layout.scss +61 -17
  91. package/dist/styles/_main.scss +22 -4
  92. package/dist/{transformQuery-FL_nlpp5.js → transformQuery-CWDPogO5.js} +1 -1
  93. package/dist/{transformQuery-FL_nlpp5.js.map → transformQuery-CWDPogO5.js.map} +1 -1
  94. package/dist/{transformQuery-DdMvmrCh.mjs → transformQuery-DCCpjtyq.mjs} +3 -3
  95. package/dist/{transformQuery-DdMvmrCh.mjs.map → transformQuery-DCCpjtyq.mjs.map} +1 -1
  96. package/dist/transformQuery.d.mts +1 -1
  97. package/dist/transformQuery.d.ts +1 -1
  98. package/dist/transformQuery.js +1 -1
  99. package/dist/transformQuery.mjs +2 -2
  100. package/package.json +14 -12
  101. package/dist/arrayUtils-BF1P8iHS.mjs.map +0 -1
  102. package/dist/arrayUtils-D5EoIsKP.js +0 -164
  103. package/dist/arrayUtils-D5EoIsKP.js.map +0 -1
  104. package/dist/basic-BfD-7CN3.d.mts +0 -1235
  105. package/dist/basic-C8xXKHIA.d.ts +0 -1235
  106. package/dist/objectUtils-BBZSfZJz.js +0 -17
  107. package/dist/objectUtils-BBZSfZJz.js.map +0 -1
  108. package/dist/objectUtils-BtWdcZVG.mjs +0 -11
  109. package/dist/objectUtils-BtWdcZVG.mjs.map +0 -1
  110. package/dist/optGroupUtils-CXLgyg2i.js.map +0 -1
  111. package/dist/optGroupUtils-Duv-M8rf.mjs.map +0 -1
  112. package/dist/prepareQueryObjects-BqFEs4eV.js.map +0 -1
  113. package/dist/prepareQueryObjects-CS6Wmhmf.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import { FullField, OptionList, ValueSources } from "./basic-C8xXKHIA.js";
1
+ import { o as ValueSources, t as FullField, x as OptionList } from "./basic-DEc65Kng.mjs";
2
2
 
3
3
  //#region src/types/import.d.ts
4
4
 
@@ -24,5 +24,5 @@ interface ParserCommonOptions {
24
24
  bigIntOnOverflow?: boolean;
25
25
  }
26
26
  //#endregion
27
- export { ParserCommonOptions };
28
- //# sourceMappingURL=import-Cksobmln.d.ts.map
27
+ export { ParserCommonOptions as t };
28
+ //# sourceMappingURL=import-Cz8canKo.d.mts.map
@@ -1,4 +1,4 @@
1
- import { FullField, OptionList, ValueSources } from "./basic-BfD-7CN3.mjs";
1
+ import { o as ValueSources, t as FullField, x as OptionList } from "./basic-Dd_M2f3M.js";
2
2
 
3
3
  //#region src/types/import.d.ts
4
4
 
@@ -24,5 +24,5 @@ interface ParserCommonOptions {
24
24
  bigIntOnOverflow?: boolean;
25
25
  }
26
26
  //#endregion
27
- export { ParserCommonOptions };
28
- //# sourceMappingURL=import-BwbbP4oU.d.mts.map
27
+ export { ParserCommonOptions as t };
28
+ //# sourceMappingURL=import-DtS9Ocx5.d.ts.map
@@ -36,5 +36,5 @@ const isRuleGroupType = (rg) => isRuleGroup(rg) && typeof rg.combinator === "str
36
36
  const isRuleGroupTypeIC = (rg) => isRuleGroup(rg) && rg.combinator === void 0;
37
37
 
38
38
  //#endregion
39
- export { isPojo, isRuleGroup, isRuleGroupType, isRuleGroupTypeIC, lc, nullOrUndefinedOrEmpty, numericRegex$1 as numericRegex };
40
- //# sourceMappingURL=isRuleGroup-CnhYpLOM.mjs.map
39
+ export { lc as a, isPojo as i, isRuleGroupType as n, nullOrUndefinedOrEmpty as o, isRuleGroupTypeIC as r, numericRegex$1 as s, isRuleGroup as t };
40
+ //# sourceMappingURL=isRuleGroup-CYcfPgbg.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"isRuleGroup-CnhYpLOM.mjs","names":["numericRegex: RegExp","numericQuantityRegex"],"sources":["../src/utils/misc.ts","../src/utils/isRuleGroup.ts"],"sourcesContent":["import { numericRegex as numericQuantityRegex } from 'numeric-quantity';\n\n/**\n * Converts a value to lowercase if it's a string, otherwise returns the value as is.\n */\n// istanbul ignore next\nexport const lc = <T>(v: T): T => (typeof v === 'string' ? (v.toLowerCase() as T) : v);\n\n/**\n * Regex matching numeric strings. Passes for positive/negative integers, decimals,\n * and E notation, with optional surrounding whitespace.\n */\nexport const numericRegex: RegExp = new RegExp(\n numericQuantityRegex.source.replace(/^\\^/, String.raw`^\\s*`).replace(/\\$$/, String.raw`\\s*$`)\n);\n\n/**\n * Determines if a variable is a plain old JavaScript object, aka POJO.\n */\n// oxlint-disable-next-line typescript/no-explicit-any\nexport const isPojo = (obj: any): obj is Record<string, any> =>\n obj === null || typeof obj !== 'object' ? false : Object.getPrototypeOf(obj) === Object.prototype;\n\n/**\n * Simple helper to determine whether a value is null, undefined, or an empty string.\n */\nexport const nullOrUndefinedOrEmpty = (value: unknown): value is null | undefined | '' =>\n value === null || value === undefined || value === '';\n","import type { RuleGroupType, RuleGroupTypeAny, RuleGroupTypeIC, RuleType } from '../types';\nimport { isPojo } from './misc';\n\n/**\n * Determines if an object is a {@link RuleType} (only checks for a `field` property).\n */\nexport const isRuleType = (s: unknown): s is RuleType =>\n isPojo(s) && 'field' in s && typeof s.field === 'string';\n\n/**\n * Determines if an object is a {@link RuleGroupType} or {@link RuleGroupTypeIC}.\n */\nexport const isRuleGroup = (rg: unknown): rg is RuleGroupTypeAny =>\n isPojo(rg) && Array.isArray(rg.rules);\n\n/**\n * Determines if an object is a {@link RuleGroupType}.\n */\nexport const isRuleGroupType = (rg: unknown): rg is RuleGroupType =>\n isRuleGroup(rg) && typeof rg.combinator === 'string';\n\n/**\n * Determines if an object is a {@link RuleGroupTypeIC}.\n */\nexport const isRuleGroupTypeIC = (rg: unknown): rg is RuleGroupTypeIC =>\n isRuleGroup(rg) && rg.combinator === undefined;\n"],"mappings":";;;;;;;AAMA,MAAa,MAAS,MAAa,OAAO,MAAM,WAAY,EAAE,aAAa,GAAS;;;;;AAMpF,MAAaA,iBAAuB,IAAI,OACtCC,aAAqB,OAAO,QAAQ,OAAO,OAAO,GAAG,OAAO,CAAC,QAAQ,OAAO,OAAO,GAAG,OAAO,CAC9F;;;;AAMD,MAAa,UAAU,QACrB,QAAQ,QAAQ,OAAO,QAAQ,WAAW,QAAQ,OAAO,eAAe,IAAI,KAAK,OAAO;;;;AAK1F,MAAa,0BAA0B,UACrC,UAAU,QAAQ,UAAU,UAAa,UAAU;;;;;;;ACfrD,MAAa,eAAe,OAC1B,OAAO,GAAG,IAAI,MAAM,QAAQ,GAAG,MAAM;;;;AAKvC,MAAa,mBAAmB,OAC9B,YAAY,GAAG,IAAI,OAAO,GAAG,eAAe;;;;AAK9C,MAAa,qBAAqB,OAChC,YAAY,GAAG,IAAI,GAAG,eAAe"}
1
+ {"version":3,"file":"isRuleGroup-CYcfPgbg.mjs","names":["numericRegex: RegExp","numericQuantityRegex"],"sources":["../src/utils/misc.ts","../src/utils/isRuleGroup.ts"],"sourcesContent":["import { numericRegex as numericQuantityRegex } from 'numeric-quantity';\n\n/**\n * Converts a value to lowercase if it's a string, otherwise returns the value as is.\n */\n// istanbul ignore next\nexport const lc = <T>(v: T): T => (typeof v === 'string' ? (v.toLowerCase() as T) : v);\n\n/**\n * Regex matching numeric strings. Passes for positive/negative integers, decimals,\n * and E notation, with optional surrounding whitespace.\n */\nexport const numericRegex: RegExp = new RegExp(\n numericQuantityRegex.source.replace(/^\\^/, String.raw`^\\s*`).replace(/\\$$/, String.raw`\\s*$`)\n);\n\n/**\n * Determines if a variable is a plain old JavaScript object, aka POJO.\n */\n// oxlint-disable-next-line typescript/no-explicit-any\nexport const isPojo = (obj: any): obj is Record<string, any> =>\n obj === null || typeof obj !== 'object' ? false : Object.getPrototypeOf(obj) === Object.prototype;\n\n/**\n * Simple helper to determine whether a value is null, undefined, or an empty string.\n */\nexport const nullOrUndefinedOrEmpty = (value: unknown): value is null | undefined | '' =>\n value === null || value === undefined || value === '';\n","import type { RuleGroupType, RuleGroupTypeAny, RuleGroupTypeIC, RuleType } from '../types';\nimport { isPojo } from './misc';\n\n/**\n * Determines if an object is a {@link RuleType} (only checks for a `field` property).\n */\nexport const isRuleType = (s: unknown): s is RuleType =>\n isPojo(s) && 'field' in s && typeof s.field === 'string';\n\n/**\n * Determines if an object is a {@link RuleGroupType} or {@link RuleGroupTypeIC}.\n */\nexport const isRuleGroup = (rg: unknown): rg is RuleGroupTypeAny =>\n isPojo(rg) && Array.isArray(rg.rules);\n\n/**\n * Determines if an object is a {@link RuleGroupType}.\n */\nexport const isRuleGroupType = (rg: unknown): rg is RuleGroupType =>\n isRuleGroup(rg) && typeof rg.combinator === 'string';\n\n/**\n * Determines if an object is a {@link RuleGroupTypeIC}.\n */\nexport const isRuleGroupTypeIC = (rg: unknown): rg is RuleGroupTypeIC =>\n isRuleGroup(rg) && rg.combinator === undefined;\n"],"mappings":";;;;;;;AAMA,MAAa,MAAS,MAAa,OAAO,MAAM,WAAY,EAAE,aAAa,GAAS;;;;;AAMpF,MAAaA,iBAAuB,IAAI,OACtCC,aAAqB,OAAO,QAAQ,OAAO,OAAO,GAAG,OAAO,CAAC,QAAQ,OAAO,OAAO,GAAG,OAAO,CAC9F;;;;AAMD,MAAa,UAAU,QACrB,QAAQ,QAAQ,OAAO,QAAQ,WAAW,QAAQ,OAAO,eAAe,IAAI,KAAK,OAAO;;;;AAK1F,MAAa,0BAA0B,UACrC,UAAU,QAAQ,UAAU,UAAa,UAAU;;;;;;;ACfrD,MAAa,eAAe,OAC1B,OAAO,GAAG,IAAI,MAAM,QAAQ,GAAG,MAAM;;;;AAKvC,MAAa,mBAAmB,OAC9B,YAAY,GAAG,IAAI,OAAO,GAAG,eAAe;;;;AAK9C,MAAa,qBAAqB,OAChC,YAAY,GAAG,IAAI,GAAG,eAAe"}
@@ -0,0 +1,406 @@
1
+ const require_isRuleGroup = require('./isRuleGroup-DqAs2x4E.js');
2
+
3
+ //#region ../../node_modules/@ts-jison/parser/lib/parser.js
4
+ var require_parser = /* @__PURE__ */ require_isRuleGroup.__commonJS({ "../../node_modules/@ts-jison/parser/lib/parser.js": ((exports) => {
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var JisonParser = function() {
7
+ function JisonParser$1(yy, lexer) {
8
+ if (yy === void 0) yy = {};
9
+ this.yy = yy;
10
+ this.lexer = lexer;
11
+ }
12
+ JisonParser$1.prototype.trace = function(str) {};
13
+ JisonParser$1.prototype.parseError = function(str, hash) {
14
+ if (hash.recoverable) this.trace(str);
15
+ else {
16
+ var error = new Error(str);
17
+ error.hash = hash;
18
+ throw error;
19
+ }
20
+ };
21
+ JisonParser$1.prototype.parse = function(input, yy) {
22
+ if (yy === void 0) yy = typeof this.yy === "function" && typeof this.yy.constructor === "function" ? new this.yy(this, this.lexer) : Object.create(this.yy);
23
+ var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
24
+ var args = lstack.slice.call(arguments, 1);
25
+ var lexer = Object.create(this.lexer);
26
+ var sharedState = { yy };
27
+ lexer.setInput(input, sharedState.yy);
28
+ sharedState.yy.lexer = lexer;
29
+ sharedState.yy.parser = this;
30
+ if (typeof lexer.yylloc == "undefined") lexer.yylloc = {};
31
+ var yyloc = lexer.yylloc;
32
+ lstack.push(yyloc);
33
+ var ranges = lexer.options && lexer.options.ranges;
34
+ if (typeof sharedState.yy.parseError === "function") this.parseError = sharedState.yy.parseError;
35
+ function popStack(n) {
36
+ stack.length = stack.length - 2 * n;
37
+ vstack.length = vstack.length - n;
38
+ lstack.length = lstack.length - n;
39
+ }
40
+ var lex = function() {
41
+ var token = lexer.lex() || EOF;
42
+ if (typeof token !== "number") token = self.symbols_[token] || token;
43
+ return token;
44
+ }, symbol, preErrorSymbol, state, action, r, yyval = {}, p, len, newState, expected;
45
+ while (true) {
46
+ state = stack[stack.length - 1];
47
+ if (this.defaultActions[state]) action = this.defaultActions[state];
48
+ else {
49
+ if (symbol === null || typeof symbol == "undefined") symbol = lex();
50
+ action = table[state] && table[state][symbol];
51
+ }
52
+ _handle_error: if (typeof action === "undefined" || !action.length || !action[0]) {
53
+ var error_rule_depth = null;
54
+ var errStr = "";
55
+ if (!recovering) {
56
+ error_rule_depth = locateNearestErrorRecoveryRule(state);
57
+ expected = [];
58
+ for (var _p in table[state]) {
59
+ p = Number(_p);
60
+ if (this.terminals_[p] && p > TERROR) expected.push("'" + this.terminals_[p] + "'");
61
+ }
62
+ if (lexer.showPosition) errStr = "Parse error on line " + (yylineno + 1) + ":\n" + lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
63
+ else errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'");
64
+ this.parseError(errStr, {
65
+ text: lexer.match,
66
+ token: this.terminals_[symbol] || symbol,
67
+ line: lexer.yylineno,
68
+ loc: lexer.yylloc,
69
+ expected,
70
+ recoverable: error_rule_depth !== null
71
+ });
72
+ } else if (preErrorSymbol !== EOF) error_rule_depth = locateNearestErrorRecoveryRule(state);
73
+ if (recovering == 3) {
74
+ if (symbol === EOF || preErrorSymbol === EOF) throw new Error(errStr || "Parsing halted while starting to recover from another error.");
75
+ yyleng = lexer.yyleng;
76
+ yytext = lexer.yytext;
77
+ yylineno = lexer.yylineno;
78
+ yyloc = lexer.yylloc;
79
+ symbol = lex();
80
+ }
81
+ if (error_rule_depth === null) throw new Error(errStr || "Parsing halted. No suitable error recovery rule available.");
82
+ popStack(error_rule_depth || 0);
83
+ preErrorSymbol = symbol == TERROR ? null : symbol;
84
+ symbol = TERROR;
85
+ state = stack[stack.length - 1];
86
+ action = table[state] && table[state][TERROR];
87
+ recovering = 3;
88
+ }
89
+ if (action[0] instanceof Array && action.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
90
+ switch (action[0]) {
91
+ case 1:
92
+ stack.push(symbol);
93
+ vstack.push(lexer.yytext);
94
+ lstack.push(lexer.yylloc);
95
+ stack.push(action[1]);
96
+ symbol = null;
97
+ if (!preErrorSymbol) {
98
+ yyleng = lexer.yyleng;
99
+ yytext = lexer.yytext;
100
+ yylineno = lexer.yylineno;
101
+ yyloc = lexer.yylloc;
102
+ if (recovering > 0) recovering--;
103
+ } else {
104
+ symbol = preErrorSymbol;
105
+ preErrorSymbol = null;
106
+ }
107
+ break;
108
+ case 2:
109
+ len = this.productions_[action[1]][1];
110
+ yyval.$ = vstack[vstack.length - len];
111
+ yyval._$ = {
112
+ first_line: lstack[lstack.length - (len || 1)].first_line,
113
+ last_line: lstack[lstack.length - 1].last_line,
114
+ first_column: lstack[lstack.length - (len || 1)].first_column,
115
+ last_column: lstack[lstack.length - 1].last_column
116
+ };
117
+ if (ranges) yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];
118
+ r = this.performAction.apply(yyval, [
119
+ yytext,
120
+ yyleng,
121
+ yylineno,
122
+ sharedState.yy,
123
+ action[1],
124
+ vstack,
125
+ lstack
126
+ ].concat(args));
127
+ if (typeof r !== "undefined") return r;
128
+ if (len) {
129
+ stack = stack.slice(0, -1 * len * 2);
130
+ vstack = vstack.slice(0, -1 * len);
131
+ lstack = lstack.slice(0, -1 * len);
132
+ }
133
+ stack.push(this.productions_[action[1]][0]);
134
+ vstack.push(yyval.$);
135
+ lstack.push(yyval._$);
136
+ newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
137
+ stack.push(newState);
138
+ break;
139
+ case 3: return true;
140
+ }
141
+ }
142
+ return true;
143
+ function locateNearestErrorRecoveryRule(state$1) {
144
+ var stack_probe = stack.length - 1;
145
+ var depth = 0;
146
+ for (;;) {
147
+ if (TERROR.toString() in table[state$1]) return depth;
148
+ if (state$1 === 0 || stack_probe < 2) return null;
149
+ stack_probe -= 2;
150
+ state$1 = stack[stack_probe];
151
+ ++depth;
152
+ }
153
+ }
154
+ };
155
+ JisonParser$1.expandParseTable = function(k, v, o) {
156
+ var l = k.length;
157
+ for (o = o || {}; l--; o[k[l]] = v);
158
+ return o;
159
+ };
160
+ return JisonParser$1;
161
+ }();
162
+ exports.JisonParser = JisonParser;
163
+ }) });
164
+
165
+ //#endregion
166
+ //#region ../../node_modules/@ts-jison/lexer/lib/lexer.js
167
+ var require_lexer = /* @__PURE__ */ require_isRuleGroup.__commonJS({ "../../node_modules/@ts-jison/lexer/lib/lexer.js": ((exports) => {
168
+ Object.defineProperty(exports, "__esModule", { value: true });
169
+ var JisonLexer = function() {
170
+ function JisonLexer$1(yy) {
171
+ if (yy === void 0) yy = {};
172
+ this.yy = yy;
173
+ this.EOF = 1;
174
+ this.options = {};
175
+ this.yyleng = 0;
176
+ this.yylloc = {
177
+ first_line: 1,
178
+ first_column: 0,
179
+ last_line: 1,
180
+ last_column: 0
181
+ };
182
+ }
183
+ JisonLexer$1.prototype.parseError = function(str, hash) {
184
+ if (this.yy.parser) this.yy.parser.parseError(str, hash);
185
+ else throw new Error(str);
186
+ };
187
+ JisonLexer$1.prototype.setInput = function(input, yy) {
188
+ this.yy = yy || this.yy || {};
189
+ this._input = input;
190
+ this._more = this._backtrack = this.done = false;
191
+ this.yylineno = this.yyleng = 0;
192
+ this.yytext = this.matched = this.match = "";
193
+ this.conditionStack = ["INITIAL"];
194
+ this.yylloc = {
195
+ first_line: 1,
196
+ first_column: 0,
197
+ last_line: 1,
198
+ last_column: 0
199
+ };
200
+ if (this.options.ranges) this.yylloc.range = [0, 0];
201
+ this.offset = 0;
202
+ return this;
203
+ };
204
+ JisonLexer$1.prototype.input = function() {
205
+ if (this._input.length === 0) {
206
+ this.done = true;
207
+ return "" + this.EOF;
208
+ }
209
+ var ch = this._input[0];
210
+ this.yytext += ch;
211
+ this.yyleng++;
212
+ this.offset++;
213
+ this.match += ch;
214
+ this.matched += ch;
215
+ if (ch.match(/(?:\r\n?|\n).*/g)) {
216
+ this.yylineno++;
217
+ this.yylloc.last_line++;
218
+ } else this.yylloc.last_column++;
219
+ if (this.options.ranges) this.yylloc.range[1]++;
220
+ this._input = this._input.slice(1);
221
+ return ch;
222
+ };
223
+ JisonLexer$1.prototype.unput = function(ch) {
224
+ var len = ch.length;
225
+ var lines = ch.split(/(?:\r\n?|\n)/g);
226
+ this._input = ch + this._input;
227
+ this.yytext = this.yytext.substr(0, this.yytext.length - len);
228
+ this.offset -= len;
229
+ var oldLines = this.match.split(/(?:\r\n?|\n)/g);
230
+ this.match = this.match.substr(0, this.match.length - 1);
231
+ this.matched = this.matched.substr(0, this.matched.length - 1);
232
+ if (lines.length - 1) this.yylineno -= lines.length - 1;
233
+ var r = this.yylloc.range;
234
+ this.yylloc = {
235
+ first_line: this.yylloc.first_line,
236
+ last_line: this.yylineno + 1,
237
+ first_column: this.yylloc.first_column,
238
+ last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len
239
+ };
240
+ if (this.options.ranges) this.yylloc.range = [r[0], r[0] + this.yyleng - len];
241
+ this.yyleng = this.yytext.length;
242
+ return this;
243
+ };
244
+ JisonLexer$1.prototype.more = function() {
245
+ this._more = true;
246
+ return this;
247
+ };
248
+ JisonLexer$1.prototype.reject = function() {
249
+ if (this.options.backtrack_lexer) this._backtrack = true;
250
+ else return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), {
251
+ text: "",
252
+ token: null,
253
+ line: this.yylineno
254
+ });
255
+ return this;
256
+ };
257
+ JisonLexer$1.prototype.less = function(n) {
258
+ this.unput(this.match.slice(n));
259
+ };
260
+ JisonLexer$1.prototype.pastInput = function() {
261
+ var past = this.matched.substr(0, this.matched.length - this.match.length);
262
+ return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, "");
263
+ };
264
+ JisonLexer$1.prototype.upcomingInput = function() {
265
+ var next = this.match;
266
+ if (next.length < 20) next += this._input.substr(0, 20 - next.length);
267
+ return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, "");
268
+ };
269
+ JisonLexer$1.prototype.showPosition = function() {
270
+ var pre = this.pastInput();
271
+ var c = new Array(pre.length + 1).join("-");
272
+ return pre + this.upcomingInput() + "\n" + c + "^";
273
+ };
274
+ JisonLexer$1.prototype.test_match = function(match, indexed_rule) {
275
+ var token, lines, backup;
276
+ if (this.options.backtrack_lexer) {
277
+ backup = {
278
+ yylineno: this.yylineno,
279
+ yylloc: {
280
+ first_line: this.yylloc.first_line,
281
+ last_line: this.yylloc.last_line,
282
+ first_column: this.yylloc.first_column,
283
+ last_column: this.yylloc.last_column
284
+ },
285
+ yytext: this.yytext,
286
+ match: this.match,
287
+ matches: this.matches,
288
+ matched: this.matched,
289
+ yyleng: this.yyleng,
290
+ offset: this.offset,
291
+ _more: this._more,
292
+ _input: this._input,
293
+ yy: this.yy,
294
+ conditionStack: this.conditionStack.slice(0),
295
+ done: this.done
296
+ };
297
+ if (this.options.ranges) backup.yylloc.range = this.yylloc.range.slice(0);
298
+ }
299
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
300
+ if (lines) this.yylineno += lines.length;
301
+ this.yylloc = {
302
+ first_line: this.yylloc.last_line,
303
+ last_line: this.yylineno + 1,
304
+ first_column: this.yylloc.last_column,
305
+ last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length
306
+ };
307
+ this.yytext += match[0];
308
+ this.match += match[0];
309
+ this.matches = match;
310
+ this.yyleng = this.yytext.length;
311
+ if (this.options.ranges) this.yylloc.range = [this.offset, this.offset += this.yyleng];
312
+ this._more = false;
313
+ this._backtrack = false;
314
+ this._input = this._input.slice(match[0].length);
315
+ this.matched += match[0];
316
+ token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
317
+ if (this.done && this._input) this.done = false;
318
+ if (token) return token;
319
+ else if (this._backtrack) {
320
+ for (var k in backup) this[k] = backup[k];
321
+ return false;
322
+ }
323
+ return false;
324
+ };
325
+ JisonLexer$1.prototype.next = function() {
326
+ if (this.done) return this.EOF;
327
+ if (!this._input) this.done = true;
328
+ var token, match = null, tempMatch, index;
329
+ if (!this._more) {
330
+ this.yytext = "";
331
+ this.match = "";
332
+ }
333
+ var rules = this._currentRules();
334
+ for (var i = 0; i < rules.length; i++) {
335
+ tempMatch = this._input.match(this.rules[rules[i]]);
336
+ if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
337
+ match = tempMatch;
338
+ index = i;
339
+ if (this.options.backtrack_lexer) {
340
+ token = this.test_match(tempMatch, rules[i]);
341
+ if (token !== false) return token;
342
+ else if (this._backtrack) {
343
+ match = null;
344
+ continue;
345
+ } else return false;
346
+ } else if (!this.options.flex) break;
347
+ }
348
+ }
349
+ if (match) {
350
+ token = this.test_match(match, rules[index]);
351
+ if (token !== false) return token;
352
+ return false;
353
+ }
354
+ if (this._input === "") return this.EOF;
355
+ else return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), {
356
+ text: "",
357
+ token: null,
358
+ line: this.yylineno
359
+ });
360
+ };
361
+ JisonLexer$1.prototype.lex = function() {
362
+ var r = this.next();
363
+ if (r) return r;
364
+ else return this.lex();
365
+ };
366
+ JisonLexer$1.prototype.begin = function(condition) {
367
+ this.conditionStack.push(condition);
368
+ };
369
+ JisonLexer$1.prototype.popState = function() {
370
+ if (this.conditionStack.length - 1 > 0) return this.conditionStack.pop();
371
+ else return this.conditionStack[0];
372
+ };
373
+ JisonLexer$1.prototype._currentRules = function() {
374
+ if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
375
+ else return this.conditions["INITIAL"].rules;
376
+ };
377
+ JisonLexer$1.prototype.topState = function(n) {
378
+ n = this.conditionStack.length - 1 - Math.abs(n || 0);
379
+ if (n >= 0) return this.conditionStack[n];
380
+ else return "INITIAL";
381
+ };
382
+ JisonLexer$1.prototype.pushState = function(condition) {
383
+ this.begin(condition);
384
+ };
385
+ JisonLexer$1.prototype.stateStackSize = function() {
386
+ return this.conditionStack.length;
387
+ };
388
+ return JisonLexer$1;
389
+ }();
390
+ exports.JisonLexer = JisonLexer;
391
+ }) });
392
+
393
+ //#endregion
394
+ Object.defineProperty(exports, 'require_lexer', {
395
+ enumerable: true,
396
+ get: function () {
397
+ return require_lexer;
398
+ }
399
+ });
400
+ Object.defineProperty(exports, 'require_parser', {
401
+ enumerable: true,
402
+ get: function () {
403
+ return require_parser;
404
+ }
405
+ });
406
+ //# sourceMappingURL=lexer-C53tqS2p.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lexer-C53tqS2p.js","names":["JisonParser","state","JisonLexer"],"sources":["../../../node_modules/@ts-jison/parser/lib/parser.js","../../../node_modules/@ts-jison/lexer/lib/lexer.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JisonParser = void 0;\nvar JisonParser = /** @class */ (function () {\n function JisonParser(yy, lexer) {\n if (yy === void 0) { yy = {}; }\n this.yy = yy;\n this.lexer = lexer;\n }\n JisonParser.prototype.trace = function (str) { };\n JisonParser.prototype.parseError = function (str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n }\n else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n };\n JisonParser.prototype.parse = function (input, yy) {\n if (yy === void 0) { yy = typeof this.yy === 'function' && typeof this.yy.constructor === 'function' ? new this.yy(this, this.lexer) : Object.create(this.yy); }\n var self = this, stack = [0], tstack = [], // token stack\n vstack = [null], // semantic value stack\n lstack = [], // location stack\n table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n //this.reductionCount = this.shiftCount = 0;\n var lexer = Object.create(this.lexer);\n var sharedState = { yy: yy };\n lexer.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer;\n sharedState.yy.parser = this;\n if (typeof lexer.yylloc == 'undefined') {\n lexer.yylloc = {};\n }\n var yyloc = lexer.yylloc;\n lstack.push(yyloc);\n var ranges = lexer.options && lexer.options.ranges;\n if (typeof sharedState.yy.parseError === 'function') {\n this.parseError = sharedState.yy.parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n var lex = function () {\n var token;\n // @ts-ignore\n token = (lexer.lex() || EOF);\n // if token isn't its numeric value, convert\n if (typeof token !== 'number') {\n token = self.symbols_[token] || token;\n }\n return token;\n };\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n // retreive state number from top of stack\n state = stack[stack.length - 1];\n // use default actions if available\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n }\n else {\n if (symbol === null || typeof symbol == 'undefined') {\n symbol = lex();\n }\n // read action for current state and first input\n action = table[state] && table[state][symbol];\n }\n _handle_error: \n // handle parse error\n if (typeof action === 'undefined' || !action.length || !action[0]) {\n var error_rule_depth = null;\n var errStr = '';\n if (!recovering) {\n // first see if there's any chance at hitting an error recovery rule:\n error_rule_depth = locateNearestErrorRecoveryRule(state);\n // Report error\n expected = [];\n for (var _p in table[state]) {\n p = Number(_p);\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer.showPosition) {\n errStr = 'Parse error on line ' + (yylineno + 1) + \":\\n\" + lexer.showPosition() + \"\\nExpecting \" + expected.join(', ') + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n }\n else {\n errStr = 'Parse error on line ' + (yylineno + 1) + \": Unexpected \" +\n (symbol == EOF ? \"end of input\" :\n (\"'\" + (this.terminals_[symbol] || symbol) + \"'\"));\n }\n this.parseError(errStr, {\n text: lexer.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer.yylineno,\n loc: lexer.yylloc,\n expected: expected,\n recoverable: (error_rule_depth !== null)\n });\n }\n else if (preErrorSymbol !== EOF) {\n error_rule_depth = locateNearestErrorRecoveryRule(state);\n }\n // just recovered from another error\n if (recovering == 3) {\n if (symbol === EOF || preErrorSymbol === EOF) {\n throw new Error(errStr || 'Parsing halted while starting to recover from another error.');\n }\n // discard current lookahead and grab another\n yyleng = lexer.yyleng;\n yytext = lexer.yytext;\n yylineno = lexer.yylineno;\n yyloc = lexer.yylloc;\n symbol = lex();\n }\n // try to recover from error\n if (error_rule_depth === null) {\n throw new Error(errStr || 'Parsing halted. No suitable error recovery rule available.');\n }\n popStack(error_rule_depth || 0);\n preErrorSymbol = (symbol == TERROR ? null : symbol); // save the lookahead token\n symbol = TERROR; // insert generic error symbol as new lookahead\n state = stack[stack.length - 1];\n action = table[state] && table[state][TERROR];\n recovering = 3; // allow 3 real symbols to be shifted before reporting a new error\n }\n // this shouldn't happen, unless resolve defaults are off\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);\n }\n switch (action[0]) {\n case 1: // shift\n //this.shiftCount++;\n stack.push(symbol);\n vstack.push(lexer.yytext);\n lstack.push(lexer.yylloc);\n stack.push(action[1]); // push state\n symbol = null;\n if (!preErrorSymbol) { // normal execution/no error\n yyleng = lexer.yyleng;\n yytext = lexer.yytext;\n yylineno = lexer.yylineno;\n yyloc = lexer.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n }\n else {\n // error just occurred, resume old lookahead f/ before error\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n // reduce\n //this.reductionCount++;\n len = this.productions_[action[1]][1];\n // perform semantic action\n yyval.$ = vstack[vstack.length - len]; // default to $$ = $1\n // default location, uses first token for firsts, last for lasts\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];\n }\n // @ts-ignore\n r = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args));\n if (typeof r !== 'undefined') {\n return r;\n }\n // pop off stack\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]); // push nonterminal (reduce)\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n // goto new state = table[STATE][NONTERMINAL]\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n // accept\n return true;\n }\n }\n return true;\n // Return the rule stack depth where the nearest error rule can be found.\n // Return FALSE when no error recovery rule was found.\n function locateNearestErrorRecoveryRule(state) {\n var stack_probe = stack.length - 1;\n var depth = 0;\n // try to recover from error\n for (;;) {\n // check for error recovery rule in this state\n if ((TERROR.toString()) in table[state]) {\n return depth;\n }\n if (state === 0 || stack_probe < 2) {\n return null; // No suitable error recovery rule available.\n }\n stack_probe -= 2; // popStack(1): [symbol, action]\n state = stack[stack_probe];\n ++depth;\n }\n }\n };\n /* Function that extends an object with the given value for all given keys\n * e.g., o([1, 3, 4], [6, 7], { x: 1, y: 2 }) = { 1: [6, 7]; 3: [6, 7], 4: [6, 7], x: 1, y: 2 }\n * This is used to docompress parser tables at module load time.\n */\n JisonParser.expandParseTable = function (k, v, o) {\n var l = k.length;\n for (o = o || {}; l--; o[k[l]] = v)\n ;\n return o;\n };\n return JisonParser;\n}());\nexports.JisonParser = JisonParser;\n//# sourceMappingURL=parser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JisonLexer = void 0;\nvar JisonLexer = /** @class */ (function () {\n function JisonLexer(yy) {\n if (yy === void 0) { yy = {}; }\n this.yy = yy;\n this.EOF = 1;\n this.options = {};\n this.yyleng = 0;\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n }\n JisonLexer.prototype.parseError = function (str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n }\n else {\n throw new Error(str);\n }\n };\n // resets the lexer, sets new input\n JisonLexer.prototype.setInput = function (input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = '';\n this.conditionStack = ['INITIAL'];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n };\n // consumes and returns one char from the input\n JisonLexer.prototype.input = function () {\n if (this._input.length === 0) {\n this.done = true;\n return '' + this.EOF;\n }\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n }\n else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n };\n // unshifts one char (or a string) into the input\n JisonLexer.prototype.unput = function (ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n //this.yyleng -= len;\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n var yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ?\n (lines.length === oldLines.length ? this.yylloc.first_column : 0)\n + oldLines[oldLines.length - lines.length].length - lines[0].length :\n this.yylloc.first_column - len\n };\n this.yylloc = yylloc;\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n };\n // When called from action, caches matched text and appends it on next action\n JisonLexer.prototype.more = function () {\n this._more = true;\n return this;\n };\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n JisonLexer.prototype.reject = function () {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n }\n else {\n return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n' + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n };\n // retain first n characters of the match\n JisonLexer.prototype.less = function (n) {\n this.unput(this.match.slice(n));\n };\n // displays already matched input, i.e. for error messages\n JisonLexer.prototype.pastInput = function () {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\\n/g, \"\");\n };\n // displays upcoming input, i.e. for error messages\n JisonLexer.prototype.upcomingInput = function () {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, \"\");\n };\n // displays the character position where the lexing error occurred, i.e. for error messages\n JisonLexer.prototype.showPosition = function () {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n };\n // test the lexed token: return FALSE when not a match, otherwise return token\n JisonLexer.prototype.test_match = function (match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n // save context\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.yylloc.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = (this.yylloc.range.slice(0));\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ?\n lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length :\n this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n }\n else if (this._backtrack) {\n // recover context\n for (var k in backup) { // what's the typescript-y way to copy fields across?\n this[k] = backup[k];\n }\n return false; // rule action called reject() implying the next rule should be tested instead.\n }\n return false;\n };\n // return next match in input\n JisonLexer.prototype.next = function () {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match = null, tempMatch, index;\n if (!this._more) {\n this.yytext = '';\n this.match = '';\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n }\n else if (this._backtrack) {\n match = null;\n continue; // rule action called reject() implying a rule MISmatch.\n }\n else {\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n }\n else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n }\n else {\n return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n };\n // return next match that has a token\n JisonLexer.prototype.lex = function () {\n var r = this.next();\n if (r) {\n return r;\n }\n else {\n return this.lex();\n }\n };\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n JisonLexer.prototype.begin = function (condition) {\n this.conditionStack.push(condition);\n };\n // pop the previously active lexer condition state off the condition stack\n JisonLexer.prototype.popState = function () {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n }\n else {\n return this.conditionStack[0];\n }\n };\n // produce the lexer rule set which is active for the currently active lexer condition state\n JisonLexer.prototype._currentRules = function () {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n }\n else {\n return this.conditions[\"INITIAL\"].rules;\n }\n };\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n JisonLexer.prototype.topState = function (n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n }\n else {\n return \"INITIAL\";\n }\n };\n // alias for begin(condition)\n JisonLexer.prototype.pushState = function (condition) {\n this.begin(condition);\n };\n // return the number of states currently on the stack\n JisonLexer.prototype.stateStackSize = function () {\n return this.conditionStack.length;\n };\n return JisonLexer;\n}());\nexports.JisonLexer = JisonLexer;\n//# sourceMappingURL=lexer.js.map"],"x_google_ignoreList":[0,1],"mappings":"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"}
@@ -2,6 +2,89 @@ const require_isRuleGroup = require('./isRuleGroup-DqAs2x4E.js');
2
2
  let immer = require("immer");
3
3
  immer = require_isRuleGroup.__toESM(immer);
4
4
 
5
+ //#region src/defaults.ts
6
+ /**
7
+ * @group Defaults
8
+ */
9
+ const defaultPlaceholderName = "~";
10
+ /**
11
+ * Default `name` for placeholder option in the `fields` array.
12
+ *
13
+ * @group Defaults
14
+ */
15
+ const defaultPlaceholderFieldName = defaultPlaceholderName;
16
+ /**
17
+ * Default `name` for placeholder option in the `operators` array.
18
+ *
19
+ * @group Defaults
20
+ */
21
+ const defaultPlaceholderOperatorName = defaultPlaceholderName;
22
+ /**
23
+ * Default character used to `.join` and `.split` arrays.
24
+ *
25
+ * @group Defaults
26
+ */
27
+ const defaultJoinChar = ",";
28
+ /**
29
+ * Map of default operators to their respective opposite/negating operators.
30
+ *
31
+ * @group Defaults
32
+ */
33
+ const defaultOperatorNegationMap = {
34
+ "=": "!=",
35
+ "!=": "=",
36
+ "<": ">=",
37
+ "<=": ">",
38
+ ">": "<=",
39
+ ">=": "<",
40
+ beginsWith: "doesNotBeginWith",
41
+ doesNotBeginWith: "beginsWith",
42
+ endsWith: "doesNotEndWith",
43
+ doesNotEndWith: "endsWith",
44
+ contains: "doesNotContain",
45
+ doesNotContain: "contains",
46
+ between: "notBetween",
47
+ notBetween: "between",
48
+ in: "notIn",
49
+ notIn: "in",
50
+ notNull: "null",
51
+ null: "notNull"
52
+ };
53
+ /**
54
+ * Default combinator list.
55
+ *
56
+ * @group Defaults
57
+ */
58
+ const defaultCombinators = [{
59
+ name: "and",
60
+ value: "and",
61
+ label: "AND"
62
+ }, {
63
+ name: "or",
64
+ value: "or",
65
+ label: "OR"
66
+ }];
67
+ /**
68
+ * Default combinator list, with `XOR` added.
69
+ *
70
+ * @group Defaults
71
+ */
72
+ const defaultCombinatorsExtended = [...defaultCombinators, {
73
+ name: "xor",
74
+ value: "xor",
75
+ label: "XOR"
76
+ }];
77
+
78
+ //#endregion
79
+ //#region src/utils/objectUtils.ts
80
+ /**
81
+ * A strongly-typed version of `Object.keys()`.
82
+ *
83
+ * [Original source](https://github.com/sindresorhus/ts-extras/blob/44f57392c5f027268330771996c4fdf9260b22d6/source/object-keys.ts)
84
+ */
85
+ const objectKeys = Object.keys;
86
+
87
+ //#endregion
5
88
  //#region src/utils/optGroupUtils.ts
6
89
  const isOptionWithName = (opt) => require_isRuleGroup.isPojo(opt) && "name" in opt && typeof opt.name === "string";
7
90
  const isOptionWithValue = (opt) => require_isRuleGroup.isPojo(opt) && "value" in opt && typeof opt.value === "string";
@@ -99,6 +182,30 @@ function getOption(arr, name) {
99
182
  const toFlatOptionArray = (arr) => uniqByIdentifier(isOptionGroupArray(arr) ? arr.flatMap((og) => og.options) : arr);
100
183
 
101
184
  //#endregion
185
+ Object.defineProperty(exports, 'defaultJoinChar', {
186
+ enumerable: true,
187
+ get: function () {
188
+ return defaultJoinChar;
189
+ }
190
+ });
191
+ Object.defineProperty(exports, 'defaultOperatorNegationMap', {
192
+ enumerable: true,
193
+ get: function () {
194
+ return defaultOperatorNegationMap;
195
+ }
196
+ });
197
+ Object.defineProperty(exports, 'defaultPlaceholderFieldName', {
198
+ enumerable: true,
199
+ get: function () {
200
+ return defaultPlaceholderFieldName;
201
+ }
202
+ });
203
+ Object.defineProperty(exports, 'defaultPlaceholderOperatorName', {
204
+ enumerable: true,
205
+ get: function () {
206
+ return defaultPlaceholderOperatorName;
207
+ }
208
+ });
102
209
  Object.defineProperty(exports, 'getOption', {
103
210
  enumerable: true,
104
211
  get: function () {
@@ -117,6 +224,12 @@ Object.defineProperty(exports, 'isFlexibleOptionGroupArray', {
117
224
  return isFlexibleOptionGroupArray;
118
225
  }
119
226
  });
227
+ Object.defineProperty(exports, 'objectKeys', {
228
+ enumerable: true,
229
+ get: function () {
230
+ return objectKeys;
231
+ }
232
+ });
120
233
  Object.defineProperty(exports, 'toFlatOptionArray', {
121
234
  enumerable: true,
122
235
  get: function () {
@@ -135,4 +248,4 @@ Object.defineProperty(exports, 'toFullOptionList', {
135
248
  return toFullOptionList;
136
249
  }
137
250
  });
138
- //# sourceMappingURL=optGroupUtils-CXLgyg2i.js.map
251
+ //# sourceMappingURL=optGroupUtils-B0hTpodo.js.map