flowquery 1.0.16 → 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/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/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/MockData.ts +70 -140
- package/misc/apps/RAG/src/prompts/FlowQuerySystemPrompt.ts +12 -0
- 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/operator.ts +19 -1
- package/src/parsing/functions/function_factory.ts +45 -45
- 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 +654 -0
- 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 +273 -2
- package/tests/tokenization/tokenizer.test.ts +90 -0
package/dist/flowquery.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.FlowQuery=t():e.FlowQuery=t()}(self,(()=>(()=>{"use strict";var e={7474:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,u)}a((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(7056));t.default=class{constructor(e=null){if(null===e||""===e)throw new Error("Statement cannot be null or empty");const t=(new i.default).parse(e);this.first=t.firstChild(),this.last=t.lastChild()}run(){return n(this,void 0,void 0,(function*(){return new Promise(((e,t)=>n(this,void 0,void 0,(function*(){try{yield this.first.run(),yield this.first.finish(),e()}catch(e){t(e)}}))))}))}get results(){return this.last.results}}},610:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(7474)),i=n(r(2312)),o=n(r(5517));s.default.listFunctions=function(e){return i.default.listFunctions(e)},s.default.getFunctionMetadata=function(e){return i.default.getMetadata(e)},s.default.Function=o.default,t.default=s.default},5859:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(e){super(),this.alias=e}toString(){return`Alias (${this.alias})`}getAlias(){return this.alias}value(){return this.alias}}t.default=i},4275:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.AliasOption=void 0,function(e){e[e.NOT_ALLOWED=0]="NOT_ALLOWED",e[e.OPTIONAL=1]="OPTIONAL",e[e.REQUIRED=2]="REQUIRED"}(r||(t.AliasOption=r={}))},1542:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this._parent=null,this.children=[]}addChild(e){e._parent=this,this.children.push(e)}firstChild(){if(0===this.children.length)throw new Error("Expected child");return this.children[0]}lastChild(){if(0===this.children.length)throw new Error("Expected child");return this.children[this.children.length-1]}getChildren(){return this.children}childCount(){return this.children.length}value(){return null}isOperator(){return!1}isOperand(){return!this.isOperator()}get precedence(){return 0}get leftAssociative(){return!1}print(){return Array.from(this._print(0)).join("\n")}*_print(e){0===e?yield this.constructor.name:e>0&&(yield"-".repeat(e)+` ${this.toString()}`);for(const t of this.children)yield*t._print(e+1)}toString(){return this.constructor.name}}},3738:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(7847)),i=n(r(3479));t.default=class{constructor(){this.tokens=[],this.tokenIndex=0}tokenize(e){this.tokens=new i.default(e).tokenize(),this.tokenIndex=0}setNextToken(){this.tokenIndex++}peek(){return this.tokenIndex+1>=this.tokens.length?null:this.tokens[this.tokenIndex+1]}ahead(e,t=!0){let r=0;for(let n=this.tokenIndex;n<this.tokens.length;n++)if(!t||!this.tokens[n].isWhitespaceOrComment()){if(!this.tokens[n].equals(e[r]))return!1;if(r++,r===e.length)break}return r===e.length}get token(){return this.tokenIndex>=this.tokens.length?s.default.EOF:this.tokens[this.tokenIndex]}get previousToken(){return this.tokenIndex-1<0?s.default.EOF:this.tokens[this.tokenIndex-1]}}},3840:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(){super()}}t.default=i},970:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(){super()}value(){return this.children[0].value()}}t.default=i},9798:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(){super()}value(){return this.firstChild().value()||{}}}t.default=i},5956:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(){super()}}t.default=i},8587:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(){super()}}t.default=i},440:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(){super()}}t.default=i},2457:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(){super()}}t.default=i},9056:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.stack=[]}push(e){this.stack.push(e)}pop(){return this.stack.pop()}containsType(e){return this.stack.some((t=>t instanceof e))}}},122:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{addKeyValue(e){this.addChild(e)}toString(){return"AssociativeArray"}*_value(){for(const e of this.children){const t=e;yield{[t.key]:t._value}}}value(){return Object.assign({},...this._value())}}t.default=i},1363:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{addValue(e){this.addChild(e)}value(){return this.children.map((e=>e.value()))}}t.default=i},2073:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542)),i=n(r(3198));class o extends s.default{constructor(e,t){super(),this.addChild(new i.default(e)),this.addChild(t)}get key(){return this.children[0].value()}get _value(){return this.children[1].value()}toString(){return"KeyValuePair"}}t.default=o},9997:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(){super()}set index(e){this.addChild(e)}get index(){return this.children[0]}set variable(e){this.addChild(e)}get variable(){return this.children[1]}isOperand(){return!0}value(){return this.variable.value()[this.index.value()]}}t.default=i},3399:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(){super()}set from(e){this.addChild(e)}get from(){return this.children[0]}set to(e){this.addChild(e)}get to(){return this.children[1]}set variable(e){this.addChild(e)}get variable(){return this.children[2]}isOperand(){return!0}value(){const e=this.variable.value(),t=this.from.value()||0,r=this.to.value()||e.length;return this.variable.value().slice(t,r)}}t.default=i},3573:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542)),i=n(r(5481)),o=n(r(2730));class u extends s.default{constructor(){super(...arguments),this.operators=[],this.output=[],this._alias=null,this._overridden=null,this._reducers=null}addNode(e){if(e.isOperand())this.output.push(e);else if(e.isOperator()){const t=e;for(;this.operators.length>0;){let e=this.operators[this.operators.length-1];if(!(e.precedence>t.precedence||e.precedence===t.precedence&&t.leftAssociative))break;this.output.push(e),this.operators.pop()}this.operators.push(t)}}finish(){let e;for(;e=this.operators.pop();)this.output.push(e);this.addChild(this.toTree())}toTree(){const e=this.output.pop()||new s.default;if(e.isOperator()){const t=this.toTree(),r=this.toTree();e.addChild(r),e.addChild(t)}return e}nodesAdded(){return this.operators.length>0||this.output.length>0}value(){if(null!==this._overridden)return this._overridden;if(1!==this.childCount())throw new Error("Expected one child");return this.children[0].value()}setAlias(e){this._alias=e}set alias(e){this._alias=e}get alias(){return this.firstChild()instanceof o.default&&null===this._alias?this.firstChild().identifier:this._alias}toString(){return null!==this._alias?`Expression (${this._alias})`:"Expression"}reducers(){return null===this._reducers&&(this._reducers=[...this._extract_reducers()]),this._reducers}*_extract_reducers(e=this){e instanceof i.default&&(yield e);for(const t of e.getChildren())yield*this._extract_reducers(t)}mappable(){return 0===this.reducers().length}has_reducers(){return this.reducers().length>0}set overridden(e){this._overridden=e}}t.default=u},4484:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this._map=new Map}get(e){return this._map.get(e)}has(e){return this._map.has(e)}set map(e){this._map.clear();for(const t of e)null!=t.alias&&this._map.set(t.alias,t)}}},1153:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{value(){return this.getChildren().map((e=>e.value())).join("")}}t.default=i},5196:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(3198));class i extends s.default{toString(){return`Identifier (${this._value})`}value(){return super.value()}}t.default=i},3818:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(e){super(),-1!==e.indexOf(".")?this._value=parseFloat(e):this._value=parseInt(e)}value(){return this._value}toString(){return`${this.constructor.name} (${this._value})`}}t.default=i},4783:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Is=t.Not=t.Or=t.And=t.LessThanOrEqual=t.GreaterThanOrEqual=t.LessThan=t.GreaterThan=t.NotEquals=t.Equals=t.Power=t.Modulo=t.Divide=t.Multiply=t.Subtract=t.Add=t.Operator=void 0;const s=n(r(1542));class i extends s.default{constructor(e,t){super(),this._precedence=0,this._leftAssociative=!0,this._precedence=e,this._leftAssociative=t}isOperator(){return!0}get precedence(){return this._precedence}get leftAssociative(){return this._leftAssociative}get lhs(){return this.getChildren()[0]}get rhs(){return this.getChildren()[1]}}t.Operator=i,t.Add=class extends i{constructor(){super(1,!0)}value(){return this.lhs.value()+this.rhs.value()}},t.Subtract=class extends i{constructor(){super(1,!0)}value(){return this.lhs.value()-this.rhs.value()}},t.Multiply=class extends i{constructor(){super(2,!0)}value(){return this.lhs.value()*this.rhs.value()}},t.Divide=class extends i{constructor(){super(2,!0)}value(){return this.lhs.value()/this.rhs.value()}},t.Modulo=class extends i{constructor(){super(2,!0)}value(){return this.lhs.value()%this.rhs.value()}},t.Power=class extends i{constructor(){super(3,!1)}value(){return Math.pow(this.lhs.value(),this.rhs.value())}},t.Equals=class extends i{constructor(){super(0,!0)}value(){return this.lhs.value()===this.rhs.value()?1:0}},t.NotEquals=class extends i{constructor(){super(0,!0)}value(){return this.lhs.value()!==this.rhs.value()?1:0}},t.GreaterThan=class extends i{constructor(){super(0,!0)}value(){return this.lhs.value()>this.rhs.value()?1:0}},t.LessThan=class extends i{constructor(){super(0,!0)}value(){return this.lhs.value()<this.rhs.value()?1:0}},t.GreaterThanOrEqual=class extends i{constructor(){super(0,!0)}value(){return this.lhs.value()>=this.rhs.value()?1:0}},t.LessThanOrEqual=class extends i{constructor(){super(0,!0)}value(){return this.lhs.value()<=this.rhs.value()?1:0}},t.And=class extends i{constructor(){super(-1,!0)}value(){return this.lhs.value()&&this.rhs.value()?1:0}},t.Or=class extends i{constructor(){super(-1,!0)}value(){return this.lhs.value()||this.rhs.value()?1:0}},t.Not=class extends i{constructor(){super(0,!0)}isOperator(){return!1}value(){return this.lhs.value()?0:1}},t.Is=class extends i{constructor(){super(-1,!0)}value(){return this.lhs.value()===this.rhs.value()?1:0}}},2730:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(5196));class i extends s.default{constructor(e,t=void 0){super(e),this._referred=void 0,this._referred=t}set referred(e){this._referred=e}toString(){return`Reference (${this._value})`}value(){var e;return null===(e=this._referred)||void 0===e?void 0:e.value()}get identifier(){return this._value}}t.default=i},3198:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(e){super(),this._value=e}value(){return this._value}toString(){return`String (${this._value})`}}t.default=i},5481:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(5517));class i extends s.default{constructor(e){super(e),this._overridden=null}reduce(e){throw new Error("Method not implemented.")}element(){throw new Error("Method not implemented.")}get overridden(){return this._overridden}set overridden(e){this._overridden=e}value(){return this._overridden}}t.default=i},3680:function(e,t,r){var n=this&&this.__await||function(e){return this instanceof n?(this.v=e,this):new n(e)},s=this&&this.__asyncGenerator||function(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var s,i=r.apply(e,t||[]),o=[];return s=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),u("next"),u("throw"),u("return",(function(e){return function(t){return Promise.resolve(t).then(e,c)}})),s[Symbol.asyncIterator]=function(){return this},s;function u(e,t){i[e]&&(s[e]=function(t){return new Promise((function(r,n){o.push([e,t,r,n])>1||a(e,t)}))},t&&(s[e]=t(s[e])))}function a(e,t){try{(r=i[e](t)).value instanceof n?Promise.resolve(r.value.v).then(l,c):d(o[0][2],r)}catch(e){d(o[0][3],e)}var r}function l(e){a("next",e)}function c(e){a("throw",e)}function d(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(r(5517));class u extends o.default{set parameters(e){this.children=e}getArguments(){return this.children.map((e=>e.value()))}generate(...e){return s(this,arguments,(function*(){throw new Error("Not implemented: generate method must be overridden in subclasses.")}))}}t.default=u},8437:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5481)),o=s(r(1206)),u=r(3437);class a extends o.default{constructor(){super(...arguments),this._count=0,this._sum=null}get value(){return null===this._sum?null:this._sum/this._count}set value(e){this._count+=1,null!==this._sum?this._sum+=e:this._sum=e}}let l=class extends i.default{constructor(){super("avg"),this._expectedParameterCount=1}reduce(e){e.value=this.firstChild().value()}element(){return new a}};l=n([(0,u.FunctionDef)({description:"Calculates the average of numeric values across grouped rows",category:"aggregate",parameters:[{name:"value",description:"Numeric value to average",type:"number"}],output:{description:"Average of all values",type:"number",example:50},examples:["WITH [10, 20, 30] AS nums UNWIND nums AS n RETURN avg(n)"]})],l),t.default=l},1567:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5481)),o=s(r(1206)),u=r(3437);class a extends o.default{constructor(){super(...arguments),this._value=[]}get value(){return this._value}set value(e){this._value.push(e)}}class l extends o.default{constructor(){super(...arguments),this._value=new Map}get value(){return Array.from(this._value.values())}set value(e){const t=JSON.stringify(e);this._value.has(t)||this._value.set(t,e)}}let c=class extends i.default{constructor(){super("collect"),this._distinct=!1,this._expectedParameterCount=1}reduce(e){e.value=this.firstChild().value()}element(){return this._distinct?new l:new a}set distinct(e){this._distinct=e}};c=n([(0,u.FunctionDef)({description:"Collects values into an array across grouped rows",category:"aggregate",parameters:[{name:"value",description:"Value to collect",type:"any"}],output:{description:"Array of collected values",type:"array",example:[1,2,3]},examples:["WITH [1, 2, 3] AS nums UNWIND nums AS n RETURN collect(n)"]})],c),t.default=c},5517:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(e){super(),this._expectedParameterCount=null,this._supports_distinct=!1,this._name=e||this.constructor.name}set parameters(e){if(null!==this._expectedParameterCount&&this._expectedParameterCount!==e.length)throw new Error(`Function ${this._name} expected ${this._expectedParameterCount} parameters, but got ${e.length}`);this.children=e}get name(){return this._name}toString(){return`Function (${this._name})`}set distinct(e){if(!this._supports_distinct)throw new Error(`Function ${this._name} does not support distinct`);this._supports_distinct=e}}t.default=i},2312:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),r(9854),r(1567),r(8437),r(8240),r(7514),r(3605),r(6781),r(197),r(1009),r(8673),r(2061),r(3700),r(9700),r(5940),r(2912),r(8749);const n=r(3437);class s{static getAsyncProvider(e){return(0,n.getRegisteredFunctionFactory)(e.toLowerCase())}static isAsyncProvider(e){return void 0!==(0,n.getRegisteredFunctionFactory)(e.toLowerCase(),"async")}static getMetadata(e){return(0,n.getFunctionMetadata)(e.toLowerCase())}static listFunctions(e){const t=[];for(const r of(0,n.getRegisteredFunctionMetadata)())(null==e?void 0:e.category)&&r.category!==e.category||(null==e?void 0:e.asyncOnly)&&"async"!==r.category||(null==e?void 0:e.syncOnly)&&"async"===r.category||t.push(r);return t}static listFunctionNames(){return(0,n.getRegisteredFunctionMetadata)().map((e=>e.name))}static toJSON(){const e=s.listFunctions(),t=[...new Set(e.map((e=>e.category)).filter(Boolean))];return{functions:e,categories:t}}static create(e){const t=e.toLowerCase(),r=(0,n.getRegisteredFunctionFactory)(t);if(r)return r();throw new Error(`Unknown function: ${e}`)}static createPredicate(e){const t=e.toLowerCase(),r=(0,n.getRegisteredFunctionFactory)(t,"predicate");if(r)return r();throw new Error(`Unknown predicate function: ${e}`)}static createAsync(e){const t=e.toLowerCase(),r=(0,n.getRegisteredFunctionFactory)(t,"async");if(r)return r();throw new Error(`Unknown async function: ${e}`)}}t.default=s},3437:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FunctionDef=function(e){return function(t){return r.register(t,e),t}},t.getRegisteredFunctionMetadata=function(){return r.getAllMetadata()},t.getRegisteredFunctionFactory=function(e,t){return r.getFactory(e,t)},t.getFunctionMetadata=function(e,t){return r.getMetadata(e,t)};class r{static register(e,t){var r;const n=(null===(r=(new e).name)||void 0===r?void 0:r.toLowerCase())||e.name.toLowerCase(),s=t.category?`${n}:${t.category}`:n;this.metadata.set(s,Object.assign({name:n},t)),"predicate"!==t.category&&this.factories.set(n,(()=>new e)),this.factories.set(s,(()=>new e))}static getAllMetadata(){return Array.from(this.metadata.values())}static getMetadata(e,t){const r=e.toLowerCase();if(t)return this.metadata.get(`${r}:${t}`);for(const e of this.metadata.values())if(e.name.toLowerCase()===r)return e}static getFactory(e,t){const r=e.toLowerCase();return t?this.factories.get(`${r}:${t}`):this.factories.get(r)}}r.metadata=new Map,r.factories=new Map},5940:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5517)),o=s(r(2312)),u=r(3437);let a=class extends i.default{constructor(){super("functions"),this._expectedParameterCount=null}value(){const e=this.getChildren();if(0===e.length)return o.default.listFunctions();if(1===e.length){const t=e[0].value();if("string"==typeof t)return o.default.listFunctions({category:t});throw new Error("functions() category parameter must be a string")}throw new Error("functions() takes 0 or 1 parameters")}};a=n([(0,u.FunctionDef)({description:"Lists all registered functions with their metadata. Useful for discovering available functions and their documentation. Results include name, description, parameters, output schema, and usage examples.",category:"scalar",parameters:[{name:"category",description:"Optional category to filter by (e.g., 'aggregation', 'string', 'math')",type:"string",required:!1}],output:{description:"Array of function metadata objects",type:"array",items:{type:"object",properties:{name:{description:"Function name",type:"string"},description:{description:"What the function does",type:"string"},category:{description:"Function category",type:"string"},parameters:{description:"Array of parameter definitions",type:"array"},output:{description:"Output schema",type:"object"},examples:{description:"Usage examples",type:"array"}}}},examples:["WITH functions() AS funcs RETURN funcs","WITH functions('aggregation') AS funcs UNWIND funcs AS f RETURN f.name, f.description"]})],a),t.default=a},197:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5517)),o=s(r(3198)),u=r(3437);let a=class extends i.default{constructor(){super("join"),this._expectedParameterCount=2}set parameters(e){1===e.length&&e.push(new o.default("")),super.parameters=e}value(){const e=this.getChildren()[0].value(),t=this.getChildren()[1].value();if(!Array.isArray(e)||"string"!=typeof t)throw new Error("Invalid arguments for join function");return e.join(t)}};a=n([(0,u.FunctionDef)({description:"Joins an array of strings with a delimiter",category:"scalar",parameters:[{name:"array",description:"Array of values to join",type:"array"},{name:"delimiter",description:"Delimiter to join with",type:"string"}],output:{description:"Joined string",type:"string",example:"a,b,c"},examples:["WITH ['a', 'b', 'c'] AS arr RETURN join(arr, ',')"]})],a),t.default=a},1009:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5517)),o=r(3437);let u=class extends i.default{constructor(){super("keys"),this._expectedParameterCount=1}value(){const e=this.getChildren()[0].value();if(null==e)return[];if("object"!=typeof e||Array.isArray(e))throw new Error("keys() expects an object, not an array or primitive");return Object.keys(e)}};u=n([(0,o.FunctionDef)({description:"Returns the keys of an object (associative array) as an array",category:"scalar",parameters:[{name:"object",description:"Object to extract keys from",type:"object"}],output:{description:"Array of keys",type:"array",example:"['name', 'age']"},examples:["WITH { name: 'Alice', age: 30 } AS obj RETURN keys(obj)"]})],u),t.default=u},8963:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542)),i=n(r(2333));class o extends s.default{constructor(e){super(),this._valueHolder=new i.default,this._name=e||this.constructor.name}get name(){return this._name}get reference(){return this.firstChild()}get array(){return this.getChildren()[1].firstChild()}get _return(){return this.getChildren()[2]}get where(){return 4===this.getChildren().length?this.getChildren()[3]:null}value(){throw new Error("Method not implemented.")}toString(){return`PredicateFunction (${this._name})`}}t.default=o},2912:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(8963)),o=r(3437);let u=class extends i.default{constructor(){super("sum")}value(){this.reference.referred=this._valueHolder;const e=this.array.value();if(null===e||!Array.isArray(e))throw new Error("Invalid array for sum function");let t=null;for(let r=0;r<e.length;r++)this._valueHolder.holder=e[r],(null===this.where||this.where.value())&&(null===t?t=this._return.value():t+=this._return.value());return t}};u=n([(0,o.FunctionDef)({description:"Calculates the sum of values in an array with optional filtering. Uses list comprehension syntax: sum(variable IN array [WHERE condition] | expression)",category:"predicate",parameters:[{name:"variable",description:"Variable name to bind each element",type:"string"},{name:"array",description:"Array to iterate over",type:"array"},{name:"expression",description:"Expression to sum for each element",type:"any"},{name:"where",description:"Optional filter condition",type:"boolean",required:!1}],output:{description:"Sum of the evaluated expressions",type:"number",example:6},examples:["WITH [1, 2, 3] AS nums RETURN sum(n IN nums | n)","WITH [1, 2, 3, 4] AS nums RETURN sum(n IN nums WHERE n > 1 | n * 2)"]})],u),t.default=u},7514:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5517)),o=r(3437);let u=class extends i.default{constructor(){super("rand"),this._expectedParameterCount=0}value(){return Math.random()}};u=n([(0,o.FunctionDef)({description:"Generates a random number between 0 and 1",category:"scalar",parameters:[],output:{description:"Random number between 0 and 1",type:"number",example:.7234},examples:["WITH rand() AS r RETURN r"]})],u),t.default=u},8240:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5517)),o=r(3437);let u=class extends i.default{constructor(){super("range"),this._expectedParameterCount=2}value(){const e=this.getChildren()[0].value(),t=this.getChildren()[1].value();if("number"!=typeof e||"number"!=typeof t)throw new Error("Invalid arguments for range function");return Array.from({length:t-e+1},((t,r)=>e+r))}};u=n([(0,o.FunctionDef)({description:"Generates an array of sequential integers",category:"scalar",parameters:[{name:"start",description:"Starting number (inclusive)",type:"number"},{name:"end",description:"Ending number (inclusive)",type:"number"}],output:{description:"Array of integers from start to end",type:"array",items:{type:"number"},example:[1,2,3,4,5]},examples:["WITH range(1, 5) AS nums RETURN nums"]})],u),t.default=u},1206:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{get value(){throw new Error("Method not implemented.")}set value(e){throw new Error("Method not implemented.")}}},2061:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5517)),o=r(3437);let u=class extends i.default{constructor(){super("replace"),this._expectedParameterCount=3}value(){const e=this.getChildren()[0].value(),t=this.getChildren()[1].value(),r=this.getChildren()[2].value();if("string"!=typeof e||"string"!=typeof t||"string"!=typeof r)throw new Error("Invalid arguments for replace function");return e.replace(new RegExp(t,"g"),r)}};u=n([(0,o.FunctionDef)({description:"Replaces occurrences of a pattern in a string",category:"scalar",parameters:[{name:"text",description:"Source string",type:"string"},{name:"pattern",description:"Pattern to find",type:"string"},{name:"replacement",description:"Replacement string",type:"string"}],output:{description:"String with replacements",type:"string",example:"hello world"},examples:["WITH 'hello there' AS s RETURN replace(s, 'there', 'world')"]})],u),t.default=u},3605:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5517)),o=r(3437);let u=class extends i.default{constructor(){super("round"),this._expectedParameterCount=1}value(){const e=this.getChildren()[0].value();if("number"!=typeof e)throw new Error("Invalid argument for round function");return Math.round(e)}};u=n([(0,o.FunctionDef)({description:"Rounds a number to the nearest integer",category:"scalar",parameters:[{name:"value",description:"Number to round",type:"number"}],output:{description:"Rounded integer",type:"number",example:4},examples:["WITH 3.7 AS n RETURN round(n)"]})],u),t.default=u},9700:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5517)),o=r(3437);let u=class extends i.default{constructor(){super("size"),this._expectedParameterCount=1}value(){const e=this.getChildren()[0].value();if(!Array.isArray(e))throw new Error("Invalid argument for size function");return e.length}};u=n([(0,o.FunctionDef)({description:"Returns the length of an array or string",category:"scalar",parameters:[{name:"value",description:"Array or string to measure",type:"array"}],output:{description:"Length of the input",type:"number",example:3},examples:["WITH [1, 2, 3] AS arr RETURN size(arr)"]})],u),t.default=u},6781:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5517)),o=s(r(3198)),u=r(3437);let a=class extends i.default{constructor(){super("split"),this._expectedParameterCount=2}set parameters(e){1===e.length&&e.push(new o.default("")),super.parameters=e}value(){const e=this.getChildren()[0].value(),t=this.getChildren()[1].value();if("string"!=typeof e||"string"!=typeof t)throw new Error("Invalid arguments for split function");return e.split(t)}};a=n([(0,u.FunctionDef)({description:"Splits a string into an array by a delimiter",category:"scalar",parameters:[{name:"text",description:"String to split",type:"string"},{name:"delimiter",description:"Delimiter to split by",type:"string"}],output:{description:"Array of string parts",type:"array",items:{type:"string"},example:["a","b","c"]},examples:["WITH 'a,b,c' AS s RETURN split(s, ',')"]})],a),t.default=a},3700:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5517)),o=s(r(3818)),u=r(3437);let a=class extends i.default{constructor(){super("stringify"),this._expectedParameterCount=2}set parameters(e){1===e.length&&e.push(new o.default("3")),super.parameters=e}value(){const e=this.getChildren()[0].value(),t=parseInt(this.getChildren()[1].value());if("object"!=typeof e)throw new Error("Invalid argument for stringify function");return JSON.stringify(e,null,t)}};a=n([(0,u.FunctionDef)({description:"Converts a value to its JSON string representation",category:"scalar",parameters:[{name:"value",description:"Value to stringify",type:"any"}],output:{description:"JSON string",type:"string",example:'{"a":1}'},examples:["WITH {a: 1} AS obj RETURN stringify(obj)"]})],a),t.default=a},9854:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5481)),o=s(r(1206)),u=r(3437);class a extends o.default{constructor(){super(...arguments),this._value=null}get value(){return this._value}set value(e){null!==this._value?this._value+=e:this._value=e}}let l=class extends i.default{constructor(){super("sum"),this._expectedParameterCount=1}reduce(e){e.value=this.firstChild().value()}element(){return new a}};l=n([(0,u.FunctionDef)({description:"Calculates the sum of numeric values across grouped rows",category:"aggregate",parameters:[{name:"value",description:"Numeric value to sum",type:"number"}],output:{description:"Sum of all values",type:"number",example:150},examples:["WITH [1, 2, 3] AS nums UNWIND nums AS n RETURN sum(n)"]})],l),t.default=l},8673:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5517)),o=r(3437);let u=class extends i.default{constructor(){super("tojson"),this._expectedParameterCount=1}value(){const e=this.getChildren()[0].value();if("string"!=typeof e)throw new Error("Invalid arguments for tojson function");return JSON.parse(e)}};u=n([(0,o.FunctionDef)({description:"Parses a JSON string into an object",category:"scalar",parameters:[{name:"text",description:"JSON string to parse",type:"string"}],output:{description:"Parsed object or array",type:"object",example:{a:1}},examples:["WITH '{\"a\": 1}' AS s RETURN tojson(s)"]})],u),t.default=u},8749:function(e,t,r){var n=this&&this.__decorate||function(e,t,r,n){var s,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(s=e[u])&&(o=(i<3?s(o):i>3?s(t,r,o):s(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5517)),o=r(3437);let u=class extends i.default{constructor(){super("type"),this._expectedParameterCount=1}value(){const e=this.getChildren()[0].value();return null===e?"null":void 0===e?"undefined":Array.isArray(e)?"array":typeof e}};u=n([(0,o.FunctionDef)({description:"Returns the type of a value as a string",category:"scalar",parameters:[{name:"value",description:"Value to check the type of",type:"any"}],output:{description:"Type of the input value",type:"string",example:"string"},examples:["WITH 'hello' AS val RETURN type(val)","WITH 42 AS val RETURN type(val)","WITH [1, 2, 3] AS val RETURN type(val)"]})],u),t.default=u},2333:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{set holder(e){this._holder=e}value(){return this._holder}}t.default=i},6052:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542)),i=n(r(1740));class o extends s.default{constructor(){super()}value(){let e=0,t=this.getChildren()[e];for(;t instanceof i.default;){const r=this.getChildren()[e+1];if(t.value())return r.value();e+=2,t=this.getChildren()[e]}return t.value()}}t.default=o},3501:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(){super()}value(){return this.getChildren()[0].value()}}t.default=i},6263:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(){super()}}t.default=i},6667:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(){super()}value(){return this.getChildren()[0].value()}}t.default=i},1740:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542));class i extends s.default{constructor(){super()}value(){return this.getChildren()[0].value()}}t.default=i},8682:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,u)}a((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(7342)),o=s(r(9025));class u extends i.default{constructor(){super(...arguments),this._group_by=new o.default(this.children)}run(){return n(this,void 0,void 0,(function*(){yield this._group_by.run()}))}get results(){return null!==this._where&&(this._group_by.where=this._where),Array.from(this._group_by.generate_results())}}t.default=u},6564:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,u)}a((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(7342)),o=s(r(9025));class u extends i.default{constructor(){super(...arguments),this._group_by=new o.default(this.children)}run(){return n(this,void 0,void 0,(function*(){yield this._group_by.run()}))}finish(){const e=Object.create(null,{finish:{get:()=>super.finish}});return n(this,void 0,void 0,(function*(){var t;for(const e of this._group_by.generate_results())yield null===(t=this.next)||void 0===t?void 0:t.run();yield e.finish.call(this)}))}}t.default=u},888:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,u)}a((n=n.apply(e,t||[])).next())}))},s=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,s){!function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}(n,s,(t=e[r](t)).done,t.value)}))}}},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(r(4484)),u=i(r(505)),a="value";class l extends u.default{constructor(){super([]),this._function=null,this._map=new o.default,this._results=[]}set function(e){this._function=e}get function(){return this._function}set yielded(e){this.children=e,this._map.map=e}get hasYield(){return this.children.length>0}run(){return n(this,void 0,void 0,(function*(){var e,t,r,n,i;if(null===this._function)throw new Error("No function set for Call operation.");const o=this._function.getArguments();try{for(var u,l=!0,c=s(this._function.generate(...o));!(e=(u=yield c.next()).done);l=!0){n=u.value,l=!1;const e=n;if(this.isLast){const t=new Map;if("object"!=typeof e||Array.isArray(e))t.set(a,e);else for(const[r,n]of Object.entries(e))!this._map.has(r)&&this.hasYield||t.set(r,n);this._results.push(Object.fromEntries(t))}else{if("object"!=typeof e||Array.isArray(e)){const t=this._map.get(a);t&&(t.overridden=e)}else for(const[t,r]of Object.entries(e)){const e=this._map.get(t);e&&(e.overridden=r)}yield null===(i=this.next)||void 0===i?void 0:i.run()}}}catch(e){t={error:e}}finally{try{l||e||!(r=c.return)||(yield r.call(c))}finally{if(t)throw t.error}}}))}get results(){return this._results}}t.default=l},9025:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,u)}a((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(505));class o{constructor(e=null){this._children=new Map,this._elements=null,this._value=e}get value(){return this._value}get children(){return this._children}get elements(){return this._elements}set elements(e){this._elements=e}}class u extends i.default{constructor(){super(...arguments),this._root=new o,this._current=this._root,this._mappers=null,this._reducers=null,this._where=null}run(){return n(this,void 0,void 0,(function*(){this.resetTree(),this.map(),this.reduce()}))}get root(){return this._root}get current(){return this._current}set current(e){this._current=e}resetTree(){this.current=this.root}map(){let e=this.current;for(const t of this.mappers){const r=t.value();let n=e.children.get(r);void 0===n&&(n=new o(r),e.children.set(r,n)),e=n}this.current=e}reduce(){null===this.current.elements&&(this.current.elements=this.reducers.map((e=>e.element())));const e=this.current.elements;this.reducers.forEach(((t,r)=>{t.reduce(e[r])}))}get mappers(){return null===this._mappers&&(this._mappers=[...this._generate_mappers()]),this._mappers}*_generate_mappers(){for(const[e,t]of this.expressions())e.mappable()&&(yield e)}get reducers(){return null===this._reducers&&(this._reducers=this.children.map((e=>e.reducers())).flat()),this._reducers}*generate_results(e=0,t=this.root){var r;if(t.children.size>0)for(const r of t.children.values())this.mappers[e].overridden=r.value,yield*this.generate_results(e+1,r);else{null===(r=t.elements)||void 0===r||r.forEach(((e,t)=>{this.reducers[t].overridden=e.value}));const e={};for(const[t,r]of this.expressions())e[r]=t.value();this.where&&(yield e)}}set where(e){this._where=e}get where(){return null===this._where||this._where.value()}}t.default=u},8365:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,u)}a((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5239));class o extends i.default{constructor(e){super(),this.count=0,this.limit=0,this.limit=e}run(){return n(this,void 0,void 0,(function*(){var e;this.count>=this.limit||(this.count++,yield null===(e=this.next)||void 0===e?void 0:e.run())}))}reset(){this.count=0}}t.default=o},1816:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,u)}a((n=n.apply(e,t||[])).next())}))},s=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,s){!function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}(n,s,(t=e[r](t)).done,t.value)}))}}},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(r(9798)),u=i(r(5956)),a=i(r(440)),l=i(r(2457)),c=i(r(3680)),d=i(r(5239));class h extends d.default{constructor(){super(),this._value=null}get type(){return this.children[0]}get fromComponent(){return this.children[1]}get isAsyncFunction(){return this.fromComponent.firstChild()instanceof c.default}get asyncFunction(){const e=this.fromComponent.firstChild();return e instanceof c.default?e:null}get from(){return this.children[1].value()}get headers(){return this.childCount()>2&&this.children[2]instanceof o.default&&this.children[2].value()||{}}get payload(){let e=null;return this.childCount()>2&&this.children[2]instanceof a.default?e=this.children[2]:this.childCount()>3&&this.children[3]instanceof a.default&&(e=this.children[3]),null!==e?e.firstChild():null}method(){return null===this.payload?"GET":"POST"}options(){const e=this.headers,t=this.payload,r=null==t?void 0:t.value();return null===r||"object"!=typeof r||e.hasOwnProperty("Content-Type")||(e["Content-Type"]="application/json"),Object.assign({method:this.method(),headers:e},null!==t?{body:JSON.stringify(t.value())}:{})}loadFromFunction(){return n(this,void 0,void 0,(function*(){var e,t,r,n,i;const o=this.asyncFunction,u=o.getArguments();try{for(var a,l=!0,c=s(o.generate(...u));!(e=(a=yield c.next()).done);l=!0){n=a.value,l=!1;const e=n;this._value=e,yield null===(i=this.next)||void 0===i?void 0:i.run()}}catch(e){t={error:e}}finally{try{l||e||!(r=c.return)||(yield r.call(c))}finally{if(t)throw t.error}}}))}loadFromUrl(){return n(this,void 0,void 0,(function*(){var e,t,r;const n=yield fetch(this.from,this.options());let s=null;if(this.type instanceof u.default?s=yield n.json():this.type instanceof l.default&&(s=yield n.text()),Array.isArray(s))for(const t of s)this._value=t,yield null===(e=this.next)||void 0===e?void 0:e.run();else"object"==typeof s&&null!==s?(this._value=s,yield null===(t=this.next)||void 0===t?void 0:t.run()):"string"==typeof s&&(this._value=s,yield null===(r=this.next)||void 0===r?void 0:r.run())}))}load(){return n(this,void 0,void 0,(function*(){this.isAsyncFunction?yield this.loadFromFunction():yield this.loadFromUrl()}))}run(){return n(this,void 0,void 0,(function*(){var e;try{yield this.load()}catch(t){const r=this.isAsyncFunction?null===(e=this.asyncFunction)||void 0===e?void 0:e.name:this.from;throw new Error(`Failed to load data from ${r}. Error: ${t}`)}}))}value(){return this._value}}t.default=h},5239:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,u)}a((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(1542));class o extends i.default{constructor(){super(),this._previous=null,this._next=null}get previous(){return this._previous}set previous(e){this._previous=e}get next(){return this._next}set next(e){this._next=e}addSibling(e){var t;null===(t=this._parent)||void 0===t||t.addChild(e),e.previous=this,this.next=e}get isLast(){return null===this._next}run(){return n(this,void 0,void 0,(function*(){throw new Error("Not implemented")}))}finish(){return n(this,void 0,void 0,(function*(){var e;yield null===(e=this.next)||void 0===e?void 0:e.finish()}))}reset(){}get results(){throw new Error("Not implemented")}}t.default=o},505:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(5239));class i extends s.default{constructor(e){super(),this.children=e}*expressions(){for(let e=0;e<this.children.length;e++){const t=this.children[e],r=t.alias||`expr${e}`;yield[t,r]}}}t.default=i},7342:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,u)}a((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(505));class o extends i.default{constructor(){super(...arguments),this._where=null,this._results=[]}set where(e){this._where=e}get where(){return null===this._where||this._where.value()}run(){return n(this,void 0,void 0,(function*(){if(!this.where)return;const e=new Map;for(const[t,r]of this.expressions()){const n=t.value();e.set(r,n)}this._results.push(Object.fromEntries(e))}))}get results(){return this._results}}t.default=o},577:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,u)}a((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5239));class o extends i.default{constructor(e){super(),this.addChild(e)}get expression(){return this.children[0]}get as(){return this.children[1].value}run(){return n(this,void 0,void 0,(function*(){var e,t;const r=this.expression.value();if(!Array.isArray(r))throw new Error("Expected array");for(let t=0;t<r.length;t++)this._value=r[t],yield null===(e=this.next)||void 0===e?void 0:e.run();null===(t=this.next)||void 0===t||t.reset()}))}value(){return this._value}}t.default=o},6001:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,u)}a((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(5239));class o extends i.default{constructor(e){super(),this.addChild(e)}get expression(){return this.children[0]}run(){return n(this,void 0,void 0,(function*(){var e;this.expression.value()&&(yield null===(e=this.next)||void 0===e?void 0:e.run())}))}value(){return this.expression.value()}}t.default=o},696:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,u)}a((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(505));class o extends i.default{run(){return n(this,void 0,void 0,(function*(){var e;yield null===(e=this.next)||void 0===e?void 0:e.run()}))}}t.default=o},7056:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(7847)),i=n(r(3001)),o=n(r(5859)),u=r(4275),a=n(r(1542)),l=n(r(3738)),c=n(r(970)),d=n(r(9798)),h=n(r(8587)),f=n(r(440)),p=n(r(9056)),_=n(r(122)),v=n(r(1363)),E=n(r(2073)),m=n(r(9997)),y=n(r(3399)),g=n(r(3573)),w=n(r(1153)),O=n(r(5196)),x=r(4783),A=n(r(2730)),R=n(r(3198)),T=n(r(5481)),k=n(r(5517)),C=n(r(2312)),N=n(r(6052)),S=n(r(3501)),b=n(r(6667)),P=n(r(1740)),D=n(r(8682)),M=n(r(6564)),I=n(r(888)),L=n(r(8365)),W=n(r(1816)),j=n(r(7342)),F=n(r(577)),U=n(r(6001)),Y=n(r(696));class H extends l.default{constructor(){super(...arguments),this.variables=new Map,this.context=new p.default,this._returns=0}parse(e){this.tokenize(e);const t=new a.default;let r=null,n=null;for(;!this.token.isEOF();){if(t.childCount()>0?this.expectAndSkipWhitespaceAndComments():this.skipWhitespaceAndComments(),n=this.parseOperation(),null===n)throw new Error("Expected one of WITH, UNWIND, RETURN, LOAD, OR CALL");if(this._returns>1)throw new Error("Only one RETURN statement is allowed");if(r instanceof I.default&&!r.hasYield)throw new Error("CALL operations must have a YIELD clause unless they are the last operation");null!==r?r.addSibling(n):t.addChild(n);const e=this.parseWhere();null!==e&&(n instanceof j.default?n.where=e:(n.addSibling(e),n=e));const s=this.parseLimit();null!==s&&(n.addSibling(s),n=s),r=n}if(!(n instanceof j.default||n instanceof I.default))throw new Error("Last statement must be a RETURN, WHERE, or a CALL statement");return t}parseOperation(){return this.parseWith()||this.parseUnwind()||this.parseReturn()||this.parseLoad()||this.parseCall()}parseWith(){if(!this.token.isWith())return null;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=Array.from(this.parseExpressions(u.AliasOption.REQUIRED));if(0===e.length)throw new Error("Expected expression");return e.some((e=>e.has_reducers()))?new M.default(e):new Y.default(e)}parseUnwind(){if(!this.token.isUnwind())return null;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=this.parseExpression();if(null===e)throw new Error("Expected expression");if(!i.default.isInstanceOfAny(e.firstChild(),[v.default,k.default,A.default,m.default,y.default]))throw new Error("Expected array, function, reference, or lookup.");this.expectAndSkipWhitespaceAndComments();const t=this.parseAlias();if(null===t)throw new Error("Expected alias");e.setAlias(t.getAlias());const r=new F.default(e);return this.variables.set(t.getAlias(),r),r}parseReturn(){if(!this.token.isReturn())return null;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=Array.from(this.parseExpressions(u.AliasOption.OPTIONAL));if(0===e.length)throw new Error("Expected expression");return e.some((e=>e.has_reducers()))?new D.default(e):(this._returns++,new j.default(e))}parseWhere(){if(!this.token.isWhere())return null;this.expectPreviousTokenToBeWhitespaceOrComment(),this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=this.parseExpression();if(null===e)throw new Error("Expected expression");if(i.default.isInstanceOfAny(e.firstChild(),[v.default,_.default]))throw new Error("Expected an expression which can be evaluated to a boolean");return new U.default(e)}parseLoad(){if(!this.token.isLoad())return null;const e=new W.default;if(this.setNextToken(),this.expectAndSkipWhitespaceAndComments(),!(this.token.isJSON()||this.token.isCSV()||this.token.isText()))throw new Error("Expected JSON, CSV, or TEXT");if(e.addChild(this.token.node),this.setNextToken(),this.expectAndSkipWhitespaceAndComments(),!this.token.isFrom())throw new Error("Expected FROM");this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const t=new c.default;e.addChild(t);const r=this.parseAsyncFunction();if(null!==r)t.addChild(r);else{const e=this.parseExpression();if(null===e)throw new Error("Expected expression or async function");t.addChild(e)}if(this.expectAndSkipWhitespaceAndComments(),this.token.isHeaders()){const t=new d.default;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const r=this.parseExpression();if(null===r)throw new Error("Expected expression");t.addChild(r),e.addChild(t),this.expectAndSkipWhitespaceAndComments()}if(this.token.isPost()){const t=new f.default;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const r=this.parseExpression();if(null===r)throw new Error("Expected expression");t.addChild(r),e.addChild(t),this.expectAndSkipWhitespaceAndComments()}const n=this.parseAlias();if(null===n)throw new Error("Expected alias");return e.addChild(n),this.variables.set(n.getAlias(),e),e}parseCall(){if(!this.token.isCall())return null;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=this.parseAsyncFunction();if(null===e)throw new Error("Expected async function");const t=new I.default;if(t.function=e,this.skipWhitespaceAndComments(),this.token.isYield()){this.expectPreviousTokenToBeWhitespaceOrComment(),this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=Array.from(this.parseExpressions(u.AliasOption.OPTIONAL));if(0===e.length)throw new Error("Expected at least one expression");t.yielded=e}return t}parseLimit(){if(this.skipWhitespaceAndComments(),!this.token.isLimit())return null;if(this.expectPreviousTokenToBeWhitespaceOrComment(),this.setNextToken(),this.expectAndSkipWhitespaceAndComments(),!this.token.isNumber())throw new Error("Expected number");const e=new L.default(parseInt(this.token.value||"0"));return this.setNextToken(),e}*parseExpressions(e=u.AliasOption.NOT_ALLOWED){for(;;){const t=this.parseExpression();if(null===t)break;{const r=this.parseAlias();if(t.firstChild()instanceof A.default&&null===r){const e=t.firstChild();t.setAlias(e.identifier),this.variables.set(e.identifier,t)}else{if(!(e!==u.AliasOption.REQUIRED||null!==r||t.firstChild()instanceof A.default))throw new Error("Alias required");if(e===u.AliasOption.NOT_ALLOWED&&null!==r)throw new Error("Alias not allowed");[u.AliasOption.OPTIONAL,u.AliasOption.REQUIRED].includes(e)&&null!==r&&(t.setAlias(r.getAlias()),this.variables.set(r.getAlias(),t))}yield t}if(this.skipWhitespaceAndComments(),!this.token.isComma())break;this.setNextToken()}}parseExpression(){var e,t;const r=new g.default;for(;;){if(this.skipWhitespaceAndComments(),this.token.isIdentifier()&&!(null===(e=this.peek())||void 0===e?void 0:e.isLeftParenthesis())){const e=this.token.value||"",t=new A.default(e,this.variables.get(e));this.setNextToken();const n=this.parseLookup(t);r.addNode(n)}else if(this.token.isIdentifier()&&(null===(t=this.peek())||void 0===t?void 0:t.isLeftParenthesis())){const e=this.parsePredicateFunction()||this.parseFunction();if(null!==e){const t=this.parseLookup(e);r.addNode(t)}}else if(this.token.isOperand())r.addNode(this.token.node),this.setNextToken();else if(this.token.isFString()){const e=this.parseFString();if(null===e)throw new Error("Expected f-string");r.addNode(e)}else if(this.token.isLeftParenthesis()){this.setNextToken();const e=this.parseExpression();if(null===e)throw new Error("Expected expression");if(!this.token.isRightParenthesis())throw new Error("Expected right parenthesis");this.setNextToken();const t=this.parseLookup(e);r.addNode(t)}else if(this.token.isOpeningBrace()||this.token.isOpeningBracket()){const e=this.parseJSON();if(null===e)throw new Error("Expected JSON object");const t=this.parseLookup(e);r.addNode(t)}else if(this.token.isCase()){const e=this.parseCase();if(null===e)throw new Error("Expected CASE statement");r.addNode(e)}else{if(!this.token.isNot()){if(r.nodesAdded())throw new Error("Expected operand or left parenthesis");break}{const e=new x.Not;this.setNextToken();const t=this.parseExpression();if(null===t)throw new Error("Expected expression");e.addChild(t),r.addNode(e)}}if(this.skipWhitespaceAndComments(),!this.token.isOperator())break;r.addNode(this.token.node),this.setNextToken()}return r.nodesAdded()?(r.finish(),r):null}parseLookup(e){let t=e,r=null;for(;;){if(this.token.isDot()){if(this.setNextToken(),!this.token.isIdentifier()&&!this.token.isKeyword())throw new Error("Expected identifier");r=new m.default,r.index=new O.default(this.token.value||""),r.variable=t,this.setNextToken()}else{if(!this.token.isOpeningBracket())break;{this.setNextToken(),this.skipWhitespaceAndComments();const e=this.parseExpression();let n=null;if(this.skipWhitespaceAndComments(),this.token.isColon())this.setNextToken(),this.skipWhitespaceAndComments(),r=new y.default,n=this.parseExpression();else{if(null===e)throw new Error("Expected expression");r=new m.default}if(this.skipWhitespaceAndComments(),!this.token.isClosingBracket())throw new Error("Expected closing bracket");this.setNextToken(),r instanceof y.default?(r.from=e||new h.default,r.to=n||new h.default):r instanceof m.default&&null!==e&&(r.index=e),r.variable=t}}t=r||t}return t}parseCase(){if(!this.token.isCase())return null;this.setNextToken();const e=new N.default;let t=0;for(this.expectAndSkipWhitespaceAndComments();;){const r=this.parseWhen();if(null===r&&0===t)throw new Error("Expected WHEN");if(null===r&&t>0)break;null!==r&&e.addChild(r),this.expectAndSkipWhitespaceAndComments();const n=this.parseThen();if(null===n)throw new Error("Expected THEN");e.addChild(n),this.expectAndSkipWhitespaceAndComments(),t++}const r=this.parseElse();if(null===r)throw new Error("Expected ELSE");if(e.addChild(r),this.expectAndSkipWhitespaceAndComments(),!this.token.isEnd())throw new Error("Expected END");return this.setNextToken(),e}parseWhen(){if(!this.token.isWhen())return null;this.setNextToken();const e=new P.default;this.expectAndSkipWhitespaceAndComments();const t=this.parseExpression();if(null===t)throw new Error("Expected expression");return e.addChild(t),e}parseThen(){if(!this.token.isThen())return null;this.setNextToken();const e=new b.default;this.expectAndSkipWhitespaceAndComments();const t=this.parseExpression();if(null===t)throw new Error("Expected expression");return e.addChild(t),e}parseElse(){if(!this.token.isElse())return null;this.setNextToken();const e=new S.default;this.expectAndSkipWhitespaceAndComments();const t=this.parseExpression();if(null===t)throw new Error("Expected expression");return e.addChild(t),e}parseAlias(){if(this.skipWhitespaceAndComments(),!this.token.isAs())return null;if(this.expectPreviousTokenToBeWhitespaceOrComment(),this.setNextToken(),this.expectAndSkipWhitespaceAndComments(),!this.token.isIdentifier()&&!this.token.isKeyword()||null===this.token.value)throw new Error("Expected identifier");const e=new o.default(this.token.value||"");return this.setNextToken(),e}parseFunction(){var e;if(!this.token.isIdentifier())return null;if(null===this.token.value)throw new Error("Expected identifier");if(!(null===(e=this.peek())||void 0===e?void 0:e.isLeftParenthesis()))return null;const t=C.default.create(this.token.value);if(t instanceof T.default&&this.context.containsType(T.default))throw new Error("Aggregate functions cannot be nested");if(this.context.push(t),this.setNextToken(),this.setNextToken(),this.skipWhitespaceAndComments(),this.token.isDistinct()&&(t.distinct=!0,this.setNextToken(),this.expectAndSkipWhitespaceAndComments()),t.parameters=Array.from(this.parseExpressions(u.AliasOption.NOT_ALLOWED)),this.skipWhitespaceAndComments(),!this.token.isRightParenthesis())throw new Error("Expected right parenthesis");return this.setNextToken(),this.context.pop(),t}parseAsyncFunction(){var e;if(!this.token.isIdentifier())return null;if(null===this.token.value)return null;if(!C.default.isAsyncProvider(this.token.value))return null;if(!(null===(e=this.peek())||void 0===e?void 0:e.isLeftParenthesis()))return null;const t=C.default.createAsync(this.token.value);if(this.setNextToken(),this.setNextToken(),this.skipWhitespaceAndComments(),t.parameters=Array.from(this.parseExpressions(u.AliasOption.NOT_ALLOWED)),this.skipWhitespaceAndComments(),!this.token.isRightParenthesis())throw new Error("Expected right parenthesis");return this.setNextToken(),t}parsePredicateFunction(){if(!this.ahead([s.default.IDENTIFIER(""),s.default.LEFT_PARENTHESIS,s.default.IDENTIFIER(""),s.default.IN]))return null;if(null===this.token.value)throw new Error("Expected identifier");const e=C.default.createPredicate(this.token.value);if(this.setNextToken(),!this.token.isLeftParenthesis())throw new Error("Expected left parenthesis");if(this.setNextToken(),this.skipWhitespaceAndComments(),!this.token.isIdentifier())throw new Error("Expected identifier");const t=new A.default(this.token.value);if(this.variables.set(t.identifier,t),e.addChild(t),this.setNextToken(),this.expectAndSkipWhitespaceAndComments(),!this.token.isIn())throw new Error("Expected IN");this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const r=this.parseExpression();if(null===r)throw new Error("Expected expression");if(!i.default.isInstanceOfAny(r.firstChild(),[v.default,A.default,m.default,k.default]))throw new Error("Expected array or reference");if(e.addChild(r),this.skipWhitespaceAndComments(),!this.token.isPipe())throw new Error("Expected pipe");this.setNextToken();const n=this.parseExpression();if(null===n)throw new Error("Expected expression");e.addChild(n);const o=this.parseWhere();if(null!==o&&e.addChild(o),this.skipWhitespaceAndComments(),!this.token.isRightParenthesis())throw new Error("Expected right parenthesis");return this.setNextToken(),this.variables.delete(t.identifier),e}parseFString(){if(!this.token.isFString())return null;const e=new w.default;for(;this.token.isFString()&&(null!==this.token.value&&e.addChild(new R.default(this.token.value)),this.setNextToken(),this.token.isOpeningBrace());){this.setNextToken();const t=this.parseExpression();if(null===t)throw new Error("Expected expression");if(e.addChild(t),!this.token.isClosingBrace())throw new Error("Expected closing brace");this.setNextToken()}return e}parseJSON(){if(this.token.isOpeningBrace()){const e=this.parseAssociativeArray();if(null===e)throw new Error("Expected associative array");return e}if(this.token.isOpeningBracket()){const e=this.parseJSONArray();if(null===e)throw new Error("Expected JSON array");return e}throw new Error("Expected opening brace or bracket")}parseAssociativeArray(){if(!this.token.isOpeningBrace())return null;const e=new _.default;for(this.setNextToken();this.skipWhitespaceAndComments(),!this.token.isClosingBrace();){if(!this.token.isIdentifier()&&!this.token.isKeyword())throw new Error("Expected identifier");const t=this.token.value;if(null===t)throw new Error("Expected string");if(this.setNextToken(),this.skipWhitespaceAndComments(),!this.token.isColon())throw new Error("Expected colon");this.setNextToken(),this.skipWhitespaceAndComments();const r=this.parseExpression();if(null===r)throw new Error("Expected expression");e.addKeyValue(new E.default(t,r)),this.skipWhitespaceAndComments(),this.token.isComma()&&this.setNextToken()}return this.setNextToken(),e}parseJSONArray(){if(!this.token.isOpeningBracket())return null;const e=new v.default;for(this.setNextToken();this.skipWhitespaceAndComments(),!this.token.isClosingBracket();){const t=this.parseExpression();if(null===t)throw new Error("Expected expression");e.addValue(t),this.skipWhitespaceAndComments(),this.token.isComma()&&this.setNextToken()}return this.setNextToken(),e}expectAndSkipWhitespaceAndComments(){if(!this.skipWhitespaceAndComments())throw new Error("Expected whitespace or comment")}skipWhitespaceAndComments(){let e=this.previousToken.isWhitespaceOrComment();for(;this.token.isWhitespace()||this.token.isComment();)this.setNextToken(),e=!0;return e}expectPreviousTokenToBeWhitespaceOrComment(){if(!this.previousToken.isWhitespaceOrComment())throw new Error("Expected whitespace or comment")}}t.default=H},8595:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(1542)),i=n(r(3840)),o=n(r(5956)),u=n(r(8587)),a=n(r(2457)),l=n(r(5196)),c=n(r(3818)),d=r(4783),h=n(r(3198)),f=n(r(3501)),p=n(r(6263)),_=n(r(6667)),v=n(r(1740));t.default=class{static convert(e){if(e.isNumber()){if(null===e.value)throw new Error("Number token has no value");return new c.default(e.value)}if(e.isString()){if(null===e.value)throw new Error("String token has no value");return new h.default(e.value)}if(e.isIdentifier()){if(null===e.value)throw new Error("Identifier token has no value");return new l.default(e.value)}if(e.isOperator()){if(e.isAdd())return new d.Add;if(e.isSubtract())return new d.Subtract;if(e.isMultiply())return new d.Multiply;if(e.isDivide())return new d.Divide;if(e.isModulo())return new d.Modulo;if(e.isExponent())return new d.Power;if(e.isEquals())return new d.Equals;if(e.isLessThan())return new d.LessThan;if(e.isGreaterThan())return new d.GreaterThan;if(e.isGreaterThanOrEqual())return new d.GreaterThanOrEqual;if(e.isLessThanOrEqual())return new d.LessThanOrEqual;if(e.isAnd())return new d.And;if(e.isOr())return new d.Or;if(e.isIs())return new d.Is}else if(e.isUnaryOperator()){if(e.isNot())return new d.Not}else{if(!e.isKeyword())throw new Error("Unknown token");if(e.isJSON())return new o.default;if(e.isCSV())return new i.default;if(e.isText())return new a.default;if(e.isWhen())return new v.default;if(e.isThen())return new _.default;if(e.isElse())return new f.default;if(e.isEnd())return new p.default;if(e.isNull())return new u.default}return new s.default}}},7825:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.RETURN="RETURN",e.MATCH="MATCH",e.WHERE="WHERE",e.CREATE="CREATE",e.MERGE="MERGE",e.DELETE="DELETE",e.DETACH="DETACH",e.SET="SET",e.REMOVE="REMOVE",e.FOREACH="FOREACH",e.WITH="WITH",e.CALL="CALL",e.YIELD="YIELD",e.LOAD="LOAD",e.HEADERS="HEADERS",e.POST="POST",e.FROM="FROM",e.CSV="CSV",e.JSON="JSON",e.TEXT="TEXT",e.AS="AS",e.UNWIND="UNWIND",e.SUM="SUM",e.COLLECT="COLLECT",e.DISTINCT="DISTINCT",e.ORDER="ORDER",e.BY="BY",e.ASC="ASC",e.DESC="DESC",e.SKIP="SKIP",e.LIMIT="LIMIT",e.EOF="EOF",e.CASE="CASE",e.WHEN="WHEN",e.THEN="THEN",e.ELSE="ELSE",e.END="END",e.NULL="NULL",e.IN="IN"}(r||(r={})),t.default=r},2008:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ADD="+",e.SUBTRACT="-",e.MULTIPLY="*",e.DIVIDE="/",e.MODULO="%",e.EXPONENT="^",e.EQUALS="=",e.NOT_EQUALS="<>",e.LESS_THAN="<",e.LESS_THAN_OR_EQUAL="<=",e.GREATER_THAN=">",e.GREATER_THAN_OR_EQUAL=">=",e.IS="IS",e.AND="AND",e.OR="OR",e.NOT="NOT",e.IN="IN",e.PIPE="|"}(r||(r={})),t.default=r},178:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(6519));t.default=class{constructor(e){this.text=e,this._position=0}get position(){return this._position}get currentChar(){return this.text[this.position]}get nextChar(){return this.text[this.position+1]}get previousChar(){return this.text[this.position-1]}get isAtEnd(){return this.position>=this.text.length}getString(e){return this.text.substring(e,this.position)}getRemainingString(){return this.text.substring(this.position)}checkForSingleComment(){if(this.singleLineCommentStart()){for(;!this.isAtEnd&&!this.newLine();)this._position++;return!0}return!1}checkForMultiLineComment(){if(this.multiLineCommentStart()){for(;!this.isAtEnd;){if(this.multiLineCommentEnd())return this._position+=2,!0;this._position++}throw new Error(`Unterminated multi-line comment at position ${this.position}`)}return!1}singleLineCommentStart(){return"/"===this.currentChar&&"/"===this.nextChar}multiLineCommentStart(){return"/"===this.currentChar&&"*"===this.nextChar}multiLineCommentEnd(){return"*"===this.currentChar&&"/"===this.nextChar}newLine(){return"\n"===this.currentChar}escaped(e){return"\\"===this.currentChar&&this.nextChar===e}escapedBrace(){return"{"===this.currentChar&&"{"===this.nextChar||"}"===this.currentChar&&"}"===this.nextChar}openingBrace(){return"{"===this.currentChar}closingBrace(){return"}"===this.currentChar}checkForUnderScore(){const e="_"===this.currentChar;return e&&this._position++,e}checkForLetter(){const e=s.default.letters.includes(this.currentChar.toLowerCase());return e&&this._position++,e}checkForDigit(){const e=s.default.digits.includes(this.currentChar);return e&&this._position++,e}checkForQuote(){const e=this.currentChar;return'"'===e||"'"===e||"`"===e?(this._position++,e):null}checkForString(e){const t=this.text.substring(this.position,this.position+e.length).toLowerCase()===e.toLowerCase();return t&&(this._position+=e.length),t}checkForWhitespace(){return s.default.whitespace.includes(this.currentChar)}checkForFStringStart(){return"f"===this.currentChar.toLowerCase()&&["'",'"',"`"].includes(this.nextChar)}moveNext(){this._position++}moveBy(e){this._position+=e}movePrevious(){this._position--}is_word(e){return null!==e&&this.text.substring(this.position,this.position+e.length)===e}word_continuation(e){const t=this.text[this.position+e.length];return s.default.word_valid_chars.includes(t)}}},4020:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.LEFT_PARENTHESIS="(",e.RIGHT_PARENTHESIS=")",e.COMMA=",",e.DOT=".",e.COLON=":",e.WHITESPACE="",e.OPENING_BRACE="{",e.CLOSING_BRACE="}",e.OPENING_BRACKET="[",e.CLOSING_BRACKET="]",e.BACKTICK="`"}(r||(r={})),t.default=r},7847:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(8595)),i=n(r(6519)),o=n(r(7825)),u=n(r(2008)),a=n(r(4020)),l=n(r(8898));class c{constructor(e,t=null){this._position=-1,this._case_sensitive_value=null,this._can_be_identifier=!1,this._type=e,this._value=t,this._can_be_identifier=i.default.can_be_identifier(t||"")}equals(e){return this._type===l.default.IDENTIFIER&&e.type===l.default.IDENTIFIER||this._type===e.type&&this._value===e.value}set position(e){this._position=e}get position(){return this._position}get type(){return this._type}get value(){return this._case_sensitive_value||this._value}set case_sensitive_value(e){this._case_sensitive_value=e}get can_be_identifier(){return this._can_be_identifier}get node(){return s.default.convert(this)}toString(){return`${this._type} ${this._value}`}static COMMENT(e){return new c(l.default.COMMENT,e)}isComment(){return this._type===l.default.COMMENT}static IDENTIFIER(e){return new c(l.default.IDENTIFIER,e)}isIdentifier(){return this._type===l.default.IDENTIFIER||this._type===l.default.BACKTICK_STRING}static STRING(e,t='"'){const r=i.default.unquote(e),n=i.default.removeEscapedQuotes(r,t);return new c(l.default.STRING,n)}isString(){return this._type===l.default.STRING||this._type===l.default.BACKTICK_STRING}static BACKTICK_STRING(e,t='"'){const r=i.default.unquote(e),n=i.default.removeEscapedQuotes(r,t);return new c(l.default.BACKTICK_STRING,n)}static F_STRING(e,t='"'){const r=i.default.unquote(e),n=i.default.removeEscapedQuotes(r,t),s=i.default.removeEscapedBraces(n);return new c(l.default.F_STRING,s)}isFString(){return this._type===l.default.F_STRING}static NUMBER(e){return new c(l.default.NUMBER,e)}isNumber(){return this._type===l.default.NUMBER}static get LEFT_PARENTHESIS(){return new c(l.default.SYMBOL,a.default.LEFT_PARENTHESIS)}isLeftParenthesis(){return this._type===l.default.SYMBOL&&this._value===a.default.LEFT_PARENTHESIS}static get RIGHT_PARENTHESIS(){return new c(l.default.SYMBOL,a.default.RIGHT_PARENTHESIS)}isRightParenthesis(){return this._type===l.default.SYMBOL&&this._value===a.default.RIGHT_PARENTHESIS}static get COMMA(){return new c(l.default.SYMBOL,a.default.COMMA)}isComma(){return this._type===l.default.SYMBOL&&this._value===a.default.COMMA}static get DOT(){return new c(l.default.SYMBOL,a.default.DOT)}isDot(){return this._type===l.default.SYMBOL&&this._value===a.default.DOT}static get COLON(){return new c(l.default.SYMBOL,a.default.COLON)}isColon(){return this._type===l.default.SYMBOL&&this._value===a.default.COLON}static get OPENING_BRACE(){return new c(l.default.SYMBOL,a.default.OPENING_BRACE)}isOpeningBrace(){return this._type===l.default.SYMBOL&&this._value===a.default.OPENING_BRACE}static get CLOSING_BRACE(){return new c(l.default.SYMBOL,a.default.CLOSING_BRACE)}isClosingBrace(){return this._type===l.default.SYMBOL&&this._value===a.default.CLOSING_BRACE}static get OPENING_BRACKET(){return new c(l.default.SYMBOL,a.default.OPENING_BRACKET)}isOpeningBracket(){return this._type===l.default.SYMBOL&&this._value===a.default.OPENING_BRACKET}static get CLOSING_BRACKET(){return new c(l.default.SYMBOL,a.default.CLOSING_BRACKET)}isClosingBracket(){return this._type===l.default.SYMBOL&&this._value===a.default.CLOSING_BRACKET}static get WHITESPACE(){return new c(l.default.WHITESPACE)}isWhitespace(){return this._type===l.default.WHITESPACE}isOperator(){return this._type===l.default.OPERATOR}isUnaryOperator(){return this._type===l.default.UNARY_OPERATOR}static get ADD(){return new c(l.default.OPERATOR,u.default.ADD)}isAdd(){return this._type===l.default.OPERATOR&&this._value===u.default.ADD}static get SUBTRACT(){return new c(l.default.OPERATOR,u.default.SUBTRACT)}isSubtract(){return this._type===l.default.OPERATOR&&this._value===u.default.SUBTRACT}isNegation(){return this.isSubtract()}static get MULTIPLY(){return new c(l.default.OPERATOR,u.default.MULTIPLY)}isMultiply(){return this._type===l.default.OPERATOR&&this._value===u.default.MULTIPLY}static get DIVIDE(){return new c(l.default.OPERATOR,u.default.DIVIDE)}isDivide(){return this._type===l.default.OPERATOR&&this._value===u.default.DIVIDE}static get EXPONENT(){return new c(l.default.OPERATOR,u.default.EXPONENT)}isExponent(){return this._type===l.default.OPERATOR&&this._value===u.default.EXPONENT}static get MODULO(){return new c(l.default.OPERATOR,u.default.MODULO)}isModulo(){return this._type===l.default.OPERATOR&&this._value===u.default.MODULO}static get EQUALS(){return new c(l.default.OPERATOR,u.default.EQUALS)}isEquals(){return this._type===l.default.OPERATOR&&this._value===u.default.EQUALS}static get NOT_EQUALS(){return new c(l.default.OPERATOR,u.default.NOT_EQUALS)}isNotEquals(){return this._type===l.default.OPERATOR&&this._value===u.default.NOT_EQUALS}static get LESS_THAN(){return new c(l.default.OPERATOR,u.default.LESS_THAN)}isLessThan(){return this._type===l.default.OPERATOR&&this._value===u.default.LESS_THAN}static get LESS_THAN_OR_EQUAL(){return new c(l.default.OPERATOR,u.default.LESS_THAN_OR_EQUAL)}isLessThanOrEqual(){return this._type===l.default.OPERATOR&&this._value===u.default.LESS_THAN_OR_EQUAL}static get GREATER_THAN(){return new c(l.default.OPERATOR,u.default.GREATER_THAN)}isGreaterThan(){return this._type===l.default.OPERATOR&&this._value===u.default.GREATER_THAN}static get GREATER_THAN_OR_EQUAL(){return new c(l.default.OPERATOR,u.default.GREATER_THAN_OR_EQUAL)}isGreaterThanOrEqual(){return this._type===l.default.OPERATOR&&this._value===u.default.GREATER_THAN_OR_EQUAL}static get AND(){return new c(l.default.OPERATOR,u.default.AND)}isAnd(){return this._type===l.default.OPERATOR&&this._value===u.default.AND}static get OR(){return new c(l.default.OPERATOR,u.default.OR)}isOr(){return this._type===l.default.OPERATOR&&this._value===u.default.OR}static get NOT(){return new c(l.default.UNARY_OPERATOR,u.default.NOT)}isNot(){return this._type===l.default.UNARY_OPERATOR&&this._value===u.default.NOT}static get IS(){return new c(l.default.OPERATOR,u.default.IS)}isIs(){return this._type===l.default.OPERATOR&&this._value===u.default.IS}isKeyword(){return this._type===l.default.KEYWORD}static get WITH(){return new c(l.default.KEYWORD,o.default.WITH)}isWith(){return this._type===l.default.KEYWORD&&this._value===o.default.WITH}static get RETURN(){return new c(l.default.KEYWORD,o.default.RETURN)}isReturn(){return this._type===l.default.KEYWORD&&this._value===o.default.RETURN}static get LOAD(){return new c(l.default.KEYWORD,o.default.LOAD)}isLoad(){return this._type===l.default.KEYWORD&&this._value===o.default.LOAD}static get CALL(){return new c(l.default.KEYWORD,o.default.CALL)}isCall(){return this._type===l.default.KEYWORD&&this._value===o.default.CALL}static get YIELD(){return new c(l.default.KEYWORD,o.default.YIELD)}isYield(){return this._type===l.default.KEYWORD&&this._value===o.default.YIELD}static get JSON(){return new c(l.default.KEYWORD,o.default.JSON)}isJSON(){return this._type===l.default.KEYWORD&&this._value===o.default.JSON}static get CSV(){return new c(l.default.KEYWORD,o.default.CSV)}isCSV(){return this._type===l.default.KEYWORD&&this._value===o.default.CSV}static get TEXT(){return new c(l.default.KEYWORD,o.default.TEXT)}isText(){return this._type===l.default.KEYWORD&&this._value===o.default.TEXT}static get FROM(){return new c(l.default.KEYWORD,o.default.FROM)}isFrom(){return this._type===l.default.KEYWORD&&this._value===o.default.FROM}static get HEADERS(){return new c(l.default.KEYWORD,o.default.HEADERS)}isHeaders(){return this._type===l.default.KEYWORD&&this._value===o.default.HEADERS}static get POST(){return new c(l.default.KEYWORD,o.default.POST)}isPost(){return this._type===l.default.KEYWORD&&this._value===o.default.POST}static get UNWIND(){return new c(l.default.KEYWORD,o.default.UNWIND)}isUnwind(){return this._type===l.default.KEYWORD&&this._value===o.default.UNWIND}static get MATCH(){return new c(l.default.KEYWORD,o.default.MATCH)}isMatch(){return this._type===l.default.KEYWORD&&this._value===o.default.MATCH}static get AS(){return new c(l.default.KEYWORD,o.default.AS)}isAs(){return this._type===l.default.KEYWORD&&this._value===o.default.AS}static get WHERE(){return new c(l.default.KEYWORD,o.default.WHERE)}isWhere(){return this._type===l.default.KEYWORD&&this._value===o.default.WHERE}static get MERGE(){return new c(l.default.KEYWORD,o.default.MERGE)}isMerge(){return this._type===l.default.KEYWORD&&this._value===o.default.MERGE}static get CREATE(){return new c(l.default.KEYWORD,o.default.CREATE)}isCreate(){return this._type===l.default.KEYWORD&&this._value===o.default.CREATE}static get DELETE(){return new c(l.default.KEYWORD,o.default.DELETE)}isDelete(){return this._type===l.default.KEYWORD&&this._value===o.default.DELETE}static get SET(){return new c(l.default.KEYWORD,o.default.SET)}isSet(){return this._type===l.default.KEYWORD&&this._value===o.default.SET}static get REMOVE(){return new c(l.default.KEYWORD,o.default.REMOVE)}isRemove(){return this._type===l.default.KEYWORD&&this._value===o.default.REMOVE}static get CASE(){return new c(l.default.KEYWORD,o.default.CASE)}isCase(){return this._type===l.default.KEYWORD&&this._value===o.default.CASE}static get WHEN(){return new c(l.default.KEYWORD,o.default.WHEN)}isWhen(){return this._type===l.default.KEYWORD&&this._value===o.default.WHEN}static get THEN(){return new c(l.default.KEYWORD,o.default.THEN)}isThen(){return this._type===l.default.KEYWORD&&this._value===o.default.THEN}static get ELSE(){return new c(l.default.KEYWORD,o.default.ELSE)}isElse(){return this._type===l.default.KEYWORD&&this._value===o.default.ELSE}static get END(){return new c(l.default.KEYWORD,o.default.END)}isEnd(){return this._type===l.default.KEYWORD&&this._value===o.default.END}static get NULL(){return new c(l.default.KEYWORD,o.default.NULL)}isNull(){return this._type===l.default.KEYWORD&&this._value===o.default.NULL}static get IN(){return new c(l.default.KEYWORD,o.default.IN)}isIn(){return this._type===l.default.KEYWORD&&this._value===o.default.IN}static get PIPE(){return new c(l.default.KEYWORD,u.default.PIPE)}isPipe(){return this._type===l.default.KEYWORD&&this._value===u.default.PIPE}static get DISTINCT(){return new c(l.default.KEYWORD,o.default.DISTINCT)}isDistinct(){return this._type===l.default.KEYWORD&&this._value===o.default.DISTINCT}static get LIMIT(){return new c(l.default.KEYWORD,o.default.LIMIT)}isLimit(){return this._type===l.default.KEYWORD&&this._value===o.default.LIMIT}static get EOF(){return new c(l.default.EOF)}isEOF(){return this._type===l.default.EOF}isOperand(){return this.isNumber()||this.isString()||this.isNull()}isWhitespaceOrComment(){return this.isWhitespace()||this.isComment()}isSymbol(){return this._type===l.default.SYMBOL}static method(e){return c[e.toUpperCase()]}}t.default=c},299:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(7847)),i=n(r(8652));t.default=class{constructor(e){this._enum=e,this._trie=new i.default;for(const[t,r]of Object.entries(e)){const e=s.default.method(t);void 0!==e&&null!==e.value&&this._trie.insert(e)}}map(e){return this._trie.find(e)}get last_found(){return this._trie.last_found}}},8898:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.KEYWORD="KEYWORD",e.OPERATOR="OPERATOR",e.UNARY_OPERATOR="UNARY_OPERATOR",e.IDENTIFIER="IDENTIFIER",e.STRING="STRING",e.F_STRING="F-STRING",e.BACKTICK_STRING="BACKTICK_STRING",e.NUMBER="NUMBER",e.SYMBOL="SYMBOL",e.WHITESPACE="WHITESPACE",e.COMMENT="COMMENT",e.EOF="EOF"}(r||(r={})),t.default=r},3479:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(7825)),i=n(r(7847)),o=n(r(178)),u=n(r(6519)),a=n(r(4020)),l=n(r(2008)),c=n(r(299));t.default=class{constructor(e){this.keywords=new c.default(s.default),this.symbols=new c.default(a.default),this.operators=new c.default(l.default),this.walker=new o.default(e)}tokenize(){const e=[];let t=null;for(;!this.walker.isAtEnd;){e.push(...this.f_string()),t=this.getLastNonWhitespaceOrNonCommentToken(e)||t;const r=this.getNextToken(t);if(null===r)throw new Error(`Unrecognized token at position ${this.walker.position}`);r.position=this.walker.position,e.push(r)}return e}getLastNonWhitespaceOrNonCommentToken(e){return 0===e.length||e[e.length-1].isWhitespaceOrComment()?null:e[e.length-1]}getNextToken(e=null){return this.walker.isAtEnd?i.default.EOF:this.comment()||this.whitespace()||this.lookup(this.keywords)||this.lookup(this.operators,e,this.skipMinus)||this.identifier()||this.string()||this.number()||this.lookup(this.symbols)}comment(){const e=this.walker.position;if(this.walker.checkForSingleComment()||this.walker.checkForMultiLineComment()){const t=u.default.uncomment(this.walker.getString(e));return i.default.COMMENT(t)}return null}identifier(){const e=this.walker.position;if(this.walker.checkForUnderScore()||this.walker.checkForLetter()){for(;!this.walker.isAtEnd&&(this.walker.checkForLetter()||this.walker.checkForDigit()||this.walker.checkForUnderScore()););return i.default.IDENTIFIER(this.walker.getString(e))}return null}string(){const e=this.walker.position,t=this.walker.checkForQuote();if(null===t)return null;for(;!this.walker.isAtEnd;)if(this.walker.escaped(t))this.walker.moveNext(),this.walker.moveNext();else{if(this.walker.checkForString(t)){const r=this.walker.getString(e);return t===a.default.BACKTICK?i.default.BACKTICK_STRING(r,t):i.default.STRING(r,t)}this.walker.moveNext()}throw new Error(`Unterminated string at position ${e}`)}*f_string(){if(!this.walker.checkForFStringStart())return;this.walker.moveNext();let e=this.walker.position;const t=this.walker.checkForQuote();if(null!==t)for(;!this.walker.isAtEnd;)if(this.walker.escaped(t)||this.walker.escapedBrace())this.walker.moveNext(),this.walker.moveNext();else{if(this.walker.openingBrace())for(yield i.default.F_STRING(this.walker.getString(e),t),e=this.walker.position,yield i.default.OPENING_BRACE,this.walker.moveNext(),e=this.walker.position;!this.walker.isAtEnd&&!this.walker.closingBrace();){const t=this.getNextToken();if(null===t)break;if(yield t,this.walker.closingBrace()){yield i.default.CLOSING_BRACE,this.walker.moveNext(),e=this.walker.position;break}}if(this.walker.checkForString(t))return void(yield i.default.F_STRING(this.walker.getString(e),t));this.walker.moveNext()}}whitespace(){let e=!1;for(;!this.walker.isAtEnd&&this.walker.checkForWhitespace();)this.walker.moveNext(),e=!0;return e?i.default.WHITESPACE:null}number(){const e=this.walker.position;if(this.walker.checkForString("-")||this.walker.checkForDigit()){for(;!this.walker.isAtEnd&&this.walker.checkForDigit(););if(this.walker.checkForString(a.default.DOT))for(;!this.walker.isAtEnd&&this.walker.checkForDigit(););const t=this.walker.getString(e);return i.default.NUMBER(t)}return null}lookup(e,t=null,r){const n=e.map(this.walker.getRemainingString());return void 0!==n&&null!==n.value?n.can_be_identifier&&this.walker.word_continuation(n.value)||r&&t&&r(t,n)?null:(this.walker.moveBy(n.value.length),null!==e.last_found&&(n.case_sensitive_value=e.last_found),n):null}skipMinus(e,t){return null!==e&&!(!(e.isKeyword()||e.isComma()||e.isColon())||!t.isNegation())}}},8652:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(){this._children=new Map,this._token=void 0}map(e){return this._children.get(e)||this._children.set(e,new r).get(e)}retrieve(e){return this._children.get(e)}set token(e){this._token=e}get token(){return this._token}is_end_of_word(){return void 0!==this._token}no_children(){return 0===this._children.size}}t.default=class{constructor(){this._root=new r,this._max_length=0,this._last_found=null}insert(e){if(null===e.value||0===e.value.length)throw new Error("Token value cannot be null or empty");let t=this._root;for(const r of e.value)t=t.map(r.toLowerCase());e.value.length>this._max_length&&(this._max_length=e.value.length),t.token=e}find(e){if(0===e.length)return;let t,r,n=0;for(this._last_found=null;void 0!==(t=(t||this._root).retrieve(e[n].toLowerCase()))&&(t.is_end_of_word()&&(r=t.token,this._last_found=e.substring(0,n+1)),n++,!(n===e.length||n>this._max_length)););return(null==t?void 0:t.is_end_of_word())&&(r=t.token,this._last_found=e.substring(0,n)),r}get last_found(){return this._last_found}}},3001:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{static isInstanceOfAny(e,t){return t.some((t=>e instanceof t))}}},6519:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class r{static unquote(e){if(0===e.length)return e;if(1===e.length&&r.quotes.includes(e))return"";const t=e[0],n=e[e.length-1];return r.quotes.includes(t)&&t===n?e.substring(1,e.length-1):r.quotes.includes(n)&&t!==n?e.substring(0,e.length-1):r.quotes.includes(t)&&t!==n?e.substring(1):e}static uncomment(e){return e.length<2?e:"/"===e[0]&&"/"===e[1]?e.substring(2):"/"===e[0]&&"*"===e[1]&&"*"===e[e.length-2]&&"/"===e[e.length-1]?e.substring(2,e.length-2):e}static removeEscapedQuotes(e,t){let r="";for(let n=0;n<e.length;n++)"\\"===e[n]&&e[n+1]===t&&n++,r+=e[n];return r}static removeEscapedBraces(e){let t="";for(let r=0;r<e.length;r++)("{"===e[r]&&"{"===e[r+1]||"}"===e[r]&&"}"===e[r+1])&&r++,t+=e[r];return t}static can_be_identifier(e){const t=e.toLowerCase();return 0!==t.length&&!(!r.letters.includes(t[0])&&"_"!==t[0])&&t.split("").every((e=>r.word_valid_chars.includes(e)))}}r.quotes=['"',"'","`"],r.letters="abcdefghijklmnopqrstuvwxyz",r.digits="0123456789",r.whitespace=" \t\n\r",r.word_valid_chars=r.letters+r.digits+"_",t.default=r}},t={},r=function r(n){var s=t[n];if(void 0!==s)return s.exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,r),i.exports}(610);return r.default})()));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.FlowQuery=t():e.FlowQuery=t()}(self,(()=>(()=>{"use strict";var e={7474:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(7056));t.default=class{constructor(e=null,t=null){if((null===e||""===e)&&null===t)throw new Error("Either statement or AST must be provided");const n=null!==t?t:(new s.default).parse(e);this.first=n.firstChild(),this.last=n.lastChild()}run(){return r(this,void 0,void 0,(function*(){return new Promise(((e,t)=>r(this,void 0,void 0,(function*(){try{yield this.first.initialize(),yield this.first.run(),yield this.first.finish(),e()}catch(e){t(e)}}))))}))}get results(){return this.last.results}}},4831:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class n{constructor(e=[]){this._index=-1,this._positions=e}add(e){this._positions.push(e)}get position(){return this._positions[this._index]}reset(){this._index=-1}next(){return this._index<this._positions.length-1&&(this._index++,!0)}clone(){return new n([...this._positions])}}class r{constructor(e){this._index=new Map,this._current=-1,this._index=e}get index(){return this._index}get current(){return this._current}set current(e){this._current=e}}t.default=class{constructor(e=[]){this._records=[],this._layers=new Map,this._records=e,this._layers.set(0,new r(new Map))}_buildIndex(e,t=0){this.layer(t).index.clear(),this._records.forEach(((r,i)=>{r.hasOwnProperty(e)&&(this.layer(t).index.has(r[e])||this.layer(t).index.set(r[e],new n),this.layer(t).index.get(r[e]).add(i))}))}layer(e=0){if(!this._layers.has(e)){const t=this._layers.get(0),n=new Map;for(const[e,r]of t.index)n.set(e,r.clone());this._layers.set(e,new r(n))}return this._layers.get(e)}_find(e,t=0){if(this.layer(t).index.has(e)){const n=this.layer(t).index.get(e);return n.next()?(this.layer(t).current=n.position,!0):(this.layer(t).current=this._records.length,!1)}return this.layer(t).current=this._records.length,!1}reset(){this.layer(0).current=-1;for(const e of this.layer(0).index.values())e.reset()}next(e=0){return this.layer(e).current<this._records.length-1&&(this.layer(e).current++,!0)}current(e=0){return this.layer(e).current<this._records.length?this._records[this.layer(e).current]:null}}},5346:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(4603)),o=i(n(1126)),a=i(n(6025)),u=i(n(6971)),l=i(n(165)),h=i(n(3784));class c{static getInstance(){return c.instance||(c.instance=new c),c.instance}addNode(e,t){if(null===e.label)throw new Error("Node label is null");const n=new a.default(null,e.label);n.statement=t,c.nodes.set(e.label,n)}getNode(e){return c.nodes.get(e.label)||null}addRelationship(e,t){if(null===e.type)throw new Error("Relationship type is null");const n=new u.default(null,e.type);n.statement=t,c.relationships.set(e.type,n)}getRelationship(e){return c.relationships.get(e.type)||null}getData(e){return r(this,void 0,void 0,(function*(){if(e instanceof s.default){const t=this.getNode(e);if(null===t)throw new Error(`Physical node not found for label ${e.label}`);const n=yield t.data();return new o.default(n)}if(e instanceof l.default){const t=this.getRelationship(e);if(null===t)throw new Error(`Physical relationship not found for type ${e.type}`);const n=yield t.data();return new h.default(n)}throw new Error("Element is neither Node nor Relationship")}))}}c.nodes=new Map,c.relationships=new Map,t.default=c},8659:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this._min=0,this._max=1}set min(e){this._min=e}get min(){return this._min}set max(e){this._max=e}get max(){return this._max}multi(){return this._max>1||-1===this._max}}},4603:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(1542));class o extends s.default{constructor(e=null,t=null){super(),this._identifier=null,this._label=null,this._properties=new Map,this._value=null,this._incoming=null,this._outgoing=null,this._data=null,this._todoNext=null,this._identifier=e,this._label=t}set identifier(e){this._identifier=e}get identifier(){return this._identifier}set label(e){this._label=e}get label(){return this._label}get properties(){return this._properties}setProperty(e,t){this._properties.set(e,t)}getProperty(e){return this._properties.get(e)||null}setValue(e){this._value=e}value(){return this._value}set outgoing(e){this._outgoing=e}get outgoing(){return this._outgoing}set incoming(e){this._incoming=e}get incoming(){return this._incoming}setData(e){this._data=e}next(){return r(this,void 0,void 0,(function*(){var e,t,n,r;for(null===(e=this._data)||void 0===e||e.reset();null===(t=this._data)||void 0===t?void 0:t.next();)this.setValue(null===(n=this._data)||void 0===n?void 0:n.current()),yield null===(r=this._outgoing)||void 0===r?void 0:r.find(this._value.id),yield this.runTodoNext()}))}find(e){return r(this,arguments,void 0,(function*(e,t=0){var n,r,i,s,o;for(null===(n=this._data)||void 0===n||n.reset();null===(r=this._data)||void 0===r?void 0:r.find(e,t);)this.setValue(null===(i=this._data)||void 0===i?void 0:i.current(t)),null===(s=this._incoming)||void 0===s||s.setEndNode(this),yield null===(o=this._outgoing)||void 0===o?void 0:o.find(this._value.id,t),yield this.runTodoNext()}))}set todoNext(e){this._todoNext=e}runTodoNext(){return r(this,void 0,void 0,(function*(){this._todoNext&&(yield this._todoNext())}))}}t.default=o},1126:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(4831));class s extends i.default{constructor(e=[]){super(e),super._buildIndex("id")}find(e,t=0){return super._find(e,t)}current(e=0){return super.current(e)}}t.default=s},1381:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(4603));class o extends s.default{constructor(e,t){super(),this._reference=null,this._identifier=e.identifier,this._label=e.label,this._properties=e.properties,this._outgoing=e.outgoing,this._incoming=e.incoming,this._reference=t}get reference(){return this._reference}next(){return r(this,void 0,void 0,(function*(){var e;this.setValue(this._reference.value()),yield null===(e=this._outgoing)||void 0===e?void 0:e.find(this._value.id),yield this.runTodoNext()}))}find(e){return r(this,arguments,void 0,(function*(e,t=0){var n,r;const i=null===(n=this._reference)||void 0===n?void 0:n.value();e===(null==i?void 0:i.id)&&(this.setValue(i),yield null===(r=this._outgoing)||void 0===r?void 0:r.find(this._value.id,t),yield this.runTodoNext())}))}}t.default=o},1365:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(1542)),o=i(n(5346)),a=i(n(4603)),u=i(n(1381)),l=i(n(165)),h=i(n(4407));class c extends s.default{constructor(){super(...arguments),this._identifier=null,this._chain=[]}set identifier(e){this._identifier=e}get identifier(){return this._identifier}addElement(e){if(this._chain.length>0&&this._chain[this._chain.length-1].constructor===e.constructor)throw new Error("Cannot add two consecutive elements of the same type to the graph pattern");if(this._chain.length>0){const t=this._chain[this._chain.length-1];t instanceof a.default&&e instanceof l.default&&(t.outgoing=e,e.source=t),t instanceof l.default&&e instanceof a.default&&(t.target=e,e.incoming=t)}this._chain.push(e)}get chain(){return this._chain}get startNode(){if(0===this._chain.length)throw new Error("Pattern is empty");const e=this._chain[0];if(e instanceof a.default)return e;throw new Error("Pattern does not start with a node")}get endNode(){if(0===this._chain.length)throw new Error("Pattern is empty");const e=this._chain[this._chain.length-1];if(e instanceof a.default)return e;throw new Error("Pattern does not end with a node")}value(){return Array.from(this.values())}*values(){for(const e of this._chain)if(e instanceof a.default)yield e.value();else if(e instanceof l.default){let t=0;for(const n of e.matches)yield n,t<e.matches.length-1&&(yield n.endNode),t++}}fetchData(){return r(this,void 0,void 0,(function*(){const e=o.default.getInstance();for(const t of this._chain){if(t.constructor===u.default||t.constructor===h.default)continue;const n=yield e.getData(t);(t.constructor===a.default||t.constructor===l.default)&&t.setData(n)}}))}}t.default=c},1982:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(1381)),o=i(n(1365));class a extends o.default{constructor(){super(...arguments),this._fetched=!1,this._evaluation=!1}set identifier(e){throw new Error("Cannot set identifier on PatternExpression")}addElement(e){if(0==this._chain.length&&!(e instanceof s.default))throw new Error("PatternExpression must start with a NodeReference");super.addElement(e)}evaluate(){return r(this,void 0,void 0,(function*(){this._evaluation=!1,this.endNode.todoNext=()=>r(this,void 0,void 0,(function*(){this._evaluation=!0})),yield this.startNode.next()}))}value(){return this._evaluation}fetchData(){const e=Object.create(null,{fetchData:{get:()=>super.fetchData}});return r(this,void 0,void 0,(function*(){this._fetched||(yield e.fetchData.call(this),this._fetched=!0)}))}}t.default=a},6572:function(e,t){var n=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e=[]){this._patterns=[],this._patterns=e}get patterns(){return this._patterns}initialize(){return n(this,void 0,void 0,(function*(){let e=null;for(const t of this._patterns)yield t.fetchData(),null!==e&&(e.endNode.todoNext=()=>n(this,void 0,void 0,(function*(){yield t.startNode.next()}))),e=t}))}set toDoNext(e){this._patterns.length>0&&(this._patterns[this._patterns.length-1].endNode.todoNext=e)}traverse(){return n(this,void 0,void 0,(function*(){this._patterns.length>0&&(yield this._patterns[0].startNode.next())}))}}},6025:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(7474)),o=i(n(4603));class a extends o.default{constructor(){super(...arguments),this._statement=null}set statement(e){this._statement=e}get statement(){return this._statement}data(){return r(this,void 0,void 0,(function*(){if(null===this._statement)throw new Error("Statement is null");const e=new s.default(null,this._statement);return yield e.run(),e.results}))}}t.default=a},6971:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(7474)),o=i(n(165));class a extends o.default{constructor(){super(...arguments),this._statement=null}set statement(e){this._statement=e}get statement(){return this._statement}data(){return r(this,void 0,void 0,(function*(){if(null===this._statement)throw new Error("Statement is null");const e=new s.default(null,this._statement);return yield e.run(),e.results}))}}t.default=a},165:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(1542)),o=i(n(8659)),a=i(n(6963));class u extends s.default{constructor(e=null,t=null){super(),this._identifier=null,this._type=null,this._properties=new Map,this._hops=new o.default,this._value=null,this._matches=new a.default,this._source=null,this._target=null,this._data=null,this._identifier=e,this._type=t}set identifier(e){this._identifier=e}get identifier(){return this._identifier}set type(e){this._type=e}get type(){return this._type}get properties(){var e;return(null===(e=this._data)||void 0===e?void 0:e.properties())||{}}setProperty(e,t){this._properties.set(e,t)}getProperty(e){return this._properties.get(e)||null}set hops(e){this._hops=e}get hops(){return this._hops}setValue(e){this._matches.push(e),this._value=this._matches.value()}set source(e){this._source=e}get source(){return this._source}set target(e){this._target=e}get target(){return this._target}value(){return this._value}get matches(){return this._matches.matches}setData(e){this._data=e}getData(){return this._data}setEndNode(e){this._matches.endNode=e}find(e){return r(this,arguments,void 0,(function*(e,t=0){var n,r,i,s;const o=this._source;for(t>0&&(this._source=this._target),0===t&&(null===(n=this._data)||void 0===n||n.reset());null===(r=this._data)||void 0===r?void 0:r.find(e,t);){const e=null===(i=this._data)||void 0===i?void 0:i.current(t);if(t>=this.hops.min){if(this.setValue(this),yield null===(s=this._target)||void 0===s?void 0:s.find(e.right_id,t),this._matches.isCircular())throw new Error("Circular relationship detected");t+1<this.hops.max&&(yield this.find(e.right_id,t+1)),this._matches.pop()}}this._source=o}))}}t.default=u},3784:function(e,t,n){var r=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(4831));class o extends s.default{constructor(e=[]){super(e),super._buildIndex("left_id")}find(e,t=0){return super._find(e,t)}properties(){const e=this.current();if(e){const{left_id:t,right_id:n}=e;return r(e,["left_id","right_id"])}return null}}t.default=o},6963:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this._matches=[],this._nodeIds=[]}push(e){var t;const n={type:e.type,startNode:(null===(t=e.source)||void 0===t?void 0:t.value())||{},endNode:null,properties:e.properties};return this._matches.push(n),this._nodeIds.push(n.startNode.id),n}set endNode(e){this._matches.length>0&&(this._matches[this._matches.length-1].endNode=e.value())}pop(){return this._nodeIds.pop(),this._matches.pop()}value(){return 0===this._matches.length?null:1===this._matches.length?this._matches[0]:this._matches}get matches(){return this._matches}isCircular(){return new Set(this._nodeIds).size<this._nodeIds.length}}},4407:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(165));class o extends s.default{constructor(e,t){super(),this._reference=null,this._identifier=e.identifier,this._type=e.type,this._hops=e.hops,this._source=e.source,this._target=e.target,this._reference=t}find(e){return r(this,arguments,void 0,(function*(e,t=0){var n,r;this.setValue(this._reference);const i=null===(n=this._reference.getData())||void 0===n?void 0:n.current(t);yield null===(r=this._target)||void 0===r?void 0:r.find(i.right_id,t)}))}}t.default=o},610:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(7474)),s=r(n(2312)),o=r(n(5517));i.default.listFunctions=function(e){return s.default.listFunctions(e)},i.default.getFunctionMetadata=function(e){return s.default.getMetadata(e)},i.default.Function=o.default,t.default=i.default},5859:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(e){super(),this.alias=e}toString(){return`Alias (${this.alias})`}getAlias(){return this.alias}value(){return this.alias}}t.default=s},4275:(e,t)=>{var n;Object.defineProperty(t,"__esModule",{value:!0}),t.AliasOption=void 0,function(e){e[e.NOT_ALLOWED=0]="NOT_ALLOWED",e[e.OPTIONAL=1]="OPTIONAL",e[e.REQUIRED=2]="REQUIRED"}(n||(t.AliasOption=n={}))},1542:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this._parent=null,this.children=[]}addChild(e){e._parent=this,this.children.push(e)}firstChild(){if(0===this.children.length)throw new Error("Expected child");return this.children[0]}lastChild(){if(0===this.children.length)throw new Error("Expected child");return this.children[this.children.length-1]}getChildren(){return this.children}childCount(){return this.children.length}value(){return null}isOperator(){return!1}isOperand(){return!this.isOperator()}get precedence(){return 0}get leftAssociative(){return!1}print(){return Array.from(this._print(0)).join("\n")}*_print(e){0===e?yield this.constructor.name:e>0&&(yield"-".repeat(e)+` ${this.toString()}`);for(const t of this.children)yield*t._print(e+1)}toString(){return this.constructor.name}}},3738:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(7847)),s=r(n(3479));t.default=class{constructor(e=null){this.tokens=[],this.tokenIndex=0,null!==e&&(this.tokens=e)}tokenize(e){this.tokens=new s.default(e).tokenize(),this.tokenIndex=0}setNextToken(){this.tokenIndex++}peek(){return this.tokenIndex+1>=this.tokens.length?null:this.tokens[this.tokenIndex+1]}ahead(e,t=!0){let n=0;for(let r=this.tokenIndex;r<this.tokens.length;r++)if(!t||!this.tokens[r].isWhitespaceOrComment()){if(!this.tokens[r].equals(e[n]))return!1;if(n++,n===e.length)break}return n===e.length}get token(){return this.tokenIndex>=this.tokens.length?i.default.EOF:this.tokens[this.tokenIndex]}get previousToken(){return this.tokenIndex-1<0?i.default.EOF:this.tokens[this.tokenIndex-1]}}},3840:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(){super()}}t.default=s},970:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(){super()}value(){return this.children[0].value()}}t.default=s},9798:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(){super()}value(){return this.firstChild().value()||{}}}t.default=s},5956:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(){super()}}t.default=s},8587:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(){super()}}t.default=s},440:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(){super()}}t.default=s},2457:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(){super()}}t.default=s},9056:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.nodes=[]}push(e){this.nodes.push(e)}pop(){return this.nodes.pop()}containsType(e){return this.nodes.some((t=>t instanceof e))}}},122:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{addKeyValue(e){this.addChild(e)}toString(){return"AssociativeArray"}*_value(){for(const e of this.children){const t=e;yield{[t.key]:t._value}}}value(){return Object.assign({},...this._value())}}t.default=s},1363:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{addValue(e){this.addChild(e)}value(){return this.children.map((e=>e.value()))}}t.default=s},2073:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542)),s=r(n(3198));class o extends i.default{constructor(e,t){super(),this.addChild(new s.default(e)),this.addChild(t)}get key(){return this.children[0].value()}get _value(){return this.children[1].value()}toString(){return"KeyValuePair"}}t.default=o},9997:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(){super()}set index(e){this.addChild(e)}get index(){return this.children[0]}set variable(e){this.addChild(e)}get variable(){return this.children[1]}isOperand(){return!0}value(){return this.variable.value()[this.index.value()]}}t.default=s},3399:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(){super()}set from(e){this.addChild(e)}get from(){return this.children[0]}set to(e){this.addChild(e)}get to(){return this.children[1]}set variable(e){this.addChild(e)}get variable(){return this.children[2]}isOperand(){return!0}value(){const e=this.variable.value(),t=this.from.value()||0,n=this.to.value()||e.length;return this.variable.value().slice(t,n)}}t.default=s},3271:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(e){super();const t=e.toUpperCase();if("TRUE"===t)this._value=!0;else{if("FALSE"!==t)throw new Error(`Invalid boolean value: ${e}`);this._value=!1}}value(){return this._value}}t.default=s},3573:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1982)),s=r(n(1542)),o=r(n(5481)),a=r(n(2730));class u extends s.default{constructor(){super(...arguments),this.operators=[],this.output=[],this._alias=null,this._overridden=null,this._reducers=null,this._patterns=null}addNode(e){if(e.isOperand())this.output.push(e);else if(e.isOperator()){const t=e;for(;this.operators.length>0;){let e=this.operators[this.operators.length-1];if(!(e.precedence>t.precedence||e.precedence===t.precedence&&t.leftAssociative))break;this.output.push(e),this.operators.pop()}this.operators.push(t)}}finish(){let e;for(;e=this.operators.pop();)this.output.push(e);this.addChild(this.toTree())}toTree(){const e=this.output.pop()||new s.default;if(e.isOperator()){const t=this.toTree(),n=this.toTree();e.addChild(n),e.addChild(t)}return e}nodesAdded(){return this.operators.length>0||this.output.length>0}value(){if(null!==this._overridden)return this._overridden;if(1!==this.childCount())throw new Error("Expected one child");return this.children[0].value()}setAlias(e){this._alias=e}set alias(e){this._alias=e}get alias(){return this.firstChild()instanceof a.default&&null===this._alias?this.firstChild().identifier:this._alias}toString(){return null!==this._alias?`Expression (${this._alias})`:"Expression"}reducers(){return null===this._reducers&&(this._reducers=[...this._extract(this,o.default)]),this._reducers}patterns(){return null===this._patterns&&(this._patterns=[...this._extract(this,i.default)]),this._patterns}*_extract(e=this,t){e instanceof t&&(yield e);for(const n of e.getChildren())yield*this._extract(n,t)}mappable(){return 0===this.reducers().length}has_reducers(){return this.reducers().length>0}set overridden(e){this._overridden=e}}t.default=u},4484:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this._map=new Map}get(e){return this._map.get(e)}has(e){return this._map.has(e)}set map(e){this._map.clear();for(const t of e)null!=t.alias&&this._map.set(t.alias,t)}}},1153:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{value(){return this.getChildren().map((e=>e.value())).join("")}}t.default=s},5196:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(3198));class s extends i.default{toString(){return`Identifier (${this._value})`}value(){return super.value()}}t.default=s},3818:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(e){super(),-1!==e.indexOf(".")?this._value=parseFloat(e):this._value=parseInt(e)}value(){return this._value}toString(){return`${this.constructor.name} (${this._value})`}}t.default=s},4783:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Is=t.Not=t.Or=t.And=t.LessThanOrEqual=t.GreaterThanOrEqual=t.LessThan=t.GreaterThan=t.NotEquals=t.Equals=t.Power=t.Modulo=t.Divide=t.Multiply=t.Subtract=t.Add=t.Operator=void 0;const i=r(n(1542));class s extends i.default{constructor(e,t){super(),this._precedence=0,this._leftAssociative=!0,this._precedence=e,this._leftAssociative=t}isOperator(){return!0}get precedence(){return this._precedence}get leftAssociative(){return this._leftAssociative}get lhs(){return this.getChildren()[0]}get rhs(){return this.getChildren()[1]}}t.Operator=s,t.Add=class extends s{constructor(){super(1,!0)}value(){return this.lhs.value()+this.rhs.value()}},t.Subtract=class extends s{constructor(){super(1,!0)}value(){return this.lhs.value()-this.rhs.value()}},t.Multiply=class extends s{constructor(){super(2,!0)}value(){return this.lhs.value()*this.rhs.value()}},t.Divide=class extends s{constructor(){super(2,!0)}value(){return this.lhs.value()/this.rhs.value()}},t.Modulo=class extends s{constructor(){super(2,!0)}value(){return this.lhs.value()%this.rhs.value()}},t.Power=class extends s{constructor(){super(3,!1)}value(){return Math.pow(this.lhs.value(),this.rhs.value())}},t.Equals=class extends s{constructor(){super(0,!0)}value(){return this.lhs.value()===this.rhs.value()?1:0}},t.NotEquals=class extends s{constructor(){super(0,!0)}value(){return this.lhs.value()!==this.rhs.value()?1:0}},t.GreaterThan=class extends s{constructor(){super(0,!0)}value(){return this.lhs.value()>this.rhs.value()?1:0}},t.LessThan=class extends s{constructor(){super(0,!0)}value(){return this.lhs.value()<this.rhs.value()?1:0}},t.GreaterThanOrEqual=class extends s{constructor(){super(0,!0)}value(){return this.lhs.value()>=this.rhs.value()?1:0}},t.LessThanOrEqual=class extends s{constructor(){super(0,!0)}value(){return this.lhs.value()<=this.rhs.value()?1:0}},t.And=class extends s{constructor(){super(-1,!0)}value(){return this.lhs.value()&&this.rhs.value()?1:0}},t.Or=class extends s{constructor(){super(-1,!0)}value(){return this.lhs.value()||this.rhs.value()?1:0}},t.Not=class extends s{constructor(){super(0,!0)}isOperator(){return!1}value(){return this.lhs.value()?0:1}},t.Is=class extends s{constructor(){super(-1,!0)}value(){return this.lhs.value()===this.rhs.value()?1:0}}},2730:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(5196));class s extends i.default{constructor(e,t=void 0){super(e),this._referred=void 0,this._referred=t}set referred(e){this._referred=e}toString(){return`Reference (${this._value})`}value(){var e;return null===(e=this._referred)||void 0===e?void 0:e.value()}get identifier(){return this._value}}t.default=s},3198:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(e){super(),this._value=e}value(){return this._value}toString(){return`String (${this._value})`}}t.default=s},5481:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(5517));class s extends i.default{constructor(e){super(e),this._overridden=null}reduce(e){throw new Error("Method not implemented.")}element(){throw new Error("Method not implemented.")}get overridden(){return this._overridden}set overridden(e){this._overridden=e}value(){return this._overridden}}t.default=s},3680:function(e,t,n){var r=this&&this.__await||function(e){return this instanceof r?(this.v=e,this):new r(e)},i=this&&this.__asyncGenerator||function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,s=n.apply(e,t||[]),o=[];return i=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",(function(e){return function(t){return Promise.resolve(t).then(e,h)}})),i[Symbol.asyncIterator]=function(){return this},i;function a(e,t){s[e]&&(i[e]=function(t){return new Promise((function(n,r){o.push([e,t,n,r])>1||u(e,t)}))},t&&(i[e]=t(i[e])))}function u(e,t){try{(n=s[e](t)).value instanceof r?Promise.resolve(n.value.v).then(l,h):c(o[0][2],n)}catch(e){c(o[0][3],e)}var n}function l(e){u("next",e)}function h(e){u("throw",e)}function c(e,t){e(t),o.shift(),o.length&&u(o[0][0],o[0][1])}},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=s(n(5517));class a extends o.default{set parameters(e){this.children=e}getArguments(){return this.children.map((e=>e.value()))}generate(...e){return i(this,arguments,(function*(){throw new Error("Not implemented: generate method must be overridden in subclasses.")}))}}t.default=a},8437:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5481)),o=i(n(1206)),a=n(3437);class u extends o.default{constructor(){super(...arguments),this._count=0,this._sum=null}get value(){return null===this._sum?null:this._sum/this._count}set value(e){this._count+=1,null!==this._sum?this._sum+=e:this._sum=e}}let l=class extends s.default{constructor(){super("avg"),this._expectedParameterCount=1}reduce(e){e.value=this.firstChild().value()}element(){return new u}};l=r([(0,a.FunctionDef)({description:"Calculates the average of numeric values across grouped rows",category:"aggregate",parameters:[{name:"value",description:"Numeric value to average",type:"number"}],output:{description:"Average of all values",type:"number",example:50},examples:["WITH [10, 20, 30] AS nums UNWIND nums AS n RETURN avg(n)"]})],l),t.default=l},1567:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5481)),o=i(n(1206)),a=n(3437);class u extends o.default{constructor(){super(...arguments),this._value=[]}get value(){return this._value}set value(e){this._value.push(e)}}class l extends o.default{constructor(){super(...arguments),this._value=new Map}get value(){return Array.from(this._value.values())}set value(e){const t=JSON.stringify(e);this._value.has(t)||this._value.set(t,e)}}let h=class extends s.default{constructor(){super("collect"),this._distinct=!1,this._expectedParameterCount=1}reduce(e){e.value=this.firstChild().value()}element(){return this._distinct?new l:new u}set distinct(e){this._distinct=e}};h=r([(0,a.FunctionDef)({description:"Collects values into an array across grouped rows",category:"aggregate",parameters:[{name:"value",description:"Value to collect",type:"any"}],output:{description:"Array of collected values",type:"array",example:[1,2,3]},examples:["WITH [1, 2, 3] AS nums UNWIND nums AS n RETURN collect(n)"]})],h),t.default=h},5517:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(e){super(),this._expectedParameterCount=null,this._supports_distinct=!1,this._name=e||this.constructor.name}set parameters(e){if(null!==this._expectedParameterCount&&this._expectedParameterCount!==e.length)throw new Error(`Function ${this._name} expected ${this._expectedParameterCount} parameters, but got ${e.length}`);this.children=e}get name(){return this._name}toString(){return`Function (${this._name})`}set distinct(e){if(!this._supports_distinct)throw new Error(`Function ${this._name} does not support distinct`);this._supports_distinct=e}}t.default=s},2312:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),n(8437),n(1567);const r=n(3437);n(5940),n(197),n(1009),n(2912),n(7514),n(8240),n(2061),n(3605),n(9700),n(6781),n(3700),n(9854),n(8673),n(8749);class i{static getAsyncProvider(e){return(0,r.getRegisteredFunctionFactory)(e.toLowerCase())}static isAsyncProvider(e){return void 0!==(0,r.getRegisteredFunctionFactory)(e.toLowerCase(),"async")}static getMetadata(e){return(0,r.getFunctionMetadata)(e.toLowerCase())}static listFunctions(e){const t=[];for(const n of(0,r.getRegisteredFunctionMetadata)())(null==e?void 0:e.category)&&n.category!==e.category||(null==e?void 0:e.asyncOnly)&&"async"!==n.category||(null==e?void 0:e.syncOnly)&&"async"===n.category||t.push(n);return t}static listFunctionNames(){return(0,r.getRegisteredFunctionMetadata)().map((e=>e.name))}static toJSON(){const e=i.listFunctions(),t=[...new Set(e.map((e=>e.category)).filter(Boolean))];return{functions:e,categories:t}}static create(e){const t=e.toLowerCase(),n=(0,r.getRegisteredFunctionFactory)(t);if(n)return n();throw new Error(`Unknown function: ${e}`)}static createPredicate(e){const t=e.toLowerCase(),n=(0,r.getRegisteredFunctionFactory)(t,"predicate");if(n)return n();throw new Error(`Unknown predicate function: ${e}`)}static createAsync(e){const t=e.toLowerCase(),n=(0,r.getRegisteredFunctionFactory)(t,"async");if(n)return n();throw new Error(`Unknown async function: ${e}`)}}t.default=i},3437:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FunctionDef=function(e){return function(t){return n.register(t,e),t}},t.getRegisteredFunctionMetadata=function(){return n.getAllMetadata()},t.getRegisteredFunctionFactory=function(e,t){return n.getFactory(e,t)},t.getFunctionMetadata=function(e,t){return n.getMetadata(e,t)};class n{static register(e,t){var n;const r=(null===(n=(new e).name)||void 0===n?void 0:n.toLowerCase())||e.name.toLowerCase(),i=t.category?`${r}:${t.category}`:r;this.metadata.set(i,Object.assign({name:r},t)),"predicate"!==t.category&&this.factories.set(r,(()=>new e)),this.factories.set(i,(()=>new e))}static getAllMetadata(){return Array.from(this.metadata.values())}static getMetadata(e,t){const n=e.toLowerCase();if(t)return this.metadata.get(`${n}:${t}`);for(const e of this.metadata.values())if(e.name.toLowerCase()===n)return e}static getFactory(e,t){const n=e.toLowerCase();return t?this.factories.get(`${n}:${t}`):this.factories.get(n)}}n.metadata=new Map,n.factories=new Map},5940:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5517)),o=i(n(2312)),a=n(3437);let u=class extends s.default{constructor(){super("functions"),this._expectedParameterCount=null}value(){const e=this.getChildren();if(0===e.length)return o.default.listFunctions();if(1===e.length){const t=e[0].value();if("string"==typeof t)return o.default.listFunctions({category:t});throw new Error("functions() category parameter must be a string")}throw new Error("functions() takes 0 or 1 parameters")}};u=r([(0,a.FunctionDef)({description:"Lists all registered functions with their metadata. Useful for discovering available functions and their documentation. Results include name, description, parameters, output schema, and usage examples.",category:"scalar",parameters:[{name:"category",description:"Optional category to filter by (e.g., 'aggregation', 'string', 'math')",type:"string",required:!1}],output:{description:"Array of function metadata objects",type:"array",items:{type:"object",properties:{name:{description:"Function name",type:"string"},description:{description:"What the function does",type:"string"},category:{description:"Function category",type:"string"},parameters:{description:"Array of parameter definitions",type:"array"},output:{description:"Output schema",type:"object"},examples:{description:"Usage examples",type:"array"}}}},examples:["WITH functions() AS funcs RETURN funcs","WITH functions('aggregation') AS funcs UNWIND funcs AS f RETURN f.name, f.description"]})],u),t.default=u},197:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5517)),o=i(n(3198)),a=n(3437);let u=class extends s.default{constructor(){super("join"),this._expectedParameterCount=2}set parameters(e){1===e.length&&e.push(new o.default("")),super.parameters=e}value(){const e=this.getChildren()[0].value(),t=this.getChildren()[1].value();if(!Array.isArray(e)||"string"!=typeof t)throw new Error("Invalid arguments for join function");return e.join(t)}};u=r([(0,a.FunctionDef)({description:"Joins an array of strings with a delimiter",category:"scalar",parameters:[{name:"array",description:"Array of values to join",type:"array"},{name:"delimiter",description:"Delimiter to join with",type:"string"}],output:{description:"Joined string",type:"string",example:"a,b,c"},examples:["WITH ['a', 'b', 'c'] AS arr RETURN join(arr, ',')"]})],u),t.default=u},1009:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5517)),o=n(3437);let a=class extends s.default{constructor(){super("keys"),this._expectedParameterCount=1}value(){const e=this.getChildren()[0].value();if(null==e)return[];if("object"!=typeof e||Array.isArray(e))throw new Error("keys() expects an object, not an array or primitive");return Object.keys(e)}};a=r([(0,o.FunctionDef)({description:"Returns the keys of an object (associative array) as an array",category:"scalar",parameters:[{name:"object",description:"Object to extract keys from",type:"object"}],output:{description:"Array of keys",type:"array",example:"['name', 'age']"},examples:["WITH { name: 'Alice', age: 30 } AS obj RETURN keys(obj)"]})],a),t.default=a},8963:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542)),s=r(n(2333));class o extends i.default{constructor(e){super(),this._valueHolder=new s.default,this._name=e||this.constructor.name}get name(){return this._name}get reference(){return this.firstChild()}get array(){return this.getChildren()[1].firstChild()}get _return(){return this.getChildren()[2]}get where(){return 4===this.getChildren().length?this.getChildren()[3]:null}value(){throw new Error("Method not implemented.")}toString(){return`PredicateFunction (${this._name})`}}t.default=o},2912:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(8963)),o=n(3437);let a=class extends s.default{constructor(){super("sum")}value(){this.reference.referred=this._valueHolder;const e=this.array.value();if(null===e||!Array.isArray(e))throw new Error("Invalid array for sum function");let t=null;for(let n=0;n<e.length;n++)this._valueHolder.holder=e[n],(null===this.where||this.where.value())&&(null===t?t=this._return.value():t+=this._return.value());return t}};a=r([(0,o.FunctionDef)({description:"Calculates the sum of values in an array with optional filtering. Uses list comprehension syntax: sum(variable IN array [WHERE condition] | expression)",category:"predicate",parameters:[{name:"variable",description:"Variable name to bind each element",type:"string"},{name:"array",description:"Array to iterate over",type:"array"},{name:"expression",description:"Expression to sum for each element",type:"any"},{name:"where",description:"Optional filter condition",type:"boolean",required:!1}],output:{description:"Sum of the evaluated expressions",type:"number",example:6},examples:["WITH [1, 2, 3] AS nums RETURN sum(n IN nums | n)","WITH [1, 2, 3, 4] AS nums RETURN sum(n IN nums WHERE n > 1 | n * 2)"]})],a),t.default=a},7514:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5517)),o=n(3437);let a=class extends s.default{constructor(){super("rand"),this._expectedParameterCount=0}value(){return Math.random()}};a=r([(0,o.FunctionDef)({description:"Generates a random number between 0 and 1",category:"scalar",parameters:[],output:{description:"Random number between 0 and 1",type:"number",example:.7234},examples:["WITH rand() AS r RETURN r"]})],a),t.default=a},8240:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5517)),o=n(3437);let a=class extends s.default{constructor(){super("range"),this._expectedParameterCount=2}value(){const e=this.getChildren()[0].value(),t=this.getChildren()[1].value();if("number"!=typeof e||"number"!=typeof t)throw new Error("Invalid arguments for range function");return Array.from({length:t-e+1},((t,n)=>e+n))}};a=r([(0,o.FunctionDef)({description:"Generates an array of sequential integers",category:"scalar",parameters:[{name:"start",description:"Starting number (inclusive)",type:"number"},{name:"end",description:"Ending number (inclusive)",type:"number"}],output:{description:"Array of integers from start to end",type:"array",items:{type:"number"},example:[1,2,3,4,5]},examples:["WITH range(1, 5) AS nums RETURN nums"]})],a),t.default=a},1206:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{get value(){throw new Error("Method not implemented.")}set value(e){throw new Error("Method not implemented.")}}},2061:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5517)),o=n(3437);let a=class extends s.default{constructor(){super("replace"),this._expectedParameterCount=3}value(){const e=this.getChildren()[0].value(),t=this.getChildren()[1].value(),n=this.getChildren()[2].value();if("string"!=typeof e||"string"!=typeof t||"string"!=typeof n)throw new Error("Invalid arguments for replace function");return e.replace(new RegExp(t,"g"),n)}};a=r([(0,o.FunctionDef)({description:"Replaces occurrences of a pattern in a string",category:"scalar",parameters:[{name:"text",description:"Source string",type:"string"},{name:"pattern",description:"Pattern to find",type:"string"},{name:"replacement",description:"Replacement string",type:"string"}],output:{description:"String with replacements",type:"string",example:"hello world"},examples:["WITH 'hello there' AS s RETURN replace(s, 'there', 'world')"]})],a),t.default=a},3605:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5517)),o=n(3437);let a=class extends s.default{constructor(){super("round"),this._expectedParameterCount=1}value(){const e=this.getChildren()[0].value();if("number"!=typeof e)throw new Error("Invalid argument for round function");return Math.round(e)}};a=r([(0,o.FunctionDef)({description:"Rounds a number to the nearest integer",category:"scalar",parameters:[{name:"value",description:"Number to round",type:"number"}],output:{description:"Rounded integer",type:"number",example:4},examples:["WITH 3.7 AS n RETURN round(n)"]})],a),t.default=a},9700:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5517)),o=n(3437);let a=class extends s.default{constructor(){super("size"),this._expectedParameterCount=1}value(){const e=this.getChildren()[0].value();if(!Array.isArray(e))throw new Error("Invalid argument for size function");return e.length}};a=r([(0,o.FunctionDef)({description:"Returns the length of an array or string",category:"scalar",parameters:[{name:"value",description:"Array or string to measure",type:"array"}],output:{description:"Length of the input",type:"number",example:3},examples:["WITH [1, 2, 3] AS arr RETURN size(arr)"]})],a),t.default=a},6781:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5517)),o=i(n(3198)),a=n(3437);let u=class extends s.default{constructor(){super("split"),this._expectedParameterCount=2}set parameters(e){1===e.length&&e.push(new o.default("")),super.parameters=e}value(){const e=this.getChildren()[0].value(),t=this.getChildren()[1].value();if("string"!=typeof e||"string"!=typeof t)throw new Error("Invalid arguments for split function");return e.split(t)}};u=r([(0,a.FunctionDef)({description:"Splits a string into an array by a delimiter",category:"scalar",parameters:[{name:"text",description:"String to split",type:"string"},{name:"delimiter",description:"Delimiter to split by",type:"string"}],output:{description:"Array of string parts",type:"array",items:{type:"string"},example:["a","b","c"]},examples:["WITH 'a,b,c' AS s RETURN split(s, ',')"]})],u),t.default=u},3700:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5517)),o=i(n(3818)),a=n(3437);let u=class extends s.default{constructor(){super("stringify"),this._expectedParameterCount=2}set parameters(e){1===e.length&&e.push(new o.default("3")),super.parameters=e}value(){const e=this.getChildren()[0].value(),t=parseInt(this.getChildren()[1].value());if("object"!=typeof e)throw new Error("Invalid argument for stringify function");return JSON.stringify(e,null,t)}};u=r([(0,a.FunctionDef)({description:"Converts a value to its JSON string representation",category:"scalar",parameters:[{name:"value",description:"Value to stringify",type:"any"}],output:{description:"JSON string",type:"string",example:'{"a":1}'},examples:["WITH {a: 1} AS obj RETURN stringify(obj)"]})],u),t.default=u},9854:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5481)),o=i(n(1206)),a=n(3437);class u extends o.default{constructor(){super(...arguments),this._value=null}get value(){return this._value}set value(e){null!==this._value?this._value+=e:this._value=e}}let l=class extends s.default{constructor(){super("sum"),this._expectedParameterCount=1}reduce(e){e.value=this.firstChild().value()}element(){return new u}};l=r([(0,a.FunctionDef)({description:"Calculates the sum of numeric values across grouped rows",category:"aggregate",parameters:[{name:"value",description:"Numeric value to sum",type:"number"}],output:{description:"Sum of all values",type:"number",example:150},examples:["WITH [1, 2, 3] AS nums UNWIND nums AS n RETURN sum(n)"]})],l),t.default=l},8673:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5517)),o=n(3437);let a=class extends s.default{constructor(){super("tojson"),this._expectedParameterCount=1}value(){const e=this.getChildren()[0].value();if("string"!=typeof e)throw new Error("Invalid arguments for tojson function");return JSON.parse(e)}};a=r([(0,o.FunctionDef)({description:"Parses a JSON string into an object",category:"scalar",parameters:[{name:"text",description:"JSON string to parse",type:"string"}],output:{description:"Parsed object or array",type:"object",example:{a:1}},examples:["WITH '{\"a\": 1}' AS s RETURN tojson(s)"]})],a),t.default=a},8749:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5517)),o=n(3437);let a=class extends s.default{constructor(){super("type"),this._expectedParameterCount=1}value(){const e=this.getChildren()[0].value();return null===e?"null":void 0===e?"undefined":Array.isArray(e)?"array":typeof e}};a=r([(0,o.FunctionDef)({description:"Returns the type of a value as a string",category:"scalar",parameters:[{name:"value",description:"Value to check the type of",type:"any"}],output:{description:"Type of the input value",type:"string",example:"string"},examples:["WITH 'hello' AS val RETURN type(val)","WITH 42 AS val RETURN type(val)","WITH [1, 2, 3] AS val RETURN type(val)"]})],a),t.default=a},2333:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{set holder(e){this._holder=e}value(){return this._holder}}t.default=s},6052:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542)),s=r(n(1740));class o extends i.default{constructor(){super()}value(){let e=0,t=this.getChildren()[e];for(;t instanceof s.default;){const n=this.getChildren()[e+1];if(t.value())return n.value();e+=2,t=this.getChildren()[e]}return t.value()}}t.default=o},3501:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(){super()}value(){return this.getChildren()[0].value()}}t.default=s},6263:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(){super()}}t.default=s},6667:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(){super()}value(){return this.getChildren()[0].value()}}t.default=s},1740:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542));class s extends i.default{constructor(){super()}value(){return this.getChildren()[0].value()}}t.default=s},8682:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(7342)),o=i(n(9025));class a extends s.default{constructor(){super(...arguments),this._group_by=new o.default(this.children)}run(){return r(this,void 0,void 0,(function*(){yield this._group_by.run()}))}get results(){return null!==this._where&&(this._group_by.where=this._where),Array.from(this._group_by.generate_results())}}t.default=a},6564:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(7342)),o=i(n(9025));class a extends s.default{constructor(){super(...arguments),this._group_by=new o.default(this.children)}run(){return r(this,void 0,void 0,(function*(){yield this._group_by.run()}))}finish(){const e=Object.create(null,{finish:{get:()=>super.finish}});return r(this,void 0,void 0,(function*(){var t;for(const e of this._group_by.generate_results())yield null===(t=this.next)||void 0===t?void 0:t.run();yield e.finish.call(this)}))}}t.default=a},888:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,i,(t=e[n](t)).done,t.value)}))}}},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=s(n(4484)),a=s(n(505)),u="value";class l extends a.default{constructor(){super([]),this._function=null,this._map=new o.default,this._results=[]}set function(e){this._function=e}get function(){return this._function}set yielded(e){this.children=e,this._map.map=e}get hasYield(){return this.children.length>0}run(){return r(this,void 0,void 0,(function*(){var e,t,n,r,s;if(null===this._function)throw new Error("No function set for Call operation.");const o=this._function.getArguments();try{for(var a,l=!0,h=i(this._function.generate(...o));!(e=(a=yield h.next()).done);l=!0){r=a.value,l=!1;const e=r;if(this.isLast){const t=new Map;if("object"!=typeof e||Array.isArray(e))t.set(u,e);else for(const[n,r]of Object.entries(e))!this._map.has(n)&&this.hasYield||t.set(n,r);this._results.push(Object.fromEntries(t))}else{if("object"!=typeof e||Array.isArray(e)){const t=this._map.get(u);t&&(t.overridden=e)}else for(const[t,n]of Object.entries(e)){const e=this._map.get(t);e&&(e.overridden=n)}yield null===(s=this.next)||void 0===s?void 0:s.run()}}}catch(e){t={error:e}}finally{try{l||e||!(n=h.return)||(yield n.call(h))}finally{if(t)throw t.error}}}))}get results(){return this._results}}t.default=l},8739:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5346)),o=i(n(5239));class a extends o.default{constructor(e,t){super(),this._node=null,this._statement=null,this._node=e,this._statement=t}get node(){return this._node}get statement(){return this._statement}run(){return new Promise(((e,t)=>r(this,void 0,void 0,(function*(){try{if(null===this._node)throw new Error("Node is null");s.default.getInstance().addNode(this._node,this._statement),e()}catch(e){t(e)}}))))}get results(){return[]}}t.default=a},7485:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5346)),o=i(n(5239));class a extends o.default{constructor(e,t){super(),this._relationship=null,this._statement=null,this._relationship=e,this._statement=t}get relationship(){return this._relationship}get statement(){return this._statement}run(){return new Promise(((e,t)=>r(this,void 0,void 0,(function*(){try{if(null===this._relationship)throw new Error("Relationship is null");s.default.getInstance().addRelationship(this._relationship,this._statement),e()}catch(e){t(e)}}))))}get results(){return[]}}t.default=a},9025:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(505));class o{constructor(e=null){this._children=new Map,this._elements=null,this._value=e}get value(){return this._value}get children(){return this._children}get elements(){return this._elements}set elements(e){this._elements=e}}class a extends s.default{constructor(){super(...arguments),this._root=new o,this._current=this._root,this._mappers=null,this._reducers=null,this._where=null}run(){return r(this,void 0,void 0,(function*(){this.resetTree(),this.map(),this.reduce()}))}get root(){return this._root}get current(){return this._current}set current(e){this._current=e}resetTree(){this.current=this.root}map(){let e=this.current;for(const t of this.mappers){const n=t.value();let r=e.children.get(n);void 0===r&&(r=new o(n),e.children.set(n,r)),e=r}this.current=e}reduce(){null===this.current.elements&&(this.current.elements=this.reducers.map((e=>e.element())));const e=this.current.elements;this.reducers.forEach(((t,n)=>{t.reduce(e[n])}))}get mappers(){return null===this._mappers&&(this._mappers=[...this._generate_mappers()]),this._mappers}*_generate_mappers(){for(const[e,t]of this.expressions())e.mappable()&&(yield e)}get reducers(){return null===this._reducers&&(this._reducers=this.children.map((e=>e.reducers())).flat()),this._reducers}*generate_results(e=0,t=this.root){var n;if(t.children.size>0)for(const n of t.children.values())this.mappers[e].overridden=n.value,yield*this.generate_results(e+1,n);else{null===(n=t.elements)||void 0===n||n.forEach(((e,t)=>{this.reducers[t].overridden=e.value}));const e={};for(const[t,n]of this.expressions())e[n]=t.value();this.where&&(yield e)}}set where(e){this._where=e}get where(){return null===this._where||this._where.value()}}t.default=a},8365:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5239));class o extends s.default{constructor(e){super(),this.count=0,this.limit=0,this.limit=e}run(){return r(this,void 0,void 0,(function*(){var e;this.count>=this.limit||(this.count++,yield null===(e=this.next)||void 0===e?void 0:e.run())}))}reset(){this.count=0}}t.default=o},1816:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,i,(t=e[n](t)).done,t.value)}))}}},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=s(n(9798)),a=s(n(5956)),u=s(n(440)),l=s(n(2457)),h=s(n(3680)),c=s(n(5239));class d extends c.default{constructor(){super(),this._value=null}get type(){return this.children[0]}get fromComponent(){return this.children[1]}get isAsyncFunction(){return this.fromComponent.firstChild()instanceof h.default}get asyncFunction(){const e=this.fromComponent.firstChild();return e instanceof h.default?e:null}get from(){return this.children[1].value()}get headers(){return this.childCount()>2&&this.children[2]instanceof o.default&&this.children[2].value()||{}}get payload(){let e=null;return this.childCount()>2&&this.children[2]instanceof u.default?e=this.children[2]:this.childCount()>3&&this.children[3]instanceof u.default&&(e=this.children[3]),null!==e?e.firstChild():null}method(){return null===this.payload?"GET":"POST"}options(){const e=this.headers,t=this.payload,n=null==t?void 0:t.value();return null===n||"object"!=typeof n||e.hasOwnProperty("Content-Type")||(e["Content-Type"]="application/json"),Object.assign({method:this.method(),headers:e},null!==t?{body:JSON.stringify(t.value())}:{})}loadFromFunction(){return r(this,void 0,void 0,(function*(){var e,t,n,r,s;const o=this.asyncFunction,a=o.getArguments();try{for(var u,l=!0,h=i(o.generate(...a));!(e=(u=yield h.next()).done);l=!0){r=u.value,l=!1;const e=r;this._value=e,yield null===(s=this.next)||void 0===s?void 0:s.run()}}catch(e){t={error:e}}finally{try{l||e||!(n=h.return)||(yield n.call(h))}finally{if(t)throw t.error}}}))}loadFromUrl(){return r(this,void 0,void 0,(function*(){var e,t,n;const r=yield fetch(this.from,this.options());let i=null;if(this.type instanceof a.default?i=yield r.json():this.type instanceof l.default&&(i=yield r.text()),Array.isArray(i))for(const t of i)this._value=t,yield null===(e=this.next)||void 0===e?void 0:e.run();else"object"==typeof i&&null!==i?(this._value=i,yield null===(t=this.next)||void 0===t?void 0:t.run()):"string"==typeof i&&(this._value=i,yield null===(n=this.next)||void 0===n?void 0:n.run())}))}load(){return r(this,void 0,void 0,(function*(){this.isAsyncFunction?yield this.loadFromFunction():yield this.loadFromUrl()}))}run(){return r(this,void 0,void 0,(function*(){var e;try{yield this.load()}catch(t){const n=this.isAsyncFunction?null===(e=this.asyncFunction)||void 0===e?void 0:e.name:this.from;throw new Error(`Failed to load data from ${n}. Error: ${t}`)}}))}value(){return this._value}}t.default=d},7959:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(6572)),o=i(n(5239));class a extends o.default{constructor(e=[]){super(),this._patterns=null,this._patterns=new s.default(e)}get patterns(){return this._patterns?this._patterns.patterns:[]}run(){return r(this,void 0,void 0,(function*(){yield this._patterns.initialize(),this._patterns.toDoNext=()=>r(this,void 0,void 0,(function*(){var e;yield null===(e=this.next)||void 0===e?void 0:e.run()})),yield this._patterns.traverse()}))}}t.default=a},5239:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(1542));class o extends s.default{constructor(){super(),this._previous=null,this._next=null}get previous(){return this._previous}set previous(e){this._previous=e}get next(){return this._next}set next(e){this._next=e}addSibling(e){var t;null===(t=this._parent)||void 0===t||t.addChild(e),e.previous=this,this.next=e}get isLast(){return null===this._next}run(){return r(this,void 0,void 0,(function*(){throw new Error("Not implemented")}))}finish(){return r(this,void 0,void 0,(function*(){var e;yield null===(e=this.next)||void 0===e?void 0:e.finish()}))}initialize(){return r(this,void 0,void 0,(function*(){var e;yield null===(e=this.next)||void 0===e?void 0:e.initialize()}))}reset(){}get results(){throw new Error("Not implemented")}}t.default=o},505:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(5239));class s extends i.default{constructor(e){super(),this.children=e}*expressions(){for(let e=0;e<this.children.length;e++){const t=this.children[e],n=t.alias||`expr${e}`;yield[t,n]}}}t.default=s},7342:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(505));class o extends s.default{constructor(){super(...arguments),this._where=null,this._results=[]}set where(e){this._where=e}get where(){return null===this._where||this._where.value()}run(){return r(this,void 0,void 0,(function*(){if(!this.where)return;const e=new Map;for(const[t,n]of this.expressions()){const r=t.value(),i="object"==typeof r&&null!==r?structuredClone(r):r;e.set(n,i)}this._results.push(Object.fromEntries(e))}))}initialize(){return r(this,void 0,void 0,(function*(){this._results=[]}))}get results(){return this._results}}t.default=o},577:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5239));class o extends s.default{constructor(e){super(),this.addChild(e)}get expression(){return this.children[0]}get as(){return this.children[1].value}run(){return r(this,void 0,void 0,(function*(){var e,t;const n=this.expression.value();if(!Array.isArray(n))throw new Error("Expected array");for(let t=0;t<n.length;t++)this._value=n[t],yield null===(e=this.next)||void 0===e?void 0:e.run();null===(t=this.next)||void 0===t||t.reset()}))}value(){return this._value}}t.default=o},6001:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(5239));class o extends s.default{constructor(e){super(),this.addChild(e)}get expression(){return this.children[0]}run(){return r(this,void 0,void 0,(function*(){var e;for(const e of this.expression.patterns())yield e.fetchData(),yield e.evaluate();this.expression.value()&&(yield null===(e=this.next)||void 0===e?void 0:e.run())}))}value(){return this.expression.value()}}t.default=o},696:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(n(505));class o extends s.default{run(){return r(this,void 0,void 0,(function*(){var e;yield null===(e=this.next)||void 0===e?void 0:e.run()}))}}t.default=o},7056:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(8659)),s=r(n(4603)),o=r(n(1381)),a=r(n(1365)),u=r(n(1982)),l=r(n(165)),h=r(n(4407)),c=r(n(7847)),d=r(n(3001)),f=r(n(5859)),p=n(4275),_=r(n(1542)),v=r(n(3738)),m=r(n(970)),w=r(n(9798)),E=r(n(8587)),y=r(n(440)),g=r(n(9056)),x=r(n(122)),O=r(n(1363)),k=r(n(2073)),A=r(n(9997)),T=r(n(3399)),R=r(n(3573)),N=r(n(1153)),C=r(n(5196)),b=n(4783),S=r(n(2730)),P=r(n(3198)),M=r(n(5481)),D=r(n(5517)),I=r(n(2312)),L=r(n(6052)),W=r(n(3501)),j=r(n(6667)),F=r(n(1740)),U=r(n(8682)),B=r(n(6564)),Y=r(n(888)),H=r(n(8739)),K=r(n(7485)),G=r(n(8365)),V=r(n(1816)),q=r(n(7959)),$=r(n(7342)),Q=r(n(577)),J=r(n(6001)),z=r(n(696));class X extends v.default{constructor(){super(...arguments),this.variables=new Map,this.context=new g.default,this._returns=0}parse(e){return this.tokenize(e),this._parseTokenized()}_parseTokenized(e=!1){const t=new _.default;let n=null,r=null;for(;!this.token.isEOF();){if(t.childCount()>0?this.expectAndSkipWhitespaceAndComments():this.skipWhitespaceAndComments(),r=this.parseOperation(),null===r&&!e)throw new Error("Expected one of WITH, UNWIND, RETURN, LOAD, OR CALL");if(null===r&&e)return t;if(this._returns>1)throw new Error("Only one RETURN statement is allowed");if(n instanceof Y.default&&!n.hasYield)throw new Error("CALL operations must have a YIELD clause unless they are the last operation");null!==n?n.addSibling(r):t.addChild(r);const i=this.parseWhere();null!==i&&(r instanceof $.default?r.where=i:(r.addSibling(i),r=i));const s=this.parseLimit();null!==s&&(r.addSibling(s),r=s),n=r}if(!(r instanceof $.default||r instanceof Y.default||r instanceof H.default||r instanceof K.default))throw new Error("Last statement must be a RETURN, WHERE, CALL, or CREATE statement");return t}parseOperation(){return this.parseWith()||this.parseUnwind()||this.parseReturn()||this.parseLoad()||this.parseCall()||this.parseCreate()||this.parseMatch()}parseWith(){if(!this.token.isWith())return null;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=Array.from(this.parseExpressions(p.AliasOption.REQUIRED));if(0===e.length)throw new Error("Expected expression");return e.some((e=>e.has_reducers()))?new B.default(e):new z.default(e)}parseUnwind(){if(!this.token.isUnwind())return null;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=this.parseExpression();if(null===e)throw new Error("Expected expression");if(!d.default.isInstanceOfAny(e.firstChild(),[O.default,D.default,S.default,A.default,T.default]))throw new Error("Expected array, function, reference, or lookup.");this.expectAndSkipWhitespaceAndComments();const t=this.parseAlias();if(null===t)throw new Error("Expected alias");e.setAlias(t.getAlias());const n=new Q.default(e);return this.variables.set(t.getAlias(),n),n}parseReturn(){if(!this.token.isReturn())return null;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=Array.from(this.parseExpressions(p.AliasOption.OPTIONAL));if(0===e.length)throw new Error("Expected expression");return e.some((e=>e.has_reducers()))?new U.default(e):(this._returns++,new $.default(e))}parseWhere(){if(!this.token.isWhere())return null;this.expectPreviousTokenToBeWhitespaceOrComment(),this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=this.parseExpression();if(null===e)throw new Error("Expected expression");if(d.default.isInstanceOfAny(e.firstChild(),[O.default,x.default]))throw new Error("Expected an expression which can be evaluated to a boolean");return new J.default(e)}parseLoad(){if(!this.token.isLoad())return null;const e=new V.default;if(this.setNextToken(),this.expectAndSkipWhitespaceAndComments(),!(this.token.isJSON()||this.token.isCSV()||this.token.isText()))throw new Error("Expected JSON, CSV, or TEXT");if(e.addChild(this.token.node),this.setNextToken(),this.expectAndSkipWhitespaceAndComments(),!this.token.isFrom())throw new Error("Expected FROM");this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const t=new m.default;e.addChild(t);const n=this.parseAsyncFunction();if(null!==n)t.addChild(n);else{const e=this.parseExpression();if(null===e)throw new Error("Expected expression or async function");t.addChild(e)}if(this.expectAndSkipWhitespaceAndComments(),this.token.isHeaders()){const t=new w.default;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const n=this.parseExpression();if(null===n)throw new Error("Expected expression");t.addChild(n),e.addChild(t),this.expectAndSkipWhitespaceAndComments()}if(this.token.isPost()){const t=new y.default;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const n=this.parseExpression();if(null===n)throw new Error("Expected expression");t.addChild(n),e.addChild(t),this.expectAndSkipWhitespaceAndComments()}const r=this.parseAlias();if(null===r)throw new Error("Expected alias");return e.addChild(r),this.variables.set(r.getAlias(),e),e}parseCall(){if(!this.token.isCall())return null;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=this.parseAsyncFunction();if(null===e)throw new Error("Expected async function");const t=new Y.default;if(t.function=e,this.skipWhitespaceAndComments(),this.token.isYield()){this.expectPreviousTokenToBeWhitespaceOrComment(),this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=Array.from(this.parseExpressions(p.AliasOption.OPTIONAL));if(0===e.length)throw new Error("Expected at least one expression");t.yielded=e}return t}parseCreate(){var e;if(!this.token.isCreate())return null;if(this.setNextToken(),this.expectAndSkipWhitespaceAndComments(),!this.token.isVirtual())throw new Error("Expected VIRTUAL");this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const t=this.parseNode();if(null===t)throw new Error("Expected node definition");let n=null;if(this.token.isSubtract()&&(null===(e=this.peek())||void 0===e?void 0:e.isOpeningBracket())){if(this.setNextToken(),this.setNextToken(),!this.token.isColon())throw new Error("Expected ':' for relationship type");if(this.setNextToken(),!this.token.isIdentifier())throw new Error("Expected relationship type identifier");const e=this.token.value||"";if(this.setNextToken(),!this.token.isClosingBracket())throw new Error("Expected closing bracket for relationship definition");if(this.setNextToken(),!this.token.isSubtract())throw new Error("Expected '-' for relationship definition");if(this.setNextToken(),null===this.parseNode())throw new Error("Expected target node definition");n=new l.default,n.type=e}if(this.expectAndSkipWhitespaceAndComments(),!this.token.isAs())throw new Error("Expected AS");this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const r=this.parseSubQuery();if(null===r)throw new Error("Expected sub-query");let i;return i=null!==n?new K.default(n,r):new H.default(t,r),i}parseMatch(){if(!this.token.isMatch())return null;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=Array.from(this.parsePatterns());if(0===e.length)throw new Error("Expected graph pattern");return new q.default(e)}parseNode(){var e,t,n;if(!this.token.isLeftParenthesis())return null;this.setNextToken(),this.skipWhitespaceAndComments();let r=null;this.token.isIdentifier()&&(r=this.token.value||"",this.setNextToken()),this.skipWhitespaceAndComments();let i=null;if(!this.token.isColon()&&(null===(e=this.peek())||void 0===e?void 0:e.isIdentifier()))throw new Error("Expected ':' for node label");if(this.token.isColon()&&!(null===(t=this.peek())||void 0===t?void 0:t.isIdentifier()))throw new Error("Expected node label identifier");this.token.isColon()&&(null===(n=this.peek())||void 0===n?void 0:n.isIdentifier())&&(this.setNextToken(),i=this.token.value||"",this.setNextToken()),this.skipWhitespaceAndComments();let a=new s.default;if(a.label=i,null!==i&&null!==r)a.identifier=r,this.variables.set(r,a);else if(null!==r){const e=this.variables.get(r);if(void 0===e||e.constructor!==s.default)throw new Error(`Undefined node reference: ${r}`);a=new o.default(a,e)}if(!this.token.isRightParenthesis())throw new Error("Expected closing parenthesis for node definition");return this.setNextToken(),a}*parsePatterns(){for(;;){let e=null;if(this.token.isIdentifier()){if(e=this.token.value||"",this.setNextToken(),this.skipWhitespaceAndComments(),!this.token.isEquals())throw new Error("Expected '=' for pattern assignment");this.setNextToken(),this.skipWhitespaceAndComments()}const t=this.parsePattern();if(null===t)break;if(null!==e&&(t.identifier=e,this.variables.set(e,t)),yield t,this.skipWhitespaceAndComments(),!this.token.isComma())break;this.setNextToken(),this.skipWhitespaceAndComments()}}parsePattern(){if(!this.token.isLeftParenthesis())return null;const e=new a.default;let t=this.parseNode();if(null===t)throw new Error("Expected node definition");e.addElement(t);let n=null;for(;n=this.parseRelationship(),null!==n;){if(e.addElement(n),t=this.parseNode(),null===t)throw new Error("Expected target node definition");e.addElement(t)}return e}parsePatternExpression(){var e;if(!this.token.isLeftParenthesis())return null;const t=new u.default;let n=this.parseNode();if(null===n)throw new Error("Expected node definition");if(!(n instanceof o.default))throw new Error("PatternExpression must start with a NodeReference");t.addElement(n);let r=null;for(;r=this.parseRelationship(),null!==r;){if(null===(e=r.hops)||void 0===e?void 0:e.multi())throw new Error("PatternExpression does not support variable-length relationships");if(t.addElement(r),n=this.parseNode(),null===n)throw new Error("Expected target node definition");t.addElement(n)}return t}parseRelationship(){var e;if(this.token.isLessThan()&&(null===(e=this.peek())||void 0===e?void 0:e.isSubtract()))this.setNextToken(),this.setNextToken();else{if(!this.token.isSubtract())return null;this.setNextToken()}if(!this.token.isOpeningBracket())return null;this.setNextToken();let t=null;if(this.token.isIdentifier()&&(t=this.token.value||"",this.setNextToken()),!this.token.isColon())throw new Error("Expected ':' for relationship type");if(this.setNextToken(),!this.token.isIdentifier())throw new Error("Expected relationship type identifier");const n=this.token.value||"";this.setNextToken();const r=this.parseRelationshipHops();if(!this.token.isClosingBracket())throw new Error("Expected closing bracket for relationship definition");if(this.setNextToken(),!this.token.isSubtract())throw new Error("Expected '-' for relationship definition");this.setNextToken(),this.token.isGreaterThan()&&this.setNextToken();let i=new l.default;if(null!==n&&null!==t)i.identifier=t,this.variables.set(t,i);else if(null!==t){const e=this.variables.get(t);if(void 0===e||e.constructor!==l.default)throw new Error(`Undefined relationship reference: ${t}`);i=new h.default(i,e)}return null!==r&&(i.hops=r),i.type=n,i}parseRelationshipHops(){if(!this.token.isMultiply())return null;const e=new i.default;if(this.setNextToken(),this.token.isNumber()){if(e.min=parseInt(this.token.value||"0"),this.setNextToken(),this.token.isDot()){if(this.setNextToken(),!this.token.isDot())throw new Error("Expected '..' for relationship hops");if(this.setNextToken(),!this.token.isNumber())throw new Error("Expected number for relationship hops");e.max=parseInt(this.token.value||"0"),this.setNextToken()}}else e.min=0,e.max=Number.MAX_SAFE_INTEGER;return e}parseSubQuery(){if(!this.token.isOpeningBrace())return null;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=this._parseTokenized(!0);if(this.skipWhitespaceAndComments(),!this.token.isClosingBrace())throw new Error("Expected closing brace for sub-query");return this.setNextToken(),e}parseLimit(){if(this.skipWhitespaceAndComments(),!this.token.isLimit())return null;if(this.expectPreviousTokenToBeWhitespaceOrComment(),this.setNextToken(),this.expectAndSkipWhitespaceAndComments(),!this.token.isNumber())throw new Error("Expected number");const e=new G.default(parseInt(this.token.value||"0"));return this.setNextToken(),e}*parseExpressions(e=p.AliasOption.NOT_ALLOWED){for(;;){const t=this.parseExpression();if(null===t)break;{const n=this.parseAlias();if(t.firstChild()instanceof S.default&&null===n){const e=t.firstChild();t.setAlias(e.identifier),this.variables.set(e.identifier,t)}else{if(!(e!==p.AliasOption.REQUIRED||null!==n||t.firstChild()instanceof S.default))throw new Error("Alias required");if(e===p.AliasOption.NOT_ALLOWED&&null!==n)throw new Error("Alias not allowed");[p.AliasOption.OPTIONAL,p.AliasOption.REQUIRED].includes(e)&&null!==n&&(t.setAlias(n.getAlias()),this.variables.set(n.getAlias(),t))}yield t}if(this.skipWhitespaceAndComments(),!this.token.isComma())break;this.setNextToken()}}parseExpression(){var e,t,n;const r=new R.default;for(;;){if(this.skipWhitespaceAndComments(),this.token.isIdentifier()&&!(null===(e=this.peek())||void 0===e?void 0:e.isLeftParenthesis())){const e=this.token.value||"",t=new S.default(e,this.variables.get(e));this.setNextToken();const n=this.parseLookup(t);r.addNode(n)}else if(this.token.isIdentifier()&&(null===(t=this.peek())||void 0===t?void 0:t.isLeftParenthesis())){const e=this.parsePredicateFunction()||this.parseFunction();if(null!==e){const t=this.parseLookup(e);r.addNode(t)}}else if(this.token.isLeftParenthesis()&&(null===(n=this.peek())||void 0===n?void 0:n.isIdentifier())){const e=this.parsePatternExpression();null!==e&&r.addNode(e)}else if(this.token.isOperand())r.addNode(this.token.node),this.setNextToken();else if(this.token.isFString()){const e=this.parseFString();if(null===e)throw new Error("Expected f-string");r.addNode(e)}else if(this.token.isLeftParenthesis()){this.setNextToken();const e=this.parseExpression();if(null===e)throw new Error("Expected expression");if(!this.token.isRightParenthesis())throw new Error("Expected right parenthesis");this.setNextToken();const t=this.parseLookup(e);r.addNode(t)}else if(this.token.isOpeningBrace()||this.token.isOpeningBracket()){const e=this.parseJSON();if(null===e)throw new Error("Expected JSON object");const t=this.parseLookup(e);r.addNode(t)}else if(this.token.isCase()){const e=this.parseCase();if(null===e)throw new Error("Expected CASE statement");r.addNode(e)}else{if(!this.token.isNot()){if(r.nodesAdded())throw new Error("Expected operand or left parenthesis");break}{const e=new b.Not;this.setNextToken();const t=this.parseExpression();if(null===t)throw new Error("Expected expression");e.addChild(t),r.addNode(e)}}if(this.skipWhitespaceAndComments(),!this.token.isOperator())break;r.addNode(this.token.node),this.setNextToken()}return r.nodesAdded()?(r.finish(),r):null}parseLookup(e){let t=e,n=null;for(;;){if(this.token.isDot()){if(this.setNextToken(),!this.token.isIdentifier()&&!this.token.isKeyword())throw new Error("Expected identifier");n=new A.default,n.index=new C.default(this.token.value||""),n.variable=t,this.setNextToken()}else{if(!this.token.isOpeningBracket())break;{this.setNextToken(),this.skipWhitespaceAndComments();const e=this.parseExpression();let r=null;if(this.skipWhitespaceAndComments(),this.token.isColon())this.setNextToken(),this.skipWhitespaceAndComments(),n=new T.default,r=this.parseExpression();else{if(null===e)throw new Error("Expected expression");n=new A.default}if(this.skipWhitespaceAndComments(),!this.token.isClosingBracket())throw new Error("Expected closing bracket");this.setNextToken(),n instanceof T.default?(n.from=e||new E.default,n.to=r||new E.default):n instanceof A.default&&null!==e&&(n.index=e),n.variable=t}}t=n||t}return t}parseCase(){if(!this.token.isCase())return null;this.setNextToken();const e=new L.default;let t=0;for(this.expectAndSkipWhitespaceAndComments();;){const n=this.parseWhen();if(null===n&&0===t)throw new Error("Expected WHEN");if(null===n&&t>0)break;null!==n&&e.addChild(n),this.expectAndSkipWhitespaceAndComments();const r=this.parseThen();if(null===r)throw new Error("Expected THEN");e.addChild(r),this.expectAndSkipWhitespaceAndComments(),t++}const n=this.parseElse();if(null===n)throw new Error("Expected ELSE");if(e.addChild(n),this.expectAndSkipWhitespaceAndComments(),!this.token.isEnd())throw new Error("Expected END");return this.setNextToken(),e}parseWhen(){if(!this.token.isWhen())return null;this.setNextToken();const e=new F.default;this.expectAndSkipWhitespaceAndComments();const t=this.parseExpression();if(null===t)throw new Error("Expected expression");return e.addChild(t),e}parseThen(){if(!this.token.isThen())return null;this.setNextToken();const e=new j.default;this.expectAndSkipWhitespaceAndComments();const t=this.parseExpression();if(null===t)throw new Error("Expected expression");return e.addChild(t),e}parseElse(){if(!this.token.isElse())return null;this.setNextToken();const e=new W.default;this.expectAndSkipWhitespaceAndComments();const t=this.parseExpression();if(null===t)throw new Error("Expected expression");return e.addChild(t),e}parseAlias(){if(this.skipWhitespaceAndComments(),!this.token.isAs())return null;if(this.expectPreviousTokenToBeWhitespaceOrComment(),this.setNextToken(),this.expectAndSkipWhitespaceAndComments(),!this.token.isIdentifier()&&!this.token.isKeyword()||null===this.token.value)throw new Error("Expected identifier");const e=new f.default(this.token.value||"");return this.setNextToken(),e}parseFunction(){var e;if(!this.token.isIdentifier())return null;if(null===this.token.value)throw new Error("Expected identifier");if(!(null===(e=this.peek())||void 0===e?void 0:e.isLeftParenthesis()))return null;const t=I.default.create(this.token.value);if(t instanceof M.default&&this.context.containsType(M.default))throw new Error("Aggregate functions cannot be nested");if(this.context.push(t),this.setNextToken(),this.setNextToken(),this.skipWhitespaceAndComments(),this.token.isDistinct()&&(t.distinct=!0,this.setNextToken(),this.expectAndSkipWhitespaceAndComments()),t.parameters=Array.from(this.parseExpressions(p.AliasOption.NOT_ALLOWED)),this.skipWhitespaceAndComments(),!this.token.isRightParenthesis())throw new Error("Expected right parenthesis");return this.setNextToken(),this.context.pop(),t}parseAsyncFunction(){var e;if(!this.token.isIdentifier())return null;if(null===this.token.value)return null;if(!I.default.isAsyncProvider(this.token.value))return null;if(!(null===(e=this.peek())||void 0===e?void 0:e.isLeftParenthesis()))return null;const t=I.default.createAsync(this.token.value);if(this.setNextToken(),this.setNextToken(),this.skipWhitespaceAndComments(),t.parameters=Array.from(this.parseExpressions(p.AliasOption.NOT_ALLOWED)),this.skipWhitespaceAndComments(),!this.token.isRightParenthesis())throw new Error("Expected right parenthesis");return this.setNextToken(),t}parsePredicateFunction(){if(!this.ahead([c.default.IDENTIFIER(""),c.default.LEFT_PARENTHESIS,c.default.IDENTIFIER(""),c.default.IN]))return null;if(null===this.token.value)throw new Error("Expected identifier");const e=I.default.createPredicate(this.token.value);if(this.setNextToken(),!this.token.isLeftParenthesis())throw new Error("Expected left parenthesis");if(this.setNextToken(),this.skipWhitespaceAndComments(),!this.token.isIdentifier())throw new Error("Expected identifier");const t=new S.default(this.token.value);if(this.variables.set(t.identifier,t),e.addChild(t),this.setNextToken(),this.expectAndSkipWhitespaceAndComments(),!this.token.isIn())throw new Error("Expected IN");this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const n=this.parseExpression();if(null===n)throw new Error("Expected expression");if(!d.default.isInstanceOfAny(n.firstChild(),[O.default,S.default,A.default,D.default]))throw new Error("Expected array or reference");if(e.addChild(n),this.skipWhitespaceAndComments(),!this.token.isPipe())throw new Error("Expected pipe");this.setNextToken();const r=this.parseExpression();if(null===r)throw new Error("Expected expression");e.addChild(r);const i=this.parseWhere();if(null!==i&&e.addChild(i),this.skipWhitespaceAndComments(),!this.token.isRightParenthesis())throw new Error("Expected right parenthesis");return this.setNextToken(),this.variables.delete(t.identifier),e}parseFString(){if(!this.token.isFString())return null;const e=new N.default;for(;this.token.isFString()&&(null!==this.token.value&&e.addChild(new P.default(this.token.value)),this.setNextToken(),this.token.isOpeningBrace());){this.setNextToken();const t=this.parseExpression();if(null===t)throw new Error("Expected expression");if(e.addChild(t),!this.token.isClosingBrace())throw new Error("Expected closing brace");this.setNextToken()}return e}parseJSON(){if(this.token.isOpeningBrace()){const e=this.parseAssociativeArray();if(null===e)throw new Error("Expected associative array");return e}if(this.token.isOpeningBracket()){const e=this.parseJSONArray();if(null===e)throw new Error("Expected JSON array");return e}throw new Error("Expected opening brace or bracket")}parseAssociativeArray(){if(!this.token.isOpeningBrace())return null;const e=new x.default;for(this.setNextToken();this.skipWhitespaceAndComments(),!this.token.isClosingBrace();){if(!this.token.isIdentifier()&&!this.token.isKeyword())throw new Error("Expected identifier");const t=this.token.value;if(null===t)throw new Error("Expected string");if(this.setNextToken(),this.skipWhitespaceAndComments(),!this.token.isColon())throw new Error("Expected colon");this.setNextToken(),this.skipWhitespaceAndComments();const n=this.parseExpression();if(null===n)throw new Error("Expected expression");e.addKeyValue(new k.default(t,n)),this.skipWhitespaceAndComments(),this.token.isComma()&&this.setNextToken()}return this.setNextToken(),e}parseJSONArray(){if(!this.token.isOpeningBracket())return null;const e=new O.default;for(this.setNextToken();this.skipWhitespaceAndComments(),!this.token.isClosingBracket();){const t=this.parseExpression();if(null===t)throw new Error("Expected expression");e.addValue(t),this.skipWhitespaceAndComments(),this.token.isComma()&&this.setNextToken()}return this.setNextToken(),e}expectAndSkipWhitespaceAndComments(){if(!this.skipWhitespaceAndComments())throw new Error("Expected whitespace or comment")}skipWhitespaceAndComments(){let e=this.previousToken.isWhitespaceOrComment();for(;this.token.isWhitespace()||this.token.isComment();)this.setNextToken(),e=!0;return e}expectPreviousTokenToBeWhitespaceOrComment(){if(!this.previousToken.isWhitespaceOrComment())throw new Error("Expected whitespace or comment")}}t.default=X},8595:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1542)),s=r(n(3840)),o=r(n(5956)),a=r(n(8587)),u=r(n(2457)),l=r(n(3271)),h=r(n(5196)),c=r(n(3818)),d=n(4783),f=r(n(3198)),p=r(n(3501)),_=r(n(6263)),v=r(n(6667)),m=r(n(1740));t.default=class{static convert(e){if(e.isNumber()){if(null===e.value)throw new Error("Number token has no value");return new c.default(e.value)}if(e.isString()){if(null===e.value)throw new Error("String token has no value");return new f.default(e.value)}if(e.isIdentifier()){if(null===e.value)throw new Error("Identifier token has no value");return new h.default(e.value)}if(e.isOperator()){if(e.isAdd())return new d.Add;if(e.isSubtract())return new d.Subtract;if(e.isMultiply())return new d.Multiply;if(e.isDivide())return new d.Divide;if(e.isModulo())return new d.Modulo;if(e.isExponent())return new d.Power;if(e.isEquals())return new d.Equals;if(e.isNotEquals())return new d.NotEquals;if(e.isLessThan())return new d.LessThan;if(e.isGreaterThan())return new d.GreaterThan;if(e.isGreaterThanOrEqual())return new d.GreaterThanOrEqual;if(e.isLessThanOrEqual())return new d.LessThanOrEqual;if(e.isAnd())return new d.And;if(e.isOr())return new d.Or;if(e.isIs())return new d.Is}else if(e.isUnaryOperator()){if(e.isNot())return new d.Not}else{if(!e.isKeyword()){if(e.isBoolean())return new l.default(e.value);throw new Error("Unknown token")}if(e.isJSON())return new o.default;if(e.isCSV())return new s.default;if(e.isText())return new u.default;if(e.isWhen())return new m.default;if(e.isThen())return new v.default;if(e.isElse())return new p.default;if(e.isEnd())return new _.default;if(e.isNull())return new a.default}return new i.default}}},7825:(e,t)=>{var n;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.RETURN="RETURN",e.MATCH="MATCH",e.WHERE="WHERE",e.CREATE="CREATE",e.VIRTUAL="VIRTUAL",e.MERGE="MERGE",e.DELETE="DELETE",e.DETACH="DETACH",e.SET="SET",e.REMOVE="REMOVE",e.FOREACH="FOREACH",e.WITH="WITH",e.CALL="CALL",e.YIELD="YIELD",e.LOAD="LOAD",e.HEADERS="HEADERS",e.POST="POST",e.FROM="FROM",e.CSV="CSV",e.JSON="JSON",e.TEXT="TEXT",e.AS="AS",e.UNWIND="UNWIND",e.SUM="SUM",e.COLLECT="COLLECT",e.DISTINCT="DISTINCT",e.ORDER="ORDER",e.BY="BY",e.ASC="ASC",e.DESC="DESC",e.SKIP="SKIP",e.LIMIT="LIMIT",e.EOF="EOF",e.CASE="CASE",e.WHEN="WHEN",e.THEN="THEN",e.ELSE="ELSE",e.END="END",e.NULL="NULL",e.IN="IN"}(n||(n={})),t.default=n},2008:(e,t)=>{var n;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ADD="+",e.SUBTRACT="-",e.MULTIPLY="*",e.DIVIDE="/",e.MODULO="%",e.EXPONENT="^",e.EQUALS="=",e.NOT_EQUALS="<>",e.LESS_THAN="<",e.LESS_THAN_OR_EQUAL="<=",e.GREATER_THAN=">",e.GREATER_THAN_OR_EQUAL=">=",e.IS="IS",e.AND="AND",e.OR="OR",e.NOT="NOT",e.IN="IN",e.PIPE="|"}(n||(n={})),t.default=n},178:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(6519));t.default=class{constructor(e){this.text=e,this._position=0}get position(){return this._position}get currentChar(){return this.text[this.position]}get nextChar(){return this.text[this.position+1]}get previousChar(){return this.text[this.position-1]}get isAtEnd(){return this.position>=this.text.length}getString(e){return this.text.substring(e,this.position)}getRemainingString(){return this.text.substring(this.position)}checkForSingleComment(){if(this.singleLineCommentStart()){for(;!this.isAtEnd&&!this.newLine();)this._position++;return!0}return!1}checkForMultiLineComment(){if(this.multiLineCommentStart()){for(;!this.isAtEnd;){if(this.multiLineCommentEnd())return this._position+=2,!0;this._position++}throw new Error(`Unterminated multi-line comment at position ${this.position}`)}return!1}singleLineCommentStart(){return"/"===this.currentChar&&"/"===this.nextChar}multiLineCommentStart(){return"/"===this.currentChar&&"*"===this.nextChar}multiLineCommentEnd(){return"*"===this.currentChar&&"/"===this.nextChar}newLine(){return"\n"===this.currentChar}escaped(e){return"\\"===this.currentChar&&this.nextChar===e}escapedBrace(){return"{"===this.currentChar&&"{"===this.nextChar||"}"===this.currentChar&&"}"===this.nextChar}openingBrace(){return"{"===this.currentChar}closingBrace(){return"}"===this.currentChar}checkForUnderScore(){const e="_"===this.currentChar;return e&&this._position++,e}checkForLetter(){const e=i.default.letters.includes(this.currentChar.toLowerCase());return e&&this._position++,e}checkForDigit(){const e=i.default.digits.includes(this.currentChar);return e&&this._position++,e}checkForQuote(){const e=this.currentChar;return'"'===e||"'"===e||"`"===e?(this._position++,e):null}checkForString(e){const t=this.text.substring(this.position,this.position+e.length).toLowerCase()===e.toLowerCase();return t&&(this._position+=e.length),t}checkForWhitespace(){return i.default.whitespace.includes(this.currentChar)}checkForFStringStart(){return"f"===this.currentChar.toLowerCase()&&["'",'"',"`"].includes(this.nextChar)}moveNext(){this._position++}moveBy(e){this._position+=e}movePrevious(){this._position--}is_word(e){return null!==e&&this.text.substring(this.position,this.position+e.length)===e}word_continuation(e){const t=this.text[this.position+e.length];return i.default.word_valid_chars.includes(t)}}},4020:(e,t)=>{var n;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.LEFT_PARENTHESIS="(",e.RIGHT_PARENTHESIS=")",e.COMMA=",",e.DOT=".",e.COLON=":",e.WHITESPACE="",e.OPENING_BRACE="{",e.CLOSING_BRACE="}",e.OPENING_BRACKET="[",e.CLOSING_BRACKET="]",e.BACKTICK="`"}(n||(n={})),t.default=n},7847:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(8595)),s=r(n(6519)),o=r(n(7825)),a=r(n(2008)),u=r(n(4020)),l=r(n(8898));class h{constructor(e,t=null){this._position=-1,this._case_sensitive_value=null,this._can_be_identifier=!1,this._type=e,this._value=t,this._can_be_identifier=s.default.can_be_identifier(t||"")}equals(e){return this._type===l.default.IDENTIFIER&&e.type===l.default.IDENTIFIER||this._type===e.type&&this._value===e.value}set position(e){this._position=e}get position(){return this._position}get type(){return this._type}get value(){return this._case_sensitive_value||this._value}set case_sensitive_value(e){this._case_sensitive_value=e}get can_be_identifier(){return this._can_be_identifier}get node(){return i.default.convert(this)}toString(){return`${this._type} ${this._value}`}static COMMENT(e){return new h(l.default.COMMENT,e)}isComment(){return this._type===l.default.COMMENT}static IDENTIFIER(e){return new h(l.default.IDENTIFIER,e)}isIdentifier(){return this._type===l.default.IDENTIFIER||this._type===l.default.BACKTICK_STRING}static STRING(e,t='"'){const n=s.default.unquote(e),r=s.default.removeEscapedQuotes(n,t);return new h(l.default.STRING,r)}isString(){return this._type===l.default.STRING||this._type===l.default.BACKTICK_STRING}static BACKTICK_STRING(e,t='"'){const n=s.default.unquote(e),r=s.default.removeEscapedQuotes(n,t);return new h(l.default.BACKTICK_STRING,r)}static F_STRING(e,t='"'){const n=s.default.unquote(e),r=s.default.removeEscapedQuotes(n,t),i=s.default.removeEscapedBraces(r);return new h(l.default.F_STRING,i)}isFString(){return this._type===l.default.F_STRING}static NUMBER(e){return new h(l.default.NUMBER,e)}isNumber(){return this._type===l.default.NUMBER}static BOOLEAN(e){return new h(l.default.BOOLEAN,e)}isBoolean(){return this._type===l.default.BOOLEAN&&("TRUE"===this._value||"FALSE"===this._value)}static get LEFT_PARENTHESIS(){return new h(l.default.SYMBOL,u.default.LEFT_PARENTHESIS)}isLeftParenthesis(){return this._type===l.default.SYMBOL&&this._value===u.default.LEFT_PARENTHESIS}static get RIGHT_PARENTHESIS(){return new h(l.default.SYMBOL,u.default.RIGHT_PARENTHESIS)}isRightParenthesis(){return this._type===l.default.SYMBOL&&this._value===u.default.RIGHT_PARENTHESIS}static get COMMA(){return new h(l.default.SYMBOL,u.default.COMMA)}isComma(){return this._type===l.default.SYMBOL&&this._value===u.default.COMMA}static get DOT(){return new h(l.default.SYMBOL,u.default.DOT)}isDot(){return this._type===l.default.SYMBOL&&this._value===u.default.DOT}static get COLON(){return new h(l.default.SYMBOL,u.default.COLON)}isColon(){return this._type===l.default.SYMBOL&&this._value===u.default.COLON}static get OPENING_BRACE(){return new h(l.default.SYMBOL,u.default.OPENING_BRACE)}isOpeningBrace(){return this._type===l.default.SYMBOL&&this._value===u.default.OPENING_BRACE}static get CLOSING_BRACE(){return new h(l.default.SYMBOL,u.default.CLOSING_BRACE)}isClosingBrace(){return this._type===l.default.SYMBOL&&this._value===u.default.CLOSING_BRACE}static get OPENING_BRACKET(){return new h(l.default.SYMBOL,u.default.OPENING_BRACKET)}isOpeningBracket(){return this._type===l.default.SYMBOL&&this._value===u.default.OPENING_BRACKET}static get CLOSING_BRACKET(){return new h(l.default.SYMBOL,u.default.CLOSING_BRACKET)}isClosingBracket(){return this._type===l.default.SYMBOL&&this._value===u.default.CLOSING_BRACKET}static get WHITESPACE(){return new h(l.default.WHITESPACE)}isWhitespace(){return this._type===l.default.WHITESPACE}isOperator(){return this._type===l.default.OPERATOR}isUnaryOperator(){return this._type===l.default.UNARY_OPERATOR}static get ADD(){return new h(l.default.OPERATOR,a.default.ADD)}isAdd(){return this._type===l.default.OPERATOR&&this._value===a.default.ADD}static get SUBTRACT(){return new h(l.default.OPERATOR,a.default.SUBTRACT)}isSubtract(){return this._type===l.default.OPERATOR&&this._value===a.default.SUBTRACT}isNegation(){return this.isSubtract()}static get MULTIPLY(){return new h(l.default.OPERATOR,a.default.MULTIPLY)}isMultiply(){return this._type===l.default.OPERATOR&&this._value===a.default.MULTIPLY}static get DIVIDE(){return new h(l.default.OPERATOR,a.default.DIVIDE)}isDivide(){return this._type===l.default.OPERATOR&&this._value===a.default.DIVIDE}static get EXPONENT(){return new h(l.default.OPERATOR,a.default.EXPONENT)}isExponent(){return this._type===l.default.OPERATOR&&this._value===a.default.EXPONENT}static get MODULO(){return new h(l.default.OPERATOR,a.default.MODULO)}isModulo(){return this._type===l.default.OPERATOR&&this._value===a.default.MODULO}static get EQUALS(){return new h(l.default.OPERATOR,a.default.EQUALS)}isEquals(){return this._type===l.default.OPERATOR&&this._value===a.default.EQUALS}static get NOT_EQUALS(){return new h(l.default.OPERATOR,a.default.NOT_EQUALS)}isNotEquals(){return this._type===l.default.OPERATOR&&this._value===a.default.NOT_EQUALS}static get LESS_THAN(){return new h(l.default.OPERATOR,a.default.LESS_THAN)}isLessThan(){return this._type===l.default.OPERATOR&&this._value===a.default.LESS_THAN}static get LESS_THAN_OR_EQUAL(){return new h(l.default.OPERATOR,a.default.LESS_THAN_OR_EQUAL)}isLessThanOrEqual(){return this._type===l.default.OPERATOR&&this._value===a.default.LESS_THAN_OR_EQUAL}static get GREATER_THAN(){return new h(l.default.OPERATOR,a.default.GREATER_THAN)}isGreaterThan(){return this._type===l.default.OPERATOR&&this._value===a.default.GREATER_THAN}static get GREATER_THAN_OR_EQUAL(){return new h(l.default.OPERATOR,a.default.GREATER_THAN_OR_EQUAL)}isGreaterThanOrEqual(){return this._type===l.default.OPERATOR&&this._value===a.default.GREATER_THAN_OR_EQUAL}static get AND(){return new h(l.default.OPERATOR,a.default.AND)}isAnd(){return this._type===l.default.OPERATOR&&this._value===a.default.AND}static get OR(){return new h(l.default.OPERATOR,a.default.OR)}isOr(){return this._type===l.default.OPERATOR&&this._value===a.default.OR}static get NOT(){return new h(l.default.UNARY_OPERATOR,a.default.NOT)}isNot(){return this._type===l.default.UNARY_OPERATOR&&this._value===a.default.NOT}static get IS(){return new h(l.default.OPERATOR,a.default.IS)}isIs(){return this._type===l.default.OPERATOR&&this._value===a.default.IS}isKeyword(){return this._type===l.default.KEYWORD}static get WITH(){return new h(l.default.KEYWORD,o.default.WITH)}isWith(){return this._type===l.default.KEYWORD&&this._value===o.default.WITH}static get RETURN(){return new h(l.default.KEYWORD,o.default.RETURN)}isReturn(){return this._type===l.default.KEYWORD&&this._value===o.default.RETURN}static get LOAD(){return new h(l.default.KEYWORD,o.default.LOAD)}isLoad(){return this._type===l.default.KEYWORD&&this._value===o.default.LOAD}static get CALL(){return new h(l.default.KEYWORD,o.default.CALL)}isCall(){return this._type===l.default.KEYWORD&&this._value===o.default.CALL}static get YIELD(){return new h(l.default.KEYWORD,o.default.YIELD)}isYield(){return this._type===l.default.KEYWORD&&this._value===o.default.YIELD}static get JSON(){return new h(l.default.KEYWORD,o.default.JSON)}isJSON(){return this._type===l.default.KEYWORD&&this._value===o.default.JSON}static get CSV(){return new h(l.default.KEYWORD,o.default.CSV)}isCSV(){return this._type===l.default.KEYWORD&&this._value===o.default.CSV}static get TEXT(){return new h(l.default.KEYWORD,o.default.TEXT)}isText(){return this._type===l.default.KEYWORD&&this._value===o.default.TEXT}static get FROM(){return new h(l.default.KEYWORD,o.default.FROM)}isFrom(){return this._type===l.default.KEYWORD&&this._value===o.default.FROM}static get HEADERS(){return new h(l.default.KEYWORD,o.default.HEADERS)}isHeaders(){return this._type===l.default.KEYWORD&&this._value===o.default.HEADERS}static get POST(){return new h(l.default.KEYWORD,o.default.POST)}isPost(){return this._type===l.default.KEYWORD&&this._value===o.default.POST}static get UNWIND(){return new h(l.default.KEYWORD,o.default.UNWIND)}isUnwind(){return this._type===l.default.KEYWORD&&this._value===o.default.UNWIND}static get MATCH(){return new h(l.default.KEYWORD,o.default.MATCH)}isMatch(){return this._type===l.default.KEYWORD&&this._value===o.default.MATCH}static get AS(){return new h(l.default.KEYWORD,o.default.AS)}isAs(){return this._type===l.default.KEYWORD&&this._value===o.default.AS}static get WHERE(){return new h(l.default.KEYWORD,o.default.WHERE)}isWhere(){return this._type===l.default.KEYWORD&&this._value===o.default.WHERE}static get MERGE(){return new h(l.default.KEYWORD,o.default.MERGE)}isMerge(){return this._type===l.default.KEYWORD&&this._value===o.default.MERGE}static get CREATE(){return new h(l.default.KEYWORD,o.default.CREATE)}isCreate(){return this._type===l.default.KEYWORD&&this._value===o.default.CREATE}static get VIRTUAL(){return new h(l.default.KEYWORD,o.default.VIRTUAL)}isVirtual(){return this._type===l.default.KEYWORD&&this._value===o.default.VIRTUAL}static get DELETE(){return new h(l.default.KEYWORD,o.default.DELETE)}isDelete(){return this._type===l.default.KEYWORD&&this._value===o.default.DELETE}static get SET(){return new h(l.default.KEYWORD,o.default.SET)}isSet(){return this._type===l.default.KEYWORD&&this._value===o.default.SET}static get REMOVE(){return new h(l.default.KEYWORD,o.default.REMOVE)}isRemove(){return this._type===l.default.KEYWORD&&this._value===o.default.REMOVE}static get CASE(){return new h(l.default.KEYWORD,o.default.CASE)}isCase(){return this._type===l.default.KEYWORD&&this._value===o.default.CASE}static get WHEN(){return new h(l.default.KEYWORD,o.default.WHEN)}isWhen(){return this._type===l.default.KEYWORD&&this._value===o.default.WHEN}static get THEN(){return new h(l.default.KEYWORD,o.default.THEN)}isThen(){return this._type===l.default.KEYWORD&&this._value===o.default.THEN}static get ELSE(){return new h(l.default.KEYWORD,o.default.ELSE)}isElse(){return this._type===l.default.KEYWORD&&this._value===o.default.ELSE}static get END(){return new h(l.default.KEYWORD,o.default.END)}isEnd(){return this._type===l.default.KEYWORD&&this._value===o.default.END}static get NULL(){return new h(l.default.KEYWORD,o.default.NULL)}isNull(){return this._type===l.default.KEYWORD&&this._value===o.default.NULL}static get IN(){return new h(l.default.KEYWORD,o.default.IN)}isIn(){return this._type===l.default.KEYWORD&&this._value===o.default.IN}static get PIPE(){return new h(l.default.KEYWORD,a.default.PIPE)}isPipe(){return this._type===l.default.KEYWORD&&this._value===a.default.PIPE}static get DISTINCT(){return new h(l.default.KEYWORD,o.default.DISTINCT)}isDistinct(){return this._type===l.default.KEYWORD&&this._value===o.default.DISTINCT}static get LIMIT(){return new h(l.default.KEYWORD,o.default.LIMIT)}isLimit(){return this._type===l.default.KEYWORD&&this._value===o.default.LIMIT}static get EOF(){return new h(l.default.EOF)}isEOF(){return this._type===l.default.EOF}isOperand(){return this.isNumber()||this.isBoolean()||this.isString()||this.isNull()}isWhitespaceOrComment(){return this.isWhitespace()||this.isComment()}isSymbol(){return this._type===l.default.SYMBOL}static method(e){return h[e.toUpperCase()]}}t.default=h},299:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(7847)),s=r(n(8652));t.default=class{constructor(e){this._enum=e,this._trie=new s.default;for(const[t,n]of Object.entries(e)){const e=i.default.method(t);void 0!==e&&null!==e.value&&this._trie.insert(e)}}map(e){return this._trie.find(e)}get last_found(){return this._trie.last_found}}},8898:(e,t)=>{var n;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.KEYWORD="KEYWORD",e.BOOLEAN="BOOLEAN",e.OPERATOR="OPERATOR",e.UNARY_OPERATOR="UNARY_OPERATOR",e.IDENTIFIER="IDENTIFIER",e.STRING="STRING",e.F_STRING="F-STRING",e.BACKTICK_STRING="BACKTICK_STRING",e.NUMBER="NUMBER",e.SYMBOL="SYMBOL",e.WHITESPACE="WHITESPACE",e.COMMENT="COMMENT",e.EOF="EOF"}(n||(n={})),t.default=n},3479:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(6519)),s=r(n(7825)),o=r(n(2008)),a=r(n(178)),u=r(n(4020)),l=r(n(7847)),h=r(n(299));t.default=class{constructor(e){this.keywords=new h.default(s.default),this.symbols=new h.default(u.default),this.operators=new h.default(o.default),this.walker=new a.default(e)}tokenize(){const e=[];let t=null;for(;!this.walker.isAtEnd;){e.push(...this.f_string()),t=this.getLastNonWhitespaceOrNonCommentToken(e)||t;const n=this.getNextToken(t);if(null===n)throw new Error(`Unrecognized token at position ${this.walker.position}`);n.position=this.walker.position,e.push(n)}return e}getLastNonWhitespaceOrNonCommentToken(e){return 0===e.length||e[e.length-1].isWhitespaceOrComment()?null:e[e.length-1]}getNextToken(e=null){return this.walker.isAtEnd?l.default.EOF:this.comment()||this.whitespace()||this.lookup(this.keywords)||this.lookup(this.operators,e,this.skipMinus)||this.boolean()||this.identifier()||this.string()||this.number()||this.lookup(this.symbols)}comment(){const e=this.walker.position;if(this.walker.checkForSingleComment()||this.walker.checkForMultiLineComment()){const t=i.default.uncomment(this.walker.getString(e));return l.default.COMMENT(t)}return null}boolean(){const e=this.walker.position;return this.walker.checkForString("TRUE")||this.walker.checkForString("FALSE")?l.default.BOOLEAN(this.walker.getString(e).toUpperCase()):null}identifier(){const e=this.walker.position;if(this.walker.checkForUnderScore()||this.walker.checkForLetter()){for(;!this.walker.isAtEnd&&(this.walker.checkForLetter()||this.walker.checkForDigit()||this.walker.checkForUnderScore()););return l.default.IDENTIFIER(this.walker.getString(e))}return null}string(){const e=this.walker.position,t=this.walker.checkForQuote();if(null===t)return null;for(;!this.walker.isAtEnd;)if(this.walker.escaped(t))this.walker.moveNext(),this.walker.moveNext();else{if(this.walker.checkForString(t)){const n=this.walker.getString(e);return t===u.default.BACKTICK?l.default.BACKTICK_STRING(n,t):l.default.STRING(n,t)}this.walker.moveNext()}throw new Error(`Unterminated string at position ${e}`)}*f_string(){if(!this.walker.checkForFStringStart())return;this.walker.moveNext();let e=this.walker.position;const t=this.walker.checkForQuote();if(null!==t)for(;!this.walker.isAtEnd;)if(this.walker.escaped(t)||this.walker.escapedBrace())this.walker.moveNext(),this.walker.moveNext();else{if(this.walker.openingBrace())for(yield l.default.F_STRING(this.walker.getString(e),t),e=this.walker.position,yield l.default.OPENING_BRACE,this.walker.moveNext(),e=this.walker.position;!this.walker.isAtEnd&&!this.walker.closingBrace();){const t=this.getNextToken();if(null===t)break;if(yield t,this.walker.closingBrace()){yield l.default.CLOSING_BRACE,this.walker.moveNext(),e=this.walker.position;break}}if(this.walker.checkForString(t))return void(yield l.default.F_STRING(this.walker.getString(e),t));this.walker.moveNext()}}whitespace(){let e=!1;for(;!this.walker.isAtEnd&&this.walker.checkForWhitespace();)this.walker.moveNext(),e=!0;return e?l.default.WHITESPACE:null}number(){const e=this.walker.position;if(this.walker.checkForString("-")||this.walker.checkForDigit()){for(;!this.walker.isAtEnd&&this.walker.checkForDigit(););if(this.walker.checkForString(u.default.DOT)){let e=0;for(;!this.walker.isAtEnd&&this.walker.checkForDigit();)e++;0===e&&this.walker.movePrevious()}const t=this.walker.getString(e);return l.default.NUMBER(t)}return null}lookup(e,t=null,n){const r=e.map(this.walker.getRemainingString());return void 0!==r&&null!==r.value?r.can_be_identifier&&this.walker.word_continuation(r.value)||n&&t&&n(t,r)?null:(this.walker.moveBy(r.value.length),null!==e.last_found&&(r.case_sensitive_value=e.last_found),r):null}skipMinus(e,t){return null!==e&&!(!(e.isKeyword()||e.isComma()||e.isColon())||!t.isNegation())}}},8652:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class n{constructor(){this._children=new Map,this._token=void 0}map(e){return this._children.get(e)||this._children.set(e,new n).get(e)}retrieve(e){return this._children.get(e)}set token(e){this._token=e}get token(){return this._token}is_end_of_word(){return void 0!==this._token}no_children(){return 0===this._children.size}}t.default=class{constructor(){this._root=new n,this._max_length=0,this._last_found=null}insert(e){if(null===e.value||0===e.value.length)throw new Error("Token value cannot be null or empty");let t=this._root;for(const n of e.value)t=t.map(n.toLowerCase());e.value.length>this._max_length&&(this._max_length=e.value.length),t.token=e}find(e){if(0===e.length)return;let t,n,r=0;for(this._last_found=null;void 0!==(t=(t||this._root).retrieve(e[r].toLowerCase()))&&(t.is_end_of_word()&&(n=t.token,this._last_found=e.substring(0,r+1)),r++,!(r===e.length||r>this._max_length)););return(null==t?void 0:t.is_end_of_word())&&(n=t.token,this._last_found=e.substring(0,r)),n}get last_found(){return this._last_found}}},3001:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{static isInstanceOfAny(e,t){return t.some((t=>e instanceof t))}}},6519:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class n{static unquote(e){if(0===e.length)return e;if(1===e.length&&n.quotes.includes(e))return"";const t=e[0],r=e[e.length-1];return n.quotes.includes(t)&&t===r?e.substring(1,e.length-1):n.quotes.includes(r)&&t!==r?e.substring(0,e.length-1):n.quotes.includes(t)&&t!==r?e.substring(1):e}static uncomment(e){return e.length<2?e:"/"===e[0]&&"/"===e[1]?e.substring(2):"/"===e[0]&&"*"===e[1]&&"*"===e[e.length-2]&&"/"===e[e.length-1]?e.substring(2,e.length-2):e}static removeEscapedQuotes(e,t){let n="";for(let r=0;r<e.length;r++)"\\"===e[r]&&e[r+1]===t&&r++,n+=e[r];return n}static removeEscapedBraces(e){let t="";for(let n=0;n<e.length;n++)("{"===e[n]&&"{"===e[n+1]||"}"===e[n]&&"}"===e[n+1])&&n++,t+=e[n];return t}static can_be_identifier(e){const t=e.toLowerCase();return 0!==t.length&&!(!n.letters.includes(t[0])&&"_"!==t[0])&&t.split("").every((e=>n.word_valid_chars.includes(e)))}}n.quotes=['"',"'","`"],n.letters="abcdefghijklmnopqrstuvwxyz",n.digits="0123456789",n.whitespace=" \t\n\r",n.word_valid_chars=n.letters+n.digits+"_",t.default=n}},t={},n=function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,n),s.exports}(610);return n.default})()));
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
declare class IndexEntry {
|
|
2
|
+
private _positions;
|
|
3
|
+
private _index;
|
|
4
|
+
constructor(positions?: number[]);
|
|
5
|
+
add(position: number): void;
|
|
6
|
+
get position(): number;
|
|
7
|
+
reset(): void;
|
|
8
|
+
next(): boolean;
|
|
9
|
+
clone(): IndexEntry;
|
|
10
|
+
}
|
|
11
|
+
declare class Layer {
|
|
12
|
+
private _index;
|
|
13
|
+
private _current;
|
|
14
|
+
constructor(index: Map<string, IndexEntry>);
|
|
15
|
+
get index(): Map<string, IndexEntry>;
|
|
16
|
+
get current(): number;
|
|
17
|
+
set current(value: number);
|
|
18
|
+
}
|
|
19
|
+
declare class Data {
|
|
20
|
+
protected _records: Record<string, any>[];
|
|
21
|
+
private _layers;
|
|
22
|
+
constructor(records?: Record<string, any>[]);
|
|
23
|
+
protected _buildIndex(key: string, level?: number): void;
|
|
24
|
+
layer(level?: number): Layer;
|
|
25
|
+
protected _find(key: string, level?: number): boolean;
|
|
26
|
+
reset(): void;
|
|
27
|
+
next(level?: number): boolean;
|
|
28
|
+
current(level?: number): Record<string, any> | null;
|
|
29
|
+
}
|
|
30
|
+
export default Data;
|
|
31
|
+
//# sourceMappingURL=data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/graph/data.ts"],"names":[],"mappings":"AAAA,cAAM,UAAU;IACZ,OAAO,CAAC,UAAU,CAAW;IAC7B,OAAO,CAAC,MAAM,CAAc;gBAEhB,SAAS,GAAE,MAAM,EAAO;IAG7B,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAGlC,IAAW,QAAQ,IAAI,MAAM,CAE5B;IACM,KAAK,IAAI,IAAI;IAGb,IAAI,IAAI,OAAO;IAOf,KAAK,IAAI,UAAU;CAG7B;AAED,cAAM,KAAK;IACP,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,QAAQ,CAAc;gBAClB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAG1C,IAAW,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAE1C;IACD,IAAW,OAAO,IAAI,MAAM,CAE3B;IACD,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAE/B;CACJ;AAED,cAAM,IAAI;IACN,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAM;IAC/C,OAAO,CAAC,OAAO,CAAiC;gBAEpC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAO;IAI/C,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,IAAI;IAWpD,KAAK,CAAC,KAAK,GAAE,MAAU,GAAG,KAAK;IAWtC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO;IAejD,KAAK,IAAI,IAAI;IAMb,IAAI,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO;IAOhC,OAAO,CAAC,KAAK,GAAE,MAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;CAMhE;AAED,eAAe,IAAI,CAAC"}
|