flowquery 1.0.0 → 1.0.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 (178) hide show
  1. package/.github/workflows/npm-publish.yml +2 -0
  2. package/.github/workflows/release.yml +18 -9
  3. package/dist/compute/runner.js +75 -0
  4. package/dist/compute/runner.js.map +1 -0
  5. package/dist/flowquery.min.js +1 -0
  6. package/dist/index.browser.js +119 -0
  7. package/dist/index.browser.js.map +1 -0
  8. package/dist/index.js +16 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/index.node.js +123 -0
  11. package/dist/index.node.js.map +1 -0
  12. package/dist/io/command_line.js +102 -0
  13. package/dist/io/command_line.js.map +1 -0
  14. package/dist/parsing/alias.js +23 -0
  15. package/dist/parsing/alias.js.map +1 -0
  16. package/dist/parsing/alias_option.js +11 -0
  17. package/dist/parsing/alias_option.js.map +1 -0
  18. package/dist/parsing/ast_node.js +145 -0
  19. package/dist/parsing/ast_node.js.map +1 -0
  20. package/dist/parsing/base_parser.js +92 -0
  21. package/dist/parsing/base_parser.js.map +1 -0
  22. package/dist/parsing/components/csv.js +13 -0
  23. package/dist/parsing/components/csv.js.map +1 -0
  24. package/dist/parsing/components/from.js +16 -0
  25. package/dist/parsing/components/from.js.map +1 -0
  26. package/dist/parsing/components/headers.js +16 -0
  27. package/dist/parsing/components/headers.js.map +1 -0
  28. package/dist/parsing/components/json.js +13 -0
  29. package/dist/parsing/components/json.js.map +1 -0
  30. package/dist/parsing/components/null.js +13 -0
  31. package/dist/parsing/components/null.js.map +1 -0
  32. package/dist/parsing/components/post.js +13 -0
  33. package/dist/parsing/components/post.js.map +1 -0
  34. package/dist/parsing/components/text.js +13 -0
  35. package/dist/parsing/components/text.js.map +1 -0
  36. package/dist/parsing/context.js +47 -0
  37. package/dist/parsing/context.js.map +1 -0
  38. package/dist/parsing/data_structures/associative_array.js +45 -0
  39. package/dist/parsing/data_structures/associative_array.js.map +1 -0
  40. package/dist/parsing/data_structures/json_array.js +35 -0
  41. package/dist/parsing/data_structures/json_array.js.map +1 -0
  42. package/dist/parsing/data_structures/key_value_pair.js +41 -0
  43. package/dist/parsing/data_structures/key_value_pair.js.map +1 -0
  44. package/dist/parsing/data_structures/lookup.js +44 -0
  45. package/dist/parsing/data_structures/lookup.js.map +1 -0
  46. package/dist/parsing/data_structures/range_lookup.js +40 -0
  47. package/dist/parsing/data_structures/range_lookup.js.map +1 -0
  48. package/dist/parsing/expressions/expression.js +142 -0
  49. package/dist/parsing/expressions/expression.js.map +1 -0
  50. package/dist/parsing/expressions/f_string.js +29 -0
  51. package/dist/parsing/expressions/f_string.js.map +1 -0
  52. package/dist/parsing/expressions/identifier.js +26 -0
  53. package/dist/parsing/expressions/identifier.js.map +1 -0
  54. package/dist/parsing/expressions/number.js +41 -0
  55. package/dist/parsing/expressions/number.js.map +1 -0
  56. package/dist/parsing/expressions/operator.js +180 -0
  57. package/dist/parsing/expressions/operator.js.map +1 -0
  58. package/dist/parsing/expressions/reference.js +45 -0
  59. package/dist/parsing/expressions/reference.js.map +1 -0
  60. package/dist/parsing/expressions/string.js +34 -0
  61. package/dist/parsing/expressions/string.js.map +1 -0
  62. package/dist/parsing/functions/aggregate_function.js +58 -0
  63. package/dist/parsing/functions/aggregate_function.js.map +1 -0
  64. package/dist/parsing/functions/async_function.js +119 -0
  65. package/dist/parsing/functions/async_function.js.map +1 -0
  66. package/dist/parsing/functions/avg.js +43 -0
  67. package/dist/parsing/functions/avg.js.map +1 -0
  68. package/dist/parsing/functions/collect.js +52 -0
  69. package/dist/parsing/functions/collect.js.map +1 -0
  70. package/dist/parsing/functions/function.js +59 -0
  71. package/dist/parsing/functions/function.js.map +1 -0
  72. package/dist/parsing/functions/function_factory.js +259 -0
  73. package/dist/parsing/functions/function_factory.js.map +1 -0
  74. package/dist/parsing/functions/function_metadata.js +159 -0
  75. package/dist/parsing/functions/function_metadata.js.map +1 -0
  76. package/dist/parsing/functions/functions.js +47 -0
  77. package/dist/parsing/functions/functions.js.map +1 -0
  78. package/dist/parsing/functions/join.js +29 -0
  79. package/dist/parsing/functions/join.js.map +1 -0
  80. package/dist/parsing/functions/predicate_function.js +37 -0
  81. package/dist/parsing/functions/predicate_function.js.map +1 -0
  82. package/dist/parsing/functions/predicate_function_factory.js +19 -0
  83. package/dist/parsing/functions/predicate_function_factory.js.map +1 -0
  84. package/dist/parsing/functions/predicate_sum.js +33 -0
  85. package/dist/parsing/functions/predicate_sum.js.map +1 -0
  86. package/dist/parsing/functions/rand.js +17 -0
  87. package/dist/parsing/functions/rand.js.map +1 -0
  88. package/dist/parsing/functions/range.js +22 -0
  89. package/dist/parsing/functions/range.js.map +1 -0
  90. package/dist/parsing/functions/reducer_element.js +12 -0
  91. package/dist/parsing/functions/reducer_element.js.map +1 -0
  92. package/dist/parsing/functions/replace.js +23 -0
  93. package/dist/parsing/functions/replace.js.map +1 -0
  94. package/dist/parsing/functions/round.js +21 -0
  95. package/dist/parsing/functions/round.js.map +1 -0
  96. package/dist/parsing/functions/size.js +21 -0
  97. package/dist/parsing/functions/size.js.map +1 -0
  98. package/dist/parsing/functions/split.js +29 -0
  99. package/dist/parsing/functions/split.js.map +1 -0
  100. package/dist/parsing/functions/stringify.js +29 -0
  101. package/dist/parsing/functions/stringify.js.map +1 -0
  102. package/dist/parsing/functions/sum.js +38 -0
  103. package/dist/parsing/functions/sum.js.map +1 -0
  104. package/dist/parsing/functions/to_json.js +21 -0
  105. package/dist/parsing/functions/to_json.js.map +1 -0
  106. package/dist/parsing/functions/value_holder.js +16 -0
  107. package/dist/parsing/functions/value_holder.js.map +1 -0
  108. package/dist/parsing/logic/case.js +27 -0
  109. package/dist/parsing/logic/case.js.map +1 -0
  110. package/dist/parsing/logic/else.js +16 -0
  111. package/dist/parsing/logic/else.js.map +1 -0
  112. package/dist/parsing/logic/end.js +13 -0
  113. package/dist/parsing/logic/end.js.map +1 -0
  114. package/dist/parsing/logic/then.js +16 -0
  115. package/dist/parsing/logic/then.js.map +1 -0
  116. package/dist/parsing/logic/when.js +16 -0
  117. package/dist/parsing/logic/when.js.map +1 -0
  118. package/dist/parsing/operations/aggregated_return.js +35 -0
  119. package/dist/parsing/operations/aggregated_return.js.map +1 -0
  120. package/dist/parsing/operations/aggregated_with.js +41 -0
  121. package/dist/parsing/operations/aggregated_with.js.map +1 -0
  122. package/dist/parsing/operations/group_by.js +139 -0
  123. package/dist/parsing/operations/group_by.js.map +1 -0
  124. package/dist/parsing/operations/limit.js +38 -0
  125. package/dist/parsing/operations/limit.js.map +1 -0
  126. package/dist/parsing/operations/load.js +174 -0
  127. package/dist/parsing/operations/load.js.map +1 -0
  128. package/dist/parsing/operations/operation.js +81 -0
  129. package/dist/parsing/operations/operation.js.map +1 -0
  130. package/dist/parsing/operations/projection.js +21 -0
  131. package/dist/parsing/operations/projection.js.map +1 -0
  132. package/dist/parsing/operations/return.js +60 -0
  133. package/dist/parsing/operations/return.js.map +1 -0
  134. package/dist/parsing/operations/unwind.js +46 -0
  135. package/dist/parsing/operations/unwind.js.map +1 -0
  136. package/dist/parsing/operations/where.js +53 -0
  137. package/dist/parsing/operations/where.js.map +1 -0
  138. package/dist/parsing/operations/with.js +36 -0
  139. package/dist/parsing/operations/with.js.map +1 -0
  140. package/dist/parsing/parser.js +812 -0
  141. package/dist/parsing/parser.js.map +1 -0
  142. package/dist/parsing/token_to_node.js +121 -0
  143. package/dist/parsing/token_to_node.js.map +1 -0
  144. package/dist/tokenization/keyword.js +46 -0
  145. package/dist/tokenization/keyword.js.map +1 -0
  146. package/dist/tokenization/operator.js +28 -0
  147. package/dist/tokenization/operator.js.map +1 -0
  148. package/dist/tokenization/string_walker.js +165 -0
  149. package/dist/tokenization/string_walker.js.map +1 -0
  150. package/dist/tokenization/symbol.js +18 -0
  151. package/dist/tokenization/symbol.js.map +1 -0
  152. package/dist/tokenization/token.js +484 -0
  153. package/dist/tokenization/token.js.map +1 -0
  154. package/dist/tokenization/token_mapper.js +55 -0
  155. package/dist/tokenization/token_mapper.js.map +1 -0
  156. package/dist/tokenization/token_type.js +19 -0
  157. package/dist/tokenization/token_type.js.map +1 -0
  158. package/dist/tokenization/tokenizer.js +220 -0
  159. package/dist/tokenization/tokenizer.js.map +1 -0
  160. package/dist/tokenization/trie.js +111 -0
  161. package/dist/tokenization/trie.js.map +1 -0
  162. package/dist/utils/object_utils.js +19 -0
  163. package/dist/utils/object_utils.js.map +1 -0
  164. package/dist/utils/string_utils.js +110 -0
  165. package/dist/utils/string_utils.js.map +1 -0
  166. package/docs/flowquery.min.js +1 -1
  167. package/flowquery-vscode/flowQueryEngine/flowquery.min.js +1 -1
  168. package/package.json +21 -4
  169. package/src/compute/runner.ts +45 -0
  170. package/src/index.browser.ts +118 -0
  171. package/src/index.node.ts +141 -0
  172. package/src/parsing/functions/async_function.ts +95 -0
  173. package/src/parsing/functions/function_factory.ts +230 -1
  174. package/src/parsing/functions/function_metadata.ts +238 -0
  175. package/src/parsing/functions/functions.ts +43 -0
  176. package/src/parsing/operations/load.ts +51 -2
  177. package/src/parsing/parser.ts +46 -5
  178. package/tests/parsing/function_plugins.test.ts +369 -0
@@ -0,0 +1,484 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const token_type_1 = __importDefault(require("./token_type"));
7
+ const keyword_1 = __importDefault(require("./keyword"));
8
+ const symbol_1 = __importDefault(require("./symbol"));
9
+ const operator_1 = __importDefault(require("./operator"));
10
+ const token_to_node_1 = __importDefault(require("../parsing/token_to_node"));
11
+ const string_utils_1 = __importDefault(require("../utils/string_utils"));
12
+ /**
13
+ * Represents a single token in the FlowQuery language.
14
+ *
15
+ * Tokens are the atomic units of lexical analysis, produced by the tokenizer
16
+ * and consumed by the parser. Each token has a type (keyword, operator, identifier, etc.)
17
+ * and an optional value.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const withToken = Token.WITH;
22
+ * const identToken = Token.IDENTIFIER("myVar");
23
+ * const numToken = Token.NUMBER("42");
24
+ * ```
25
+ */
26
+ class Token {
27
+ /**
28
+ * Creates a new Token instance.
29
+ *
30
+ * @param type - The type of the token
31
+ * @param value - The optional value associated with the token
32
+ */
33
+ constructor(type, value = null) {
34
+ this._position = -1;
35
+ this._case_sensitive_value = null;
36
+ this._can_be_identifier = false;
37
+ this._type = type;
38
+ this._value = value;
39
+ this._can_be_identifier = string_utils_1.default.can_be_identifier(value || '');
40
+ }
41
+ /**
42
+ * Checks if this token equals another token.
43
+ *
44
+ * @param other - The token to compare against
45
+ * @returns True if tokens are equal, false otherwise
46
+ */
47
+ equals(other) {
48
+ if (this._type === token_type_1.default.IDENTIFIER && other.type === token_type_1.default.IDENTIFIER) {
49
+ return true; // Identifier values are not compared
50
+ }
51
+ return this._type === other.type && this._value === other.value;
52
+ }
53
+ set position(position) {
54
+ this._position = position;
55
+ }
56
+ get position() {
57
+ return this._position;
58
+ }
59
+ get type() {
60
+ return this._type;
61
+ }
62
+ get value() {
63
+ return this._case_sensitive_value || this._value;
64
+ }
65
+ set case_sensitive_value(value) {
66
+ this._case_sensitive_value = value;
67
+ }
68
+ get can_be_identifier() {
69
+ return this._can_be_identifier;
70
+ }
71
+ get node() {
72
+ return token_to_node_1.default.convert(this);
73
+ }
74
+ toString() {
75
+ return `${this._type} ${this._value}`;
76
+ }
77
+ // Comment tokens
78
+ static COMMENT(comment) {
79
+ return new Token(token_type_1.default.COMMENT, comment);
80
+ }
81
+ isComment() {
82
+ return this._type === token_type_1.default.COMMENT;
83
+ }
84
+ // Identifier token
85
+ static IDENTIFIER(value) {
86
+ return new Token(token_type_1.default.IDENTIFIER, value);
87
+ }
88
+ isIdentifier() {
89
+ return this._type === token_type_1.default.IDENTIFIER || this._type === token_type_1.default.BACKTICK_STRING;
90
+ }
91
+ // String token
92
+ static STRING(value, quoteChar = '"') {
93
+ const unquoted = string_utils_1.default.unquote(value);
94
+ const unescaped = string_utils_1.default.removeEscapedQuotes(unquoted, quoteChar);
95
+ return new Token(token_type_1.default.STRING, unescaped);
96
+ }
97
+ isString() {
98
+ return this._type === token_type_1.default.STRING || this._type === token_type_1.default.BACKTICK_STRING;
99
+ }
100
+ static BACKTICK_STRING(value, quoteChar = '"') {
101
+ const unquoted = string_utils_1.default.unquote(value);
102
+ const unescaped = string_utils_1.default.removeEscapedQuotes(unquoted, quoteChar);
103
+ return new Token(token_type_1.default.BACKTICK_STRING, unescaped);
104
+ }
105
+ static F_STRING(value, quoteChar = '"') {
106
+ const unquoted = string_utils_1.default.unquote(value);
107
+ const unescaped = string_utils_1.default.removeEscapedQuotes(unquoted, quoteChar);
108
+ const fstring = string_utils_1.default.removeEscapedBraces(unescaped);
109
+ return new Token(token_type_1.default.F_STRING, fstring);
110
+ }
111
+ isFString() {
112
+ return this._type === token_type_1.default.F_STRING;
113
+ }
114
+ // Number token
115
+ static NUMBER(value) {
116
+ return new Token(token_type_1.default.NUMBER, value);
117
+ }
118
+ isNumber() {
119
+ return this._type === token_type_1.default.NUMBER;
120
+ }
121
+ // Symbol tokens
122
+ static get LEFT_PARENTHESIS() {
123
+ return new Token(token_type_1.default.SYMBOL, symbol_1.default.LEFT_PARENTHESIS);
124
+ }
125
+ isLeftParenthesis() {
126
+ return this._type === token_type_1.default.SYMBOL && this._value === symbol_1.default.LEFT_PARENTHESIS;
127
+ }
128
+ static get RIGHT_PARENTHESIS() {
129
+ return new Token(token_type_1.default.SYMBOL, symbol_1.default.RIGHT_PARENTHESIS);
130
+ }
131
+ isRightParenthesis() {
132
+ return this._type === token_type_1.default.SYMBOL && this._value === symbol_1.default.RIGHT_PARENTHESIS;
133
+ }
134
+ static get COMMA() {
135
+ return new Token(token_type_1.default.SYMBOL, symbol_1.default.COMMA);
136
+ }
137
+ isComma() {
138
+ return this._type === token_type_1.default.SYMBOL && this._value === symbol_1.default.COMMA;
139
+ }
140
+ static get DOT() {
141
+ return new Token(token_type_1.default.SYMBOL, symbol_1.default.DOT);
142
+ }
143
+ isDot() {
144
+ return this._type === token_type_1.default.SYMBOL && this._value === symbol_1.default.DOT;
145
+ }
146
+ static get COLON() {
147
+ return new Token(token_type_1.default.SYMBOL, symbol_1.default.COLON);
148
+ }
149
+ isColon() {
150
+ return this._type === token_type_1.default.SYMBOL && this._value === symbol_1.default.COLON;
151
+ }
152
+ static get OPENING_BRACE() {
153
+ return new Token(token_type_1.default.SYMBOL, symbol_1.default.OPENING_BRACE);
154
+ }
155
+ isOpeningBrace() {
156
+ return this._type === token_type_1.default.SYMBOL && this._value === symbol_1.default.OPENING_BRACE;
157
+ }
158
+ static get CLOSING_BRACE() {
159
+ return new Token(token_type_1.default.SYMBOL, symbol_1.default.CLOSING_BRACE);
160
+ }
161
+ isClosingBrace() {
162
+ return this._type === token_type_1.default.SYMBOL && this._value === symbol_1.default.CLOSING_BRACE;
163
+ }
164
+ static get OPENING_BRACKET() {
165
+ return new Token(token_type_1.default.SYMBOL, symbol_1.default.OPENING_BRACKET);
166
+ }
167
+ isOpeningBracket() {
168
+ return this._type === token_type_1.default.SYMBOL && this._value === symbol_1.default.OPENING_BRACKET;
169
+ }
170
+ static get CLOSING_BRACKET() {
171
+ return new Token(token_type_1.default.SYMBOL, symbol_1.default.CLOSING_BRACKET);
172
+ }
173
+ isClosingBracket() {
174
+ return this._type === token_type_1.default.SYMBOL && this._value === symbol_1.default.CLOSING_BRACKET;
175
+ }
176
+ // Whitespace token
177
+ static get WHITESPACE() {
178
+ return new Token(token_type_1.default.WHITESPACE);
179
+ }
180
+ isWhitespace() {
181
+ return this._type === token_type_1.default.WHITESPACE;
182
+ }
183
+ // Operator tokens
184
+ isOperator() {
185
+ return this._type === token_type_1.default.OPERATOR;
186
+ }
187
+ isUnaryOperator() {
188
+ return this._type === token_type_1.default.UNARY_OPERATOR;
189
+ }
190
+ static get ADD() {
191
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.ADD);
192
+ }
193
+ isAdd() {
194
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.ADD;
195
+ }
196
+ static get SUBTRACT() {
197
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.SUBTRACT);
198
+ }
199
+ isSubtract() {
200
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.SUBTRACT;
201
+ }
202
+ isNegation() {
203
+ return this.isSubtract();
204
+ }
205
+ static get MULTIPLY() {
206
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.MULTIPLY);
207
+ }
208
+ isMultiply() {
209
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.MULTIPLY;
210
+ }
211
+ static get DIVIDE() {
212
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.DIVIDE);
213
+ }
214
+ isDivide() {
215
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.DIVIDE;
216
+ }
217
+ static get EXPONENT() {
218
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.EXPONENT);
219
+ }
220
+ isExponent() {
221
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.EXPONENT;
222
+ }
223
+ static get MODULO() {
224
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.MODULO);
225
+ }
226
+ isModulo() {
227
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.MODULO;
228
+ }
229
+ static get EQUALS() {
230
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.EQUALS);
231
+ }
232
+ isEquals() {
233
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.EQUALS;
234
+ }
235
+ static get NOT_EQUALS() {
236
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.NOT_EQUALS);
237
+ }
238
+ isNotEquals() {
239
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.NOT_EQUALS;
240
+ }
241
+ static get LESS_THAN() {
242
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.LESS_THAN);
243
+ }
244
+ isLessThan() {
245
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.LESS_THAN;
246
+ }
247
+ static get LESS_THAN_OR_EQUAL() {
248
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.LESS_THAN_OR_EQUAL);
249
+ }
250
+ isLessThanOrEqual() {
251
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.LESS_THAN_OR_EQUAL;
252
+ }
253
+ static get GREATER_THAN() {
254
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.GREATER_THAN);
255
+ }
256
+ isGreaterThan() {
257
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.GREATER_THAN;
258
+ }
259
+ static get GREATER_THAN_OR_EQUAL() {
260
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.GREATER_THAN_OR_EQUAL);
261
+ }
262
+ isGreaterThanOrEqual() {
263
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.GREATER_THAN_OR_EQUAL;
264
+ }
265
+ static get AND() {
266
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.AND);
267
+ }
268
+ isAnd() {
269
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.AND;
270
+ }
271
+ static get OR() {
272
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.OR);
273
+ }
274
+ isOr() {
275
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.OR;
276
+ }
277
+ static get NOT() {
278
+ return new Token(token_type_1.default.UNARY_OPERATOR, operator_1.default.NOT);
279
+ }
280
+ isNot() {
281
+ return this._type === token_type_1.default.UNARY_OPERATOR && this._value === operator_1.default.NOT;
282
+ }
283
+ static get IS() {
284
+ return new Token(token_type_1.default.OPERATOR, operator_1.default.IS);
285
+ }
286
+ isIs() {
287
+ return this._type === token_type_1.default.OPERATOR && this._value === operator_1.default.IS;
288
+ }
289
+ // Keyword tokens
290
+ isKeyword() {
291
+ return this._type === token_type_1.default.KEYWORD;
292
+ }
293
+ static get WITH() {
294
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.WITH);
295
+ }
296
+ isWith() {
297
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.WITH;
298
+ }
299
+ static get RETURN() {
300
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.RETURN);
301
+ }
302
+ isReturn() {
303
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.RETURN;
304
+ }
305
+ static get LOAD() {
306
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.LOAD);
307
+ }
308
+ isLoad() {
309
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.LOAD;
310
+ }
311
+ static get JSON() {
312
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.JSON);
313
+ }
314
+ isJSON() {
315
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.JSON;
316
+ }
317
+ static get CSV() {
318
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.CSV);
319
+ }
320
+ isCSV() {
321
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.CSV;
322
+ }
323
+ static get TEXT() {
324
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.TEXT);
325
+ }
326
+ isText() {
327
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.TEXT;
328
+ }
329
+ static get FROM() {
330
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.FROM);
331
+ }
332
+ isFrom() {
333
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.FROM;
334
+ }
335
+ static get HEADERS() {
336
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.HEADERS);
337
+ }
338
+ isHeaders() {
339
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.HEADERS;
340
+ }
341
+ static get POST() {
342
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.POST);
343
+ }
344
+ isPost() {
345
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.POST;
346
+ }
347
+ static get UNWIND() {
348
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.UNWIND);
349
+ }
350
+ isUnwind() {
351
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.UNWIND;
352
+ }
353
+ static get MATCH() {
354
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.MATCH);
355
+ }
356
+ isMatch() {
357
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.MATCH;
358
+ }
359
+ static get AS() {
360
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.AS);
361
+ }
362
+ isAs() {
363
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.AS;
364
+ }
365
+ static get WHERE() {
366
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.WHERE);
367
+ }
368
+ isWhere() {
369
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.WHERE;
370
+ }
371
+ static get MERGE() {
372
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.MERGE);
373
+ }
374
+ isMerge() {
375
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.MERGE;
376
+ }
377
+ static get CREATE() {
378
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.CREATE);
379
+ }
380
+ isCreate() {
381
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.CREATE;
382
+ }
383
+ static get DELETE() {
384
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.DELETE);
385
+ }
386
+ isDelete() {
387
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.DELETE;
388
+ }
389
+ static get SET() {
390
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.SET);
391
+ }
392
+ isSet() {
393
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.SET;
394
+ }
395
+ static get REMOVE() {
396
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.REMOVE);
397
+ }
398
+ isRemove() {
399
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.REMOVE;
400
+ }
401
+ static get CASE() {
402
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.CASE);
403
+ }
404
+ isCase() {
405
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.CASE;
406
+ }
407
+ static get WHEN() {
408
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.WHEN);
409
+ }
410
+ isWhen() {
411
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.WHEN;
412
+ }
413
+ static get THEN() {
414
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.THEN);
415
+ }
416
+ isThen() {
417
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.THEN;
418
+ }
419
+ static get ELSE() {
420
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.ELSE);
421
+ }
422
+ isElse() {
423
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.ELSE;
424
+ }
425
+ static get END() {
426
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.END);
427
+ }
428
+ isEnd() {
429
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.END;
430
+ }
431
+ static get NULL() {
432
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.NULL);
433
+ }
434
+ isNull() {
435
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.NULL;
436
+ }
437
+ static get IN() {
438
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.IN);
439
+ }
440
+ isIn() {
441
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.IN;
442
+ }
443
+ static get PIPE() {
444
+ return new Token(token_type_1.default.KEYWORD, operator_1.default.PIPE);
445
+ }
446
+ isPipe() {
447
+ return this._type === token_type_1.default.KEYWORD && this._value === operator_1.default.PIPE;
448
+ }
449
+ static get DISTINCT() {
450
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.DISTINCT);
451
+ }
452
+ isDistinct() {
453
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.DISTINCT;
454
+ }
455
+ static get LIMIT() {
456
+ return new Token(token_type_1.default.KEYWORD, keyword_1.default.LIMIT);
457
+ }
458
+ isLimit() {
459
+ return this._type === token_type_1.default.KEYWORD && this._value === keyword_1.default.LIMIT;
460
+ }
461
+ // End of file token
462
+ static get EOF() {
463
+ return new Token(token_type_1.default.EOF);
464
+ }
465
+ isEOF() {
466
+ return this._type === token_type_1.default.EOF;
467
+ }
468
+ // Other utility methods
469
+ isOperand() {
470
+ return this.isNumber() || this.isString() || this.isNull();
471
+ }
472
+ isWhitespaceOrComment() {
473
+ return this.isWhitespace() || this.isComment();
474
+ }
475
+ isSymbol() {
476
+ return this._type === token_type_1.default.SYMBOL;
477
+ }
478
+ // Static class method lookup via string
479
+ static method(name) {
480
+ return Token[name.toUpperCase()];
481
+ }
482
+ }
483
+ exports.default = Token;
484
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/tokenization/token.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AACrC,wDAAgC;AAChC,sDAA8B;AAC9B,0DAAkC;AAClC,6EAAmD;AAEnD,yEAAgD;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,KAAK;IAOP;;;;;OAKG;IACH,YAAY,IAAe,EAAE,QAAuB,IAAI;QAZhD,cAAS,GAAW,CAAC,CAAC,CAAC;QAGvB,0BAAqB,GAAkB,IAAI,CAAC;QAC5C,uBAAkB,GAAY,KAAK,CAAC;QASxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,kBAAkB,GAAG,sBAAW,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAY;QACtB,IAAG,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAS,CAAC,UAAU,EAAE,CAAC;YAC5E,OAAO,IAAI,CAAC,CAAC,qCAAqC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC;IACpE,CAAC;IAED,IAAW,QAAQ,CAAC,QAAgB;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC;IACrD,CAAC;IAED,IAAW,oBAAoB,CAAC,KAAa;QACzC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACvC,CAAC;IAED,IAAW,iBAAiB;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,IAAW,IAAI;QACX,OAAO,uBAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAEM,QAAQ;QACX,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAC1C,CAAC;IAED,iBAAiB;IAEV,MAAM,CAAC,OAAO,CAAC,OAAe;QACjC,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,CAAC;IAC5C,CAAC;IAED,mBAAmB;IAEZ,MAAM,CAAC,UAAU,CAAC,KAAa;QAClC,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,eAAe,CAAC;IAC3F,CAAC;IAED,eAAe;IAER,MAAM,CAAC,MAAM,CAAC,KAAa,EAAE,YAAoB,GAAG;QACvD,MAAM,QAAQ,GAAG,sBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,sBAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACvE,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,eAAe,CAAC;IACvF,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,KAAa,EAAE,YAAoB,GAAG;QAChE,MAAM,QAAQ,GAAG,sBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,sBAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACvE,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAa,EAAE,YAAoB,GAAG;QACzD,MAAM,QAAQ,GAAG,sBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,sBAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,sBAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC3D,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,CAAC;IAC7C,CAAC;IAED,eAAe;IAER,MAAM,CAAC,MAAM,CAAC,KAAa;QAC9B,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED,gBAAgB;IAET,MAAM,KAAK,gBAAgB;QAC9B,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,MAAM,EAAE,gBAAM,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAM,CAAC,gBAAgB,CAAC;IACtF,CAAC;IAEM,MAAM,KAAK,iBAAiB;QAC/B,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,MAAM,EAAE,gBAAM,CAAC,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAM,CAAC,iBAAiB,CAAC;IACvF,CAAC;IAEM,MAAM,KAAK,KAAK;QACnB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,MAAM,EAAE,gBAAM,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAM,CAAC,KAAK,CAAC;IAC3E,CAAC;IAEM,MAAM,KAAK,GAAG;QACjB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,MAAM,EAAE,gBAAM,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAM,CAAC,GAAG,CAAC;IACzE,CAAC;IAEM,MAAM,KAAK,KAAK;QACnB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,MAAM,EAAE,gBAAM,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAM,CAAC,KAAK,CAAC;IAC3E,CAAC;IAEM,MAAM,KAAK,aAAa;QAC3B,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,MAAM,EAAE,gBAAM,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC;IAEM,cAAc;QACjB,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAM,CAAC,aAAa,CAAC;IACnF,CAAC;IAEM,MAAM,KAAK,aAAa;QAC3B,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,MAAM,EAAE,gBAAM,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC;IAEM,cAAc;QACjB,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAM,CAAC,aAAa,CAAC;IACnF,CAAC;IAEM,MAAM,KAAK,eAAe;QAC7B,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,MAAM,EAAE,gBAAM,CAAC,eAAe,CAAC,CAAC;IAC/D,CAAC;IAEM,gBAAgB;QACnB,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAM,CAAC,eAAe,CAAC;IACrF,CAAC;IAEM,MAAM,KAAK,eAAe;QAC7B,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,MAAM,EAAE,gBAAM,CAAC,eAAe,CAAC,CAAC;IAC/D,CAAC;IAEM,gBAAgB;QACnB,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAM,CAAC,eAAe,CAAC;IACrF,CAAC;IAED,mBAAmB;IAEZ,MAAM,KAAK,UAAU;QACxB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,UAAU,CAAC;IAC/C,CAAC;IAED,kBAAkB;IAEX,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,CAAC;IAC7C,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,cAAc,CAAC;IACnD,CAAC;IAEM,MAAM,KAAK,GAAG;QACjB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,GAAG,CAAC;IAC7E,CAAC;IAEM,MAAM,KAAK,QAAQ;QACtB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,QAAQ,CAAC;IAClF,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAEM,MAAM,KAAK,QAAQ;QACtB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,QAAQ,CAAC;IAClF,CAAC;IAEM,MAAM,KAAK,MAAM;QACpB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,MAAM,CAAC;IAChF,CAAC;IAEM,MAAM,KAAK,QAAQ;QACtB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,QAAQ,CAAC;IAClF,CAAC;IAEM,MAAM,KAAK,MAAM;QACpB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,MAAM,CAAC;IAChF,CAAC;IAEM,MAAM,KAAK,MAAM;QACpB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,MAAM,CAAC;IAChF,CAAC;IAEM,MAAM,KAAK,UAAU;QACxB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,UAAU,CAAC;IACpF,CAAC;IAEM,MAAM,KAAK,SAAS;QACvB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,SAAS,CAAC;IACnF,CAAC;IAEM,MAAM,KAAK,kBAAkB;QAChC,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,kBAAkB,CAAC,CAAC;IACtE,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,kBAAkB,CAAC;IAC5F,CAAC;IAEM,MAAM,KAAK,YAAY;QAC1B,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,YAAY,CAAC,CAAC;IAChE,CAAC;IAEM,aAAa;QAChB,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,YAAY,CAAC;IACtF,CAAC;IAEM,MAAM,KAAK,qBAAqB;QACnC,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,qBAAqB,CAAC,CAAC;IACzE,CAAC;IAEM,oBAAoB;QACvB,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,qBAAqB,CAAC;IAC/F,CAAC;IAEM,MAAM,KAAK,GAAG;QACjB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,GAAG,CAAC;IAC7E,CAAC;IAEM,MAAM,KAAK,EAAE;QAChB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,EAAE,CAAC;IAC5E,CAAC;IAEM,MAAM,KAAK,GAAG;QACjB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,cAAc,EAAE,kBAAQ,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,GAAG,CAAC;IACnF,CAAC;IAEM,MAAM,KAAK,EAAE;QAChB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,QAAQ,EAAE,kBAAQ,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,iBAAiB;IAEV,SAAS;QACZ,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,CAAC;IAC5C,CAAC;IAEM,MAAM,KAAK,IAAI;QAClB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI,CAAC;IAC5E,CAAC;IAEM,MAAM,KAAK,MAAM;QACpB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,MAAM,CAAC;IAC9E,CAAC;IAEM,MAAM,KAAK,IAAI;QAClB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI,CAAC;IAC5E,CAAC;IAEM,MAAM,KAAK,IAAI;QAClB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI,CAAC;IAC5E,CAAC;IAEM,MAAM,KAAK,GAAG;QACjB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,GAAG,CAAC;IAC3E,CAAC;IAEM,MAAM,KAAK,IAAI;QAClB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI,CAAC;IAC5E,CAAC;IAEM,MAAM,KAAK,IAAI;QAClB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI,CAAC;IAC5E,CAAC;IAEM,MAAM,KAAK,OAAO;QACrB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,OAAO,CAAC;IAC/E,CAAC;IAEM,MAAM,KAAK,IAAI;QAClB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI,CAAC;IAC5E,CAAC;IAEM,MAAM,KAAK,MAAM;QACpB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,MAAM,CAAC;IAC9E,CAAC;IAEM,MAAM,KAAK,KAAK;QACnB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,KAAK,CAAC;IAC7E,CAAC;IAEM,MAAM,KAAK,EAAE;QAChB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IAEM,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,EAAE,CAAC;IAC1E,CAAC;IAEM,MAAM,KAAK,KAAK;QACnB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,KAAK,CAAC;IAC7E,CAAC;IAEM,MAAM,KAAK,KAAK;QACnB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,KAAK,CAAC;IAC7E,CAAC;IAEM,MAAM,KAAK,MAAM;QACpB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,MAAM,CAAC;IAC9E,CAAC;IAEM,MAAM,KAAK,MAAM;QACpB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,MAAM,CAAC;IAC9E,CAAC;IAEM,MAAM,KAAK,GAAG;QACjB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,GAAG,CAAC;IAC3E,CAAC;IAEM,MAAM,KAAK,MAAM;QACpB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,MAAM,CAAC;IAC9E,CAAC;IAEM,MAAM,KAAK,IAAI;QAClB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI,CAAC;IAC5E,CAAC;IAEM,MAAM,KAAK,IAAI;QAClB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI,CAAC;IAC5E,CAAC;IAEM,MAAM,KAAK,IAAI;QAClB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI,CAAC;IAC5E,CAAC;IAEM,MAAM,KAAK,IAAI;QAClB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI,CAAC;IAC5E,CAAC;IAEM,MAAM,KAAK,GAAG;QACjB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,GAAG,CAAC;IAC3E,CAAC;IAEM,MAAM,KAAK,IAAI;QAClB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI,CAAC;IAC5E,CAAC;IAEM,MAAM,KAAK,EAAE;QAChB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IAEM,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,EAAE,CAAC;IAC1E,CAAC;IAEM,MAAM,KAAK,IAAI;QAClB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,kBAAQ,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAQ,CAAC,IAAI,CAAC;IAC7E,CAAC;IAEM,MAAM,KAAK,QAAQ;QACtB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,QAAQ,CAAC;IAChF,CAAC;IAEM,MAAM,KAAK,KAAK;QACnB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,OAAO,EAAE,iBAAO,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAO,CAAC,KAAK,CAAC;IAC7E,CAAC;IAGD,oBAAoB;IAEb,MAAM,KAAK,GAAG;QACjB,OAAO,IAAI,KAAK,CAAC,oBAAS,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,GAAG,CAAC;IACxC,CAAC;IAED,wBAAwB;IAEjB,SAAS;QACZ,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/D,CAAC;IAEM,qBAAqB;QACxB,OAAO,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;IACnD,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,KAAK,oBAAS,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED,wCAAwC;IACjC,MAAM,CAAC,MAAM,CAAC,IAAY;QAC7B,OAAQ,KAAa,CAAC,IAAI,CAAC,WAAW,EAAE,CAAsB,CAAC;IACnE,CAAC;CACJ;AAED,kBAAe,KAAK,CAAC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const token_1 = __importDefault(require("../../src/tokenization/token"));
7
+ const trie_1 = __importDefault(require("../../src/tokenization/trie"));
8
+ /**
9
+ * Maps string values to tokens using a Trie for efficient lookup.
10
+ *
11
+ * Takes an enum of keywords, operators, or symbols and builds a trie
12
+ * for fast token matching during tokenization.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const mapper = new TokenMapper(Keyword);
17
+ * const token = mapper.map("WITH");
18
+ * ```
19
+ */
20
+ class TokenMapper {
21
+ /**
22
+ * Creates a TokenMapper from an enum of token values.
23
+ *
24
+ * @param _enum - An enum object containing token values
25
+ */
26
+ constructor(_enum) {
27
+ this._enum = _enum;
28
+ this._trie = new trie_1.default();
29
+ for (const [key, value] of Object.entries(_enum)) {
30
+ const token = token_1.default.method(key);
31
+ if (token !== undefined && token.value !== null) {
32
+ this._trie.insert(token);
33
+ }
34
+ }
35
+ }
36
+ /**
37
+ * Maps a string value to its corresponding token.
38
+ *
39
+ * @param value - The string value to map
40
+ * @returns The matched token, or undefined if no match found
41
+ */
42
+ map(value) {
43
+ return this._trie.find(value);
44
+ }
45
+ /**
46
+ * Gets the last matched string from the most recent map operation.
47
+ *
48
+ * @returns The last found string, or null if no match
49
+ */
50
+ get last_found() {
51
+ return this._trie.last_found;
52
+ }
53
+ }
54
+ exports.default = TokenMapper;
55
+ //# sourceMappingURL=token_mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token_mapper.js","sourceRoot":"","sources":["../../src/tokenization/token_mapper.ts"],"names":[],"mappings":";;;;;AAAA,yEAAiD;AACjD,uEAA+C;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW;IAGb;;;;OAIG;IACH,YAAoB,KAA6B;QAA7B,UAAK,GAAL,KAAK,CAAwB;QAPzC,UAAK,GAAS,IAAI,cAAI,EAAE,CAAC;QAQ7B,KAAI,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAsB,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnD,IAAG,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,GAAG,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IACjC,CAAC;CACJ;AAED,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var TokenType;
4
+ (function (TokenType) {
5
+ TokenType["KEYWORD"] = "KEYWORD";
6
+ TokenType["OPERATOR"] = "OPERATOR";
7
+ TokenType["UNARY_OPERATOR"] = "UNARY_OPERATOR";
8
+ TokenType["IDENTIFIER"] = "IDENTIFIER";
9
+ TokenType["STRING"] = "STRING";
10
+ TokenType["F_STRING"] = "F-STRING";
11
+ TokenType["BACKTICK_STRING"] = "BACKTICK_STRING";
12
+ TokenType["NUMBER"] = "NUMBER";
13
+ TokenType["SYMBOL"] = "SYMBOL";
14
+ TokenType["WHITESPACE"] = "WHITESPACE";
15
+ TokenType["COMMENT"] = "COMMENT";
16
+ TokenType["EOF"] = "EOF";
17
+ })(TokenType || (TokenType = {}));
18
+ exports.default = TokenType;
19
+ //# sourceMappingURL=token_type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token_type.js","sourceRoot":"","sources":["../../src/tokenization/token_type.ts"],"names":[],"mappings":";;AAAA,IAAK,SAaJ;AAbD,WAAK,SAAS;IACV,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,8CAAiC,CAAA;IACjC,sCAAyB,CAAA;IACzB,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;IACrB,gDAAmC,CAAA;IACnC,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,sCAAyB,CAAA;IACzB,gCAAmB,CAAA;IACnB,wBAAW,CAAA;AACf,CAAC,EAbI,SAAS,KAAT,SAAS,QAab;AACD,kBAAe,SAAS,CAAC"}