@witchcraft/expressit 0.0.2 → 0.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.
Files changed (124) hide show
  1. package/README.md +6 -4
  2. package/dist/Lexer.d.ts +146 -0
  3. package/dist/Lexer.d.ts.map +1 -0
  4. package/dist/Lexer.js +960 -0
  5. package/dist/Parser.d.ts +140 -0
  6. package/dist/Parser.d.ts.map +1 -0
  7. package/dist/Parser.js +668 -0
  8. package/dist/ast/builders/token.js +1 -1
  9. package/dist/ast/handlers.d.ts +3 -3
  10. package/dist/ast/handlers.d.ts.map +1 -1
  11. package/dist/ast/index.d.ts.map +1 -1
  12. package/dist/examples/index.d.ts +2 -0
  13. package/dist/examples/index.d.ts.map +1 -0
  14. package/dist/examples/index.js +4 -0
  15. package/dist/examples/shortcutContextParser.d.ts +2 -1
  16. package/dist/examples/shortcutContextParser.d.ts.map +1 -1
  17. package/dist/examples/shortcutContextParser.js +9 -5
  18. package/dist/helpers/errors.d.ts.map +1 -1
  19. package/dist/helpers/errors.js +3 -1
  20. package/dist/helpers/index.d.ts.map +1 -1
  21. package/dist/helpers/parser/checkParserOpts.d.ts.map +1 -1
  22. package/dist/helpers/parser/checkParserOpts.js +3 -2
  23. package/dist/helpers/parser/extractPosition.d.ts +2 -6
  24. package/dist/helpers/parser/extractPosition.d.ts.map +1 -1
  25. package/dist/helpers/parser/extractPosition.js +3 -3
  26. package/dist/helpers/parser/getUnclosedRightParenCount.d.ts +2 -3
  27. package/dist/helpers/parser/getUnclosedRightParenCount.d.ts.map +1 -1
  28. package/dist/helpers/parser/getUnclosedRightParenCount.js +4 -4
  29. package/dist/index.d.ts +1 -2
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +3 -5
  32. package/dist/methods/autocomplete.d.ts.map +1 -1
  33. package/dist/methods/autocomplete.js +1 -1
  34. package/dist/methods/autoreplace.js +1 -1
  35. package/dist/methods/autosuggest.js +1 -1
  36. package/dist/methods/evaluate.d.ts.map +1 -1
  37. package/dist/methods/evaluate.js +3 -1
  38. package/dist/methods/getIndexes.d.ts.map +1 -1
  39. package/dist/methods/getIndexes.js +2 -1
  40. package/dist/methods/normalize.d.ts +0 -2
  41. package/dist/methods/normalize.d.ts.map +1 -1
  42. package/dist/methods/normalize.js +2 -3
  43. package/dist/methods/validate.d.ts.map +1 -1
  44. package/dist/methods/validate.js +3 -1
  45. package/dist/package.json.js +44 -37
  46. package/dist/types/ast.d.ts +2 -8
  47. package/dist/types/ast.d.ts.map +1 -1
  48. package/dist/types/errors.d.ts +5 -17
  49. package/dist/types/errors.d.ts.map +1 -1
  50. package/dist/types/errors.js +0 -1
  51. package/dist/types/parser.d.ts +6 -2
  52. package/dist/types/parser.d.ts.map +1 -1
  53. package/dist/utils/extractTokens.js +1 -1
  54. package/dist/utils/getCursorInfo.d.ts +2 -2
  55. package/dist/utils/getCursorInfo.d.ts.map +1 -1
  56. package/dist/utils/getCursorInfo.js +3 -2
  57. package/dist/utils/getOppositeDelimiter.d.ts.map +1 -1
  58. package/dist/utils/getOppositeDelimiter.js +1 -1
  59. package/dist/utils/prettyAst.d.ts.map +1 -1
  60. package/dist/utils/prettyAst.js +15 -9
  61. package/package.json +42 -37
  62. package/src/Lexer.ts +704 -0
  63. package/src/Parser.ts +972 -0
  64. package/src/ast/builders/array.ts +2 -2
  65. package/src/ast/builders/condition.ts +1 -1
  66. package/src/ast/builders/expression.ts +1 -1
  67. package/src/ast/builders/group.ts +1 -1
  68. package/src/ast/builders/index.ts +1 -1
  69. package/src/ast/builders/pos.ts +1 -1
  70. package/src/ast/builders/token.ts +2 -2
  71. package/src/ast/builders/type.ts +1 -1
  72. package/src/ast/builders/variable.ts +1 -1
  73. package/src/ast/classes/ConditionNode.ts +1 -1
  74. package/src/ast/classes/ErrorToken.ts +1 -1
  75. package/src/ast/classes/ValidToken.ts +2 -2
  76. package/src/ast/classes/index.ts +1 -1
  77. package/src/ast/handlers.ts +6 -6
  78. package/src/ast/index.ts +2 -2
  79. package/src/examples/index.ts +3 -0
  80. package/src/examples/shortcutContextParser.ts +11 -6
  81. package/src/helpers/errors.ts +5 -3
  82. package/src/helpers/general/defaultConditionNormalizer.ts +1 -1
  83. package/src/helpers/general/index.ts +1 -1
  84. package/src/helpers/index.ts +3 -2
  85. package/src/helpers/parser/checkParserOpts.ts +13 -12
  86. package/src/helpers/parser/extractPosition.ts +4 -8
  87. package/src/helpers/parser/getUnclosedRightParenCount.ts +6 -6
  88. package/src/helpers/parser/index.ts +1 -1
  89. package/src/helpers/parser/parseParserOptions.ts +1 -1
  90. package/src/index.ts +2 -2
  91. package/src/methods/autocomplete.ts +5 -5
  92. package/src/methods/autoreplace.ts +2 -2
  93. package/src/methods/autosuggest.ts +3 -3
  94. package/src/methods/evaluate.ts +4 -2
  95. package/src/methods/getIndexes.ts +2 -1
  96. package/src/methods/normalize.ts +3 -4
  97. package/src/methods/validate.ts +4 -2
  98. package/src/types/ast.ts +2 -9
  99. package/src/types/errors.ts +12 -22
  100. package/src/types/parser.ts +6 -4
  101. package/src/utils/extractTokens.ts +1 -1
  102. package/src/utils/getCursorInfo.ts +6 -4
  103. package/src/utils/getOppositeDelimiter.ts +5 -2
  104. package/src/utils/prettyAst.ts +5 -3
  105. package/dist/examples/advancedValueComparer.d.ts +0 -3
  106. package/dist/examples/advancedValueComparer.d.ts.map +0 -1
  107. package/dist/examples/advancedValueComparer.js +0 -28
  108. package/dist/grammar/ParserBase.d.ts +0 -51
  109. package/dist/grammar/ParserBase.d.ts.map +0 -1
  110. package/dist/grammar/ParserBase.js +0 -516
  111. package/dist/grammar/createTokens.d.ts +0 -56
  112. package/dist/grammar/createTokens.d.ts.map +0 -1
  113. package/dist/grammar/createTokens.js +0 -843
  114. package/dist/grammar/index.d.ts +0 -3
  115. package/dist/grammar/index.d.ts.map +0 -1
  116. package/dist/grammar/index.js +0 -6
  117. package/dist/parser.d.ts +0 -58
  118. package/dist/parser.d.ts.map +0 -1
  119. package/dist/parser.js +0 -136
  120. package/src/examples/advancedValueComparer.ts +0 -31
  121. package/src/grammar/ParserBase.ts +0 -715
  122. package/src/grammar/createTokens.ts +0 -512
  123. package/src/grammar/index.ts +0 -4
  124. package/src/parser.ts +0 -183
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/ast/handlers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,KAAK,QAAQ,EAA8B,KAAK,QAAQ,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAqD,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAIvM,iBAAS,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAG9E;AAsBD,eAAO,MAAM,KAAK;mBAR4C,MAAM,GAAG,SAAS,OAAO,QAAQ;oBAAjC,MAAM,GAAG,SAAS,OAAO,QAAQ;iBAAjC,MAAM,GAAG,SAAS,OAAO,QAAQ;CAY9F,CAAA;AAED,wHAAwH;AACxH,eAAO,MAAM,SAAS;oBAnBb,MAAM,GAAG,SAAS,OAAO,QAAQ;oBAAjC,MAAM,GAAG,SAAS,OAAO,QAAQ;sBAAjC,MAAM,GAAG,SAAS,OAAO,QAAQ;sBAAjC,MAAM,GAAG,SAAS,OAAO,QAAQ;oBAAjC,MAAM,GAAG,SAAS,OAAO,QAAQ;oBAAjC,MAAM,GAAG,SAAS,OAAO,QAAQ;mBAAjC,MAAM,GAAG,SAAS,OAAO,QAAQ;kBAAjC,MAAM,GAAG,SAAS,OAAO,QAAQ;;CA6BzC,CAAA;AACD,eAAO,MAAM,QAAQ;iBAlCZ,MAAM,OAAO,QAAQ;gBAArB,MAAM,OAAO,QAAQ;iBAArB,MAAM,OAAO,QAAQ;CAsC7B,CAAA;AAID,wBAAgB,QAAQ,CACvB,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,SAAS,EACvD,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,GAAG,SAAS,EACpD,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,SAAS,EACpD,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,GAAG,SAAS,EACpD,KAAK,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,GAClC,YAAY,CAqBd;AAGD,wBAAgB,SAAS,CACxB,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAClD,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,EACzC,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAE;IACjC,gBAAgB,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAA;IAC3D,IAAI,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,IAAI,CAAA;IACpD,IAAI,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,IAAI,CAAA;CAC/C,EACN,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,GACjD,aAAa,CA4Bf;AAED,wBAAgB,UAAU,CACzB,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,EAClD,QAAQ,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI,GAAG,SAAS,EAC1D,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GACjD,cAAc,CAShB;AAED,wBAAgB,KAAK,CACpB,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EACvD,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,EACxC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,EACxD,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,EAClC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,GACtD,SAAS,CAcX;AAED,wBAAgB,KAAK,CACpB,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EACzC,MAAM,EAAE,YAAY,EAAE,EACtB,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,SAAS,GAC1D,SAAS,CAaX"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/ast/handlers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAG7C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { ShortcutContextParser } from "./shortcutContextParser.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { ShortcutContextParser } from "./shortcutContextParser.js";
2
+ export {
3
+ ShortcutContextParser
4
+ };
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * The validate function will return a list of positions with a list of errors which includes handling invalid or duplicate regex flags.
9
9
  */
10
- import { Parser } from "../parser.js";
10
+ import { Parser } from "../Parser.js";
11
11
  import type { Position } from "../types/ast.js";
12
12
  export declare class ShortcutContextParser<T extends Position & {
13
13
  type: ("invalidKey" | "unregexableKey" | "invalidRegexFlag" | "duplicateRegexFlag");
@@ -17,6 +17,7 @@ export declare class ShortcutContextParser<T extends Position & {
17
17
  validKeys: string[];
18
18
  regexablekeys: string[];
19
19
  constructor(dummyContext: Record<string, any>, validRegexFlags?: string[]);
20
+ setContext(context: Record<string, any>): void;
20
21
  private _extractKeysFromContext;
21
22
  }
22
23
  //# sourceMappingURL=shortcutContextParser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shortcutContextParser.d.ts","sourceRoot":"","sources":["../../src/examples/shortcutContextParser.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAI/C,qBAAa,qBAAqB,CAAC,CAAC,SACnC,QAAQ,GAAG;IAAE,IAAI,EAAE,CAAC,YAAY,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,oBAAoB,CAAC,CAAA;CAAE,GAClG,QAAQ,GAAG;IAAE,IAAI,EAAE,CAAC,YAAY,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,oBAAoB,CAAC,CAAA;CAAE,CACjG,SAAQ,MAAM,CAAC,CAAC,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAK;IAExB,aAAa,EAAE,MAAM,EAAE,CAAK;gBAG3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,eAAe,GAAE,MAAM,EAAoB;IAmG5C,OAAO,CAAC,uBAAuB;CAa/B"}
1
+ {"version":3,"file":"shortcutContextParser.d.ts","sourceRoot":"","sources":["../../src/examples/shortcutContextParser.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAI/C,qBAAa,qBAAqB,CAAC,CAAC,SACnC,QAAQ,GAAG;IAAE,IAAI,EAAE,CAAC,YAAY,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,oBAAoB,CAAC,CAAA;CAAE,GAClG,QAAQ,GAAG;IAAE,IAAI,EAAE,CAAC,YAAY,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,oBAAoB,CAAC,CAAA;CAAE,CACjG,SAAQ,MAAM,CAAC,CAAC,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAK;IAExB,aAAa,EAAE,MAAM,EAAE,CAAK;gBAG3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,eAAe,GAAE,MAAM,EAAoB;IAmG5C,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAK9C,OAAO,CAAC,uBAAuB;CAa/B"}
@@ -4,7 +4,7 @@ var __publicField = (obj, key, value) => {
4
4
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
5
  return value;
6
6
  };
7
- import { Parser } from "../parser.js";
7
+ import { Parser } from "../Parser.js";
8
8
  class ShortcutContextParser extends Parser {
9
9
  constructor(dummyContext, validRegexFlags = ["i", "u", "m"]) {
10
10
  super({
@@ -24,11 +24,11 @@ class ShortcutContextParser extends Parser {
24
24
  }
25
25
  return prefix + variable;
26
26
  },
27
- valueComparer: (_condition, contextValue, query) => {
28
- if (query.isRegex) {
29
- return contextValue.match(new RegExp(query.value, query.regexFlags ?? "")) !== null;
27
+ valueComparer: (condition, contextValue, _context) => {
28
+ if (condition.value instanceof RegExp) {
29
+ return contextValue.match(condition.value) !== null;
30
30
  }
31
- return contextValue === query.value;
31
+ return contextValue === condition.value;
32
32
  },
33
33
  valueValidator: (_contextValue, query) => {
34
34
  let tokens = [];
@@ -106,6 +106,10 @@ class ShortcutContextParser extends Parser {
106
106
  __publicField(this, "regexablekeys", []);
107
107
  this._extractKeysFromContext(dummyContext);
108
108
  }
109
+ setContext(context) {
110
+ this.validKeys = [];
111
+ this._extractKeysFromContext(context);
112
+ }
109
113
  _extractKeysFromContext(context, prev) {
110
114
  for (const key of Object.keys(context)) {
111
115
  if (typeof context[key] === "boolean") {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/helpers/errors.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAGhE,qBAAa,yBAAyB,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,KAAK;IAC1E,OAAO,EAAE,MAAM,CAAU;IAEzB,IAAI,EAAE,MAAM,CAAa;IAEzB,IAAI,EAAE,CAAC,CAAA;IAEP,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;gBAEN,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM;CAYzD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/helpers/errors.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAGhE,qBAAa,yBAAyB,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,KAAK;IAC1E,OAAO,EAAE,MAAM,CAAU;IAEzB,IAAI,EAAE,MAAM,CAAa;IAEzB,IAAI,EAAE,CAAC,CAAA;IAEP,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;gBAEN,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM;CAYzD"}
@@ -4,7 +4,9 @@ var __publicField = (obj, key, value) => {
4
4
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
5
  return value;
6
6
  };
7
- import { pretty, crop, indent } from "@alanscodelog/utils";
7
+ import { crop } from "@alanscodelog/utils/crop";
8
+ import { indent } from "@alanscodelog/utils/indent";
9
+ import { pretty } from "@alanscodelog/utils/pretty";
8
10
  import { version, repository } from "../package.js";
9
11
  class BooleanParserLibraryError extends Error {
10
12
  constructor(type, info, message) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAI3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkParserOpts.d.ts","sourceRoot":"","sources":["../../../src/helpers/parser/checkParserOpts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,uBAAuB,CAAA;AAM7E,wBAAgB,eAAe,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,eAAe,GAAE,OAAe,EAAE,eAAe,GAAE,OAAe,GAAG,IAAI,CAoIlJ"}
1
+ {"version":3,"file":"checkParserOpts.d.ts","sourceRoot":"","sources":["../../../src/helpers/parser/checkParserOpts.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,uBAAuB,CAAA;AAM7E,wBAAgB,eAAe,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,eAAe,GAAE,OAAe,EAAE,eAAe,GAAE,OAAe,GAAG,IAAI,CAoIlJ"}
@@ -1,4 +1,5 @@
1
- import { pushIfNotIn, isBlank } from "@alanscodelog/utils";
1
+ import { isBlank } from "@alanscodelog/utils/isBlank";
2
+ import { pushIfNotIn } from "@alanscodelog/utils/pushIfNotIn";
2
3
  import { ERROR_CODES } from "../../types/errors.js";
3
4
  import { BooleanParserLibraryError } from "../errors.js";
4
5
  import { defaultConditionNormalizer } from "../general/defaultConditionNormalizer.js";
@@ -18,7 +19,7 @@ function checkParserOpts(opts, evaluatorChecks = false, validatorChecks = false)
18
19
  if (opts.expandedPropertySeparator)
19
20
  extra.push(opts.expandedPropertySeparator);
20
21
  if (opts.customPropertyOperators)
21
- pushIfNotIn(extra, ...opts.customPropertyOperators);
22
+ pushIfNotIn(extra, opts.customPropertyOperators);
22
23
  if (opts.expandedPropertySeparator && isBlank(opts.expandedPropertySeparator)) {
23
24
  throw new BooleanParserLibraryError(
24
25
  ERROR_CODES.PARSER_CONFLICTING_OPTIONS_ERROR,
@@ -1,9 +1,5 @@
1
+ import type { Token } from "../../Lexer.js";
1
2
  import type { Position } from "../../types/ast.js";
2
- type ChevrotainLocation = {
3
- startOffset?: number;
4
- endOffset?: number;
5
- };
6
3
  /** @internal */
7
- export declare function extractPosition(loc: ChevrotainLocation, shift: number): Position;
8
- export {};
4
+ export declare function extractPosition(pos: Pick<Token, "startOffset" | "endOffset">, shift: number): Position;
9
5
  //# sourceMappingURL=extractPosition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractPosition.d.ts","sourceRoot":"","sources":["../../../src/helpers/parser/extractPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGlD,KAAK,kBAAkB,GAAG;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,gBAAgB;AAChB,wBAAgB,eAAe,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAKhF"}
1
+ {"version":3,"file":"extractPosition.d.ts","sourceRoot":"","sources":["../../../src/helpers/parser/extractPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGlD,gBAAgB;AAChB,wBAAgB,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAKtG"}
@@ -1,7 +1,7 @@
1
- function extractPosition(loc, shift) {
1
+ function extractPosition(pos, shift) {
2
2
  return {
3
- start: loc.startOffset - (shift ?? 0),
4
- end: loc.endOffset + 1 - (shift ?? 0)
3
+ start: pos.startOffset - (shift ?? 0),
4
+ end: pos.endOffset + 1 - (shift ?? 0)
5
5
  };
6
6
  }
7
7
  export {
@@ -1,5 +1,4 @@
1
- import { type IToken } from "chevrotain";
2
- import type { createTokens } from "../../grammar/createTokens.js";
1
+ import { type Token } from "../../Lexer.js";
3
2
  /** @internal */
4
- export declare function getUnclosedRightParenCount(tokens: IToken[], t: ReturnType<typeof createTokens>["tokens"]): number;
3
+ export declare function getUnclosedRightParenCount(tokens: Token[]): number;
5
4
  //# sourceMappingURL=getUnclosedRightParenCount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUnclosedRightParenCount.d.ts","sourceRoot":"","sources":["../../../src/helpers/parser/getUnclosedRightParenCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,YAAY,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAGjE,gBAAgB;AAChB,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAejH"}
1
+ {"version":3,"file":"getUnclosedRightParenCount.d.ts","sourceRoot":"","sources":["../../../src/helpers/parser/getUnclosedRightParenCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAG/C,gBAAgB;AAGhB,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAelE"}
@@ -1,15 +1,15 @@
1
- import { tokenMatcher } from "chevrotain";
2
- function getUnclosedRightParenCount(tokens, t) {
1
+ import { $T } from "../../Lexer.js";
2
+ function getUnclosedRightParenCount(tokens) {
3
3
  let open = 0;
4
4
  let unclosed = 0;
5
5
  for (const token of tokens) {
6
- if (tokenMatcher(token, t.PAREN_R)) {
6
+ if (token.type === $T.PAREN_R) {
7
7
  if (open > 0) {
8
8
  open--;
9
9
  } else {
10
10
  unclosed++;
11
11
  }
12
- } else if (tokenMatcher(token, t.PAREN_L)) {
12
+ } else if (token.type === $T.PAREN_L) {
13
13
  open++;
14
14
  }
15
15
  }
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export * as ast from "./ast/classes/index.js";
2
- export * as grammar from "./grammar/index.js";
3
- export { Parser } from "./parser.js";
2
+ export { Parser } from "./Parser.js";
4
3
  export * from "./types/index.js";
5
4
  export * as utils from "./utils/index.js";
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA"}
package/dist/index.js CHANGED
@@ -1,10 +1,9 @@
1
1
  import * as index from "./ast/classes/index.js";
2
- import * as index$1 from "./grammar/index.js";
3
- import { Parser } from "./parser.js";
2
+ import { Parser } from "./Parser.js";
4
3
  import { AST_TYPE, TOKEN_TYPE } from "./types/ast.js";
5
4
  import { SUGGESTION_TYPE } from "./types/autocomplete.js";
6
5
  import { ERROR_CODES } from "./types/errors.js";
7
- import * as index$2 from "./utils/index.js";
6
+ import * as index$1 from "./utils/index.js";
8
7
  export {
9
8
  AST_TYPE,
10
9
  ERROR_CODES,
@@ -12,6 +11,5 @@ export {
12
11
  SUGGESTION_TYPE,
13
12
  TOKEN_TYPE,
14
13
  index as ast,
15
- index$1 as grammar,
16
- index$2 as utils
14
+ index$1 as utils
17
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../src/methods/autocomplete.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAmB,MAAM,0BAA0B,CAAA;AAC5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAG3D,qBAAa,iBAAiB,CAAC,CAAC,SAAS,EAAE;IAC1C;;;;;;;;OAQG;IACH,YAAY,CACX,WAAW,EAAE,UAAU,EAAE,EACzB,EACC,MAAW,EAAE,WAAgB,EAAE,SAAc,EAAE,QAAa,EAAE,UAAe,EAAE,yBAA8B,EAAE,uBAA0F,EAAE,QAAsD,EAAE,UAA4B,EAAE,KAAY,GAC7S,GAAE,OAAO,CAAC,MAAM,CAChB,WAAW,GACX,QAAQ,GACR,aAAa,GACb,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,2BAA2B,GAC3B,yBAAyB,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG;QACxC,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;KACtC,GACJ,UAAU,EAAE;CA4Ff"}
1
+ {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../src/methods/autocomplete.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAmB,MAAM,0BAA0B,CAAA;AAC5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAG3D,qBAAa,iBAAiB,CAAC,CAAC,SAAS,EAAE;IAC1C;;;;;;;;OAQG;IACH,YAAY,CACX,WAAW,EAAE,UAAU,EAAE,EACzB,EACC,MAAW,EAAE,WAAgB,EAAE,SAAc,EAAE,QAAa,EAAE,UAAe,EAAE,yBAA8B,EAAE,uBAA0F,EAAE,QAAsD,EAAE,UAA4B,EAAE,KAAY,GAC7S,GAAE,OAAO,CAAC,MAAM,CAChB,WAAW,GACX,QAAQ,GACR,aAAa,GACb,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,2BAA2B,GAC3B,yBAAyB,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG;QACvC,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;KACtC,GACL,UAAU,EAAE;CA4Ff"}
@@ -1,4 +1,4 @@
1
- import { unreachable } from "@alanscodelog/utils";
1
+ import { unreachable } from "@alanscodelog/utils/unreachable";
2
2
  import { ConditionNode } from "../ast/classes/ConditionNode.js";
3
3
  import { VariableNode } from "../ast/classes/VariableNode.js";
4
4
  import { SUGGESTION_TYPE } from "../types/autocomplete.js";
@@ -1,4 +1,4 @@
1
- import { insert } from "@alanscodelog/utils";
1
+ import { insert } from "@alanscodelog/utils/insert";
2
2
  class AutoreplaceMixin {
3
3
  /**
4
4
  * Given the input string and a @see Completion consisting of the value of the replacement and a @see Suggestion entry, returns the replacement string and the new position of the cursor.
@@ -1,4 +1,4 @@
1
- import { unreachable } from "@alanscodelog/utils";
1
+ import { unreachable } from "@alanscodelog/utils/unreachable";
2
2
  import { pos } from "../ast/builders/pos.js";
3
3
  import { ArrayNode } from "../ast/classes/ArrayNode.js";
4
4
  import { ConditionNode } from "../ast/classes/ConditionNode.js";
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/methods/evaluate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAKzD,qBAAa,aAAa,CAAC,CAAC,SAAS,EAAE;IACtC;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO;CAsBhG"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/methods/evaluate.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAKzD,qBAAa,aAAa,CAAC,CAAC,SAAS,EAAE;IACtC;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO;CAsBhG"}
@@ -1,4 +1,6 @@
1
- import { get, unreachable } from "@alanscodelog/utils";
1
+ import { get } from "@alanscodelog/utils/get";
2
+ import "@alanscodelog/utils/types";
3
+ import { unreachable } from "@alanscodelog/utils/unreachable";
2
4
  import { Condition } from "../ast/classes/Condition.js";
3
5
  import { Expression } from "../ast/classes/Expression.js";
4
6
  import { TOKEN_TYPE } from "../types/ast.js";
@@ -1 +1 @@
1
- {"version":3,"file":"getIndexes.d.ts","sourceRoot":"","sources":["../../src/methods/getIndexes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAIzD,qBAAa,aAAa,CAAC,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,UAAU,CAAC,GAAG,EAAE,SAAS,GAAG,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE;CAqEtD"}
1
+ {"version":3,"file":"getIndexes.d.ts","sourceRoot":"","sources":["../../src/methods/getIndexes.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAIzD,qBAAa,aAAa,CAAC,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,UAAU,CAAC,GAAG,EAAE,SAAS,GAAG,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE;CAqEtD"}
@@ -1,4 +1,5 @@
1
- import { unreachable } from "@alanscodelog/utils";
1
+ import "@alanscodelog/utils/types";
2
+ import { unreachable } from "@alanscodelog/utils/unreachable";
2
3
  import { Condition } from "../ast/classes/Condition.js";
3
4
  import { Expression } from "../ast/classes/Expression.js";
4
5
  import { TOKEN_TYPE } from "../types/ast.js";
@@ -4,8 +4,6 @@ import { type ParserResults } from "../types/ast.js";
4
4
  export declare class NormalizeMixin<T extends {}> {
5
5
  /**
6
6
  * Normalizes the ast by applying {@link GroupNode GroupNodes} and converting {@link ConditionNode ConditionNodes} to {@link NormalizedConditionNode NormalizedConditionNodes}.
7
- *
8
- * To do this, a
9
7
  */
10
8
  normalize<TType extends string, TValue>(ast: ParserResults): Condition<TType, TValue> | Expression<TType, TValue>;
11
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/methods/normalize.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAQzD,OAAO,EAAE,KAAK,aAAa,EAAsC,MAAM,iBAAiB,CAAA;AASxF,qBAAa,cAAc,CAAC,CAAC,SAAS,EAAE;IACvC;;;;OAIG;IACH,SAAS,CAAC,KAAK,SAAS,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;CA4GjH"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/methods/normalize.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAQzD,OAAO,EAAE,KAAK,aAAa,EAAsC,MAAM,iBAAiB,CAAA;AASxF,qBAAa,cAAc,CAAC,CAAC,SAAS,EAAE;IACvC;;OAEG;IACH,SAAS,CAAC,KAAK,SAAS,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;CA4GjH"}
@@ -1,4 +1,5 @@
1
- import { unreachable } from "@alanscodelog/utils";
1
+ import "@alanscodelog/utils/types";
2
+ import { unreachable } from "@alanscodelog/utils/unreachable";
2
3
  import { ArrayNode } from "../ast/classes/ArrayNode.js";
3
4
  import { Condition } from "../ast/classes/Condition.js";
4
5
  import { ConditionNode } from "../ast/classes/ConditionNode.js";
@@ -18,8 +19,6 @@ const OPPOSITE = {
18
19
  class NormalizeMixin {
19
20
  /**
20
21
  * Normalizes the ast by applying {@link GroupNode GroupNodes} and converting {@link ConditionNode ConditionNodes} to {@link NormalizedConditionNode NormalizedConditionNodes}.
21
- *
22
- * To do this, a
23
22
  */
24
23
  normalize(ast) {
25
24
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/methods/validate.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAc,MAAM,iBAAiB,CAAA;AAI/E,qBAAa,aAAa,CAAC,CAAC,SAAS,EAAE;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE;CAqH7E"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/methods/validate.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAc,MAAM,iBAAiB,CAAA;AAI/E,qBAAa,aAAa,CAAC,CAAC,SAAS,EAAE;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE;CAqH7E"}
@@ -1,4 +1,6 @@
1
- import { get, isArray } from "@alanscodelog/utils";
1
+ import { get } from "@alanscodelog/utils/get";
2
+ import { isArray } from "@alanscodelog/utils/isArray";
3
+ import "@alanscodelog/utils/types";
2
4
  import { ArrayNode } from "../ast/classes/ArrayNode.js";
3
5
  import { ConditionNode } from "../ast/classes/ConditionNode.js";
4
6
  import { ErrorToken } from "../ast/classes/ErrorToken.js";
@@ -1,8 +1,9 @@
1
1
  const name = "@witchcraft/expressit";
2
2
  const description = "A blazing fast, customizable, error-tolerant expression parser that creates safe to eval expressions + a few other goodies like autocomplete.";
3
- const version = "0.0.2";
3
+ const version = "0.1.0";
4
4
  const types = "./dist/index.d.ts";
5
5
  const type = "module";
6
+ const module = "./dist/index.js";
6
7
  const exports = {
7
8
  ".": {
8
9
  types: "./dist/index.d.ts",
@@ -12,33 +13,45 @@ const exports = {
12
13
  types: "./dist/ast/index.d.ts",
13
14
  "import": "./dist/ast/index.js"
14
15
  },
15
- "./grammar": {
16
- types: "./dist/grammar/index.d.ts",
17
- "import": "./dist/grammar/index.js"
16
+ "./ast/*": {
17
+ types: "./dist/ast/*",
18
+ "import": "./dist/ast/*"
18
19
  },
19
20
  "./helpers": {
20
21
  types: "./dist/helpers/index.d.ts",
21
22
  "import": "./dist/helpers/index.js"
22
23
  },
24
+ "./helpers/*": {
25
+ types: "./dist/helpers/*",
26
+ "import": "./dist/helpers/*"
27
+ },
23
28
  "./methods": {
24
29
  types: "./dist/methods/index.d.ts",
25
30
  "import": "./dist/methods/index.js"
26
31
  },
27
- "./types": {
28
- types: "./dist/types/index.d.ts",
29
- "import": "./dist/types/index.js"
32
+ "./methods/*": {
33
+ types: "./dist/methods/*",
34
+ "import": "./dist/methods/*"
30
35
  },
31
36
  "./utils": {
32
37
  types: "./dist/utils/index.d.ts",
33
38
  "import": "./dist/utils/index.js"
34
39
  },
40
+ "./utils/*": {
41
+ types: "./dist/utils/*",
42
+ "import": "./dist/utils/*"
43
+ },
35
44
  "./examples": {
36
45
  types: "./dist/examples/index.d.ts",
37
46
  "import": "./dist/examples/index.js"
38
47
  },
48
+ "./examples/*": {
49
+ types: "./dist/examples/*",
50
+ "import": "./dist/examples/*"
51
+ },
39
52
  "./*": {
40
- types: "./dist/*",
41
- "import": "./dist/*"
53
+ types: "./dist/types/*",
54
+ "import": "./dist/types/*"
42
55
  }
43
56
  };
44
57
  const scripts = {
@@ -48,15 +61,15 @@ const scripts = {
48
61
  "build:watch": "vite build --watch --mode production",
49
62
  "build:types": "tsc --emitDeclarationOnly -p tsconfig.types.json && npm run build:types:fix",
50
63
  "build:types:fix": "tsc-alias -p tsconfig.types.json --debug",
51
- "lint:eslint": 'eslint "{src,tests,bin}/**/*.{cjs,js,ts}" "*.{cjs,js,ts}" --max-warnings=0 --report-unused-disable-directives',
64
+ "lint:eslint": 'eslint "{src,tests,bin}/**/*.{cjs,js,ts}" "*.{cjs,js,ts}" --max-warnings=1 --report-unused-disable-directives',
52
65
  "lint:types": "tsc --noEmit --pretty",
53
66
  "lint:commits": "commitlint --from $(git rev-list --max-parents=0 HEAD) --to HEAD --verbose",
54
67
  "lint:imports": "madge --circular --extensions ts ./src",
55
68
  lint: "npm run lint:types && npm run lint:eslint",
56
- coverage: "vitest --coverage",
57
- "coverage:dev": "vitest --watch --coverage",
58
- test: "npm run lint:types && vitest run",
59
- "test:watch": "vitest --watch",
69
+ coverage: "vitest --exclude '.direnv/**/*' --coverage",
70
+ "coverage:dev": "vitest --exclude '.direnv/**/*' --watch --coverage",
71
+ test: "npm run lint:types && vitest run --exclude '.direnv/**/*'",
72
+ "test:watch": "vitest --watch --exclude '.direnv/**/*'",
60
73
  "test:inspect-errors": "cross-env INSPECT_ERRORS=true npm run test",
61
74
  doc: "typedoc --options typedoc.config.cjs",
62
75
  "doc:watch": 'onchange -i "src/**/*.ts" "typedoc.config.cjs" -- npm run doc',
@@ -67,45 +80,37 @@ const scripts = {
67
80
  "demo:build": "cd demo && npm run build",
68
81
  "actions:debug": "act -r -v -j build",
69
82
  "gen:exports": "indexit update -o '${path}.js' -i **/*.d.ts",
70
- prepare: "husky install && npm run build"
83
+ prepare: "husky && npm run build"
71
84
  };
72
85
  const dependencies = {
73
- "@alanscodelog/utils": "^4.0.0-beta.11",
74
- chevrotain: "^11.0.3"
86
+ "@alanscodelog/utils": "4.0.0-beta.15"
75
87
  };
76
88
  const devDependencies = {
77
- "@alanscodelog/commitlint-config": "^2.0.0",
78
- "@alanscodelog/eslint-config": "^4.0.3",
79
- "@alanscodelog/semantic-release-config": "^3.0.0",
80
- "@alanscodelog/tsconfigs": "^3.2.0",
89
+ "@alanscodelog/commitlint-config": "^3.0.1",
90
+ "@alanscodelog/eslint-config": "5.0.0-beta.2",
91
+ "@alanscodelog/semantic-release-config": "^4.1.2",
92
+ "@alanscodelog/tsconfigs": "^4.0.1",
81
93
  "@knodes/typedoc-plugin-pages": "^0.23.4",
82
94
  "@types/node": "^20.4.1",
83
- "@typescript-eslint/eslint-plugin": "^6.7.4",
84
- "@typescript-eslint/parser": "^6.7.4",
85
- "@vitest/coverage-c8": "^0.33.0",
86
- commitlint: "^17.6.6",
95
+ "@vitest/coverage-v8": "^1.6.0",
96
+ commitlint: "^19.3.0",
87
97
  concurrently: "^8.2.0",
88
98
  "cross-env": "^7.0.3",
89
- eslint: "^8.44.0",
90
- "eslint-import-resolver-typescript": "^3.5.5",
91
- "eslint-plugin-import": "^2.27.5",
92
- "eslint-plugin-jsdoc": "^46.4.3",
93
- "eslint-plugin-simple-import-sort": "^10.0.0",
94
99
  "fast-glob": "^3.3.1",
95
100
  "http-server": "^14.1.1",
96
- husky: "^8.0.3",
101
+ husky: "^9.0.11",
97
102
  indexit: "2.1.0-beta.3",
98
- madge: "^6.1.0",
103
+ madge: "^7.0.0",
99
104
  onchange: "^7.1.0",
100
- "semantic-release": "^22.0.5",
105
+ "semantic-release": "^23.1.1",
101
106
  "ts-node": "^10.9.1",
102
107
  "tsc-alias": "^1.8.7",
103
108
  typedoc: "~0.23.1",
104
- typescript: "~5.0.0",
105
- vite: "^4.4.2",
106
- "vite-plugin-externalize-deps": "^0.7.0",
109
+ typescript: "~5.4.5",
110
+ vite: "^5.2.11",
111
+ "vite-plugin-externalize-deps": "^0.8.0",
107
112
  "vite-tsconfig-paths": "^4.2.0",
108
- vitest: "^0.34.6"
113
+ vitest: "^1.6.0"
109
114
  };
110
115
  const author = "Alan <alanscodelog@gmail.com>";
111
116
  const repository = "https://github.com/witchcraftjs/expressit";
@@ -146,6 +151,7 @@ const pkg = {
146
151
  version,
147
152
  types,
148
153
  type,
154
+ module,
149
155
  exports,
150
156
  scripts,
151
157
  dependencies,
@@ -182,6 +188,7 @@ export {
182
188
  files,
183
189
  keywords,
184
190
  license,
191
+ module,
185
192
  name,
186
193
  publishConfig,
187
194
  release,
@@ -1,11 +1,5 @@
1
- import type { AnyFunction } from "@alanscodelog/utils";
2
- import type { ArrayNode } from "../ast/classes/ArrayNode.js";
3
- import type { ConditionNode } from "../ast/classes/ConditionNode.js";
4
- import type { ErrorToken } from "../ast/classes/ErrorToken.js";
5
- import type { ExpressionNode } from "../ast/classes/ExpressionNode.js";
6
- import type { GroupNode } from "../ast/classes/GroupNode.js";
7
- import type { ValidToken } from "../ast/classes/ValidToken.js";
8
- import type { VariableNode } from "../ast/classes/VariableNode.js";
1
+ import type { AnyFunction } from "@alanscodelog/utils/types";
2
+ import type { ArrayNode, ConditionNode, ErrorToken, ExpressionNode, GroupNode, ValidToken, VariableNode } from "../ast/classes/index.js";
9
3
  export type AddParameters<T extends AnyFunction, TExtra extends any[] = [boolean]> = (...args: [...Parameters<T>, ...TExtra]) => ReturnType<T>;
10
4
  export declare enum TOKEN_TYPE {
11
5
  VALUE = "VALUE",
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/types/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/types/ast.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,11 @@
1
- import type { DeepPartial } from "@alanscodelog/utils";
2
- import type { ILexingError, IRecognitionException, IToken } from "chevrotain";
3
1
  import type { ParserOptions } from "./parser.js";
4
2
  export declare enum ERROR_CODES {
5
- "PARSER_ERROR" = "PARSER.ERROR",
6
- "PARSER_POSITION_ERROR" = "PARSER.POSITION",
7
- "PARSER_CONFLICTING_OPTIONS_ERROR" = "PARSER.OPTIONS.CONFLICTING",
8
- "PARSER_OPTION_REQUIRED_ERROR" = "PARSER.OPTIONS.CUSTOM_REQUIRED"
3
+ PARSER_POSITION_ERROR = "PARSER.POSITION",
4
+ PARSER_CONFLICTING_OPTIONS_ERROR = "PARSER.OPTIONS.CONFLICTING",
5
+ PARSER_OPTION_REQUIRED_ERROR = "PARSER.OPTIONS.CUSTOM_REQUIRED"
9
6
  }
10
- export type ErrorInfo<T extends keyof ErrorInfos> = ErrorInfos[T];
11
- export type ErrorInfos = {
12
- [ERROR_CODES.PARSER_ERROR]: {
13
- input: string;
14
- options: DeepPartial<ParserOptions> | undefined;
15
- "parsed options": ParserOptions;
16
- error: Error;
17
- "lexer errors": ILexingError[];
18
- "lexed tokens": IToken[];
19
- "parser errors": IRecognitionException[];
20
- };
7
+ export type ErrorInfo<T extends ERROR_CODES> = T extends ERROR_CODES ? ERROR_Info[T] : never;
8
+ export type ERROR_Info = {
21
9
  [ERROR_CODES.PARSER_POSITION_ERROR]: {
22
10
  start?: number;
23
11
  end?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAE7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD,oBAAY,WAAW;IACtB,cAAc,iBAAiB;IAC/B,uBAAuB,oBAAoB;IAC3C,kCAAkC,+BAA+B;IACjE,8BAA8B,mCAAmC;CACjE;AACD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;AACjE,MAAM,MAAM,UAAU,GAAG;IACxB,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;QAC3B,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,SAAS,CAAA;QAE/C,gBAAgB,EAAE,aAAa,CAAA;QAC/B,KAAK,EAAE,KAAK,CAAA;QAEZ,cAAc,EAAE,YAAY,EAAE,CAAA;QAE9B,cAAc,EAAE,MAAM,EAAE,CAAA;QAExB,eAAe,EAAE,qBAAqB,EAAE,CAAA;KACxC,CAAA;IACD,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE;QACpC,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,GAAG,CAAC,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,CAAC,WAAW,CAAC,gCAAgC,CAAC,EAAE;QAC/C,UAAU,EAAE,MAAM,EAAE,CAAA;QACpB,OAAO,EAAE,MAAM,CAAA;KACf,CAAA;IACD,CAAC,WAAW,CAAC,4BAA4B,CAAC,EAAE;QAC3C,OAAO,CAAC,EAAE,CAAC,MAAM,aAAa,CAAC,EAAE,CAAA;QACjC,QAAQ,EAAE,MAAM,aAAa,CAAA;KAC7B,CAAA;CACD,CAAA"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD,oBAAY,WAAW;IACtB,qBAAqB,oBAAoB;IACzC,gCAAgC,+BAA+B;IAC/D,4BAA4B,mCAAmC;CAC/D;AAGD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,WAAW,IAC1C,CAAC,SAAS,WAAW,GACnB,UAAU,CAAC,CAAC,CAAC,GACb,KAAK,CAAA;AAGR,MAAM,MAAM,UAAU,GAAG;IACxB,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE;QACpC,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,GAAG,CAAC,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,CAAC,WAAW,CAAC,gCAAgC,CAAC,EAAE;QAC/C,UAAU,EAAE,MAAM,EAAE,CAAA;QACpB,OAAO,EAAE,MAAM,CAAA;KACf,CAAA;IACD,CAAC,WAAW,CAAC,4BAA4B,CAAC,EAAE;QAC3C,OAAO,CAAC,EAAE,CAAC,MAAM,aAAa,CAAC,EAAE,CAAA;QACjC,QAAQ,EAAE,MAAM,aAAa,CAAA;KAC7B,CAAA;CACD,CAAA"}
@@ -1,5 +1,4 @@
1
1
  var ERROR_CODES = /* @__PURE__ */ ((ERROR_CODES2) => {
2
- ERROR_CODES2["PARSER_ERROR"] = "PARSER.ERROR";
3
2
  ERROR_CODES2["PARSER_POSITION_ERROR"] = "PARSER.POSITION";
4
3
  ERROR_CODES2["PARSER_CONFLICTING_OPTIONS_ERROR"] = "PARSER.OPTIONS.CONFLICTING";
5
4
  ERROR_CODES2["PARSER_OPTION_REQUIRED_ERROR"] = "PARSER.OPTIONS.CUSTOM_REQUIRED";
@@ -1,6 +1,10 @@
1
- import type { DeepRequired, MakeRequired } from "@alanscodelog/utils";
1
+ import type { DeepRequired, MakeRequired } from "@alanscodelog/utils/types";
2
2
  import type { Position, TOKEN_TYPE } from "./ast.js";
3
- import type { ArrayNode, Condition, ConditionNode, ValidToken, VariableNode } from "../ast/classes/index.js";
3
+ import type { ArrayNode } from "../ast/classes/ArrayNode.js";
4
+ import type { Condition } from "../ast/classes/Condition.js";
5
+ import type { ConditionNode } from "../ast/classes/ConditionNode.js";
6
+ import type { ValidToken } from "../ast/classes/ValidToken.js";
7
+ import type { VariableNode } from "../ast/classes/VariableNode.js";
4
8
  export type FullParserOptions<T extends {} = {}> = MakeRequired<ParserOptions<T>, Exclude<keyof ParserOptions<T>, "prefixableStrings" | "expandedPropertySeparator" | "customPropertyOperators" | "keywords">> & {
5
9
  keywords: DeepRequired<KeywordOptions>;
6
10
  };