flowquery 1.0.15 → 1.0.17
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/.github/workflows/python-publish.yml +97 -0
- package/dist/compute/runner.d.ts +3 -2
- package/dist/compute/runner.d.ts.map +1 -1
- package/dist/compute/runner.js +7 -7
- package/dist/compute/runner.js.map +1 -1
- package/dist/flowquery.min.js +1 -1
- package/dist/graph/data.d.ts +31 -0
- package/dist/graph/data.d.ts.map +1 -0
- package/dist/graph/data.js +110 -0
- package/dist/graph/data.js.map +1 -0
- package/dist/graph/database.d.ts +20 -0
- package/dist/graph/database.d.ts.map +1 -0
- package/dist/graph/database.js +77 -0
- package/dist/graph/database.js.map +1 -0
- package/dist/graph/hops.d.ts +11 -0
- package/dist/graph/hops.d.ts.map +1 -0
- package/dist/graph/hops.js +25 -0
- package/dist/graph/hops.js.map +1 -0
- package/dist/graph/node.d.ts +35 -0
- package/dist/graph/node.d.ts.map +1 -0
- package/dist/graph/node.js +113 -0
- package/dist/graph/node.js.map +1 -0
- package/dist/graph/node_data.d.ts +11 -0
- package/dist/graph/node_data.d.ts.map +1 -0
- package/dist/graph/node_data.js +20 -0
- package/dist/graph/node_data.js.map +1 -0
- package/dist/graph/node_reference.d.ts +10 -0
- package/dist/graph/node_reference.d.ts.map +1 -0
- package/dist/graph/node_reference.js +52 -0
- package/dist/graph/node_reference.js.map +1 -0
- package/dist/graph/pattern.d.ts +18 -0
- package/dist/graph/pattern.d.ts.map +1 -0
- package/dist/graph/pattern.js +114 -0
- package/dist/graph/pattern.js.map +1 -0
- package/dist/graph/pattern_expression.d.ts +14 -0
- package/dist/graph/pattern_expression.d.ts.map +1 -0
- package/dist/graph/pattern_expression.js +58 -0
- package/dist/graph/pattern_expression.js.map +1 -0
- package/dist/graph/patterns.d.ts +11 -0
- package/dist/graph/patterns.d.ts.map +1 -0
- package/dist/graph/patterns.js +49 -0
- package/dist/graph/patterns.js.map +1 -0
- package/dist/graph/physical_node.d.ts +10 -0
- package/dist/graph/physical_node.d.ts.map +1 -0
- package/dist/graph/physical_node.js +40 -0
- package/dist/graph/physical_node.js.map +1 -0
- package/dist/graph/physical_relationship.d.ts +10 -0
- package/dist/graph/physical_relationship.d.ts.map +1 -0
- package/dist/graph/physical_relationship.js +40 -0
- package/dist/graph/physical_relationship.js.map +1 -0
- package/dist/graph/relationship.d.ts +40 -0
- package/dist/graph/relationship.d.ts.map +1 -0
- package/dist/graph/relationship.js +124 -0
- package/dist/graph/relationship.js.map +1 -0
- package/dist/graph/relationship_data.d.ts +12 -0
- package/dist/graph/relationship_data.d.ts.map +1 -0
- package/dist/graph/relationship_data.js +40 -0
- package/dist/graph/relationship_data.js.map +1 -0
- package/dist/graph/relationship_match_collector.d.ts +19 -0
- package/dist/graph/relationship_match_collector.d.ts.map +1 -0
- package/dist/graph/relationship_match_collector.js +55 -0
- package/dist/graph/relationship_match_collector.js.map +1 -0
- package/dist/graph/relationship_reference.d.ts +8 -0
- package/dist/graph/relationship_reference.d.ts.map +1 -0
- package/dist/graph/relationship_reference.js +37 -0
- package/dist/graph/relationship_reference.js.map +1 -0
- package/dist/parsing/base_parser.d.ts +1 -0
- package/dist/parsing/base_parser.d.ts.map +1 -1
- package/dist/parsing/base_parser.js +4 -1
- package/dist/parsing/base_parser.js.map +1 -1
- package/dist/parsing/context.d.ts +2 -2
- package/dist/parsing/context.js +5 -5
- package/dist/parsing/expressions/boolean.d.ts +8 -0
- package/dist/parsing/expressions/boolean.d.ts.map +1 -0
- package/dist/parsing/expressions/boolean.js +26 -0
- package/dist/parsing/expressions/boolean.js.map +1 -0
- package/dist/parsing/expressions/expression.d.ts +4 -1
- package/dist/parsing/expressions/expression.d.ts.map +1 -1
- package/dist/parsing/expressions/expression.js +15 -8
- package/dist/parsing/expressions/expression.js.map +1 -1
- package/dist/parsing/expressions/expression_map.d.ts +1 -0
- package/dist/parsing/expressions/expression_map.d.ts.map +1 -1
- package/dist/parsing/expressions/expression_map.js +3 -0
- package/dist/parsing/expressions/expression_map.js.map +1 -1
- package/dist/parsing/expressions/operator.d.ts +1 -1
- package/dist/parsing/expressions/operator.d.ts.map +1 -1
- package/dist/parsing/expressions/operator.js.map +1 -1
- package/dist/parsing/functions/function_factory.d.ts +13 -13
- package/dist/parsing/functions/function_factory.d.ts.map +1 -1
- package/dist/parsing/functions/function_factory.js +20 -18
- package/dist/parsing/functions/function_factory.js.map +1 -1
- package/dist/parsing/operations/call.d.ts.map +1 -1
- package/dist/parsing/operations/call.js +3 -1
- package/dist/parsing/operations/call.js.map +1 -1
- package/dist/parsing/operations/create_node.d.ts +14 -0
- package/dist/parsing/operations/create_node.d.ts.map +1 -0
- package/dist/parsing/operations/create_node.js +51 -0
- package/dist/parsing/operations/create_node.js.map +1 -0
- package/dist/parsing/operations/create_relationship.d.ts +14 -0
- package/dist/parsing/operations/create_relationship.d.ts.map +1 -0
- package/dist/parsing/operations/create_relationship.js +51 -0
- package/dist/parsing/operations/create_relationship.js.map +1 -0
- package/dist/parsing/operations/match.d.ts +15 -0
- package/dist/parsing/operations/match.d.ts.map +1 -0
- package/dist/parsing/operations/match.js +45 -0
- package/dist/parsing/operations/match.js.map +1 -0
- package/dist/parsing/operations/operation.d.ts +1 -0
- package/dist/parsing/operations/operation.d.ts.map +1 -1
- package/dist/parsing/operations/operation.js +6 -0
- package/dist/parsing/operations/operation.js.map +1 -1
- package/dist/parsing/operations/return.d.ts +1 -0
- package/dist/parsing/operations/return.d.ts.map +1 -1
- package/dist/parsing/operations/return.js +7 -1
- package/dist/parsing/operations/return.js.map +1 -1
- package/dist/parsing/operations/where.d.ts +1 -1
- package/dist/parsing/operations/where.d.ts.map +1 -1
- package/dist/parsing/operations/where.js +4 -0
- package/dist/parsing/operations/where.js.map +1 -1
- package/dist/parsing/parser.d.ts +10 -0
- package/dist/parsing/parser.d.ts.map +1 -1
- package/dist/parsing/parser.js +344 -5
- package/dist/parsing/parser.js.map +1 -1
- package/dist/parsing/token_to_node.d.ts.map +1 -1
- package/dist/parsing/token_to_node.js +7 -0
- package/dist/parsing/token_to_node.js.map +1 -1
- package/dist/tokenization/keyword.d.ts +1 -0
- package/dist/tokenization/keyword.d.ts.map +1 -1
- package/dist/tokenization/keyword.js +1 -0
- package/dist/tokenization/keyword.js.map +1 -1
- package/dist/tokenization/token.d.ts +4 -0
- package/dist/tokenization/token.d.ts.map +1 -1
- package/dist/tokenization/token.js +14 -1
- package/dist/tokenization/token.js.map +1 -1
- package/dist/tokenization/token_type.d.ts +1 -0
- package/dist/tokenization/token_type.d.ts.map +1 -1
- package/dist/tokenization/token_type.js +1 -0
- package/dist/tokenization/token_type.js.map +1 -1
- package/dist/tokenization/tokenizer.d.ts +2 -1
- package/dist/tokenization/tokenizer.d.ts.map +1 -1
- package/dist/tokenization/tokenizer.js +25 -12
- package/dist/tokenization/tokenizer.js.map +1 -1
- package/docs/flowquery.min.js +1 -1
- package/flowquery-py/README.md +166 -0
- package/flowquery-py/pyproject.toml +75 -0
- package/flowquery-py/setup_env.ps1 +92 -0
- package/flowquery-py/setup_env.sh +87 -0
- package/flowquery-py/src/__init__.py +34 -0
- package/flowquery-py/src/__main__.py +10 -0
- package/flowquery-py/src/compute/__init__.py +5 -0
- package/flowquery-py/src/compute/runner.py +60 -0
- package/flowquery-py/src/extensibility.py +52 -0
- package/flowquery-py/src/graph/__init__.py +31 -0
- package/flowquery-py/src/graph/data.py +118 -0
- package/flowquery-py/src/graph/database.py +82 -0
- package/flowquery-py/src/graph/hops.py +43 -0
- package/flowquery-py/src/graph/node.py +112 -0
- package/flowquery-py/src/graph/node_data.py +26 -0
- package/flowquery-py/src/graph/node_reference.py +49 -0
- package/flowquery-py/src/graph/pattern.py +125 -0
- package/flowquery-py/src/graph/pattern_expression.py +62 -0
- package/flowquery-py/src/graph/patterns.py +42 -0
- package/flowquery-py/src/graph/physical_node.py +40 -0
- package/flowquery-py/src/graph/physical_relationship.py +36 -0
- package/flowquery-py/src/graph/relationship.py +135 -0
- package/flowquery-py/src/graph/relationship_data.py +33 -0
- package/flowquery-py/src/graph/relationship_match_collector.py +77 -0
- package/flowquery-py/src/graph/relationship_reference.py +21 -0
- package/flowquery-py/src/io/__init__.py +5 -0
- package/flowquery-py/src/io/command_line.py +67 -0
- package/flowquery-py/src/parsing/__init__.py +17 -0
- package/flowquery-py/src/parsing/alias.py +20 -0
- package/flowquery-py/src/parsing/alias_option.py +11 -0
- package/flowquery-py/src/parsing/ast_node.py +146 -0
- package/flowquery-py/src/parsing/base_parser.py +84 -0
- package/flowquery-py/src/parsing/components/__init__.py +19 -0
- package/flowquery-py/src/parsing/components/csv.py +8 -0
- package/flowquery-py/src/parsing/components/from_.py +10 -0
- package/flowquery-py/src/parsing/components/headers.py +12 -0
- package/flowquery-py/src/parsing/components/json.py +8 -0
- package/flowquery-py/src/parsing/components/null.py +10 -0
- package/flowquery-py/src/parsing/components/post.py +8 -0
- package/flowquery-py/src/parsing/components/text.py +8 -0
- package/flowquery-py/src/parsing/context.py +50 -0
- package/flowquery-py/src/parsing/data_structures/__init__.py +15 -0
- package/flowquery-py/src/parsing/data_structures/associative_array.py +41 -0
- package/flowquery-py/src/parsing/data_structures/json_array.py +30 -0
- package/flowquery-py/src/parsing/data_structures/key_value_pair.py +38 -0
- package/flowquery-py/src/parsing/data_structures/lookup.py +49 -0
- package/flowquery-py/src/parsing/data_structures/range_lookup.py +42 -0
- package/flowquery-py/src/parsing/expressions/__init__.py +57 -0
- package/flowquery-py/src/parsing/expressions/boolean.py +20 -0
- package/flowquery-py/src/parsing/expressions/expression.py +138 -0
- package/flowquery-py/src/parsing/expressions/expression_map.py +26 -0
- package/flowquery-py/src/parsing/expressions/f_string.py +27 -0
- package/flowquery-py/src/parsing/expressions/identifier.py +20 -0
- package/flowquery-py/src/parsing/expressions/number.py +32 -0
- package/flowquery-py/src/parsing/expressions/operator.py +169 -0
- package/flowquery-py/src/parsing/expressions/reference.py +47 -0
- package/flowquery-py/src/parsing/expressions/string.py +27 -0
- package/flowquery-py/src/parsing/functions/__init__.py +75 -0
- package/flowquery-py/src/parsing/functions/aggregate_function.py +60 -0
- package/flowquery-py/src/parsing/functions/async_function.py +62 -0
- package/flowquery-py/src/parsing/functions/avg.py +55 -0
- package/flowquery-py/src/parsing/functions/collect.py +75 -0
- package/flowquery-py/src/parsing/functions/function.py +68 -0
- package/flowquery-py/src/parsing/functions/function_factory.py +173 -0
- package/flowquery-py/src/parsing/functions/function_metadata.py +149 -0
- package/flowquery-py/src/parsing/functions/functions.py +59 -0
- package/flowquery-py/src/parsing/functions/join.py +47 -0
- package/flowquery-py/src/parsing/functions/keys.py +34 -0
- package/flowquery-py/src/parsing/functions/predicate_function.py +46 -0
- package/flowquery-py/src/parsing/functions/predicate_sum.py +47 -0
- package/flowquery-py/src/parsing/functions/rand.py +28 -0
- package/flowquery-py/src/parsing/functions/range_.py +34 -0
- package/flowquery-py/src/parsing/functions/reducer_element.py +15 -0
- package/flowquery-py/src/parsing/functions/replace.py +37 -0
- package/flowquery-py/src/parsing/functions/round_.py +32 -0
- package/flowquery-py/src/parsing/functions/size.py +32 -0
- package/flowquery-py/src/parsing/functions/split.py +47 -0
- package/flowquery-py/src/parsing/functions/stringify.py +47 -0
- package/flowquery-py/src/parsing/functions/sum.py +51 -0
- package/flowquery-py/src/parsing/functions/to_json.py +33 -0
- package/flowquery-py/src/parsing/functions/type_.py +47 -0
- package/flowquery-py/src/parsing/functions/value_holder.py +24 -0
- package/flowquery-py/src/parsing/logic/__init__.py +15 -0
- package/flowquery-py/src/parsing/logic/case.py +29 -0
- package/flowquery-py/src/parsing/logic/else_.py +12 -0
- package/flowquery-py/src/parsing/logic/end.py +8 -0
- package/flowquery-py/src/parsing/logic/then.py +12 -0
- package/flowquery-py/src/parsing/logic/when.py +10 -0
- package/flowquery-py/src/parsing/operations/__init__.py +35 -0
- package/flowquery-py/src/parsing/operations/aggregated_return.py +24 -0
- package/flowquery-py/src/parsing/operations/aggregated_with.py +22 -0
- package/flowquery-py/src/parsing/operations/call.py +74 -0
- package/flowquery-py/src/parsing/operations/create_node.py +34 -0
- package/flowquery-py/src/parsing/operations/create_relationship.py +34 -0
- package/flowquery-py/src/parsing/operations/group_by.py +130 -0
- package/flowquery-py/src/parsing/operations/limit.py +22 -0
- package/flowquery-py/src/parsing/operations/load.py +140 -0
- package/flowquery-py/src/parsing/operations/match.py +29 -0
- package/flowquery-py/src/parsing/operations/operation.py +69 -0
- package/flowquery-py/src/parsing/operations/projection.py +21 -0
- package/flowquery-py/src/parsing/operations/return_op.py +50 -0
- package/flowquery-py/src/parsing/operations/unwind.py +37 -0
- package/flowquery-py/src/parsing/operations/where.py +41 -0
- package/flowquery-py/src/parsing/operations/with_op.py +18 -0
- package/flowquery-py/src/parsing/parser.py +1011 -0
- package/flowquery-py/src/parsing/token_to_node.py +109 -0
- package/flowquery-py/src/tokenization/__init__.py +23 -0
- package/flowquery-py/src/tokenization/keyword.py +48 -0
- package/flowquery-py/src/tokenization/operator.py +29 -0
- package/flowquery-py/src/tokenization/string_walker.py +158 -0
- package/flowquery-py/src/tokenization/symbol.py +19 -0
- package/flowquery-py/src/tokenization/token.py +659 -0
- package/flowquery-py/src/tokenization/token_mapper.py +52 -0
- package/flowquery-py/src/tokenization/token_type.py +21 -0
- package/flowquery-py/src/tokenization/tokenizer.py +214 -0
- package/flowquery-py/src/tokenization/trie.py +124 -0
- package/flowquery-py/src/utils/__init__.py +6 -0
- package/flowquery-py/src/utils/object_utils.py +20 -0
- package/flowquery-py/src/utils/string_utils.py +113 -0
- package/flowquery-py/tests/__init__.py +1 -0
- package/flowquery-py/tests/compute/__init__.py +1 -0
- package/flowquery-py/tests/compute/test_runner.py +1335 -0
- package/flowquery-py/tests/graph/__init__.py +1 -0
- package/flowquery-py/tests/graph/test_create.py +56 -0
- package/flowquery-py/tests/graph/test_data.py +73 -0
- package/flowquery-py/tests/graph/test_match.py +40 -0
- package/flowquery-py/tests/parsing/__init__.py +1 -0
- package/flowquery-py/tests/parsing/test_context.py +34 -0
- package/flowquery-py/tests/parsing/test_expression.py +49 -0
- package/flowquery-py/tests/parsing/test_parser.py +674 -0
- package/flowquery-py/tests/test_extensibility.py +611 -0
- package/flowquery-py/tests/tokenization/__init__.py +1 -0
- package/flowquery-py/tests/tokenization/test_token_mapper.py +60 -0
- package/flowquery-py/tests/tokenization/test_tokenizer.py +164 -0
- package/flowquery-py/tests/tokenization/test_trie.py +30 -0
- package/flowquery-vscode/flowQueryEngine/flowquery.min.js +1 -1
- package/misc/apps/RAG/package.json +1 -1
- package/misc/apps/RAG/src/components/AdaptiveCardRenderer.tsx +76 -8
- package/misc/apps/RAG/src/components/index.ts +19 -10
- package/misc/apps/RAG/src/plugins/loaders/CatFacts.ts +21 -26
- package/misc/apps/RAG/src/plugins/loaders/FetchJson.ts +24 -25
- package/misc/apps/RAG/src/plugins/loaders/Form.ts +163 -147
- package/misc/apps/RAG/src/plugins/loaders/Llm.ts +103 -90
- package/misc/apps/RAG/src/plugins/loaders/MockData.ts +80 -130
- package/misc/apps/RAG/src/plugins/loaders/Table.ts +104 -101
- package/misc/apps/RAG/src/plugins/loaders/Weather.ts +47 -36
- package/misc/apps/RAG/src/prompts/FlowQuerySystemPrompt.ts +89 -78
- package/package.json +1 -1
- package/src/compute/runner.ts +24 -19
- package/src/graph/data.ts +112 -0
- package/src/graph/database.ts +63 -0
- package/src/graph/hops.ts +22 -0
- package/src/graph/node.ts +99 -0
- package/src/graph/node_data.ts +18 -0
- package/src/graph/node_reference.ts +33 -0
- package/src/graph/pattern.ts +101 -0
- package/src/graph/pattern_expression.ts +37 -0
- package/src/graph/patterns.ts +36 -0
- package/src/graph/physical_node.ts +23 -0
- package/src/graph/physical_relationship.ts +23 -0
- package/src/graph/relationship.ts +116 -0
- package/src/graph/relationship_data.ts +27 -0
- package/src/graph/relationship_match_collector.ts +58 -0
- package/src/graph/relationship_reference.ts +24 -0
- package/src/parsing/base_parser.ts +20 -14
- package/src/parsing/context.ts +14 -14
- package/src/parsing/expressions/boolean.ts +21 -0
- package/src/parsing/expressions/expression.ts +34 -26
- package/src/parsing/expressions/expression_map.ts +3 -0
- package/src/parsing/expressions/operator.ts +19 -1
- package/src/parsing/functions/function_factory.ts +45 -45
- package/src/parsing/operations/call.ts +3 -1
- package/src/parsing/operations/create_node.ts +39 -0
- package/src/parsing/operations/create_relationship.ts +38 -0
- package/src/parsing/operations/match.ts +31 -0
- package/src/parsing/operations/operation.ts +3 -0
- package/src/parsing/operations/return.ts +11 -7
- package/src/parsing/operations/where.ts +10 -6
- package/src/parsing/parser.ts +346 -8
- package/src/parsing/token_to_node.ts +6 -0
- package/src/tokenization/keyword.ts +41 -40
- package/src/tokenization/token.ts +21 -1
- package/src/tokenization/token_type.ts +2 -1
- package/src/tokenization/tokenizer.ts +52 -31
- package/tests/compute/runner.test.ts +660 -6
- package/tests/extensibility.test.ts +97 -93
- package/tests/graph/create.test.ts +36 -0
- package/tests/graph/data.test.ts +58 -0
- package/tests/graph/match.test.ts +29 -0
- package/tests/parsing/parser.test.ts +276 -8
- package/tests/tokenization/tokenizer.test.ts +107 -17
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import Relationship from "./relationship";
|
|
2
|
+
export type RelationshipMatchRecord = {
|
|
3
|
+
type: string;
|
|
4
|
+
startNode: Record<string, any>;
|
|
5
|
+
endNode: Record<string, any> | null;
|
|
6
|
+
properties: Record<string, any>;
|
|
7
|
+
};
|
|
8
|
+
declare class RelationshipMatchCollector {
|
|
9
|
+
private _matches;
|
|
10
|
+
private _nodeIds;
|
|
11
|
+
push(relationship: Relationship): RelationshipMatchRecord;
|
|
12
|
+
set endNode(node: any);
|
|
13
|
+
pop(): RelationshipMatchRecord | undefined;
|
|
14
|
+
value(): RelationshipMatchRecord | RelationshipMatchRecord[] | null;
|
|
15
|
+
get matches(): RelationshipMatchRecord[];
|
|
16
|
+
isCircular(): boolean;
|
|
17
|
+
}
|
|
18
|
+
export default RelationshipMatchCollector;
|
|
19
|
+
//# sourceMappingURL=relationship_match_collector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationship_match_collector.d.ts","sourceRoot":"","sources":["../../src/graph/relationship_match_collector.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,MAAM,MAAM,uBAAuB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACnC,CAAC;AAEF,cAAM,0BAA0B;IAC5B,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,QAAQ,CAAqB;IAE9B,IAAI,CAAC,YAAY,EAAE,YAAY,GAAG,uBAAuB;IAWhE,IAAW,OAAO,CAAC,IAAI,EAAE,GAAG,EAI3B;IACM,GAAG,IAAI,uBAAuB,GAAG,SAAS;IAI1C,KAAK,IAAI,uBAAuB,GAAG,uBAAuB,EAAE,GAAG,IAAI;IAW1E,IAAW,OAAO,IAAI,uBAAuB,EAAE,CAE9C;IAKM,UAAU,IAAI,OAAO;CAI/B;AAED,eAAe,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class RelationshipMatchCollector {
|
|
4
|
+
constructor() {
|
|
5
|
+
this._matches = [];
|
|
6
|
+
this._nodeIds = [];
|
|
7
|
+
}
|
|
8
|
+
push(relationship) {
|
|
9
|
+
var _a;
|
|
10
|
+
const match = {
|
|
11
|
+
type: relationship.type,
|
|
12
|
+
startNode: ((_a = relationship.source) === null || _a === void 0 ? void 0 : _a.value()) || {},
|
|
13
|
+
endNode: null,
|
|
14
|
+
properties: relationship.properties,
|
|
15
|
+
};
|
|
16
|
+
this._matches.push(match);
|
|
17
|
+
this._nodeIds.push(match.startNode.id);
|
|
18
|
+
return match;
|
|
19
|
+
}
|
|
20
|
+
set endNode(node) {
|
|
21
|
+
if (this._matches.length > 0) {
|
|
22
|
+
this._matches[this._matches.length - 1].endNode = node.value();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
pop() {
|
|
26
|
+
this._nodeIds.pop();
|
|
27
|
+
return this._matches.pop();
|
|
28
|
+
}
|
|
29
|
+
value() {
|
|
30
|
+
if (this._matches.length === 0) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
else if (this._matches.length === 1) {
|
|
34
|
+
const _match = this._matches[0];
|
|
35
|
+
return _match;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
const _matches = this._matches;
|
|
39
|
+
return _matches;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
get matches() {
|
|
43
|
+
return this._matches;
|
|
44
|
+
}
|
|
45
|
+
/*
|
|
46
|
+
** Checks if the collected relationships form a circular pattern
|
|
47
|
+
** meaning the same node id occur more than 2 times in the collected matches
|
|
48
|
+
*/
|
|
49
|
+
isCircular() {
|
|
50
|
+
const seen = new Set(this._nodeIds);
|
|
51
|
+
return seen.size < this._nodeIds.length;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.default = RelationshipMatchCollector;
|
|
55
|
+
//# sourceMappingURL=relationship_match_collector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationship_match_collector.js","sourceRoot":"","sources":["../../src/graph/relationship_match_collector.ts"],"names":[],"mappings":";;AASA,MAAM,0BAA0B;IAAhC;QACY,aAAQ,GAA8B,EAAE,CAAC;QACzC,aAAQ,GAAkB,EAAE,CAAC;IA4CzC,CAAC;IA1CU,IAAI,CAAC,YAA0B;;QAClC,MAAM,KAAK,GAA4B;YACnC,IAAI,EAAE,YAAY,CAAC,IAAK;YACxB,SAAS,EAAE,CAAA,MAAA,YAAY,CAAC,MAAM,0CAAE,KAAK,EAAE,KAAI,EAAE;YAC7C,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,YAAY,CAAC,UAAU;SACtC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAW,OAAO,CAAC,IAAS;QACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACnE,CAAC;IACL,CAAC;IACM,GAAG;QACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAC/B,CAAC;IACM,KAAK;QACR,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO,MAAM,CAAC;QAClB,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,OAAO,QAAQ,CAAC;QACpB,CAAC;IACL,CAAC;IACD,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD;;;OAGG;IACI,UAAU;QACb,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC5C,CAAC;CACJ;AAED,kBAAe,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import Relationship from "./relationship";
|
|
2
|
+
declare class RelationshipReference extends Relationship {
|
|
3
|
+
private _reference;
|
|
4
|
+
constructor(base: Relationship, reference: Relationship);
|
|
5
|
+
find(left_id: string, hop?: number): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export default RelationshipReference;
|
|
8
|
+
//# sourceMappingURL=relationship_reference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationship_reference.d.ts","sourceRoot":"","sources":["../../src/graph/relationship_reference.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,cAAM,qBAAsB,SAAQ,YAAY;IAC5C,OAAO,CAAC,UAAU,CAA6B;gBACnC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY;IAS1C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAOrE;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const relationship_1 = __importDefault(require("./relationship"));
|
|
16
|
+
class RelationshipReference extends relationship_1.default {
|
|
17
|
+
constructor(base, reference) {
|
|
18
|
+
super();
|
|
19
|
+
this._reference = null;
|
|
20
|
+
this._identifier = base.identifier;
|
|
21
|
+
this._type = base.type;
|
|
22
|
+
this._hops = base.hops;
|
|
23
|
+
this._source = base.source;
|
|
24
|
+
this._target = base.target;
|
|
25
|
+
this._reference = reference;
|
|
26
|
+
}
|
|
27
|
+
find(left_id_1) {
|
|
28
|
+
return __awaiter(this, arguments, void 0, function* (left_id, hop = 0) {
|
|
29
|
+
var _a, _b;
|
|
30
|
+
this.setValue(this._reference);
|
|
31
|
+
const data = (_a = this._reference.getData()) === null || _a === void 0 ? void 0 : _a.current(hop);
|
|
32
|
+
yield ((_b = this._target) === null || _b === void 0 ? void 0 : _b.find(data.right_id, hop));
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.default = RelationshipReference;
|
|
37
|
+
//# sourceMappingURL=relationship_reference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationship_reference.js","sourceRoot":"","sources":["../../src/graph/relationship_reference.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kEAA0C;AAG1C,MAAM,qBAAsB,SAAQ,sBAAY;IAE5C,YAAY,IAAkB,EAAE,SAAuB;QACnD,KAAK,EAAE,CAAC;QAFJ,eAAU,GAAwB,IAAI,CAAC;QAG3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IACY,IAAI;6DAAC,OAAe,EAAE,MAAc,CAAC;;YAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;YAChC,MAAM,IAAI,GAAuB,MAAA,IAAI,CAAC,UAAW,CAAC,OAAO,EAAE,0CAAE,OAAO,CAChE,GAAG,CACgB,CAAC;YACxB,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA,CAAC;QACjD,CAAC;KAAA;CACJ;AAED,kBAAe,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_parser.d.ts","sourceRoot":"","sources":["../../src/parsing/base_parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAG1C;;;;;GAKG;AACH,cAAM,UAAU;IACZ,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,UAAU,CAAa;
|
|
1
|
+
{"version":3,"file":"base_parser.d.ts","sourceRoot":"","sources":["../../src/parsing/base_parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAG1C;;;;;GAKG;AACH,cAAM,UAAU;IACZ,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,UAAU,CAAa;gBAEnB,MAAM,GAAE,KAAK,EAAE,GAAG,IAAW;IAMzC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK3C;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAI9B;;;;OAIG;IACH,SAAS,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI;IAO9B;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,yBAAyB,GAAE,OAAc,GAAG,OAAO;IAiBpF;;;;OAIG;IACH,SAAS,KAAK,KAAK,IAAI,KAAK,CAK3B;IAED;;;;OAIG;IACH,SAAS,KAAK,aAAa,IAAI,KAAK,CAKnC;CACJ;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -12,9 +12,12 @@ const tokenizer_1 = __importDefault(require("../tokenization/tokenizer"));
|
|
|
12
12
|
* through tokens, peeking ahead, and checking token sequences.
|
|
13
13
|
*/
|
|
14
14
|
class BaseParser {
|
|
15
|
-
constructor() {
|
|
15
|
+
constructor(tokens = null) {
|
|
16
16
|
this.tokens = [];
|
|
17
17
|
this.tokenIndex = 0;
|
|
18
|
+
if (tokens !== null) {
|
|
19
|
+
this.tokens = tokens;
|
|
20
|
+
}
|
|
18
21
|
}
|
|
19
22
|
/**
|
|
20
23
|
* Tokenizes a statement and initializes the token array.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_parser.js","sourceRoot":"","sources":["../../src/parsing/base_parser.ts"],"names":[],"mappings":";;;;;AAAA,kEAA0C;AAC1C,0EAAkD;AAElD;;;;;GAKG;AACH,MAAM,UAAU;
|
|
1
|
+
{"version":3,"file":"base_parser.js","sourceRoot":"","sources":["../../src/parsing/base_parser.ts"],"names":[],"mappings":";;;;;AAAA,kEAA0C;AAC1C,0EAAkD;AAElD;;;;;GAKG;AACH,MAAM,UAAU;IAIZ,YAAY,SAAyB,IAAI;QAHjC,WAAM,GAAqB,EAAE,CAAC;QAC9B,eAAU,GAAW,CAAC,CAAC;QAG3B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC;IACL,CAAC;IAED;;;;OAIG;IACO,QAAQ,CAAC,SAAiB;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACO,YAAY;QAClB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACO,IAAI;QACV,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,MAAe,EAAE,4BAAqC,IAAI;QACtE,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD,IAAI,yBAAyB,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBACtE,SAAS;YACb,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,CAAC,EAAE,CAAC;YACJ,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM;YACV,CAAC;QACL,CAAC;QACD,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,IAAc,KAAK;QACf,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO,eAAK,CAAC,GAAG,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,IAAc,aAAa;QACvB,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,eAAK,CAAC,GAAG,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;CACJ;AAED,kBAAe,UAAU,CAAC"}
|
|
@@ -13,7 +13,7 @@ import ASTNode from "./ast_node";
|
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
15
|
declare class Context {
|
|
16
|
-
private
|
|
16
|
+
private nodes;
|
|
17
17
|
/**
|
|
18
18
|
* Pushes a node onto the context stack.
|
|
19
19
|
*
|
|
@@ -27,7 +27,7 @@ declare class Context {
|
|
|
27
27
|
*/
|
|
28
28
|
pop(): ASTNode | undefined;
|
|
29
29
|
/**
|
|
30
|
-
* Checks if the stack contains a node of the specified type.
|
|
30
|
+
* Checks if the nodes stack contains a node of the specified type.
|
|
31
31
|
*
|
|
32
32
|
* @param type - The constructor of the node type to search for
|
|
33
33
|
* @returns True if a node of the specified type is found in the stack, false otherwise
|
package/dist/parsing/context.js
CHANGED
|
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
*/
|
|
16
16
|
class Context {
|
|
17
17
|
constructor() {
|
|
18
|
-
this.
|
|
18
|
+
this.nodes = [];
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Pushes a node onto the context stack.
|
|
@@ -23,7 +23,7 @@ class Context {
|
|
|
23
23
|
* @param node - The AST node to push
|
|
24
24
|
*/
|
|
25
25
|
push(node) {
|
|
26
|
-
this.
|
|
26
|
+
this.nodes.push(node);
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Pops the top node from the context stack.
|
|
@@ -31,16 +31,16 @@ class Context {
|
|
|
31
31
|
* @returns The popped node, or undefined if the stack is empty
|
|
32
32
|
*/
|
|
33
33
|
pop() {
|
|
34
|
-
return this.
|
|
34
|
+
return this.nodes.pop();
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
|
-
* Checks if the stack contains a node of the specified type.
|
|
37
|
+
* Checks if the nodes stack contains a node of the specified type.
|
|
38
38
|
*
|
|
39
39
|
* @param type - The constructor of the node type to search for
|
|
40
40
|
* @returns True if a node of the specified type is found in the stack, false otherwise
|
|
41
41
|
*/
|
|
42
42
|
containsType(type) {
|
|
43
|
-
return this.
|
|
43
|
+
return this.nodes.some((v) => v instanceof type);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
exports.default = Context;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/boolean.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAElC,cAAM,OAAQ,SAAQ,OAAO;IACzB,OAAO,CAAC,MAAM,CAAU;gBACZ,KAAK,EAAE,MAAM;IAWlB,KAAK,IAAI,OAAO;CAG1B;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
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 ast_node_1 = __importDefault(require("../ast_node"));
|
|
7
|
+
class Boolean extends ast_node_1.default {
|
|
8
|
+
constructor(value) {
|
|
9
|
+
super();
|
|
10
|
+
const _value = value.toUpperCase();
|
|
11
|
+
if (_value === "TRUE") {
|
|
12
|
+
this._value = true;
|
|
13
|
+
}
|
|
14
|
+
else if (_value === "FALSE") {
|
|
15
|
+
this._value = false;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
throw new Error(`Invalid boolean value: ${value}`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
value() {
|
|
22
|
+
return this._value;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.default = Boolean;
|
|
26
|
+
//# sourceMappingURL=boolean.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../src/parsing/expressions/boolean.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC,MAAM,OAAQ,SAAQ,kBAAO;IAEzB,YAAY,KAAa;QACrB,KAAK,EAAE,CAAC;QACR,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACxB,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IACM,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAED,kBAAe,OAAO,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import PatternExpression from "../../graph/pattern_expression";
|
|
1
2
|
import ASTNode from "../ast_node";
|
|
2
3
|
import AggregateFunction from "../functions/aggregate_function";
|
|
3
4
|
/**
|
|
@@ -22,6 +23,7 @@ declare class Expression extends ASTNode {
|
|
|
22
23
|
private _alias;
|
|
23
24
|
private _overridden;
|
|
24
25
|
private _reducers;
|
|
26
|
+
private _patterns;
|
|
25
27
|
/**
|
|
26
28
|
* Adds a node (operand or operator) to the expression.
|
|
27
29
|
*
|
|
@@ -44,7 +46,8 @@ declare class Expression extends ASTNode {
|
|
|
44
46
|
get alias(): string | null;
|
|
45
47
|
toString(): string;
|
|
46
48
|
reducers(): AggregateFunction[];
|
|
47
|
-
|
|
49
|
+
patterns(): PatternExpression[];
|
|
50
|
+
private _extract;
|
|
48
51
|
mappable(): boolean;
|
|
49
52
|
has_reducers(): boolean;
|
|
50
53
|
set overridden(value: any);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/expression.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAGhE;;;;;;;;;;;;;;;GAeG;AACH,cAAM,UAAW,SAAQ,OAAO;IAC5B,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,SAAS,CAAoC;IAErD;;;;;;OAMG;IACI,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAsBnC;;;;OAIG;IACI,MAAM,IAAI,IAAI;IAQrB,OAAO,CAAC,MAAM;IAWP,UAAU,IAAI,OAAO;IAIrB,KAAK,IAAI,GAAG;IAUZ,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIpC,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED,IAAW,KAAK,IAAI,MAAM,GAAG,IAAI,CAKhC;IAEM,QAAQ,IAAI,MAAM;IAOlB,QAAQ,IAAI,iBAAiB,EAAE;IAMtC,OAAO,CAAE,
|
|
1
|
+
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/expression.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAGhE;;;;;;;;;;;;;;;GAeG;AACH,cAAM,UAAW,SAAQ,OAAO;IAC5B,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,SAAS,CAAoC;IAErD;;;;;;OAMG;IACI,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAsBnC;;;;OAIG;IACI,MAAM,IAAI,IAAI;IAQrB,OAAO,CAAC,MAAM;IAWP,UAAU,IAAI,OAAO;IAIrB,KAAK,IAAI,GAAG;IAUZ,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIpC,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED,IAAW,KAAK,IAAI,MAAM,GAAG,IAAI,CAKhC;IAEM,QAAQ,IAAI,MAAM;IAOlB,QAAQ,IAAI,iBAAiB,EAAE;IAM/B,QAAQ,IAAI,iBAAiB,EAAE;IAMtC,OAAO,CAAE,QAAQ;IAQV,QAAQ,IAAI,OAAO;IAGnB,YAAY,IAAI,OAAO;IAG9B,IAAW,UAAU,CAAC,KAAK,EAAE,GAAG,EAE/B;CACJ;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const pattern_expression_1 = __importDefault(require("../../graph/pattern_expression"));
|
|
6
7
|
const ast_node_1 = __importDefault(require("../ast_node"));
|
|
7
8
|
const aggregate_function_1 = __importDefault(require("../functions/aggregate_function"));
|
|
8
9
|
const reference_1 = __importDefault(require("./reference"));
|
|
@@ -30,6 +31,7 @@ class Expression extends ast_node_1.default {
|
|
|
30
31
|
this._alias = null;
|
|
31
32
|
this._overridden = null;
|
|
32
33
|
this._reducers = null;
|
|
34
|
+
this._patterns = null;
|
|
33
35
|
}
|
|
34
36
|
/**
|
|
35
37
|
* Adds a node (operand or operator) to the expression.
|
|
@@ -66,10 +68,9 @@ class Expression extends ast_node_1.default {
|
|
|
66
68
|
*/
|
|
67
69
|
finish() {
|
|
68
70
|
let last;
|
|
69
|
-
while (last = this.operators.pop()) {
|
|
71
|
+
while ((last = this.operators.pop())) {
|
|
70
72
|
this.output.push(last);
|
|
71
73
|
}
|
|
72
|
-
;
|
|
73
74
|
this.addChild(this.toTree());
|
|
74
75
|
}
|
|
75
76
|
toTree() {
|
|
@@ -90,7 +91,7 @@ class Expression extends ast_node_1.default {
|
|
|
90
91
|
return this._overridden;
|
|
91
92
|
}
|
|
92
93
|
if (this.childCount() !== 1) {
|
|
93
|
-
throw new Error(
|
|
94
|
+
throw new Error("Expected one child");
|
|
94
95
|
}
|
|
95
96
|
return this.children[0].value();
|
|
96
97
|
}
|
|
@@ -111,21 +112,27 @@ class Expression extends ast_node_1.default {
|
|
|
111
112
|
return `Expression (${this._alias})`;
|
|
112
113
|
}
|
|
113
114
|
else {
|
|
114
|
-
return
|
|
115
|
+
return "Expression";
|
|
115
116
|
}
|
|
116
117
|
}
|
|
117
118
|
reducers() {
|
|
118
119
|
if (this._reducers === null) {
|
|
119
|
-
this._reducers = [...this.
|
|
120
|
+
this._reducers = [...this._extract(this, aggregate_function_1.default)];
|
|
120
121
|
}
|
|
121
122
|
return this._reducers;
|
|
122
123
|
}
|
|
123
|
-
|
|
124
|
-
if (
|
|
124
|
+
patterns() {
|
|
125
|
+
if (this._patterns === null) {
|
|
126
|
+
this._patterns = [...this._extract(this, pattern_expression_1.default)];
|
|
127
|
+
}
|
|
128
|
+
return this._patterns;
|
|
129
|
+
}
|
|
130
|
+
*_extract(node = this, of_type) {
|
|
131
|
+
if (node instanceof of_type) {
|
|
125
132
|
yield node;
|
|
126
133
|
}
|
|
127
134
|
for (const child of node.getChildren()) {
|
|
128
|
-
yield* this.
|
|
135
|
+
yield* this._extract(child, of_type);
|
|
129
136
|
}
|
|
130
137
|
}
|
|
131
138
|
mappable() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../../src/parsing/expressions/expression.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAClC,yFAAgE;AAChE,4DAAoC;AAEpC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAW,SAAQ,kBAAO;IAAhC;;QACY,cAAS,GAAyB,EAAE,CAAC;QACrC,WAAM,GAAyB,EAAE,CAAC;QAClC,WAAM,GAAkB,IAAI,CAAC;QAC7B,gBAAW,GAAe,IAAI,CAAC;QAC/B,cAAS,GAA+B,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../../src/parsing/expressions/expression.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression_map.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/expression_map.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,cAAM,aAAa;IACf,OAAO,CAAC,IAAI,CAAsC;IAC3C,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"expression_map.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/expression_map.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,cAAM,aAAa;IACf,OAAO,CAAC,IAAI,CAAsC;IAC3C,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAG1C,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAGlC,IAAW,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,EAQvC;CACJ;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression_map.js","sourceRoot":"","sources":["../../../src/parsing/expressions/expression_map.ts"],"names":[],"mappings":";;AAEA,MAAM,aAAa;IAAnB;QACY,SAAI,GAA4B,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"expression_map.js","sourceRoot":"","sources":["../../../src/parsing/expressions/expression_map.ts"],"names":[],"mappings":";;AAEA,MAAM,aAAa;IAAnB;QACY,SAAI,GAA4B,IAAI,GAAG,EAAE,CAAC;IAgBtD,CAAC;IAfU,GAAG,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACM,GAAG,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,IAAW,GAAG,CAAC,WAAyB;QACpC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC1B,SAAS;YACb,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;CACJ;AAED,kBAAe,aAAa,CAAC"}
|
|
@@ -75,5 +75,5 @@ declare class Is extends Operator {
|
|
|
75
75
|
constructor();
|
|
76
76
|
value(): number;
|
|
77
77
|
}
|
|
78
|
-
export { Operator, Add, Subtract, Multiply, Divide, Modulo, Power, Equals, NotEquals, GreaterThan, LessThan, GreaterThanOrEqual, LessThanOrEqual, And, Or, Not, Is };
|
|
78
|
+
export { Operator, Add, Subtract, Multiply, Divide, Modulo, Power, Equals, NotEquals, GreaterThan, LessThan, GreaterThanOrEqual, LessThanOrEqual, And, Or, Not, Is, };
|
|
79
79
|
//# sourceMappingURL=operator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/operator.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAElC,uBAAe,QAAS,SAAQ,OAAO;IACnC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,gBAAgB,CAAiB;gBAE7B,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO;IAMjD,UAAU,IAAI,OAAO;IAI5B,IAAW,UAAU,IAAI,MAAM,CAE9B;IACD,IAAW,eAAe,IAAI,OAAO,CAEpC;aACe,KAAK,IAAI,MAAM;IAC/B,IAAW,GAAG,IAAI,OAAO,CAExB;IACD,IAAW,GAAG,IAAI,OAAO,CAExB;CACJ;AAED,cAAM,GAAI,SAAQ,QAAQ;;IAIf,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,QAAS,SAAQ,QAAQ;;IAIpB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,QAAS,SAAQ,QAAQ;;IAIpB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,MAAO,SAAQ,QAAQ;;IAIlB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,MAAO,SAAQ,QAAQ;;IAIlB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,KAAM,SAAQ,QAAQ;;IAIjB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,MAAO,SAAQ,QAAQ;;IAIlB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,SAAU,SAAQ,QAAQ;;IAIrB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,WAAY,SAAQ,QAAQ;;IAIvB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,QAAS,SAAQ,QAAQ;;IAIpB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,kBAAmB,SAAQ,QAAQ;;IAI9B,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,eAAgB,SAAQ,QAAQ;;IAI3B,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,GAAI,SAAQ,QAAQ;;IAIf,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,EAAG,SAAQ,QAAQ;;IAId,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,GAAI,SAAQ,QAAQ;;IAIf,UAAU,IAAI,OAAO;IAGrB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,EAAG,SAAQ,QAAQ;;IAId,KAAK,IAAI,MAAM;CAGzB;AAED,OAAO,
|
|
1
|
+
{"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/operator.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAElC,uBAAe,QAAS,SAAQ,OAAO;IACnC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,gBAAgB,CAAiB;gBAE7B,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO;IAMjD,UAAU,IAAI,OAAO;IAI5B,IAAW,UAAU,IAAI,MAAM,CAE9B;IACD,IAAW,eAAe,IAAI,OAAO,CAEpC;aACe,KAAK,IAAI,MAAM;IAC/B,IAAW,GAAG,IAAI,OAAO,CAExB;IACD,IAAW,GAAG,IAAI,OAAO,CAExB;CACJ;AAED,cAAM,GAAI,SAAQ,QAAQ;;IAIf,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,QAAS,SAAQ,QAAQ;;IAIpB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,QAAS,SAAQ,QAAQ;;IAIpB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,MAAO,SAAQ,QAAQ;;IAIlB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,MAAO,SAAQ,QAAQ;;IAIlB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,KAAM,SAAQ,QAAQ;;IAIjB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,MAAO,SAAQ,QAAQ;;IAIlB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,SAAU,SAAQ,QAAQ;;IAIrB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,WAAY,SAAQ,QAAQ;;IAIvB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,QAAS,SAAQ,QAAQ;;IAIpB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,kBAAmB,SAAQ,QAAQ;;IAI9B,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,eAAgB,SAAQ,QAAQ;;IAI3B,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,GAAI,SAAQ,QAAQ;;IAIf,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,EAAG,SAAQ,QAAQ;;IAId,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,GAAI,SAAQ,QAAQ;;IAIf,UAAU,IAAI,OAAO;IAGrB,KAAK,IAAI,MAAM;CAGzB;AAED,cAAM,EAAG,SAAQ,QAAQ;;IAId,KAAK,IAAI,MAAM;CAGzB;AAED,OAAO,EACH,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,GAAG,EACH,EAAE,EACF,GAAG,EACH,EAAE,GACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operator.js","sourceRoot":"","sources":["../../../src/parsing/expressions/operator.ts"],"names":[],"mappings":";;;;;;AAAA,2DAAkC;AAElC,MAAe,QAAS,SAAQ,kBAAO;IAInC,YAAY,UAAkB,EAAE,eAAwB;QACpD,KAAK,EAAE,CAAC;QAJJ,gBAAW,GAAW,CAAC,CAAC;QACxB,qBAAgB,GAAY,IAAI,CAAC;QAIrC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC5C,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IACD,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"operator.js","sourceRoot":"","sources":["../../../src/parsing/expressions/operator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
+
import AsyncFunction from "./async_function";
|
|
2
|
+
import "./avg";
|
|
3
|
+
import "./collect";
|
|
1
4
|
import Function from "./function";
|
|
5
|
+
import { AsyncDataProvider, FunctionMetadata } from "./function_metadata";
|
|
6
|
+
import "./functions";
|
|
7
|
+
import "./join";
|
|
8
|
+
import "./keys";
|
|
2
9
|
import PredicateFunction from "./predicate_function";
|
|
3
|
-
import "./
|
|
4
|
-
import "./collect";
|
|
5
|
-
import "./avg";
|
|
6
|
-
import "./range";
|
|
10
|
+
import "./predicate_sum";
|
|
7
11
|
import "./rand";
|
|
12
|
+
import "./range";
|
|
13
|
+
import "./replace";
|
|
8
14
|
import "./round";
|
|
15
|
+
import "./size";
|
|
9
16
|
import "./split";
|
|
10
|
-
import "./join";
|
|
11
|
-
import "./keys";
|
|
12
|
-
import "./to_json";
|
|
13
|
-
import "./replace";
|
|
14
17
|
import "./stringify";
|
|
15
|
-
import "./
|
|
16
|
-
import "./
|
|
17
|
-
import "./predicate_sum";
|
|
18
|
+
import "./sum";
|
|
19
|
+
import "./to_json";
|
|
18
20
|
import "./type";
|
|
19
|
-
import { FunctionMetadata, AsyncDataProvider } from "./function_metadata";
|
|
20
|
-
import AsyncFunction from "./async_function";
|
|
21
21
|
export { AsyncDataProvider };
|
|
22
22
|
/**
|
|
23
23
|
* Factory for creating function instances by name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function_factory.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"function_factory.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,OAAO,CAAC;AACf,OAAO,WAAW,CAAC;AACnB,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,aAAa,CAAC;AACrB,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAChB,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,iBAAiB,CAAC;AACzB,OAAO,QAAQ,CAAC;AAChB,OAAO,SAAS,CAAC;AACjB,OAAO,WAAW,CAAC;AACnB,OAAO,SAAS,CAAC;AACjB,OAAO,QAAQ,CAAC;AAChB,OAAO,SAAS,CAAC;AACjB,OAAO,aAAa,CAAC;AAErB,OAAO,OAAO,CAAC;AACf,OAAO,WAAW,CAAC;AACnB,OAAO,QAAQ,CAAC;AAGhB,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;;;;;;;;;GAYG;AACH,cAAM,eAAe;IACjB;;;;;OAKG;WACW,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI3E;;;;;OAKG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpD;;;;;OAKG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIrE;;;;;OAKG;WACW,aAAa,CAAC,OAAO,CAAC,EAAE;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACtB,GAAG,gBAAgB,EAAE;IAatB;;;;OAIG;WACW,iBAAiB,IAAI,MAAM,EAAE;IAI3C;;;;OAIG;WACW,MAAM,IAAI;QAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE;IAQ/E;;;;;OAKG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAY5C;;;;;;OAMG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;WAYhD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;CAQzD;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// Import built-in functions to ensure their @FunctionDef decorators run
|
|
4
|
-
require("./sum");
|
|
5
|
-
require("./collect");
|
|
6
3
|
require("./avg");
|
|
7
|
-
require("./
|
|
8
|
-
require("./
|
|
9
|
-
require("./
|
|
10
|
-
require("./split");
|
|
4
|
+
require("./collect");
|
|
5
|
+
const function_metadata_1 = require("./function_metadata");
|
|
6
|
+
require("./functions");
|
|
11
7
|
require("./join");
|
|
12
8
|
require("./keys");
|
|
13
|
-
require("./
|
|
9
|
+
require("./predicate_sum");
|
|
10
|
+
require("./rand");
|
|
11
|
+
require("./range");
|
|
14
12
|
require("./replace");
|
|
15
|
-
require("./
|
|
13
|
+
require("./round");
|
|
16
14
|
require("./size");
|
|
17
|
-
require("./
|
|
18
|
-
require("./
|
|
15
|
+
require("./split");
|
|
16
|
+
require("./stringify");
|
|
17
|
+
// Import built-in functions to ensure their @FunctionDef decorators run
|
|
18
|
+
require("./sum");
|
|
19
|
+
require("./to_json");
|
|
19
20
|
require("./type");
|
|
20
|
-
const function_metadata_1 = require("./function_metadata");
|
|
21
21
|
/**
|
|
22
22
|
* Factory for creating function instances by name.
|
|
23
23
|
*
|
|
@@ -70,9 +70,9 @@ class FunctionFactory {
|
|
|
70
70
|
for (const meta of (0, function_metadata_1.getRegisteredFunctionMetadata)()) {
|
|
71
71
|
if ((options === null || options === void 0 ? void 0 : options.category) && meta.category !== options.category)
|
|
72
72
|
continue;
|
|
73
|
-
if ((options === null || options === void 0 ? void 0 : options.asyncOnly) && meta.category !==
|
|
73
|
+
if ((options === null || options === void 0 ? void 0 : options.asyncOnly) && meta.category !== "async")
|
|
74
74
|
continue;
|
|
75
|
-
if ((options === null || options === void 0 ? void 0 : options.syncOnly) && meta.category ===
|
|
75
|
+
if ((options === null || options === void 0 ? void 0 : options.syncOnly) && meta.category === "async")
|
|
76
76
|
continue;
|
|
77
77
|
result.push(meta);
|
|
78
78
|
}
|
|
@@ -84,7 +84,7 @@ class FunctionFactory {
|
|
|
84
84
|
* @returns Array of function names
|
|
85
85
|
*/
|
|
86
86
|
static listFunctionNames() {
|
|
87
|
-
return (0, function_metadata_1.getRegisteredFunctionMetadata)().map(m => m.name);
|
|
87
|
+
return (0, function_metadata_1.getRegisteredFunctionMetadata)().map((m) => m.name);
|
|
88
88
|
}
|
|
89
89
|
/**
|
|
90
90
|
* Gets all function metadata as a JSON-serializable object for LLM consumption.
|
|
@@ -93,7 +93,9 @@ class FunctionFactory {
|
|
|
93
93
|
*/
|
|
94
94
|
static toJSON() {
|
|
95
95
|
const functions = FunctionFactory.listFunctions();
|
|
96
|
-
const categories = [
|
|
96
|
+
const categories = [
|
|
97
|
+
...new Set(functions.map((f) => f.category).filter(Boolean)),
|
|
98
|
+
];
|
|
97
99
|
return { functions, categories };
|
|
98
100
|
}
|
|
99
101
|
/**
|
|
@@ -121,7 +123,7 @@ class FunctionFactory {
|
|
|
121
123
|
static createPredicate(name) {
|
|
122
124
|
const lowerName = name.toLowerCase();
|
|
123
125
|
// Check decorator-registered predicate functions
|
|
124
|
-
const decoratorFactory = (0, function_metadata_1.getRegisteredFunctionFactory)(lowerName,
|
|
126
|
+
const decoratorFactory = (0, function_metadata_1.getRegisteredFunctionFactory)(lowerName, "predicate");
|
|
125
127
|
if (decoratorFactory) {
|
|
126
128
|
return decoratorFactory();
|
|
127
129
|
}
|
|
@@ -129,7 +131,7 @@ class FunctionFactory {
|
|
|
129
131
|
}
|
|
130
132
|
static createAsync(name) {
|
|
131
133
|
const lowerName = name.toLowerCase();
|
|
132
|
-
const decoratorFactory = (0, function_metadata_1.getRegisteredFunctionFactory)(lowerName,
|
|
134
|
+
const decoratorFactory = (0, function_metadata_1.getRegisteredFunctionFactory)(lowerName, "async");
|
|
133
135
|
if (decoratorFactory) {
|
|
134
136
|
return decoratorFactory();
|
|
135
137
|
}
|