flowquery 1.0.3 → 1.0.6
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.
- package/README.md +182 -0
- package/dist/compute/runner.d.ts +81 -0
- package/dist/compute/runner.d.ts.map +1 -0
- package/dist/extensibility.d.ts +9 -0
- package/dist/extensibility.d.ts.map +1 -0
- package/dist/extensibility.js +25 -0
- package/dist/extensibility.js.map +1 -0
- package/dist/flowquery.min.js +1 -1
- package/dist/index.browser.d.ts +10 -0
- package/dist/index.browser.d.ts.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.node.d.ts +14 -0
- package/dist/index.node.d.ts.map +1 -0
- package/dist/io/command_line.d.ts +28 -0
- package/dist/io/command_line.d.ts.map +1 -0
- package/dist/parsing/alias.d.ts +10 -0
- package/dist/parsing/alias.d.ts.map +1 -0
- package/dist/parsing/alias_option.d.ts +6 -0
- package/dist/parsing/alias_option.d.ts.map +1 -0
- package/dist/parsing/ast_node.d.ts +100 -0
- package/dist/parsing/ast_node.d.ts.map +1 -0
- package/dist/parsing/base_parser.d.ts +49 -0
- package/dist/parsing/base_parser.d.ts.map +1 -0
- package/dist/parsing/components/csv.d.ts +6 -0
- package/dist/parsing/components/csv.d.ts.map +1 -0
- package/dist/parsing/components/from.d.ts +7 -0
- package/dist/parsing/components/from.d.ts.map +1 -0
- package/dist/parsing/components/headers.d.ts +7 -0
- package/dist/parsing/components/headers.d.ts.map +1 -0
- package/dist/parsing/components/json.d.ts +6 -0
- package/dist/parsing/components/json.d.ts.map +1 -0
- package/dist/parsing/components/null.d.ts +6 -0
- package/dist/parsing/components/null.d.ts.map +1 -0
- package/dist/parsing/components/post.d.ts +6 -0
- package/dist/parsing/components/post.d.ts.map +1 -0
- package/dist/parsing/components/text.d.ts +6 -0
- package/dist/parsing/components/text.d.ts.map +1 -0
- package/dist/parsing/context.d.ts +38 -0
- package/dist/parsing/context.d.ts.map +1 -0
- package/dist/parsing/data_structures/associative_array.d.ts +28 -0
- package/dist/parsing/data_structures/associative_array.d.ts.map +1 -0
- package/dist/parsing/data_structures/json_array.d.ts +26 -0
- package/dist/parsing/data_structures/json_array.d.ts.map +1 -0
- package/dist/parsing/data_structures/key_value_pair.d.ts +25 -0
- package/dist/parsing/data_structures/key_value_pair.d.ts.map +1 -0
- package/dist/parsing/data_structures/lookup.d.ts +25 -0
- package/dist/parsing/data_structures/lookup.d.ts.map +1 -0
- package/dist/parsing/data_structures/range_lookup.d.ts +14 -0
- package/dist/parsing/data_structures/range_lookup.d.ts.map +1 -0
- package/dist/parsing/expressions/expression.d.ts +53 -0
- package/dist/parsing/expressions/expression.d.ts.map +1 -0
- package/dist/parsing/expressions/f_string.d.ts +21 -0
- package/dist/parsing/expressions/f_string.d.ts.map +1 -0
- package/dist/parsing/expressions/identifier.d.ts +17 -0
- package/dist/parsing/expressions/identifier.d.ts.map +1 -0
- package/dist/parsing/expressions/number.d.ts +25 -0
- package/dist/parsing/expressions/number.d.ts.map +1 -0
- package/dist/parsing/expressions/operator.d.ts +79 -0
- package/dist/parsing/expressions/operator.d.ts.map +1 -0
- package/dist/parsing/expressions/reference.d.ts +29 -0
- package/dist/parsing/expressions/reference.d.ts.map +1 -0
- package/dist/parsing/expressions/string.d.ts +23 -0
- package/dist/parsing/expressions/string.d.ts.map +1 -0
- package/dist/parsing/functions/aggregate_function.d.ts +42 -0
- package/dist/parsing/functions/aggregate_function.d.ts.map +1 -0
- package/dist/parsing/functions/async_function.d.ts +52 -0
- package/dist/parsing/functions/async_function.d.ts.map +1 -0
- package/dist/parsing/functions/avg.d.ts +15 -0
- package/dist/parsing/functions/avg.d.ts.map +1 -0
- package/dist/parsing/functions/avg.js +20 -2
- package/dist/parsing/functions/avg.js.map +1 -1
- package/dist/parsing/functions/collect.d.ts +21 -0
- package/dist/parsing/functions/collect.d.ts.map +1 -0
- package/dist/parsing/functions/collect.js +20 -2
- package/dist/parsing/functions/collect.js.map +1 -1
- package/dist/parsing/functions/extensibility/index.d.ts +37 -0
- package/dist/parsing/functions/extensibility/index.d.ts.map +1 -0
- package/dist/parsing/functions/extensibility/index.js +50 -0
- package/dist/parsing/functions/extensibility/index.js.map +1 -0
- package/dist/parsing/functions/function.d.ts +36 -0
- package/dist/parsing/functions/function.d.ts.map +1 -0
- package/dist/parsing/functions/function_factory.d.ts +174 -0
- package/dist/parsing/functions/function_factory.d.ts.map +1 -0
- package/dist/parsing/functions/function_factory.js +44 -47
- package/dist/parsing/functions/function_factory.js.map +1 -1
- package/dist/parsing/functions/function_metadata.d.ts +134 -0
- package/dist/parsing/functions/function_metadata.d.ts.map +1 -0
- package/dist/parsing/functions/function_metadata.js +103 -153
- package/dist/parsing/functions/function_metadata.js.map +1 -1
- package/dist/parsing/functions/functions.d.ts +21 -0
- package/dist/parsing/functions/functions.d.ts.map +1 -0
- package/dist/parsing/functions/functions.js +37 -2
- package/dist/parsing/functions/functions.js.map +1 -1
- package/dist/parsing/functions/join.d.ts +9 -0
- package/dist/parsing/functions/join.d.ts.map +1 -0
- package/dist/parsing/functions/join.js +21 -2
- package/dist/parsing/functions/join.js.map +1 -1
- package/dist/parsing/functions/predicate_function.d.ts +19 -0
- package/dist/parsing/functions/predicate_function.d.ts.map +1 -0
- package/dist/parsing/functions/predicate_function.js +3 -0
- package/dist/parsing/functions/predicate_function.js.map +1 -1
- package/dist/parsing/functions/predicate_sum.d.ts +7 -0
- package/dist/parsing/functions/predicate_sum.d.ts.map +1 -0
- package/dist/parsing/functions/predicate_sum.js +23 -2
- package/dist/parsing/functions/predicate_sum.js.map +1 -1
- package/dist/parsing/functions/rand.d.ts +7 -0
- package/dist/parsing/functions/rand.d.ts.map +1 -0
- package/dist/parsing/functions/rand.js +18 -2
- package/dist/parsing/functions/rand.js.map +1 -1
- package/dist/parsing/functions/range.d.ts +7 -0
- package/dist/parsing/functions/range.d.ts.map +1 -0
- package/dist/parsing/functions/range.js +21 -2
- package/dist/parsing/functions/range.js.map +1 -1
- package/dist/parsing/functions/reducer_element.d.ts +6 -0
- package/dist/parsing/functions/reducer_element.d.ts.map +1 -0
- package/dist/parsing/functions/replace.d.ts +7 -0
- package/dist/parsing/functions/replace.d.ts.map +1 -0
- package/dist/parsing/functions/replace.js +22 -2
- package/dist/parsing/functions/replace.js.map +1 -1
- package/dist/parsing/functions/round.d.ts +7 -0
- package/dist/parsing/functions/round.d.ts.map +1 -0
- package/dist/parsing/functions/round.js +20 -2
- package/dist/parsing/functions/round.js.map +1 -1
- package/dist/parsing/functions/size.d.ts +7 -0
- package/dist/parsing/functions/size.d.ts.map +1 -0
- package/dist/parsing/functions/size.js +20 -2
- package/dist/parsing/functions/size.js.map +1 -1
- package/dist/parsing/functions/split.d.ts +9 -0
- package/dist/parsing/functions/split.d.ts.map +1 -0
- package/dist/parsing/functions/split.js +21 -2
- package/dist/parsing/functions/split.js.map +1 -1
- package/dist/parsing/functions/stringify.d.ts +9 -0
- package/dist/parsing/functions/stringify.d.ts.map +1 -0
- package/dist/parsing/functions/stringify.js +20 -2
- package/dist/parsing/functions/stringify.js.map +1 -1
- package/dist/parsing/functions/sum.d.ts +14 -0
- package/dist/parsing/functions/sum.d.ts.map +1 -0
- package/dist/parsing/functions/sum.js +20 -2
- package/dist/parsing/functions/sum.js.map +1 -1
- package/dist/parsing/functions/to_json.d.ts +7 -0
- package/dist/parsing/functions/to_json.d.ts.map +1 -0
- package/dist/parsing/functions/to_json.js +20 -2
- package/dist/parsing/functions/to_json.js.map +1 -1
- package/dist/parsing/functions/value_holder.d.ts +8 -0
- package/dist/parsing/functions/value_holder.d.ts.map +1 -0
- package/dist/parsing/logic/case.d.ts +7 -0
- package/dist/parsing/logic/case.d.ts.map +1 -0
- package/dist/parsing/logic/else.d.ts +7 -0
- package/dist/parsing/logic/else.d.ts.map +1 -0
- package/dist/parsing/logic/end.d.ts +6 -0
- package/dist/parsing/logic/end.d.ts.map +1 -0
- package/dist/parsing/logic/then.d.ts +7 -0
- package/dist/parsing/logic/then.d.ts.map +1 -0
- package/dist/parsing/logic/when.d.ts +7 -0
- package/dist/parsing/logic/when.d.ts.map +1 -0
- package/dist/parsing/operations/aggregated_return.d.ts +8 -0
- package/dist/parsing/operations/aggregated_return.d.ts.map +1 -0
- package/dist/parsing/operations/aggregated_with.d.ts +8 -0
- package/dist/parsing/operations/aggregated_with.d.ts.map +1 -0
- package/dist/parsing/operations/group_by.d.ts +35 -0
- package/dist/parsing/operations/group_by.d.ts.map +1 -0
- package/dist/parsing/operations/limit.d.ts +10 -0
- package/dist/parsing/operations/limit.d.ts.map +1 -0
- package/dist/parsing/operations/load.d.ts +48 -0
- package/dist/parsing/operations/load.d.ts.map +1 -0
- package/dist/parsing/operations/operation.d.ts +39 -0
- package/dist/parsing/operations/operation.d.ts.map +1 -0
- package/dist/parsing/operations/projection.d.ts +8 -0
- package/dist/parsing/operations/projection.d.ts.map +1 -0
- package/dist/parsing/operations/return.d.ts +23 -0
- package/dist/parsing/operations/return.d.ts.map +1 -0
- package/dist/parsing/operations/unwind.d.ts +12 -0
- package/dist/parsing/operations/unwind.d.ts.map +1 -0
- package/dist/parsing/operations/where.d.ts +26 -0
- package/dist/parsing/operations/where.d.ts.map +1 -0
- package/dist/parsing/operations/with.d.ts +17 -0
- package/dist/parsing/operations/with.d.ts.map +1 -0
- package/dist/parsing/parser.d.ts +66 -0
- package/dist/parsing/parser.d.ts.map +1 -0
- package/dist/parsing/parser.js +2 -3
- package/dist/parsing/parser.js.map +1 -1
- package/dist/parsing/token_to_node.d.ts +7 -0
- package/dist/parsing/token_to_node.d.ts.map +1 -0
- package/dist/tokenization/keyword.d.ts +43 -0
- package/dist/tokenization/keyword.d.ts.map +1 -0
- package/dist/tokenization/operator.d.ts +22 -0
- package/dist/tokenization/operator.d.ts.map +1 -0
- package/dist/tokenization/string_walker.d.ts +55 -0
- package/dist/tokenization/string_walker.d.ts.map +1 -0
- package/dist/tokenization/symbol.d.ts +15 -0
- package/dist/tokenization/symbol.d.ts.map +1 -0
- package/dist/tokenization/token.d.ts +176 -0
- package/dist/tokenization/token.d.ts.map +1 -0
- package/dist/tokenization/token_mapper.d.ts +40 -0
- package/dist/tokenization/token_mapper.d.ts.map +1 -0
- package/dist/tokenization/token_type.d.ts +16 -0
- package/dist/tokenization/token_type.d.ts.map +1 -0
- package/dist/tokenization/tokenizer.d.ts +45 -0
- package/dist/tokenization/tokenizer.d.ts.map +1 -0
- package/dist/tokenization/trie.d.ts +41 -0
- package/dist/tokenization/trie.d.ts.map +1 -0
- package/dist/utils/object_utils.d.ts +15 -0
- package/dist/utils/object_utils.d.ts.map +1 -0
- package/dist/utils/string_utils.d.ts +51 -0
- package/dist/utils/string_utils.d.ts.map +1 -0
- package/docs/flowquery.min.js +1 -1
- package/flowquery-vscode/flowQueryEngine/flowquery.min.js +1 -1
- package/misc/apps/RAG/.env.example +14 -0
- package/misc/apps/RAG/README.md +0 -7
- package/misc/apps/RAG/package.json +16 -7
- package/misc/apps/RAG/public/index.html +18 -0
- package/misc/apps/RAG/src/App.css +42 -0
- package/misc/apps/RAG/src/App.tsx +50 -0
- package/misc/apps/RAG/src/components/ApiKeySettings.tsx +245 -0
- package/misc/apps/RAG/src/components/ChatContainer.css +67 -0
- package/misc/apps/RAG/src/components/ChatContainer.tsx +239 -0
- package/misc/apps/RAG/src/components/ChatInput.css +23 -0
- package/misc/apps/RAG/src/components/ChatInput.tsx +62 -0
- package/misc/apps/RAG/src/components/ChatMessage.css +136 -0
- package/misc/apps/RAG/src/components/ChatMessage.tsx +152 -0
- package/misc/apps/RAG/src/components/FlowQueryAgent.ts +390 -0
- package/misc/apps/RAG/src/components/FlowQueryRunner.css +104 -0
- package/misc/apps/RAG/src/components/FlowQueryRunner.tsx +332 -0
- package/misc/apps/RAG/src/components/index.ts +15 -0
- package/misc/apps/RAG/src/index.tsx +17 -0
- package/misc/apps/RAG/src/plugins/PluginRegistry.ts +136 -0
- package/misc/apps/RAG/src/plugins/README.md +139 -0
- package/misc/apps/RAG/src/plugins/index.ts +72 -0
- package/misc/apps/RAG/src/plugins/loaders/CatFacts.ts +79 -0
- package/misc/apps/RAG/src/plugins/loaders/FetchJson.ts +71 -0
- package/misc/apps/RAG/src/plugins/loaders/Llm.ts +441 -0
- package/misc/apps/RAG/src/plugins/loaders/MockData.ts +161 -0
- package/misc/apps/RAG/src/plugins/types.ts +52 -0
- package/misc/apps/RAG/src/prompts/FlowQuerySystemPrompt.ts +385 -0
- package/misc/apps/RAG/src/prompts/index.ts +10 -0
- package/misc/apps/RAG/src/utils/FlowQueryExecutor.ts +131 -0
- package/misc/apps/RAG/src/utils/FlowQueryExtractor.ts +203 -0
- package/misc/apps/RAG/src/utils/index.ts +9 -0
- package/misc/apps/RAG/tsconfig.json +4 -2
- package/misc/apps/RAG/webpack.config.js +23 -12
- package/package.json +7 -1
- package/src/extensibility.ts +9 -0
- package/src/parsing/functions/avg.ts +10 -0
- package/src/parsing/functions/collect.ts +10 -0
- package/src/parsing/functions/extensibility/index.ts +54 -0
- package/src/parsing/functions/function_factory.ts +51 -48
- package/src/parsing/functions/function_metadata.ts +132 -156
- package/src/parsing/functions/functions.ts +27 -0
- package/src/parsing/functions/join.ts +11 -0
- package/src/parsing/functions/predicate_function.ts +4 -0
- package/src/parsing/functions/predicate_sum.ts +13 -0
- package/src/parsing/functions/rand.ts +8 -0
- package/src/parsing/functions/range.ts +11 -0
- package/src/parsing/functions/replace.ts +12 -0
- package/src/parsing/functions/round.ts +10 -0
- package/src/parsing/functions/size.ts +10 -0
- package/src/parsing/functions/split.ts +11 -0
- package/src/parsing/functions/stringify.ts +10 -0
- package/src/parsing/functions/sum.ts +10 -0
- package/src/parsing/functions/to_json.ts +10 -0
- package/src/parsing/parser.ts +2 -3
- package/tests/parsing/function_plugins.test.ts +11 -11
- package/tsconfig.json +4 -1
- package/dist/parsing/functions/predicate_function_factory.js +0 -19
- package/dist/parsing/functions/predicate_function_factory.js.map +0 -1
- package/misc/apps/RAG/src/index.ts +0 -20
- package/src/parsing/functions/predicate_function_factory.ts +0 -15
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parsing/parser.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,UAAU,MAAM,eAAe,CAAC;AAsCvC;;;;;;;;;;;;GAYG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,QAAQ,CAAa;IAE7B;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IA6CxC,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,SAAS;IAoEjB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAE,gBAAgB;IA6BzB,OAAO,CAAC,eAAe;IAiFvB,OAAO,CAAC,WAAW;IAkDnB,OAAO,CAAC,SAAS;IAyCjB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,aAAa;IAiCrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,sBAAsB;IA0D9B,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,kCAAkC;IAO1C,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,0CAA0C;CAKrD;AAED,eAAe,MAAM,CAAC"}
|
package/dist/parsing/parser.js
CHANGED
|
@@ -34,7 +34,6 @@ const context_1 = __importDefault(require("./context"));
|
|
|
34
34
|
const aggregate_function_1 = __importDefault(require("./functions/aggregate_function"));
|
|
35
35
|
const object_utils_1 = __importDefault(require("../utils/object_utils"));
|
|
36
36
|
const token_1 = __importDefault(require("../tokenization/token"));
|
|
37
|
-
const predicate_function_factory_1 = __importDefault(require("./functions/predicate_function_factory"));
|
|
38
37
|
const f_string_1 = __importDefault(require("./expressions/f_string"));
|
|
39
38
|
const string_1 = __importDefault(require("./expressions/string"));
|
|
40
39
|
const aggregated_with_1 = __importDefault(require("./operations/aggregated_with"));
|
|
@@ -52,7 +51,7 @@ const null_1 = __importDefault(require("./components/null"));
|
|
|
52
51
|
* @example
|
|
53
52
|
* ```typescript
|
|
54
53
|
* const parser = new Parser();
|
|
55
|
-
* const ast = parser.parse("unwind [1, 2, 3, 4
|
|
54
|
+
* const ast = parser.parse("unwind [1, 2, 3, 4] as num return num");
|
|
56
55
|
* ```
|
|
57
56
|
*/
|
|
58
57
|
class Parser extends base_parser_1.default {
|
|
@@ -631,7 +630,7 @@ class Parser extends base_parser_1.default {
|
|
|
631
630
|
if (this.token.value === null) {
|
|
632
631
|
throw new Error('Expected identifier');
|
|
633
632
|
}
|
|
634
|
-
const func =
|
|
633
|
+
const func = function_factory_1.default.createPredicate(this.token.value);
|
|
635
634
|
this.setNextToken();
|
|
636
635
|
if (!this.token.isLeftParenthesis()) {
|
|
637
636
|
throw new Error('Expected left parenthesis');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parsing/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parsing/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token_to_node.d.ts","sourceRoot":"","sources":["../../src/parsing/token_to_node.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAC1C,OAAO,OAAO,MAAM,YAAY,CAAC;AASjC,cAAM,WAAW;WACC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;CAyE/C;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
declare enum Keyword {
|
|
2
|
+
RETURN = "RETURN",
|
|
3
|
+
MATCH = "MATCH",
|
|
4
|
+
WHERE = "WHERE",
|
|
5
|
+
CREATE = "CREATE",
|
|
6
|
+
MERGE = "MERGE",
|
|
7
|
+
DELETE = "DELETE",
|
|
8
|
+
DETACH = "DETACH",
|
|
9
|
+
SET = "SET",
|
|
10
|
+
REMOVE = "REMOVE",
|
|
11
|
+
FOREACH = "FOREACH",
|
|
12
|
+
WITH = "WITH",
|
|
13
|
+
CALL = "CALL",
|
|
14
|
+
YIELD = "YIELD",
|
|
15
|
+
LOAD = "LOAD",
|
|
16
|
+
HEADERS = "HEADERS",
|
|
17
|
+
POST = "POST",
|
|
18
|
+
FROM = "FROM",
|
|
19
|
+
CSV = "CSV",
|
|
20
|
+
JSON = "JSON",
|
|
21
|
+
TEXT = "TEXT",
|
|
22
|
+
AS = "AS",
|
|
23
|
+
UNWIND = "UNWIND",
|
|
24
|
+
SUM = "SUM",
|
|
25
|
+
COLLECT = "COLLECT",
|
|
26
|
+
DISTINCT = "DISTINCT",
|
|
27
|
+
ORDER = "ORDER",
|
|
28
|
+
BY = "BY",
|
|
29
|
+
ASC = "ASC",
|
|
30
|
+
DESC = "DESC",
|
|
31
|
+
SKIP = "SKIP",
|
|
32
|
+
LIMIT = "LIMIT",
|
|
33
|
+
EOF = "EOF",
|
|
34
|
+
CASE = "CASE",
|
|
35
|
+
WHEN = "WHEN",
|
|
36
|
+
THEN = "THEN",
|
|
37
|
+
ELSE = "ELSE",
|
|
38
|
+
END = "END",
|
|
39
|
+
NULL = "NULL",
|
|
40
|
+
IN = "IN"
|
|
41
|
+
}
|
|
42
|
+
export default Keyword;
|
|
43
|
+
//# sourceMappingURL=keyword.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyword.d.ts","sourceRoot":"","sources":["../../src/tokenization/keyword.ts"],"names":[],"mappings":"AAAA,aAAK,OAAO;IACR,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,IAAI,SAAS;IACb,EAAE,OAAO;IACT,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,IAAI,SAAS;IACb,IAAI,SAAS;IACb,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,EAAE,OAAO;CACZ;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
declare enum Operator {
|
|
2
|
+
ADD = "+",
|
|
3
|
+
SUBTRACT = "-",
|
|
4
|
+
MULTIPLY = "*",
|
|
5
|
+
DIVIDE = "/",
|
|
6
|
+
MODULO = "%",
|
|
7
|
+
EXPONENT = "^",
|
|
8
|
+
EQUALS = "=",
|
|
9
|
+
NOT_EQUALS = "<>",
|
|
10
|
+
LESS_THAN = "<",
|
|
11
|
+
LESS_THAN_OR_EQUAL = "<=",
|
|
12
|
+
GREATER_THAN = ">",
|
|
13
|
+
GREATER_THAN_OR_EQUAL = ">=",
|
|
14
|
+
IS = "IS",
|
|
15
|
+
AND = "AND",
|
|
16
|
+
OR = "OR",
|
|
17
|
+
NOT = "NOT",
|
|
18
|
+
IN = "IN",
|
|
19
|
+
PIPE = "|"
|
|
20
|
+
}
|
|
21
|
+
export default Operator;
|
|
22
|
+
//# sourceMappingURL=operator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../../src/tokenization/operator.ts"],"names":[],"mappings":"AAAA,aAAK,QAAQ;IAET,GAAG,MAAM;IACT,QAAQ,MAAM;IACd,QAAQ,MAAM;IACd,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,QAAQ,MAAM;IAEd,MAAM,MAAM;IACZ,UAAU,OAAO;IACjB,SAAS,MAAM;IACf,kBAAkB,OAAO;IACzB,YAAY,MAAM;IAClB,qBAAqB,OAAO;IAC5B,EAAE,OAAO;IAET,GAAG,QAAQ;IACX,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,EAAE,OAAO;IACT,IAAI,MAAM;CACb;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility class for walking through a string character by character during tokenization.
|
|
3
|
+
*
|
|
4
|
+
* Provides methods to check for specific character patterns, move through the string,
|
|
5
|
+
* and extract substrings. Used by the Tokenizer to process input text.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const walker = new StringWalker("WITH x as variable");
|
|
10
|
+
* while (!walker.isAtEnd) {
|
|
11
|
+
* // Process characters
|
|
12
|
+
* }
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
declare class StringWalker {
|
|
16
|
+
private _position;
|
|
17
|
+
private readonly text;
|
|
18
|
+
/**
|
|
19
|
+
* Creates a new StringWalker for the given text.
|
|
20
|
+
*
|
|
21
|
+
* @param text - The input text to walk through
|
|
22
|
+
*/
|
|
23
|
+
constructor(text: string);
|
|
24
|
+
get position(): number;
|
|
25
|
+
get currentChar(): string;
|
|
26
|
+
get nextChar(): string;
|
|
27
|
+
get previousChar(): string;
|
|
28
|
+
get isAtEnd(): boolean;
|
|
29
|
+
getString(startPosition: number): string;
|
|
30
|
+
getRemainingString(): string;
|
|
31
|
+
checkForSingleComment(): boolean;
|
|
32
|
+
checkForMultiLineComment(): boolean;
|
|
33
|
+
singleLineCommentStart(): boolean;
|
|
34
|
+
multiLineCommentStart(): boolean;
|
|
35
|
+
multiLineCommentEnd(): boolean;
|
|
36
|
+
newLine(): boolean;
|
|
37
|
+
escaped(char: string): boolean;
|
|
38
|
+
escapedBrace(): boolean;
|
|
39
|
+
openingBrace(): boolean;
|
|
40
|
+
closingBrace(): boolean;
|
|
41
|
+
checkForUnderScore(): boolean;
|
|
42
|
+
checkForLetter(): boolean;
|
|
43
|
+
checkForDigit(): boolean;
|
|
44
|
+
checkForQuote(): string | null;
|
|
45
|
+
checkForString(value: string): boolean;
|
|
46
|
+
checkForWhitespace(): boolean;
|
|
47
|
+
checkForFStringStart(): boolean;
|
|
48
|
+
moveNext(): void;
|
|
49
|
+
moveBy(steps: number): void;
|
|
50
|
+
movePrevious(): void;
|
|
51
|
+
is_word(word: string | null): boolean;
|
|
52
|
+
word_continuation(word: string): boolean;
|
|
53
|
+
}
|
|
54
|
+
export default StringWalker;
|
|
55
|
+
//# sourceMappingURL=string_walker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string_walker.d.ts","sourceRoot":"","sources":["../../src/tokenization/string_walker.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,cAAM,YAAY;IACd,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAE9B;;;;OAIG;gBACS,IAAI,EAAE,MAAM;IAKxB,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;IAEM,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAIxC,kBAAkB,IAAI,MAAM;IAI5B,qBAAqB,IAAI,OAAO;IAUhC,wBAAwB,IAAI,OAAO;IAcnC,sBAAsB,IAAI,OAAO;IAIjC,qBAAqB,IAAI,OAAO;IAIhC,mBAAmB,IAAI,OAAO;IAI9B,OAAO,IAAI,OAAO;IAOlB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI9B,YAAY,IAAI,OAAO;IAIvB,YAAY,IAAI,OAAO;IAIvB,YAAY,IAAI,OAAO;IAIvB,kBAAkB,IAAI,OAAO;IAQ7B,cAAc,IAAI,OAAO;IAQzB,aAAa,IAAI,OAAO;IAQxB,aAAa,IAAI,MAAM,GAAG,IAAI;IAS9B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAUtC,kBAAkB,IAAI,OAAO;IAI7B,oBAAoB,IAAI,OAAO;IAI/B,QAAQ,IAAI,IAAI;IAIhB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3B,YAAY,IAAI,IAAI;IAIpB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAOrC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAIlD;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
declare enum Symbol {
|
|
2
|
+
LEFT_PARENTHESIS = "(",
|
|
3
|
+
RIGHT_PARENTHESIS = ")",
|
|
4
|
+
COMMA = ",",
|
|
5
|
+
DOT = ".",
|
|
6
|
+
COLON = ":",
|
|
7
|
+
WHITESPACE = "",
|
|
8
|
+
OPENING_BRACE = "{",
|
|
9
|
+
CLOSING_BRACE = "}",
|
|
10
|
+
OPENING_BRACKET = "[",
|
|
11
|
+
CLOSING_BRACKET = "]",
|
|
12
|
+
BACKTICK = "`"
|
|
13
|
+
}
|
|
14
|
+
export default Symbol;
|
|
15
|
+
//# sourceMappingURL=symbol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbol.d.ts","sourceRoot":"","sources":["../../src/tokenization/symbol.ts"],"names":[],"mappings":"AAAA,aAAK,MAAM;IACP,gBAAgB,MAAM;IACtB,iBAAiB,MAAM;IACvB,KAAK,MAAM;IACX,GAAG,MAAM;IACT,KAAK,MAAM;IACX,UAAU,KAAK;IACf,aAAa,MAAM;IACnB,aAAa,MAAM;IACnB,eAAe,MAAM;IACrB,eAAe,MAAM;IACrB,QAAQ,MAAM;CACjB;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import TokenType from "./token_type";
|
|
2
|
+
import ASTNode from "../parsing/ast_node";
|
|
3
|
+
/**
|
|
4
|
+
* Represents a single token in the FlowQuery language.
|
|
5
|
+
*
|
|
6
|
+
* Tokens are the atomic units of lexical analysis, produced by the tokenizer
|
|
7
|
+
* and consumed by the parser. Each token has a type (keyword, operator, identifier, etc.)
|
|
8
|
+
* and an optional value.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const withToken = Token.WITH;
|
|
13
|
+
* const identToken = Token.IDENTIFIER("myVar");
|
|
14
|
+
* const numToken = Token.NUMBER("42");
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
declare class Token {
|
|
18
|
+
private _position;
|
|
19
|
+
private _type;
|
|
20
|
+
private _value;
|
|
21
|
+
private _case_sensitive_value;
|
|
22
|
+
private _can_be_identifier;
|
|
23
|
+
/**
|
|
24
|
+
* Creates a new Token instance.
|
|
25
|
+
*
|
|
26
|
+
* @param type - The type of the token
|
|
27
|
+
* @param value - The optional value associated with the token
|
|
28
|
+
*/
|
|
29
|
+
constructor(type: TokenType, value?: string | null);
|
|
30
|
+
/**
|
|
31
|
+
* Checks if this token equals another token.
|
|
32
|
+
*
|
|
33
|
+
* @param other - The token to compare against
|
|
34
|
+
* @returns True if tokens are equal, false otherwise
|
|
35
|
+
*/
|
|
36
|
+
equals(other: Token): boolean;
|
|
37
|
+
set position(position: number);
|
|
38
|
+
get position(): number;
|
|
39
|
+
get type(): TokenType;
|
|
40
|
+
get value(): string | null;
|
|
41
|
+
set case_sensitive_value(value: string);
|
|
42
|
+
get can_be_identifier(): boolean;
|
|
43
|
+
get node(): ASTNode;
|
|
44
|
+
toString(): string;
|
|
45
|
+
static COMMENT(comment: string): Token;
|
|
46
|
+
isComment(): boolean;
|
|
47
|
+
static IDENTIFIER(value: string): Token;
|
|
48
|
+
isIdentifier(): boolean;
|
|
49
|
+
static STRING(value: string, quoteChar?: string): Token;
|
|
50
|
+
isString(): boolean;
|
|
51
|
+
static BACKTICK_STRING(value: string, quoteChar?: string): Token;
|
|
52
|
+
static F_STRING(value: string, quoteChar?: string): Token;
|
|
53
|
+
isFString(): boolean;
|
|
54
|
+
static NUMBER(value: string): Token;
|
|
55
|
+
isNumber(): boolean;
|
|
56
|
+
static get LEFT_PARENTHESIS(): Token;
|
|
57
|
+
isLeftParenthesis(): boolean;
|
|
58
|
+
static get RIGHT_PARENTHESIS(): Token;
|
|
59
|
+
isRightParenthesis(): boolean;
|
|
60
|
+
static get COMMA(): Token;
|
|
61
|
+
isComma(): boolean;
|
|
62
|
+
static get DOT(): Token;
|
|
63
|
+
isDot(): boolean;
|
|
64
|
+
static get COLON(): Token;
|
|
65
|
+
isColon(): boolean;
|
|
66
|
+
static get OPENING_BRACE(): Token;
|
|
67
|
+
isOpeningBrace(): boolean;
|
|
68
|
+
static get CLOSING_BRACE(): Token;
|
|
69
|
+
isClosingBrace(): boolean;
|
|
70
|
+
static get OPENING_BRACKET(): Token;
|
|
71
|
+
isOpeningBracket(): boolean;
|
|
72
|
+
static get CLOSING_BRACKET(): Token;
|
|
73
|
+
isClosingBracket(): boolean;
|
|
74
|
+
static get WHITESPACE(): Token;
|
|
75
|
+
isWhitespace(): boolean;
|
|
76
|
+
isOperator(): boolean;
|
|
77
|
+
isUnaryOperator(): boolean;
|
|
78
|
+
static get ADD(): Token;
|
|
79
|
+
isAdd(): boolean;
|
|
80
|
+
static get SUBTRACT(): Token;
|
|
81
|
+
isSubtract(): boolean;
|
|
82
|
+
isNegation(): boolean;
|
|
83
|
+
static get MULTIPLY(): Token;
|
|
84
|
+
isMultiply(): boolean;
|
|
85
|
+
static get DIVIDE(): Token;
|
|
86
|
+
isDivide(): boolean;
|
|
87
|
+
static get EXPONENT(): Token;
|
|
88
|
+
isExponent(): boolean;
|
|
89
|
+
static get MODULO(): Token;
|
|
90
|
+
isModulo(): boolean;
|
|
91
|
+
static get EQUALS(): Token;
|
|
92
|
+
isEquals(): boolean;
|
|
93
|
+
static get NOT_EQUALS(): Token;
|
|
94
|
+
isNotEquals(): boolean;
|
|
95
|
+
static get LESS_THAN(): Token;
|
|
96
|
+
isLessThan(): boolean;
|
|
97
|
+
static get LESS_THAN_OR_EQUAL(): Token;
|
|
98
|
+
isLessThanOrEqual(): boolean;
|
|
99
|
+
static get GREATER_THAN(): Token;
|
|
100
|
+
isGreaterThan(): boolean;
|
|
101
|
+
static get GREATER_THAN_OR_EQUAL(): Token;
|
|
102
|
+
isGreaterThanOrEqual(): boolean;
|
|
103
|
+
static get AND(): Token;
|
|
104
|
+
isAnd(): boolean;
|
|
105
|
+
static get OR(): Token;
|
|
106
|
+
isOr(): boolean;
|
|
107
|
+
static get NOT(): Token;
|
|
108
|
+
isNot(): boolean;
|
|
109
|
+
static get IS(): Token;
|
|
110
|
+
isIs(): boolean;
|
|
111
|
+
isKeyword(): boolean;
|
|
112
|
+
static get WITH(): Token;
|
|
113
|
+
isWith(): boolean;
|
|
114
|
+
static get RETURN(): Token;
|
|
115
|
+
isReturn(): boolean;
|
|
116
|
+
static get LOAD(): Token;
|
|
117
|
+
isLoad(): boolean;
|
|
118
|
+
static get JSON(): Token;
|
|
119
|
+
isJSON(): boolean;
|
|
120
|
+
static get CSV(): Token;
|
|
121
|
+
isCSV(): boolean;
|
|
122
|
+
static get TEXT(): Token;
|
|
123
|
+
isText(): boolean;
|
|
124
|
+
static get FROM(): Token;
|
|
125
|
+
isFrom(): boolean;
|
|
126
|
+
static get HEADERS(): Token;
|
|
127
|
+
isHeaders(): boolean;
|
|
128
|
+
static get POST(): Token;
|
|
129
|
+
isPost(): boolean;
|
|
130
|
+
static get UNWIND(): Token;
|
|
131
|
+
isUnwind(): boolean;
|
|
132
|
+
static get MATCH(): Token;
|
|
133
|
+
isMatch(): boolean;
|
|
134
|
+
static get AS(): Token;
|
|
135
|
+
isAs(): boolean;
|
|
136
|
+
static get WHERE(): Token;
|
|
137
|
+
isWhere(): boolean;
|
|
138
|
+
static get MERGE(): Token;
|
|
139
|
+
isMerge(): boolean;
|
|
140
|
+
static get CREATE(): Token;
|
|
141
|
+
isCreate(): boolean;
|
|
142
|
+
static get DELETE(): Token;
|
|
143
|
+
isDelete(): boolean;
|
|
144
|
+
static get SET(): Token;
|
|
145
|
+
isSet(): boolean;
|
|
146
|
+
static get REMOVE(): Token;
|
|
147
|
+
isRemove(): boolean;
|
|
148
|
+
static get CASE(): Token;
|
|
149
|
+
isCase(): boolean;
|
|
150
|
+
static get WHEN(): Token;
|
|
151
|
+
isWhen(): boolean;
|
|
152
|
+
static get THEN(): Token;
|
|
153
|
+
isThen(): boolean;
|
|
154
|
+
static get ELSE(): Token;
|
|
155
|
+
isElse(): boolean;
|
|
156
|
+
static get END(): Token;
|
|
157
|
+
isEnd(): boolean;
|
|
158
|
+
static get NULL(): Token;
|
|
159
|
+
isNull(): boolean;
|
|
160
|
+
static get IN(): Token;
|
|
161
|
+
isIn(): boolean;
|
|
162
|
+
static get PIPE(): Token;
|
|
163
|
+
isPipe(): boolean;
|
|
164
|
+
static get DISTINCT(): Token;
|
|
165
|
+
isDistinct(): boolean;
|
|
166
|
+
static get LIMIT(): Token;
|
|
167
|
+
isLimit(): boolean;
|
|
168
|
+
static get EOF(): Token;
|
|
169
|
+
isEOF(): boolean;
|
|
170
|
+
isOperand(): boolean;
|
|
171
|
+
isWhitespaceOrComment(): boolean;
|
|
172
|
+
isSymbol(): boolean;
|
|
173
|
+
static method(name: string): Token | undefined;
|
|
174
|
+
}
|
|
175
|
+
export default Token;
|
|
176
|
+
//# sourceMappingURL=token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/tokenization/token.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import Token from "./token";
|
|
2
|
+
/**
|
|
3
|
+
* Maps string values to tokens using a Trie for efficient lookup.
|
|
4
|
+
*
|
|
5
|
+
* Takes an enum of keywords, operators, or symbols and builds a trie
|
|
6
|
+
* for fast token matching during tokenization.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const mapper = new TokenMapper(Keyword);
|
|
11
|
+
* const token = mapper.map("WITH");
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
declare class TokenMapper {
|
|
15
|
+
private _enum;
|
|
16
|
+
private _trie;
|
|
17
|
+
/**
|
|
18
|
+
* Creates a TokenMapper from an enum of token values.
|
|
19
|
+
*
|
|
20
|
+
* @param _enum - An enum object containing token values
|
|
21
|
+
*/
|
|
22
|
+
constructor(_enum: {
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* Maps a string value to its corresponding token.
|
|
27
|
+
*
|
|
28
|
+
* @param value - The string value to map
|
|
29
|
+
* @returns The matched token, or undefined if no match found
|
|
30
|
+
*/
|
|
31
|
+
map(value: string): Token | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Gets the last matched string from the most recent map operation.
|
|
34
|
+
*
|
|
35
|
+
* @returns The last found string, or null if no match
|
|
36
|
+
*/
|
|
37
|
+
get last_found(): string | null;
|
|
38
|
+
}
|
|
39
|
+
export default TokenMapper;
|
|
40
|
+
//# sourceMappingURL=token_mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token_mapper.d.ts","sourceRoot":"","sources":["../../src/tokenization/token_mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAG5B;;;;;;;;;;;GAWG;AACH,cAAM,WAAW;IAQD,OAAO,CAAC,KAAK;IAPzB,OAAO,CAAC,KAAK,CAAoB;IAEjC;;;;OAIG;gBACiB,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IASjD;;;;;OAKG;IACI,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAI5C;;;;OAIG;IACH,IAAW,UAAU,IAAI,MAAM,GAAG,IAAI,CAErC;CACJ;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare enum TokenType {
|
|
2
|
+
KEYWORD = "KEYWORD",
|
|
3
|
+
OPERATOR = "OPERATOR",
|
|
4
|
+
UNARY_OPERATOR = "UNARY_OPERATOR",
|
|
5
|
+
IDENTIFIER = "IDENTIFIER",
|
|
6
|
+
STRING = "STRING",
|
|
7
|
+
F_STRING = "F-STRING",
|
|
8
|
+
BACKTICK_STRING = "BACKTICK_STRING",
|
|
9
|
+
NUMBER = "NUMBER",
|
|
10
|
+
SYMBOL = "SYMBOL",
|
|
11
|
+
WHITESPACE = "WHITESPACE",
|
|
12
|
+
COMMENT = "COMMENT",
|
|
13
|
+
EOF = "EOF"
|
|
14
|
+
}
|
|
15
|
+
export default TokenType;
|
|
16
|
+
//# sourceMappingURL=token_type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token_type.d.ts","sourceRoot":"","sources":["../../src/tokenization/token_type.ts"],"names":[],"mappings":"AAAA,aAAK,SAAS;IACV,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,GAAG,QAAQ;CACd;AACD,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import Token from './token';
|
|
2
|
+
/**
|
|
3
|
+
* Tokenizes FlowQuery input strings into a sequence of tokens.
|
|
4
|
+
*
|
|
5
|
+
* The tokenizer performs lexical analysis, breaking down the input text into
|
|
6
|
+
* meaningful tokens such as keywords, identifiers, operators, strings, numbers,
|
|
7
|
+
* and symbols. It handles comments, whitespace, and f-strings.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const tokenizer = new Tokenizer("WITH x = 1 RETURN x");
|
|
12
|
+
* const tokens = tokenizer.tokenize();
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
declare class Tokenizer {
|
|
16
|
+
private walker;
|
|
17
|
+
private keywords;
|
|
18
|
+
private symbols;
|
|
19
|
+
private operators;
|
|
20
|
+
/**
|
|
21
|
+
* Creates a new Tokenizer instance for the given input.
|
|
22
|
+
*
|
|
23
|
+
* @param input - The FlowQuery input string to tokenize
|
|
24
|
+
*/
|
|
25
|
+
constructor(input: string);
|
|
26
|
+
/**
|
|
27
|
+
* Tokenizes the input string into an array of tokens.
|
|
28
|
+
*
|
|
29
|
+
* @returns An array of Token objects representing the tokenized input
|
|
30
|
+
* @throws {Error} If an unrecognized token is encountered
|
|
31
|
+
*/
|
|
32
|
+
tokenize(): Token[];
|
|
33
|
+
private getLastNonWhitespaceOrNonCommentToken;
|
|
34
|
+
private getNextToken;
|
|
35
|
+
comment(): Token | null;
|
|
36
|
+
private identifier;
|
|
37
|
+
private string;
|
|
38
|
+
private f_string;
|
|
39
|
+
private whitespace;
|
|
40
|
+
private number;
|
|
41
|
+
private lookup;
|
|
42
|
+
private skipMinus;
|
|
43
|
+
}
|
|
44
|
+
export default Tokenizer;
|
|
45
|
+
//# sourceMappingURL=tokenizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../src/tokenization/tokenizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,SAAS,CAAC;AAO5B;;;;;;;;;;;;GAYG;AACH,cAAM,SAAS;IACX,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,SAAS,CAA0C;IAE3D;;;;OAIG;gBACS,KAAK,EAAE,MAAM;IAIzB;;;;;OAKG;IACI,QAAQ,IAAI,KAAK,EAAE;IAgB1B,OAAO,CAAC,qCAAqC;IAU7C,OAAO,CAAC,YAAY;IAgBb,OAAO,IAAI,KAAK,GAAG,IAAI;IAS9B,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,MAAM;IAwBd,OAAO,CAAE,QAAQ;IA6CjB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,MAAM;IAiBd,OAAO,CAAC,MAAM;IAkBd,OAAO,CAAC,SAAS;CASpB;AAED,eAAe,SAAS,CAAC"}
|