@witchcraft/expressit 0.2.2 → 0.3.1

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 (122) hide show
  1. package/README.md +1 -2
  2. package/dist/Lexer.d.ts +99 -94
  3. package/dist/Lexer.d.ts.map +1 -1
  4. package/dist/Lexer.js +221 -574
  5. package/dist/Parser.d.ts +26 -26
  6. package/dist/Parser.d.ts.map +1 -1
  7. package/dist/Parser.js +106 -116
  8. package/dist/ast/builders/array.js +7 -8
  9. package/dist/ast/builders/condition.d.ts +1 -1
  10. package/dist/ast/builders/condition.d.ts.map +1 -1
  11. package/dist/ast/builders/condition.js +2 -1
  12. package/dist/ast/builders/delim.d.ts +2 -2
  13. package/dist/ast/builders/delim.d.ts.map +1 -1
  14. package/dist/ast/builders/error.d.ts +2 -2
  15. package/dist/ast/builders/error.d.ts.map +1 -1
  16. package/dist/ast/builders/expression.d.ts +2 -2
  17. package/dist/ast/builders/expression.d.ts.map +1 -1
  18. package/dist/ast/builders/expression.js +4 -8
  19. package/dist/ast/builders/group.d.ts +1 -1
  20. package/dist/ast/builders/group.d.ts.map +1 -1
  21. package/dist/ast/builders/group.js +8 -11
  22. package/dist/ast/builders/pos.d.ts +2 -2
  23. package/dist/ast/builders/pos.d.ts.map +1 -1
  24. package/dist/ast/builders/token.d.ts +2 -2
  25. package/dist/ast/builders/token.d.ts.map +1 -1
  26. package/dist/ast/builders/token.js +1 -1
  27. package/dist/ast/builders/type.d.ts +2 -2
  28. package/dist/ast/builders/type.d.ts.map +1 -1
  29. package/dist/ast/builders/variable.d.ts +3 -3
  30. package/dist/ast/builders/variable.d.ts.map +1 -1
  31. package/dist/ast/builders/variable.js +5 -6
  32. package/dist/ast/createConditionNode.d.ts +1 -1
  33. package/dist/ast/createConditionNode.d.ts.map +1 -1
  34. package/dist/ast/createConditionNode.js +1 -2
  35. package/dist/ast/createGroupNode.d.ts +1 -1
  36. package/dist/ast/createGroupNode.d.ts.map +1 -1
  37. package/dist/ast/createToken.d.ts +2 -2
  38. package/dist/ast/createToken.d.ts.map +1 -1
  39. package/dist/ast/createToken.js +2 -2
  40. package/dist/ast/error.d.ts +2 -2
  41. package/dist/ast/error.d.ts.map +1 -1
  42. package/dist/ast/error.js +1 -0
  43. package/dist/ast/handlers.d.ts +23 -23
  44. package/dist/ast/handlers.d.ts.map +1 -1
  45. package/dist/ast/handlers.js +23 -26
  46. package/dist/examples/ParserWithSqlSupport.d.ts +5 -5
  47. package/dist/examples/ParserWithSqlSupport.d.ts.map +1 -1
  48. package/dist/examples/ParserWithSqlSupport.js +22 -28
  49. package/dist/examples/ShortcutContextParser.js +2 -5
  50. package/dist/index.js +2 -2
  51. package/dist/internal/ExpressitError.d.ts +2 -2
  52. package/dist/internal/ExpressitError.d.ts.map +1 -1
  53. package/dist/internal/ExpressitError.js +7 -10
  54. package/dist/internal/checkParserOpts.js +21 -22
  55. package/dist/internal/escapeVariableOrPrefix.js +1 -1
  56. package/dist/internal/parseParserOptions.js +3 -4
  57. package/dist/package.json.js +2 -60
  58. package/dist/types/ast.d.ts +60 -58
  59. package/dist/types/ast.d.ts.map +1 -1
  60. package/dist/types/ast.js +26 -27
  61. package/dist/types/autocomplete.d.ts +23 -21
  62. package/dist/types/autocomplete.d.ts.map +1 -1
  63. package/dist/types/autocomplete.js +24 -21
  64. package/dist/types/errors.d.ts +12 -10
  65. package/dist/types/errors.d.ts.map +1 -1
  66. package/dist/types/errors.js +8 -7
  67. package/dist/types/index.js +2 -2
  68. package/dist/types/parser.d.ts +3 -3
  69. package/dist/types/parser.d.ts.map +1 -1
  70. package/dist/utils/extractTokens.js +4 -5
  71. package/dist/utils/generateParentsMap.js +7 -8
  72. package/dist/utils/getCursorInfo.js +5 -3
  73. package/dist/utils/getOppositeDelimiter.d.ts +2 -2
  74. package/dist/utils/getOppositeDelimiter.d.ts.map +1 -1
  75. package/dist/utils/getOppositeDelimiter.js +1 -1
  76. package/dist/utils/getSurroundingErrors.js +2 -3
  77. package/dist/utils/isBracket.js +1 -1
  78. package/dist/utils/isDelimiter.d.ts +2 -2
  79. package/dist/utils/isDelimiter.d.ts.map +1 -1
  80. package/dist/utils/isDelimiter.js +1 -1
  81. package/dist/utils/isNode.js +1 -1
  82. package/dist/utils/isParen.d.ts +2 -2
  83. package/dist/utils/isParen.d.ts.map +1 -1
  84. package/dist/utils/isParen.js +1 -1
  85. package/dist/utils/isQuote.d.ts +2 -2
  86. package/dist/utils/isQuote.d.ts.map +1 -1
  87. package/dist/utils/isQuote.js +1 -1
  88. package/dist/utils/isToken.js +1 -1
  89. package/dist/utils/prettyAst.js +10 -11
  90. package/package.json +19 -20
  91. package/src/Lexer.ts +100 -90
  92. package/src/Parser.ts +68 -68
  93. package/src/ast/builders/condition.ts +3 -3
  94. package/src/ast/builders/delim.ts +4 -4
  95. package/src/ast/builders/error.ts +3 -3
  96. package/src/ast/builders/expression.ts +4 -8
  97. package/src/ast/builders/group.ts +2 -4
  98. package/src/ast/builders/pos.ts +3 -3
  99. package/src/ast/builders/token.ts +3 -3
  100. package/src/ast/builders/type.ts +2 -2
  101. package/src/ast/builders/variable.ts +5 -5
  102. package/src/ast/createConditionNode.ts +2 -2
  103. package/src/ast/createGroupNode.ts +4 -4
  104. package/src/ast/createToken.ts +6 -6
  105. package/src/ast/error.ts +2 -2
  106. package/src/ast/handlers.ts +20 -20
  107. package/src/examples/ParserWithSqlSupport.ts +12 -6
  108. package/src/internal/ExpressitError.ts +6 -6
  109. package/src/internal/checkParserOpts.ts +13 -13
  110. package/src/internal/escapeVariableOrPrefix.ts +1 -1
  111. package/src/types/ast.ts +101 -96
  112. package/src/types/autocomplete.ts +26 -22
  113. package/src/types/errors.ts +18 -13
  114. package/src/types/parser.ts +3 -3
  115. package/src/utils/extractTokens.ts +1 -1
  116. package/src/utils/getCursorInfo.ts +2 -2
  117. package/src/utils/getOppositeDelimiter.ts +3 -3
  118. package/src/utils/getSurroundingErrors.ts +4 -4
  119. package/src/utils/isDelimiter.ts +3 -3
  120. package/src/utils/isParen.ts +2 -2
  121. package/src/utils/isQuote.ts +2 -2
  122. package/src/utils/prettyAst.ts +3 -3
@@ -1,48 +1,50 @@
1
- import type { AnyFunction } from "@alanscodelog/utils/types";
1
+ import type { AnyFunction, EnumLike } from "@alanscodelog/utils/types";
2
2
  export type AddParameters<T extends AnyFunction, TExtra extends any[] = [boolean]> = (...args: [...Parameters<T>, ...TExtra]) => ReturnType<T>;
3
- export declare enum TOKEN_TYPE {
4
- VALUE = "VALUE",
5
- AND = "AND",
6
- OR = "OR",
7
- NOT = "NOT",
8
- BACKTICK = "BACKTICK",
9
- SINGLEQUOTE = "SINGLEQUOTE",
10
- DOUBLEQUOTE = "DOUBLEQUOTE",
11
- PARENL = "PARENL",
12
- PARENR = "PARENR",
13
- BRACKETL = "BRACKETL",
14
- BRACKETR = "BRACKETR",
15
- OP_EXPANDED_SEP = "OP_EXPANDED",
16
- OP_CUSTOM = "OP_CUSTOM",
17
- REGEX = "REGEX"
18
- }
3
+ export declare const TOKEN_TYPE: {
4
+ VALUE: "VALUE";
5
+ AND: "AND";
6
+ OR: "OR";
7
+ NOT: "NOT";
8
+ BACKTICK: "BACKTICK";
9
+ SINGLEQUOTE: "SINGLEQUOTE";
10
+ DOUBLEQUOTE: "DOUBLEQUOTE";
11
+ PARENL: "PARENL";
12
+ PARENR: "PARENR";
13
+ BRACKETL: "BRACKETL";
14
+ BRACKETR: "BRACKETR";
15
+ OP_EXPANDED_SEP: "OP_EXPANDED_SEP";
16
+ OP_CUSTOM: "OP_CUSTOM";
17
+ REGEX: "REGEX";
18
+ };
19
+ export type TokenType = EnumLike<typeof TOKEN_TYPE>;
19
20
  /**
20
21
  * @internal
21
22
  * Note if the negation operator, `!`, is used as a propertyOperator, this will return the wrong type.
22
23
  */
23
- export type ExtractTokenType<T extends string> = T extends "`" ? TOKEN_TYPE.BACKTICK : T extends `'` ? TOKEN_TYPE.SINGLEQUOTE : T extends `"` ? TOKEN_TYPE.DOUBLEQUOTE : T extends `/` ? TOKEN_TYPE.REGEX : T extends `(` ? TOKEN_TYPE.PARENL : T extends `)` ? TOKEN_TYPE.PARENR : T extends `[` ? TOKEN_TYPE.BRACKETL : T extends `]` ? TOKEN_TYPE.BRACKETR : T extends `and` ? TOKEN_TYPE.AND : T extends `&&` ? TOKEN_TYPE.AND : T extends `&` ? TOKEN_TYPE.AND : T extends `or` ? TOKEN_TYPE.OR : T extends `||` ? TOKEN_TYPE.OR : T extends `|` ? TOKEN_TYPE.OR : T extends `not` ? TOKEN_TYPE.NOT : T extends `!` ? TOKEN_TYPE.NOT : TOKEN_TYPE.VALUE;
24
- export type TokenParenTypes = TOKEN_TYPE.PARENL | TOKEN_TYPE.PARENR;
25
- export type TokenBracketTypes = TOKEN_TYPE.BRACKETL | TOKEN_TYPE.BRACKETR;
26
- export type TokenDelimiterTypes = TokenParenTypes | TokenQuoteTypes | TokenBracketTypes | TOKEN_TYPE.OP_EXPANDED_SEP;
27
- export type TokenQuoteTypes = TOKEN_TYPE.BACKTICK | TOKEN_TYPE.SINGLEQUOTE | TOKEN_TYPE.DOUBLEQUOTE | TOKEN_TYPE.REGEX;
28
- export type TokenBooleanTypes = TOKEN_TYPE.AND | TOKEN_TYPE.OR;
29
- export type TokenOperatorTypes = TokenBooleanTypes | TOKEN_TYPE.NOT;
30
- export type TokenPropertyOperatorTypes = TOKEN_TYPE.OP_CUSTOM | TOKEN_TYPE.OP_EXPANDED_SEP;
24
+ export type ExtractToken<T extends string> = T extends "`" ? typeof TOKEN_TYPE.BACKTICK : T extends `'` ? typeof TOKEN_TYPE.SINGLEQUOTE : T extends `"` ? typeof TOKEN_TYPE.DOUBLEQUOTE : T extends `/` ? typeof TOKEN_TYPE.REGEX : T extends `(` ? typeof TOKEN_TYPE.PARENL : T extends `)` ? typeof TOKEN_TYPE.PARENR : T extends `[` ? typeof TOKEN_TYPE.BRACKETL : T extends `]` ? typeof TOKEN_TYPE.BRACKETR : T extends `and` ? typeof TOKEN_TYPE.AND : T extends `&&` ? typeof TOKEN_TYPE.AND : T extends `&` ? typeof TOKEN_TYPE.AND : T extends `or` ? typeof TOKEN_TYPE.OR : T extends `||` ? typeof TOKEN_TYPE.OR : T extends `|` ? typeof TOKEN_TYPE.OR : T extends `not` ? typeof TOKEN_TYPE.NOT : T extends `!` ? typeof TOKEN_TYPE.NOT : typeof TOKEN_TYPE.VALUE;
25
+ export type TokenParen = typeof TOKEN_TYPE.PARENL | typeof TOKEN_TYPE.PARENR;
26
+ export type TokenBracketTypes = typeof TOKEN_TYPE.BRACKETL | typeof TOKEN_TYPE.BRACKETR;
27
+ export type TokenDelimiter = TokenParen | TokenQuote | TokenBracketTypes | typeof TOKEN_TYPE.OP_EXPANDED_SEP;
28
+ export type TokenQuote = typeof TOKEN_TYPE.BACKTICK | typeof TOKEN_TYPE.SINGLEQUOTE | typeof TOKEN_TYPE.DOUBLEQUOTE | typeof TOKEN_TYPE.REGEX;
29
+ export type TokenBoolean = typeof TOKEN_TYPE.AND | typeof TOKEN_TYPE.OR;
30
+ export type TokenOperator = TokenBoolean | typeof TOKEN_TYPE.NOT;
31
+ export type TokenPropertyOperator = typeof TOKEN_TYPE.OP_CUSTOM | typeof TOKEN_TYPE.OP_EXPANDED_SEP;
31
32
  export type EmptyObj = Record<any, never>;
32
33
  export type FirstParam<T extends AnyFunction> = Parameters<T>["0"];
33
34
  export type Position = {
34
35
  start: number;
35
36
  end: number;
36
37
  };
37
- export declare enum AST_TYPE {
38
- EXPRESSION = "EXPRESSION",
39
- NORMALIZED_EXPRESSION = "NORMALIZED_EXPRESSION",
40
- GROUP = "GROUP",
41
- ARRAY = "ARRAY",
42
- CONDITION = "CONDITION",
43
- NORMALIZED_CONDITION = "NORMALIZED_CONDITION",
44
- VARIABLE = "VARIABLE"
45
- }
38
+ export declare const AST_TYPE: {
39
+ EXPRESSION: "EXPRESSION";
40
+ NORMALIZED_EXPRESSION: "NORMALIZED_EXPRESSION";
41
+ GROUP: "GROUP";
42
+ ARRAY: "ARRAY";
43
+ CONDITION: "CONDITION";
44
+ NORMALIZED_CONDITION: "NORMALIZED_CONDITION";
45
+ VARIABLE: "VARIABLE";
46
+ };
47
+ export type AstType = EnumLike<typeof AST_TYPE>;
46
48
  export type RawNode<T extends Node> = Omit<T, "valid" | "type" | "isNode">;
47
49
  /**
48
50
  * The base type from which {@link ValidToken} and {@link ErrorToken} extend.
@@ -58,7 +60,7 @@ export interface BaseToken {
58
60
  /**
59
61
  * Valid tokens always have a value, even if it might be an empty string.
60
62
  */
61
- export interface ValidToken<TType extends TOKEN_TYPE = TOKEN_TYPE> extends BaseToken {
63
+ export interface ValidToken<TType extends TokenType = TokenType> extends BaseToken {
62
64
  valid: true;
63
65
  type: TType;
64
66
  value: string;
@@ -78,20 +80,20 @@ export interface ErrorToken extends BaseToken {
78
80
  type?: undefined;
79
81
  value?: undefined;
80
82
  valid: false;
81
- expected: TOKEN_TYPE[];
83
+ expected: TokenType[];
82
84
  }
83
85
  /**
84
86
  * For more easily typing tokens that might or might not be valid.
85
87
  *
86
88
  * Using {@link Token} does not work well in certain situations and is also more complex because it has so many generics.
87
89
  */
88
- export type AnyToken<TType extends TOKEN_TYPE = TOKEN_TYPE> = ValidToken<TType> | ErrorToken;
90
+ export type AnyToken<TType extends TokenType = TokenType> = ValidToken<TType> | ErrorToken;
89
91
  export type RawToken<T extends AnyToken> = Omit<T, "isToken" | "valid">;
90
92
  export type ParserResults = ExpressionNode | ConditionNode | GroupNode | ErrorToken;
91
93
  /**
92
94
  * The base AST type all node types extend from.
93
95
  */
94
- export interface Node<TType extends AST_TYPE = AST_TYPE, TValid extends boolean = boolean> {
96
+ export interface Node<TType extends AstType = AstType, TValid extends boolean = boolean> {
95
97
  isNode: true;
96
98
  type: TType;
97
99
  start: number;
@@ -128,7 +130,7 @@ export interface Node<TType extends AST_TYPE = AST_TYPE, TValid extends boolean
128
130
  * ^ prefix: STILL a "not" Token
129
131
  * ```
130
132
  */
131
- export interface GroupNode<TValid extends boolean = boolean, TPrefixable extends boolean = true, TPrefix extends TPrefixable extends true ? ConditionNode<TValid> | ValidToken<TOKEN_TYPE.NOT> | undefined : ValidToken<TOKEN_TYPE.NOT> | undefined = TPrefixable extends true ? ConditionNode<TValid> | ValidToken<TOKEN_TYPE.NOT> | undefined : ValidToken<TOKEN_TYPE.NOT>> extends Node<AST_TYPE.GROUP> {
133
+ export interface GroupNode<TValid extends boolean = boolean, TPrefixable extends boolean = true, TPrefix extends TPrefixable extends true ? ConditionNode<TValid> | ValidToken<typeof TOKEN_TYPE.NOT> | undefined : ValidToken<typeof TOKEN_TYPE.NOT> | undefined = TPrefixable extends true ? ConditionNode<TValid> | ValidToken<typeof TOKEN_TYPE.NOT> | undefined : ValidToken<typeof TOKEN_TYPE.NOT>> extends Node<typeof AST_TYPE.GROUP> {
132
134
  /**
133
135
  * If the condition is negated this will contain a "not" **token**, {@link ValidToken} .
134
136
  *
@@ -143,7 +145,7 @@ export interface GroupNode<TValid extends boolean = boolean, TPrefixable extends
143
145
  /**
144
146
  * The parenthesis tokens, {@link ValidToken} . These will always be defined (although not necessarily with valid tokens).
145
147
  */
146
- paren: NodeDelimiters<TOKEN_TYPE.PARENL, TOKEN_TYPE.PARENR>;
148
+ paren: NodeDelimiters<typeof TOKEN_TYPE.PARENL, typeof TOKEN_TYPE.PARENR>;
147
149
  }
148
150
  /**
149
151
  * A variable represents **just** a string value (NOT it's boolean value).
@@ -156,13 +158,13 @@ export interface GroupNode<TValid extends boolean = boolean, TPrefixable extends
156
158
  *
157
159
  * If `prefixableStrings` is true, the `prefix` property might contain a value token.
158
160
  */
159
- export interface VariableNode<TValid extends boolean = boolean> extends Node<AST_TYPE.VARIABLE, TValid> {
160
- value: TValid extends boolean ? AnyToken<TOKEN_TYPE.VALUE> : TValid extends true ? ValidToken<TOKEN_TYPE.VALUE> : ErrorToken;
161
- prefix?: ValidToken<TOKEN_TYPE.VALUE>;
162
- quote?: NodeDelimiters<TokenQuoteTypes, TokenQuoteTypes>;
161
+ export interface VariableNode<TValid extends boolean = boolean> extends Node<typeof AST_TYPE.VARIABLE, TValid> {
162
+ value: TValid extends boolean ? AnyToken<typeof TOKEN_TYPE.VALUE> : TValid extends true ? ValidToken<typeof TOKEN_TYPE.VALUE> : ErrorToken;
163
+ prefix?: ValidToken<typeof TOKEN_TYPE.VALUE>;
164
+ quote?: NodeDelimiters<TokenQuote, TokenQuote>;
163
165
  }
164
- export interface ExpressionNode<TValid extends boolean = boolean> extends Node<AST_TYPE.EXPRESSION> {
165
- operator: AnyToken<TokenBooleanTypes>;
166
+ export interface ExpressionNode<TValid extends boolean = boolean> extends Node<typeof AST_TYPE.EXPRESSION> {
167
+ operator: AnyToken<TokenBoolean>;
166
168
  left: ExpressionNode<TValid> | ConditionNode<TValid> | GroupNode<TValid> | (TValid extends false ? ErrorToken : never);
167
169
  right: ExpressionNode<TValid> | ConditionNode<TValid> | GroupNode<TValid> | (TValid extends false ? ErrorToken : never);
168
170
  }
@@ -172,15 +174,15 @@ export type Nodes = ExpressionNode | ConditionNode | GroupNode | VariableNode |
172
174
  *
173
175
  * These are usually not important for evaluating an expression but are useful for syntax highlighting.
174
176
  */
175
- export type NodeDelimiters<TLEFT extends TOKEN_TYPE, TRIGHT extends TOKEN_TYPE = TLEFT> = {
177
+ export type NodeDelimiters<TLEFT extends TokenType, TRIGHT extends TokenType = TLEFT> = {
176
178
  left: AnyToken<TLEFT>;
177
179
  right: AnyToken<TRIGHT>;
178
180
  /** Only exists if regexes are enabled and this is a regex value. */
179
- flags?: ValidToken<TOKEN_TYPE.VALUE>;
181
+ flags?: ValidToken<typeof TOKEN_TYPE.VALUE>;
180
182
  };
181
- export interface ArrayNode<TValid extends boolean = boolean> extends Node<AST_TYPE.ARRAY> {
183
+ export interface ArrayNode<TValid extends boolean = boolean> extends Node<typeof AST_TYPE.ARRAY> {
182
184
  values: VariableNode[];
183
- bracket: NodeDelimiters<TOKEN_TYPE.BRACKETL, TOKEN_TYPE.BRACKETR>;
185
+ bracket: NodeDelimiters<typeof TOKEN_TYPE.BRACKETL, typeof TOKEN_TYPE.BRACKETR>;
184
186
  valid: TValid;
185
187
  }
186
188
  /**
@@ -189,7 +191,7 @@ export interface ArrayNode<TValid extends boolean = boolean> extends Node<AST_TY
189
191
  * The `value` property refers to the boolean value of the condition (not to the string value of the variable). See the `operator` property.
190
192
  *
191
193
  */
192
- export interface ConditionNode<TValid extends boolean = boolean> extends Node<AST_TYPE.CONDITION> {
194
+ export interface ConditionNode<TValid extends boolean = boolean> extends Node<typeof AST_TYPE.CONDITION> {
193
195
  /**
194
196
  * Contains a value node which could be a variable, an array node (if enabled), or a group.
195
197
  *
@@ -201,7 +203,7 @@ export interface ConditionNode<TValid extends boolean = boolean> extends Node<AS
201
203
  /**
202
204
  * If the condition was negated, contains the "not" token, {@link ValidToken} , the condition was negated with.
203
205
  */
204
- operator?: ValidToken<TOKEN_TYPE.NOT>;
206
+ operator?: ValidToken<typeof TOKEN_TYPE.NOT>;
205
207
  /**
206
208
  * If condition property operators are used, this will contain the property (as a variable), or an error token if it was missing (but some separator or operator was passed).
207
209
  *
@@ -219,7 +221,7 @@ export interface ConditionNode<TValid extends boolean = boolean> extends Node<AS
219
221
  *
220
222
  * See the corresponding {@link ParserOptions} for more details.
221
223
  */
222
- propertyOperator?: AnyToken<TOKEN_TYPE.OP_CUSTOM | TOKEN_TYPE.VALUE>;
224
+ propertyOperator?: AnyToken<typeof TOKEN_TYPE.OP_CUSTOM | typeof TOKEN_TYPE.VALUE>;
223
225
  /**
224
226
  * If "long/expanded" form condition property operators are used, this will contain the separators, otherwise it is undefined.
225
227
  *
@@ -232,22 +234,22 @@ export interface ConditionNode<TValid extends boolean = boolean> extends Node<AS
232
234
  * See the corresponding {@link ParserOptions} for more details.
233
235
  */
234
236
  sep?: {
235
- left?: AnyToken<TOKEN_TYPE.OP_EXPANDED_SEP>;
236
- right?: AnyToken<TOKEN_TYPE.OP_EXPANDED_SEP>;
237
+ left?: AnyToken<typeof TOKEN_TYPE.OP_EXPANDED_SEP>;
238
+ right?: AnyToken<typeof TOKEN_TYPE.OP_EXPANDED_SEP>;
237
239
  };
238
240
  }
239
241
  export interface NormalizedCondition<TOp extends string = string, TValue = any> {
240
- type: AST_TYPE.NORMALIZED_CONDITION;
242
+ type: typeof AST_TYPE.NORMALIZED_CONDITION;
241
243
  value: TValue;
242
244
  operator?: TOp;
243
245
  property: string[];
244
246
  negate: boolean;
245
247
  }
246
248
  export interface NormalizedExpression<TType extends string = string, TValue = any> {
247
- type: AST_TYPE.NORMALIZED_EXPRESSION;
249
+ type: typeof AST_TYPE.NORMALIZED_EXPRESSION;
248
250
  left: NormalizedExpression<TType, TValue> | NormalizedCondition<TType, TValue>;
249
251
  right: NormalizedExpression<TType, TValue> | NormalizedCondition<TType, TValue>;
250
- operator: TokenBooleanTypes;
252
+ operator: TokenBoolean;
251
253
  }
252
254
  export type ParentTypes<T extends Node | BaseToken | undefined> = T extends ValidToken ? VariableNode | GroupNode | ExpressionNode | ArrayNode | ConditionNode : T extends ErrorToken ? VariableNode | GroupNode | ExpressionNode | ArrayNode | ConditionNode : T extends GroupNode ? ExpressionNode | GroupNode | undefined : T extends VariableNode ? ConditionNode | ArrayNode | undefined : T extends ExpressionNode ? GroupNode | ExpressionNode | undefined : T extends ArrayNode ? ConditionNode | undefined : T extends ConditionNode | ExpressionNode ? GroupNode | undefined : T extends undefined ? undefined : never;
253
255
  //# sourceMappingURL=ast.d.ts.map
@@ -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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"}
package/dist/types/ast.js CHANGED
@@ -1,30 +1,29 @@
1
- var TOKEN_TYPE = /* @__PURE__ */ ((TOKEN_TYPE2) => {
2
- TOKEN_TYPE2["VALUE"] = "VALUE";
3
- TOKEN_TYPE2["AND"] = "AND";
4
- TOKEN_TYPE2["OR"] = "OR";
5
- TOKEN_TYPE2["NOT"] = "NOT";
6
- TOKEN_TYPE2["BACKTICK"] = "BACKTICK";
7
- TOKEN_TYPE2["SINGLEQUOTE"] = "SINGLEQUOTE";
8
- TOKEN_TYPE2["DOUBLEQUOTE"] = "DOUBLEQUOTE";
9
- TOKEN_TYPE2["PARENL"] = "PARENL";
10
- TOKEN_TYPE2["PARENR"] = "PARENR";
11
- TOKEN_TYPE2["BRACKETL"] = "BRACKETL";
12
- TOKEN_TYPE2["BRACKETR"] = "BRACKETR";
13
- TOKEN_TYPE2["OP_EXPANDED_SEP"] = "OP_EXPANDED";
14
- TOKEN_TYPE2["OP_CUSTOM"] = "OP_CUSTOM";
15
- TOKEN_TYPE2["REGEX"] = "REGEX";
16
- return TOKEN_TYPE2;
17
- })(TOKEN_TYPE || {});
18
- var AST_TYPE = /* @__PURE__ */ ((AST_TYPE2) => {
19
- AST_TYPE2["EXPRESSION"] = "EXPRESSION";
20
- AST_TYPE2["NORMALIZED_EXPRESSION"] = "NORMALIZED_EXPRESSION";
21
- AST_TYPE2["GROUP"] = "GROUP";
22
- AST_TYPE2["ARRAY"] = "ARRAY";
23
- AST_TYPE2["CONDITION"] = "CONDITION";
24
- AST_TYPE2["NORMALIZED_CONDITION"] = "NORMALIZED_CONDITION";
25
- AST_TYPE2["VARIABLE"] = "VARIABLE";
26
- return AST_TYPE2;
27
- })(AST_TYPE || {});
1
+ import { enumFromArray } from "@alanscodelog/utils/enumFromArray";
2
+ const TOKEN_TYPE = enumFromArray([
3
+ "VALUE",
4
+ "AND",
5
+ "OR",
6
+ "NOT",
7
+ "BACKTICK",
8
+ "SINGLEQUOTE",
9
+ "DOUBLEQUOTE",
10
+ "PARENL",
11
+ "PARENR",
12
+ "BRACKETL",
13
+ "BRACKETR",
14
+ "OP_EXPANDED_SEP",
15
+ "OP_CUSTOM",
16
+ "REGEX"
17
+ ]);
18
+ const AST_TYPE = enumFromArray([
19
+ "EXPRESSION",
20
+ "NORMALIZED_EXPRESSION",
21
+ "GROUP",
22
+ "ARRAY",
23
+ "CONDITION",
24
+ "NORMALIZED_CONDITION",
25
+ "VARIABLE"
26
+ ]);
28
27
  export {
29
28
  AST_TYPE,
30
29
  TOKEN_TYPE
@@ -1,3 +1,4 @@
1
+ import { type EnumLike } from "@alanscodelog/utils";
1
2
  import type { AnyToken, Position, ValidToken } from "./ast.js";
2
3
  /**
3
4
  * Contains information regarding the tokens around a cursor position. Mostly for internally use by {@link autosuggest}.
@@ -79,31 +80,32 @@ export type CursorInfo = {
79
80
  prev: boolean;
80
81
  };
81
82
  };
82
- export declare enum SUGGESTION_TYPE {
83
- VARIABLE = "VARIABLE",
84
- ARRAY_VALUE = "ARRAY_VALUE",
85
- VALUE = "VALUE",
86
- PREFIX = "PREFIX",
87
- BOOLEAN_WORD_OP = "BOOLEAN_WORD_OP",
88
- BOOLEAN_SYMBOL_OP = "BOOLEAN_SYMBOL_OP",
89
- BACKTICK = "BACKTICK",
90
- DOUBLEQUOTE = "DOUBLEQUOTE",
91
- SINGLEQUOTE = "SINGLEQUOTE",
92
- PARENL = "PARENL",
93
- PARENR = "PARENR",
94
- PROPERTY = "PROPERTY",
95
- EXPANDED_PROPERTY_OPERATOR = "EXPANDED_PROPERTY_OPERATOR",
96
- CUSTOM_PROPERTY_OPERATOR = "CUSTOM_PROPERTY_OPERATOR",
97
- PROPERTY_SEP = "PROPERTY_SEP",
98
- BRAKCETR = "BRAKCETR",
99
- REGEX = "REGEX",
100
- REGEX_FLAGS = "REGEX_FLAGS"
101
- }
83
+ export declare const SUGGESTION_TYPE: {
84
+ VALUE: "VALUE";
85
+ BACKTICK: "BACKTICK";
86
+ SINGLEQUOTE: "SINGLEQUOTE";
87
+ DOUBLEQUOTE: "DOUBLEQUOTE";
88
+ PARENL: "PARENL";
89
+ PARENR: "PARENR";
90
+ REGEX: "REGEX";
91
+ VARIABLE: "VARIABLE";
92
+ ARRAY_VALUE: "ARRAY_VALUE";
93
+ PREFIX: "PREFIX";
94
+ BOOLEAN_WORD_OP: "BOOLEAN_WORD_OP";
95
+ BOOLEAN_SYMBOL_OP: "BOOLEAN_SYMBOL_OP";
96
+ PROPERTY: "PROPERTY";
97
+ EXPANDED_PROPERTY_OPERATOR: "EXPANDED_PROPERTY_OPERATOR";
98
+ CUSTOM_PROPERTY_OPERATOR: "CUSTOM_PROPERTY_OPERATOR";
99
+ PROPERTY_SEP: "PROPERTY_SEP";
100
+ BRAKCETR: "BRAKCETR";
101
+ REGEX_FLAGS: "REGEX_FLAGS";
102
+ };
103
+ export type SuggestionType = EnumLike<typeof SUGGESTION_TYPE>;
102
104
  /**
103
105
  * A suggestion entry that describes a type of suggestion.
104
106
  */
105
107
  export type Suggestion = {
106
- type: SUGGESTION_TYPE;
108
+ type: SuggestionType;
107
109
  /** The range the suggestion should replace / be inserted at. */
108
110
  range: Position;
109
111
  /** {@link CursorInfo} */
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../src/types/autocomplete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,qFAAqF;IACrF,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,sGAAsG;IACtG,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,4BAA4B;IAC5B,KAAK,EAAE;QACN,gCAAgC;QAChC,IAAI,CAAC,EAAE,UAAU,CAAA;QACjB,gCAAgC;QAChC,IAAI,CAAC,EAAE,UAAU,CAAA;KACjB,CAAA;IACD,+GAA+G;IAC/G,UAAU,EAAE;QACX,uGAAuG;QACvG,IAAI,EAAE,OAAO,CAAA;QACb,yGAAyG;QACzG,IAAI,EAAE,OAAO,CAAA;KACb,CAAA;CACD,CAAA;AAED,oBAAY,eAAe;IAE1B,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,0BAA0B,+BAA+B;IACzD,wBAAwB,6BAA6B;IACrD,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,WAAW,gBAAgB;CAG3B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,eAAe,CAAA;IACrB,gEAAgE;IAChE,KAAK,EAAE,QAAQ,CAAA;IACf,yBAAyB;IACzB,UAAU,EAAE,UAAU,CAAA;IACtB,yEAAyE;IACzE,QAAQ,EAAE;QACT;;;;WAIG;QACH,UAAU,EAAE;YACX,KAAK,EAAE,OAAO,CAAA;YACd,MAAM,EAAE,OAAO,CAAA;SACf,CAAA;QACD;;;;;;WAMG;QACH,KAAK,EAAE,OAAO,CAAA;QACd,6OAA6O;QAC7O,MAAM,EAAE,MAAM,GAAG,KAAK,CAAA;KACtB,CAAA;IACD;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;CAChB,CAAA;AAGD,MAAM,MAAM,UAAU,GAAG;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;CACb,CAAA"}
1
+ {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../src/types/autocomplete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAGnD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,qFAAqF;IACrF,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,sGAAsG;IACtG,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,4BAA4B;IAC5B,KAAK,EAAE;QACN,gCAAgC;QAChC,IAAI,CAAC,EAAE,UAAU,CAAA;QACjB,gCAAgC;QAChC,IAAI,CAAC,EAAE,UAAU,CAAA;KACjB,CAAA;IACD,+GAA+G;IAC/G,UAAU,EAAE;QACX,uGAAuG;QACvG,IAAI,EAAE,OAAO,CAAA;QACb,yGAAyG;QACzG,IAAI,EAAE,OAAO,CAAA;KACb,CAAA;CACD,CAAA;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;CAqB1B,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,cAAc,CAAA;IACpB,gEAAgE;IAChE,KAAK,EAAE,QAAQ,CAAA;IACf,yBAAyB;IACzB,UAAU,EAAE,UAAU,CAAA;IACtB,yEAAyE;IACzE,QAAQ,EAAE;QACT;;;;WAIG;QACH,UAAU,EAAE;YACX,KAAK,EAAE,OAAO,CAAA;YACd,MAAM,EAAE,OAAO,CAAA;SACf,CAAA;QACD;;;;;;WAMG;QACH,KAAK,EAAE,OAAO,CAAA;QACd,6OAA6O;QAC7O,MAAM,EAAE,MAAM,GAAG,KAAK,CAAA;KACtB,CAAA;IACD;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;CAChB,CAAA;AAGD,MAAM,MAAM,UAAU,GAAG;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;CACb,CAAA"}
@@ -1,24 +1,27 @@
1
- var SUGGESTION_TYPE = /* @__PURE__ */ ((SUGGESTION_TYPE2) => {
2
- SUGGESTION_TYPE2["VARIABLE"] = "VARIABLE";
3
- SUGGESTION_TYPE2["ARRAY_VALUE"] = "ARRAY_VALUE";
4
- SUGGESTION_TYPE2["VALUE"] = "VALUE";
5
- SUGGESTION_TYPE2["PREFIX"] = "PREFIX";
6
- SUGGESTION_TYPE2["BOOLEAN_WORD_OP"] = "BOOLEAN_WORD_OP";
7
- SUGGESTION_TYPE2["BOOLEAN_SYMBOL_OP"] = "BOOLEAN_SYMBOL_OP";
8
- SUGGESTION_TYPE2["BACKTICK"] = "BACKTICK";
9
- SUGGESTION_TYPE2["DOUBLEQUOTE"] = "DOUBLEQUOTE";
10
- SUGGESTION_TYPE2["SINGLEQUOTE"] = "SINGLEQUOTE";
11
- SUGGESTION_TYPE2["PARENL"] = "PARENL";
12
- SUGGESTION_TYPE2["PARENR"] = "PARENR";
13
- SUGGESTION_TYPE2["PROPERTY"] = "PROPERTY";
14
- SUGGESTION_TYPE2["EXPANDED_PROPERTY_OPERATOR"] = "EXPANDED_PROPERTY_OPERATOR";
15
- SUGGESTION_TYPE2["CUSTOM_PROPERTY_OPERATOR"] = "CUSTOM_PROPERTY_OPERATOR";
16
- SUGGESTION_TYPE2["PROPERTY_SEP"] = "PROPERTY_SEP";
17
- SUGGESTION_TYPE2["BRAKCETR"] = "BRAKCETR";
18
- SUGGESTION_TYPE2["REGEX"] = "REGEX";
19
- SUGGESTION_TYPE2["REGEX_FLAGS"] = "REGEX_FLAGS";
20
- return SUGGESTION_TYPE2;
21
- })(SUGGESTION_TYPE || {});
1
+ import "@alanscodelog/utils";
2
+ import { enumFromArray } from "@alanscodelog/utils/enumFromArray";
3
+ const SUGGESTION_TYPE = enumFromArray([
4
+ "VARIABLE",
5
+ "ARRAY_VALUE",
6
+ "VALUE",
7
+ "PREFIX",
8
+ "BOOLEAN_WORD_OP",
9
+ "BOOLEAN_SYMBOL_OP",
10
+ "BACKTICK",
11
+ "DOUBLEQUOTE",
12
+ "SINGLEQUOTE",
13
+ "PARENL",
14
+ "PARENR",
15
+ "PROPERTY",
16
+ "EXPANDED_PROPERTY_OPERATOR",
17
+ "CUSTOM_PROPERTY_OPERATOR",
18
+ "PROPERTY_SEP",
19
+ "BRAKCETR",
20
+ "REGEX",
21
+ "REGEX_FLAGS"
22
+ /** This is not an oversight, I haven't figured out a fast way to detect left bracket errors. */
23
+ // BRAKCETL = "BRAKCETL",
24
+ ]);
22
25
  export {
23
26
  SUGGESTION_TYPE
24
27
  };
@@ -1,20 +1,22 @@
1
+ import { type EnumLike } from "@alanscodelog/utils";
1
2
  import type { ParserOptions } from "./parser.js";
2
- export declare enum ERROR_CODES {
3
- PARSER_POSITION_ERROR = "PARSER.POSITION",
4
- PARSER_CONFLICTING_OPTIONS_ERROR = "PARSER.OPTIONS.CONFLICTING",
5
- PARSER_OPTION_REQUIRED_ERROR = "PARSER.OPTIONS.CUSTOM_REQUIRED"
6
- }
7
- export type ErrorInfo<T extends ERROR_CODES> = T extends ERROR_CODES ? ERROR_Info[T] : never;
8
- export type ERROR_Info = {
9
- [ERROR_CODES.PARSER_POSITION_ERROR]: {
3
+ export declare const PARSER_ERROR: {
4
+ POSITION_ERROR: "PARSER.POSITION_ERROR";
5
+ CONFLICTING_OPTIONS_ERROR: "PARSER.CONFLICTING_OPTIONS_ERROR";
6
+ OPTION_REQUIRED_ERROR: "PARSER.OPTION_REQUIRED_ERROR";
7
+ };
8
+ export type ParserError = EnumLike<typeof PARSER_ERROR>;
9
+ export type ErrorInfo<T extends ParserError> = T extends ParserError ? ErrorCodesInfo[T] : never;
10
+ export type ErrorCodesInfo = {
11
+ [PARSER_ERROR.POSITION_ERROR]: {
10
12
  start?: number;
11
13
  end?: number;
12
14
  };
13
- [ERROR_CODES.PARSER_CONFLICTING_OPTIONS_ERROR]: {
15
+ [PARSER_ERROR.CONFLICTING_OPTIONS_ERROR]: {
14
16
  prohibited: string[];
15
17
  invalid: string;
16
18
  };
17
- [ERROR_CODES.PARSER_OPTION_REQUIRED_ERROR]: {
19
+ [PARSER_ERROR.OPTION_REQUIRED_ERROR]: {
18
20
  options?: (keyof ParserOptions)[];
19
21
  requires: keyof ParserOptions;
20
22
  };
@@ -1 +1 @@
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
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAGnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD,eAAO,MAAM,YAAY;;;;CAIZ,CAAA;AAEb,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,CAAA;AAGvD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,WAAW,IAC1C,CAAC,SAAS,WAAW,GACnB,cAAc,CAAC,CAAC,CAAC,GACjB,KAAK,CAAA;AAGR,MAAM,MAAM,cAAc,GAAG;IAC5B,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;QAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,GAAG,CAAC,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE;QACzC,UAAU,EAAE,MAAM,EAAE,CAAA;QACpB,OAAO,EAAE,MAAM,CAAA;KACf,CAAA;IACD,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE;QACrC,OAAO,CAAC,EAAE,CAAC,MAAM,aAAa,CAAC,EAAE,CAAA;QACjC,QAAQ,EAAE,MAAM,aAAa,CAAA;KAC7B,CAAA;CACD,CAAA"}
@@ -1,9 +1,10 @@
1
- var ERROR_CODES = /* @__PURE__ */ ((ERROR_CODES2) => {
2
- ERROR_CODES2["PARSER_POSITION_ERROR"] = "PARSER.POSITION";
3
- ERROR_CODES2["PARSER_CONFLICTING_OPTIONS_ERROR"] = "PARSER.OPTIONS.CONFLICTING";
4
- ERROR_CODES2["PARSER_OPTION_REQUIRED_ERROR"] = "PARSER.OPTIONS.CUSTOM_REQUIRED";
5
- return ERROR_CODES2;
6
- })(ERROR_CODES || {});
1
+ import "@alanscodelog/utils";
2
+ import { enumFromArray } from "@alanscodelog/utils/enumFromArray";
3
+ const PARSER_ERROR = enumFromArray([
4
+ "POSITION_ERROR",
5
+ "CONFLICTING_OPTIONS_ERROR",
6
+ "OPTION_REQUIRED_ERROR"
7
+ ], "PARSER.");
7
8
  export {
8
- ERROR_CODES
9
+ PARSER_ERROR
9
10
  };
@@ -1,9 +1,9 @@
1
1
  import { AST_TYPE, TOKEN_TYPE } from "./ast.js";
2
2
  import { SUGGESTION_TYPE } from "./autocomplete.js";
3
- import { ERROR_CODES } from "./errors.js";
3
+ import { PARSER_ERROR } from "./errors.js";
4
4
  export {
5
5
  AST_TYPE,
6
- ERROR_CODES,
6
+ PARSER_ERROR,
7
7
  SUGGESTION_TYPE,
8
8
  TOKEN_TYPE
9
9
  };
@@ -415,9 +415,9 @@ export type ValueQuery = {
415
415
  /** {@link ParserOptions}["valueValidator"] */
416
416
  export type ValidationQuery = Omit<ValueQuery, "value" | "operator" | "prefix" | "regexFlags" | "property"> & {
417
417
  value?: VariableNode | ArrayNode;
418
- operator?: ValidToken<TOKEN_TYPE.VALUE | TOKEN_TYPE.OP_CUSTOM>;
419
- prefix?: ValidToken<TOKEN_TYPE.VALUE>;
420
- regexFlags?: ValidToken<TOKEN_TYPE.VALUE>;
418
+ operator?: ValidToken<typeof TOKEN_TYPE.VALUE | typeof TOKEN_TYPE.OP_CUSTOM>;
419
+ prefix?: ValidToken<typeof TOKEN_TYPE.VALUE>;
420
+ regexFlags?: ValidToken<typeof TOKEN_TYPE.VALUE>;
421
421
  property: VariableNode[];
422
422
  /** The property as would be passed to the {@link ParserOptions}["valueComparer"] function (i.e. joined as a string using the {@link ParseOptions}["prefixApplier"] ) */
423
423
  propertyName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/types/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/types/parser.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
- import { unreachable } from "@alanscodelog/utils/unreachable.js";
1
+ import { unreachable } from "@alanscodelog/utils/unreachable";
2
2
  import { isNode } from "./isNode.js";
3
3
  import { isToken } from "./isToken.js";
4
4
  import { AST_TYPE } from "../types/ast.js";
5
5
  function extractTokens(ast) {
6
- var _a, _b, _c;
7
6
  if (isToken(ast) && !ast.valid) {
8
7
  return [ast];
9
8
  }
@@ -11,7 +10,7 @@ function extractTokens(ast) {
11
10
  const prefix = ast.prefix ? [ast.prefix] : [];
12
11
  const quoteR = ast.quote ? [ast.quote.right] : [];
13
12
  const quoteL = ast.quote ? [ast.quote.left] : [];
14
- const quoteFlags = ((_a = ast.quote) == null ? void 0 : _a.flags) ? [ast.quote.flags] : [];
13
+ const quoteFlags = ast.quote?.flags ? [ast.quote.flags] : [];
15
14
  return [...prefix, ...quoteL, ast.value, ...quoteR, ...quoteFlags];
16
15
  }
17
16
  if (ast.type === AST_TYPE.CONDITION) {
@@ -19,8 +18,8 @@ function extractTokens(ast) {
19
18
  const operator = ast.operator ? [ast.operator] : [];
20
19
  const property = ast.property ? extractTokens(ast.property) : [];
21
20
  const propertyOperator = ast.propertyOperator ? [ast.propertyOperator] : [];
22
- const sepL = ((_b = ast.sep) == null ? void 0 : _b.left) ? [ast.sep.left] : [];
23
- const sepR = ((_c = ast.sep) == null ? void 0 : _c.right) ? [ast.sep.right] : [];
21
+ const sepL = ast.sep?.left ? [ast.sep.left] : [];
22
+ const sepR = ast.sep?.right ? [ast.sep.right] : [];
24
23
  return [...operator, ...property, ...sepL, ...propertyOperator, ...sepR, ...value];
25
24
  }
26
25
  if (ast.type === AST_TYPE.GROUP) {