flowquery 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npm-publish.yml +2 -0
- package/.github/workflows/release.yml +18 -9
- package/dist/compute/runner.js +75 -0
- package/dist/compute/runner.js.map +1 -0
- package/dist/flowquery.min.js +1 -0
- package/dist/index.browser.js +119 -0
- package/dist/index.browser.js.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/index.node.js +123 -0
- package/dist/index.node.js.map +1 -0
- package/dist/io/command_line.js +102 -0
- package/dist/io/command_line.js.map +1 -0
- package/dist/parsing/alias.js +23 -0
- package/dist/parsing/alias.js.map +1 -0
- package/dist/parsing/alias_option.js +11 -0
- package/dist/parsing/alias_option.js.map +1 -0
- package/dist/parsing/ast_node.js +145 -0
- package/dist/parsing/ast_node.js.map +1 -0
- package/dist/parsing/base_parser.js +92 -0
- package/dist/parsing/base_parser.js.map +1 -0
- package/dist/parsing/components/csv.js +13 -0
- package/dist/parsing/components/csv.js.map +1 -0
- package/dist/parsing/components/from.js +16 -0
- package/dist/parsing/components/from.js.map +1 -0
- package/dist/parsing/components/headers.js +16 -0
- package/dist/parsing/components/headers.js.map +1 -0
- package/dist/parsing/components/json.js +13 -0
- package/dist/parsing/components/json.js.map +1 -0
- package/dist/parsing/components/null.js +13 -0
- package/dist/parsing/components/null.js.map +1 -0
- package/dist/parsing/components/post.js +13 -0
- package/dist/parsing/components/post.js.map +1 -0
- package/dist/parsing/components/text.js +13 -0
- package/dist/parsing/components/text.js.map +1 -0
- package/dist/parsing/context.js +47 -0
- package/dist/parsing/context.js.map +1 -0
- package/dist/parsing/data_structures/associative_array.js +45 -0
- package/dist/parsing/data_structures/associative_array.js.map +1 -0
- package/dist/parsing/data_structures/json_array.js +35 -0
- package/dist/parsing/data_structures/json_array.js.map +1 -0
- package/dist/parsing/data_structures/key_value_pair.js +41 -0
- package/dist/parsing/data_structures/key_value_pair.js.map +1 -0
- package/dist/parsing/data_structures/lookup.js +44 -0
- package/dist/parsing/data_structures/lookup.js.map +1 -0
- package/dist/parsing/data_structures/range_lookup.js +40 -0
- package/dist/parsing/data_structures/range_lookup.js.map +1 -0
- package/dist/parsing/expressions/expression.js +142 -0
- package/dist/parsing/expressions/expression.js.map +1 -0
- package/dist/parsing/expressions/f_string.js +29 -0
- package/dist/parsing/expressions/f_string.js.map +1 -0
- package/dist/parsing/expressions/identifier.js +26 -0
- package/dist/parsing/expressions/identifier.js.map +1 -0
- package/dist/parsing/expressions/number.js +41 -0
- package/dist/parsing/expressions/number.js.map +1 -0
- package/dist/parsing/expressions/operator.js +180 -0
- package/dist/parsing/expressions/operator.js.map +1 -0
- package/dist/parsing/expressions/reference.js +45 -0
- package/dist/parsing/expressions/reference.js.map +1 -0
- package/dist/parsing/expressions/string.js +34 -0
- package/dist/parsing/expressions/string.js.map +1 -0
- package/dist/parsing/functions/aggregate_function.js +58 -0
- package/dist/parsing/functions/aggregate_function.js.map +1 -0
- package/dist/parsing/functions/async_function.js +119 -0
- package/dist/parsing/functions/async_function.js.map +1 -0
- package/dist/parsing/functions/avg.js +43 -0
- package/dist/parsing/functions/avg.js.map +1 -0
- package/dist/parsing/functions/collect.js +52 -0
- package/dist/parsing/functions/collect.js.map +1 -0
- package/dist/parsing/functions/function.js +59 -0
- package/dist/parsing/functions/function.js.map +1 -0
- package/dist/parsing/functions/function_factory.js +259 -0
- package/dist/parsing/functions/function_factory.js.map +1 -0
- package/dist/parsing/functions/function_metadata.js +159 -0
- package/dist/parsing/functions/function_metadata.js.map +1 -0
- package/dist/parsing/functions/functions.js +47 -0
- package/dist/parsing/functions/functions.js.map +1 -0
- package/dist/parsing/functions/join.js +29 -0
- package/dist/parsing/functions/join.js.map +1 -0
- package/dist/parsing/functions/predicate_function.js +37 -0
- package/dist/parsing/functions/predicate_function.js.map +1 -0
- package/dist/parsing/functions/predicate_function_factory.js +19 -0
- package/dist/parsing/functions/predicate_function_factory.js.map +1 -0
- package/dist/parsing/functions/predicate_sum.js +33 -0
- package/dist/parsing/functions/predicate_sum.js.map +1 -0
- package/dist/parsing/functions/rand.js +17 -0
- package/dist/parsing/functions/rand.js.map +1 -0
- package/dist/parsing/functions/range.js +22 -0
- package/dist/parsing/functions/range.js.map +1 -0
- package/dist/parsing/functions/reducer_element.js +12 -0
- package/dist/parsing/functions/reducer_element.js.map +1 -0
- package/dist/parsing/functions/replace.js +23 -0
- package/dist/parsing/functions/replace.js.map +1 -0
- package/dist/parsing/functions/round.js +21 -0
- package/dist/parsing/functions/round.js.map +1 -0
- package/dist/parsing/functions/size.js +21 -0
- package/dist/parsing/functions/size.js.map +1 -0
- package/dist/parsing/functions/split.js +29 -0
- package/dist/parsing/functions/split.js.map +1 -0
- package/dist/parsing/functions/stringify.js +29 -0
- package/dist/parsing/functions/stringify.js.map +1 -0
- package/dist/parsing/functions/sum.js +38 -0
- package/dist/parsing/functions/sum.js.map +1 -0
- package/dist/parsing/functions/to_json.js +21 -0
- package/dist/parsing/functions/to_json.js.map +1 -0
- package/dist/parsing/functions/value_holder.js +16 -0
- package/dist/parsing/functions/value_holder.js.map +1 -0
- package/dist/parsing/logic/case.js +27 -0
- package/dist/parsing/logic/case.js.map +1 -0
- package/dist/parsing/logic/else.js +16 -0
- package/dist/parsing/logic/else.js.map +1 -0
- package/dist/parsing/logic/end.js +13 -0
- package/dist/parsing/logic/end.js.map +1 -0
- package/dist/parsing/logic/then.js +16 -0
- package/dist/parsing/logic/then.js.map +1 -0
- package/dist/parsing/logic/when.js +16 -0
- package/dist/parsing/logic/when.js.map +1 -0
- package/dist/parsing/operations/aggregated_return.js +35 -0
- package/dist/parsing/operations/aggregated_return.js.map +1 -0
- package/dist/parsing/operations/aggregated_with.js +41 -0
- package/dist/parsing/operations/aggregated_with.js.map +1 -0
- package/dist/parsing/operations/group_by.js +139 -0
- package/dist/parsing/operations/group_by.js.map +1 -0
- package/dist/parsing/operations/limit.js +38 -0
- package/dist/parsing/operations/limit.js.map +1 -0
- package/dist/parsing/operations/load.js +174 -0
- package/dist/parsing/operations/load.js.map +1 -0
- package/dist/parsing/operations/operation.js +81 -0
- package/dist/parsing/operations/operation.js.map +1 -0
- package/dist/parsing/operations/projection.js +21 -0
- package/dist/parsing/operations/projection.js.map +1 -0
- package/dist/parsing/operations/return.js +60 -0
- package/dist/parsing/operations/return.js.map +1 -0
- package/dist/parsing/operations/unwind.js +46 -0
- package/dist/parsing/operations/unwind.js.map +1 -0
- package/dist/parsing/operations/where.js +53 -0
- package/dist/parsing/operations/where.js.map +1 -0
- package/dist/parsing/operations/with.js +36 -0
- package/dist/parsing/operations/with.js.map +1 -0
- package/dist/parsing/parser.js +812 -0
- package/dist/parsing/parser.js.map +1 -0
- package/dist/parsing/token_to_node.js +121 -0
- package/dist/parsing/token_to_node.js.map +1 -0
- package/dist/tokenization/keyword.js +46 -0
- package/dist/tokenization/keyword.js.map +1 -0
- package/dist/tokenization/operator.js +28 -0
- package/dist/tokenization/operator.js.map +1 -0
- package/dist/tokenization/string_walker.js +165 -0
- package/dist/tokenization/string_walker.js.map +1 -0
- package/dist/tokenization/symbol.js +18 -0
- package/dist/tokenization/symbol.js.map +1 -0
- package/dist/tokenization/token.js +484 -0
- package/dist/tokenization/token.js.map +1 -0
- package/dist/tokenization/token_mapper.js +55 -0
- package/dist/tokenization/token_mapper.js.map +1 -0
- package/dist/tokenization/token_type.js +19 -0
- package/dist/tokenization/token_type.js.map +1 -0
- package/dist/tokenization/tokenizer.js +220 -0
- package/dist/tokenization/tokenizer.js.map +1 -0
- package/dist/tokenization/trie.js +111 -0
- package/dist/tokenization/trie.js.map +1 -0
- package/dist/utils/object_utils.js +19 -0
- package/dist/utils/object_utils.js.map +1 -0
- package/dist/utils/string_utils.js +110 -0
- package/dist/utils/string_utils.js.map +1 -0
- package/docs/flowquery.min.js +1 -1
- package/flowquery-vscode/flowQueryEngine/flowquery.min.js +1 -1
- package/package.json +21 -4
- package/src/compute/runner.ts +45 -0
- package/src/index.browser.ts +118 -0
- package/src/index.node.ts +141 -0
- package/src/parsing/functions/async_function.ts +95 -0
- package/src/parsing/functions/function_factory.ts +230 -1
- package/src/parsing/functions/function_metadata.ts +238 -0
- package/src/parsing/functions/functions.ts +43 -0
- package/src/parsing/operations/load.ts +51 -2
- package/src/parsing/parser.ts +46 -5
- package/tests/parsing/function_plugins.test.ts +369 -0
package/docs/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,s){var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(n,i){function u(e){try{l(r.next(e))}catch(e){i(e)}}function a(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(u,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(s(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 r(this,void 0,void 0,(function*(){return new Promise(((e,t)=>r(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,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(7474));t.default=n.default},5859:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.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 s;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"}(s||(t.AliasOption=s={}))},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,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(7847)),i=r(s(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 s=0;for(let r=this.tokenIndex;r<this.tokens.length;r++)if(!t||!this.tokens[r].isWhitespaceOrComment()){if(!this.tokens[r].equals(e[s]))return!1;if(s++,s===e.length)break}return s===e.length}get token(){return this.tokenIndex>=this.tokens.length?n.default.EOF:this.tokens[this.tokenIndex]}get previousToken(){return this.tokenIndex-1<0?n.default.EOF:this.tokens[this.tokenIndex-1]}}},3840:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{constructor(){super()}}t.default=i},970:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{constructor(){super()}value(){return this.children[0].value()}}t.default=i},9798:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{constructor(){super()}value(){return this.firstChild().value()||{}}}t.default=i},5956:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{constructor(){super()}}t.default=i},8587:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{constructor(){super()}}t.default=i},440:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{constructor(){super()}}t.default=i},2457:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.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,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.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,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{addValue(e){this.addChild(e)}value(){return this.children.map((e=>e.value()))}}t.default=i},2073:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542)),i=r(s(3198));class u extends n.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=u},9997:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.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,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.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,s=this.to.value()||e.length;return this.variable.value().slice(t,s)}}t.default=i},3573:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542)),i=r(s(5481)),u=r(s(2730));class a extends n.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 n.default;if(e.isOperator()){const t=this.toTree(),s=this.toTree();e.addChild(s),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 u.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=a},1153:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{value(){return this.getChildren().map((e=>e.value())).join("")}}t.default=i},5196:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(3198));class i extends n.default{toString(){return`Identifier (${this._value})`}value(){return super.value()}}t.default=i},3818:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.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,s){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 n=r(s(1542));class i extends n.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,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5196));class i extends n.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,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{constructor(e){super(),this._value=e}value(){return this._value}toString(){return`String (${this._value})`}}t.default=i},5481:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5517));class i extends n.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},8437:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5481)),i=r(s(1206));class u extends i.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}}class a extends n.default{constructor(){super("avg"),this._expectedParameterCount=1}reduce(e){e.value=this.firstChild().value()}element(){return new u}}t.default=a},1567:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5481)),i=r(s(1206));class u extends i.default{constructor(){super(...arguments),this._value=[]}get value(){return this._value}set value(e){this._value.push(e)}}class a extends i.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)}}class l extends n.default{constructor(){super("collect"),this._distinct=!1,this._expectedParameterCount=1}reduce(e){e.value=this.firstChild().value()}element(){return this._distinct?new a:new u}set distinct(e){this._distinct=e}}t.default=l},5517:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{constructor(e){super(),this._expectedParameterCount=null,this._supports_distinct=!1,this._name=e}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:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(9854)),i=r(s(1567)),u=r(s(8437)),a=r(s(8240)),l=r(s(7514)),o=r(s(3605)),h=r(s(6781)),d=r(s(197)),c=r(s(8673)),f=r(s(2061)),p=r(s(3700)),_=r(s(9700)),v=r(s(5517));t.default=class{static create(e){switch(e.toLowerCase()){case"sum":return new n.default;case"collect":return new i.default;case"avg":return new u.default;case"range":return new a.default;case"rand":return new l.default;case"round":return new o.default;case"split":return new h.default;case"join":return new d.default;case"tojson":return new c.default;case"replace":return new f.default;case"stringify":return new p.default;case"size":return new _.default;default:return new v.default(e)}}}},197:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5517)),i=r(s(3198));class u extends n.default{constructor(){super("join"),this._expectedParameterCount=2}set parameters(e){1===e.length&&e.push(new i.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)}}t.default=u},8963:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542)),i=r(s(2333));class u extends n.default{constructor(e){super(),this._valueHolder=new i.default,this._name=e}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=u},8706:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(8963)),i=r(s(2912));t.default=class{static create(e){return"sum"===e.toLowerCase()?new i.default:new n.default(e)}}},2912:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(8963));class i extends n.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 s=0;s<e.length;s++)this._valueHolder.holder=e[s],(null===this.where||this.where.value())&&(null===t?t=this._return.value():t+=this._return.value());return t}}t.default=i},7514:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5517));class i extends n.default{constructor(){super("rand"),this._expectedParameterCount=0}value(){return Math.random()}}t.default=i},8240:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5517));class i extends n.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,s)=>e+s))}}t.default=i},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,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5517));class i extends n.default{constructor(){super("replace"),this._expectedParameterCount=3}value(){const e=this.getChildren()[0].value(),t=this.getChildren()[1].value(),s=this.getChildren()[2].value();if("string"!=typeof e||"string"!=typeof t||"string"!=typeof s)throw new Error("Invalid arguments for replace function");return e.replace(new RegExp(t,"g"),s)}}t.default=i},3605:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5517));class i extends n.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)}}t.default=i},9700:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5517));class i extends n.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}}t.default=i},6781:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5517)),i=r(s(3198));class u extends n.default{constructor(){super("split"),this._expectedParameterCount=2}set parameters(e){1===e.length&&e.push(new i.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)}}t.default=u},3700:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5517)),i=r(s(3818));class u extends n.default{constructor(){super("stringify"),this._expectedParameterCount=2}set parameters(e){1===e.length&&e.push(new i.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)}}t.default=u},9854:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5481)),i=r(s(1206));class u extends i.default{constructor(){super(...arguments),this._value=null}get value(){return this._value}set value(e){null!==this._value?this._value+=e:this._value=e}}class a extends n.default{constructor(){super("sum"),this._expectedParameterCount=1}reduce(e){e.value=this.firstChild().value()}element(){return new u}}t.default=a},8673:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5517));class i extends n.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)}}t.default=i},2333:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{set holder(e){this._holder=e}value(){return this._holder}}t.default=i},6052:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542)),i=r(s(1740));class u extends n.default{constructor(){super()}value(){let e=0,t=this.getChildren()[e];for(;t instanceof i.default;){const s=this.getChildren()[e+1];if(t.value())return s.value();e+=2,t=this.getChildren()[e]}return t.value()}}t.default=u},3501:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{constructor(){super()}value(){return this.getChildren()[0].value()}}t.default=i},6263:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{constructor(){super()}}t.default=i},6667:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{constructor(){super()}value(){return this.getChildren()[0].value()}}t.default=i},1740:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(1542));class i extends n.default{constructor(){super()}value(){return this.getChildren()[0].value()}}t.default=i},8682:function(e,t,s){var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(n,i){function u(e){try{l(r.next(e))}catch(e){i(e)}}function a(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(u,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(s(7342)),u=n(s(9025));class a extends i.default{constructor(){super(...arguments),this._group_by=new u.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,s){var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(n,i){function u(e){try{l(r.next(e))}catch(e){i(e)}}function a(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(u,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(s(7342)),u=n(s(9025));class a extends i.default{constructor(){super(...arguments),this._group_by=new u.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},9025:function(e,t,s){var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(n,i){function u(e){try{l(r.next(e))}catch(e){i(e)}}function a(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(u,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(s(505));class u{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 i.default{constructor(){super(...arguments),this._root=new u,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 s=t.value();let r=e.children.get(s);void 0===r&&(r=new u(s),e.children.set(s,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,s)=>{t.reduce(e[s])}))}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 s;if(t.children.size>0)for(const s of t.children.values())this.mappers[e].overridden=s.value,yield*this.generate_results(e+1,s);else{null===(s=t.elements)||void 0===s||s.forEach(((e,t)=>{this.reducers[t].overridden=e.value}));const e={};for(const[t,s]of this.expressions())e[s]=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,s){var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(n,i){function u(e){try{l(r.next(e))}catch(e){i(e)}}function a(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(u,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(s(5239));class u extends i.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=u},1816:function(e,t,s){var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(n,i){function u(e){try{l(r.next(e))}catch(e){i(e)}}function a(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(u,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(s(5239)),u=n(s(5956)),a=n(s(2457)),l=n(s(9798)),o=n(s(440));class h extends i.default{constructor(){super(),this._value=null}get type(){return this.children[0]}get from(){return this.children[1].value()}get headers(){return this.childCount()>2&&this.children[2]instanceof l.default&&this.children[2].value()||{}}get payload(){let e=null;return this.childCount()>2&&this.children[2]instanceof o.default?e=this.children[2]:this.childCount()>3&&this.children[3]instanceof o.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,s=null==t?void 0:t.value();return null===s||"object"!=typeof s||e.hasOwnProperty("Content-Type")||(e["Content-Type"]="application/json"),Object.assign({method:this.method(),headers:e},null!==t?{body:JSON.stringify(t.value())}:{})}load(){return r(this,void 0,void 0,(function*(){var e,t,s;const r=yield fetch(this.from,this.options());let n=null;if(this.type instanceof u.default?n=yield r.json():this.type instanceof a.default&&(n=yield r.text()),Array.isArray(n))for(const t of n)this._value=t,yield null===(e=this.next)||void 0===e?void 0:e.run();else"object"==typeof n&&null!==n?(this._value=n,yield null===(t=this.next)||void 0===t?void 0:t.run()):"string"==typeof n&&(this._value=n,yield null===(s=this.next)||void 0===s?void 0:s.run())}))}run(){return r(this,void 0,void 0,(function*(){try{yield this.load()}catch(e){throw new Error(`Failed to load data from ${this.from}. Error: ${e}`)}}))}value(){return this._value}}t.default=h},5239:function(e,t,s){var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(n,i){function u(e){try{l(r.next(e))}catch(e){i(e)}}function a(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(u,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(s(1542));class u 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}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()}))}reset(){}get results(){throw new Error("Not implemented")}}t.default=u},505:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(5239));class i extends n.default{constructor(e){super(),this.children=e}*expressions(){for(let e=0;e<this.children.length;e++){const t=this.children[e],s=t.alias||`expr${e}`;yield[t,s]}}}t.default=i},7342:function(e,t,s){var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(n,i){function u(e){try{l(r.next(e))}catch(e){i(e)}}function a(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(u,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(s(505));class u 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 r(this,void 0,void 0,(function*(){if(!this.where)return;const e=new Map;for(const[t,s]of this.expressions()){const r=t.value();e.set(s,r)}this._results.push(Object.fromEntries(e))}))}get results(){return this._results}}t.default=u},577:function(e,t,s){var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(n,i){function u(e){try{l(r.next(e))}catch(e){i(e)}}function a(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(u,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(s(5239));class u extends i.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 s=this.expression.value();if(!Array.isArray(s))throw new Error("Expected array");for(let t=0;t<s.length;t++)this._value=s[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=u},6001:function(e,t,s){var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(n,i){function u(e){try{l(r.next(e))}catch(e){i(e)}}function a(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(u,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(s(5239));class u extends i.default{constructor(e){super(),this.addChild(e)}get expression(){return this.children[0]}run(){return r(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=u},696:function(e,t,s){var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(n,i){function u(e){try{l(r.next(e))}catch(e){i(e)}}function a(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(u,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(s(505));class u extends i.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=u},7056:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(7342)),i=r(s(3573)),u=r(s(1542)),a=r(s(3738)),l=r(s(2312)),o=r(s(5517)),h=r(s(122)),d=r(s(1363)),c=r(s(2073)),f=r(s(696)),p=r(s(577)),_=r(s(6001)),v=s(4275),E=r(s(1816)),w=r(s(970)),O=r(s(5859)),m=r(s(9798)),x=r(s(6052)),g=r(s(1740)),k=r(s(3501)),T=r(s(6667)),A=r(s(9997)),C=s(4783),y=r(s(2730)),R=r(s(440)),N=r(s(8682)),S=r(s(9056)),M=r(s(5481)),D=r(s(3001)),P=r(s(7847)),I=r(s(8706)),L=r(s(1153)),b=r(s(3198)),W=r(s(6564)),j=r(s(5196)),K=r(s(8365)),Y=r(s(3399)),B=r(s(8587));class F extends a.default{constructor(){super(...arguments),this.variables=new Map,this.context=new S.default,this._returns=0}parse(e){this.tokenize(e);const t=new u.default;let s=null,r=null;for(;!this.token.isEOF();){if(t.childCount()>0?this.expectAndSkipWhitespaceAndComments():this.skipWhitespaceAndComments(),r=this.parseOperation(),null===r)throw new Error("Expected one of WITH, UNWIND, RETURN, or LOAD");if(this._returns>1)throw new Error("Only one RETURN statement is allowed");null!==s?s.addSibling(r):t.addChild(r);const e=this.parseWhere();null!==e&&(r instanceof n.default?r.where=e:(r.addSibling(e),r=e));const i=this.parseLimit();null!==i&&(r.addSibling(i),r=i),s=r}if(!(r instanceof n.default))throw new Error("Last statement must be a RETURN or a WHERE statement");return t}parseOperation(){return this.parseWith()||this.parseUnwind()||this.parseReturn()||this.parseLoad()}parseWith(){if(!this.token.isWith())return null;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=Array.from(this.parseExpressions(v.AliasOption.REQUIRED));if(0===e.length)throw new Error("Expected expression");return e.some((e=>e.has_reducers()))?new W.default(e):new f.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(),[d.default,o.default,y.default,A.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 s=new p.default(e);return this.variables.set(t.getAlias(),s),s}parseReturn(){if(!this.token.isReturn())return null;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=Array.from(this.parseExpressions(v.AliasOption.OPTIONAL));if(0===e.length)throw new Error("Expected expression");return e.some((e=>e.has_reducers()))?new N.default(e):(this._returns++,new n.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(),[d.default,h.default]))throw new Error("Expected an expression which can be evaluated to a boolean");return new _.default(e)}parseLoad(){if(!this.token.isLoad())return null;const e=new E.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 w.default;e.addChild(t);const s=this.parseExpression();if(null===s)throw new Error("Expected expression");if(t.addChild(s),this.expectAndSkipWhitespaceAndComments(),this.token.isHeaders()){const t=new m.default;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const s=this.parseExpression();if(null===s)throw new Error("Expected expression");t.addChild(s),e.addChild(t),this.expectAndSkipWhitespaceAndComments()}if(this.token.isPost()){const t=new R.default;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const s=this.parseExpression();if(null===s)throw new Error("Expected expression");t.addChild(s),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}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 K.default(parseInt(this.token.value||"0"));return this.setNextToken(),e}*parseExpressions(e=v.AliasOption.NOT_ALLOWED){for(;;){const t=this.parseExpression();if(null===t)break;{const s=this.parseAlias();if(t.firstChild()instanceof y.default&&null===s){const e=t.firstChild();t.setAlias(e.identifier),this.variables.set(e.identifier,t)}else{if(!(e!==v.AliasOption.REQUIRED||null!==s||t.firstChild()instanceof y.default))throw new Error("Alias required");if(e===v.AliasOption.NOT_ALLOWED&&null!==s)throw new Error("Alias not allowed");[v.AliasOption.OPTIONAL,v.AliasOption.REQUIRED].includes(e)&&null!==s&&(t.setAlias(s.getAlias()),this.variables.set(s.getAlias(),t))}yield t}if(this.skipWhitespaceAndComments(),!this.token.isComma())break;this.setNextToken()}}parseExpression(){var e,t;const s=new i.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 y.default(e,this.variables.get(e));this.setNextToken();const r=this.parseLookup(t);s.addNode(r)}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);s.addNode(t)}}else if(this.token.isOperand())s.addNode(this.token.node),this.setNextToken();else if(this.token.isFString()){const e=this.parseFString();if(null===e)throw new Error("Expected f-string");s.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);s.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);s.addNode(t)}else if(this.token.isCase()){const e=this.parseCase();if(null===e)throw new Error("Expected CASE statement");s.addNode(e)}else{if(!this.token.isNot()){if(s.nodesAdded())throw new Error("Expected operand or left parenthesis");break}{const e=new C.Not;this.setNextToken();const t=this.parseExpression();if(null===t)throw new Error("Expected expression");e.addChild(t),s.addNode(e)}}if(this.skipWhitespaceAndComments(),!this.token.isOperator())break;s.addNode(this.token.node),this.setNextToken()}return s.nodesAdded()?(s.finish(),s):null}parseLookup(e){let t=e,s=null;for(;;){if(this.token.isDot()){if(this.setNextToken(),!this.token.isIdentifier()&&!this.token.isKeyword())throw new Error("Expected identifier");s=new A.default,s.index=new j.default(this.token.value||""),s.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(),s=new Y.default,r=this.parseExpression();else{if(null===e)throw new Error("Expected expression");s=new A.default}if(this.skipWhitespaceAndComments(),!this.token.isClosingBracket())throw new Error("Expected closing bracket");this.setNextToken(),s instanceof Y.default?(s.from=e||new B.default,s.to=r||new B.default):s instanceof A.default&&null!==e&&(s.index=e),s.variable=t}}t=s||t}return t}parseCase(){if(!this.token.isCase())return null;this.setNextToken();const e=new x.default;let t=0;for(this.expectAndSkipWhitespaceAndComments();;){const s=this.parseWhen();if(null===s&&0===t)throw new Error("Expected WHEN");if(null===s&&t>0)break;null!==s&&e.addChild(s),this.expectAndSkipWhitespaceAndComments();const r=this.parseThen();if(null===r)throw new Error("Expected THEN");e.addChild(r),this.expectAndSkipWhitespaceAndComments(),t++}const s=this.parseElse();if(null===s)throw new Error("Expected ELSE");if(e.addChild(s),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 g.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 T.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 k.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=l.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(v.AliasOption.NOT_ALLOWED)),this.skipWhitespaceAndComments(),!this.token.isRightParenthesis())throw new Error("Expected right parenthesis");return this.setNextToken(),this.context.pop(),t}parsePredicateFunction(){if(!this.ahead([P.default.IDENTIFIER(""),P.default.LEFT_PARENTHESIS,P.default.IDENTIFIER(""),P.default.IN]))return null;if(null===this.token.value)throw new Error("Expected identifier");const e=I.default.create(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 y.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 s=this.parseExpression();if(null===s)throw new Error("Expected expression");if(!D.default.isInstanceOfAny(s.firstChild(),[d.default,y.default,A.default,o.default]))throw new Error("Expected array or reference");if(e.addChild(s),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 n=this.parseWhere();if(null!==n&&e.addChild(n),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 L.default;for(;this.token.isFString()&&(null!==this.token.value&&e.addChild(new b.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 h.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 s=this.parseExpression();if(null===s)throw new Error("Expected expression");e.addKeyValue(new c.default(t,s)),this.skipWhitespaceAndComments(),this.token.isComma()&&this.setNextToken()}return this.setNextToken(),e}parseJSONArray(){if(!this.token.isOpeningBracket())return null;const e=new d.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=F},8595:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(4783),i=r(s(3198)),u=r(s(5196)),a=r(s(3818)),l=r(s(1542)),o=r(s(5956)),h=r(s(3840)),d=r(s(2457)),c=r(s(1740)),f=r(s(6667)),p=r(s(3501)),_=r(s(6263)),v=r(s(8587));t.default=class{static convert(e){if(e.isNumber()){if(null===e.value)throw new Error("Number token has no value");return new a.default(e.value)}if(e.isString()){if(null===e.value)throw new Error("String token has no value");return new i.default(e.value)}if(e.isIdentifier()){if(null===e.value)throw new Error("Identifier token has no value");return new u.default(e.value)}if(e.isOperator()){if(e.isAdd())return new n.Add;if(e.isSubtract())return new n.Subtract;if(e.isMultiply())return new n.Multiply;if(e.isDivide())return new n.Divide;if(e.isModulo())return new n.Modulo;if(e.isExponent())return new n.Power;if(e.isEquals())return new n.Equals;if(e.isLessThan())return new n.LessThan;if(e.isGreaterThan())return new n.GreaterThan;if(e.isGreaterThanOrEqual())return new n.GreaterThanOrEqual;if(e.isLessThanOrEqual())return new n.LessThanOrEqual;if(e.isAnd())return new n.And;if(e.isOr())return new n.Or;if(e.isIs())return new n.Is}else if(e.isUnaryOperator()){if(e.isNot())return new n.Not}else{if(!e.isKeyword())throw new Error("Unknown token");if(e.isJSON())return new o.default;if(e.isCSV())return new h.default;if(e.isText())return new d.default;if(e.isWhen())return new c.default;if(e.isThen())return new f.default;if(e.isElse())return new p.default;if(e.isEnd())return new _.default;if(e.isNull())return new v.default}return new l.default}}},7825:(e,t)=>{var s;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"}(s||(s={})),t.default=s},2008:(e,t)=>{var s;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="|"}(s||(s={})),t.default=s},178:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(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=n.default.letters.includes(this.currentChar.toLowerCase());return e&&this._position++,e}checkForDigit(){const e=n.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 n.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 n.default.word_valid_chars.includes(t)}}},4020:(e,t)=>{var s;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="`"}(s||(s={})),t.default=s},7847:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(8898)),i=r(s(7825)),u=r(s(4020)),a=r(s(2008)),l=r(s(8595)),o=r(s(6519));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=o.default.can_be_identifier(t||"")}equals(e){return this._type===n.default.IDENTIFIER&&e.type===n.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 l.default.convert(this)}toString(){return`${this._type} ${this._value}`}static COMMENT(e){return new h(n.default.COMMENT,e)}isComment(){return this._type===n.default.COMMENT}static IDENTIFIER(e){return new h(n.default.IDENTIFIER,e)}isIdentifier(){return this._type===n.default.IDENTIFIER||this._type===n.default.BACKTICK_STRING}static STRING(e,t='"'){const s=o.default.unquote(e),r=o.default.removeEscapedQuotes(s,t);return new h(n.default.STRING,r)}isString(){return this._type===n.default.STRING||this._type===n.default.BACKTICK_STRING}static BACKTICK_STRING(e,t='"'){const s=o.default.unquote(e),r=o.default.removeEscapedQuotes(s,t);return new h(n.default.BACKTICK_STRING,r)}static F_STRING(e,t='"'){const s=o.default.unquote(e),r=o.default.removeEscapedQuotes(s,t),i=o.default.removeEscapedBraces(r);return new h(n.default.F_STRING,i)}isFString(){return this._type===n.default.F_STRING}static NUMBER(e){return new h(n.default.NUMBER,e)}isNumber(){return this._type===n.default.NUMBER}static get LEFT_PARENTHESIS(){return new h(n.default.SYMBOL,u.default.LEFT_PARENTHESIS)}isLeftParenthesis(){return this._type===n.default.SYMBOL&&this._value===u.default.LEFT_PARENTHESIS}static get RIGHT_PARENTHESIS(){return new h(n.default.SYMBOL,u.default.RIGHT_PARENTHESIS)}isRightParenthesis(){return this._type===n.default.SYMBOL&&this._value===u.default.RIGHT_PARENTHESIS}static get COMMA(){return new h(n.default.SYMBOL,u.default.COMMA)}isComma(){return this._type===n.default.SYMBOL&&this._value===u.default.COMMA}static get DOT(){return new h(n.default.SYMBOL,u.default.DOT)}isDot(){return this._type===n.default.SYMBOL&&this._value===u.default.DOT}static get COLON(){return new h(n.default.SYMBOL,u.default.COLON)}isColon(){return this._type===n.default.SYMBOL&&this._value===u.default.COLON}static get OPENING_BRACE(){return new h(n.default.SYMBOL,u.default.OPENING_BRACE)}isOpeningBrace(){return this._type===n.default.SYMBOL&&this._value===u.default.OPENING_BRACE}static get CLOSING_BRACE(){return new h(n.default.SYMBOL,u.default.CLOSING_BRACE)}isClosingBrace(){return this._type===n.default.SYMBOL&&this._value===u.default.CLOSING_BRACE}static get OPENING_BRACKET(){return new h(n.default.SYMBOL,u.default.OPENING_BRACKET)}isOpeningBracket(){return this._type===n.default.SYMBOL&&this._value===u.default.OPENING_BRACKET}static get CLOSING_BRACKET(){return new h(n.default.SYMBOL,u.default.CLOSING_BRACKET)}isClosingBracket(){return this._type===n.default.SYMBOL&&this._value===u.default.CLOSING_BRACKET}static get WHITESPACE(){return new h(n.default.WHITESPACE)}isWhitespace(){return this._type===n.default.WHITESPACE}isOperator(){return this._type===n.default.OPERATOR}isUnaryOperator(){return this._type===n.default.UNARY_OPERATOR}static get ADD(){return new h(n.default.OPERATOR,a.default.ADD)}isAdd(){return this._type===n.default.OPERATOR&&this._value===a.default.ADD}static get SUBTRACT(){return new h(n.default.OPERATOR,a.default.SUBTRACT)}isSubtract(){return this._type===n.default.OPERATOR&&this._value===a.default.SUBTRACT}isNegation(){return this.isSubtract()}static get MULTIPLY(){return new h(n.default.OPERATOR,a.default.MULTIPLY)}isMultiply(){return this._type===n.default.OPERATOR&&this._value===a.default.MULTIPLY}static get DIVIDE(){return new h(n.default.OPERATOR,a.default.DIVIDE)}isDivide(){return this._type===n.default.OPERATOR&&this._value===a.default.DIVIDE}static get EXPONENT(){return new h(n.default.OPERATOR,a.default.EXPONENT)}isExponent(){return this._type===n.default.OPERATOR&&this._value===a.default.EXPONENT}static get MODULO(){return new h(n.default.OPERATOR,a.default.MODULO)}isModulo(){return this._type===n.default.OPERATOR&&this._value===a.default.MODULO}static get EQUALS(){return new h(n.default.OPERATOR,a.default.EQUALS)}isEquals(){return this._type===n.default.OPERATOR&&this._value===a.default.EQUALS}static get NOT_EQUALS(){return new h(n.default.OPERATOR,a.default.NOT_EQUALS)}isNotEquals(){return this._type===n.default.OPERATOR&&this._value===a.default.NOT_EQUALS}static get LESS_THAN(){return new h(n.default.OPERATOR,a.default.LESS_THAN)}isLessThan(){return this._type===n.default.OPERATOR&&this._value===a.default.LESS_THAN}static get LESS_THAN_OR_EQUAL(){return new h(n.default.OPERATOR,a.default.LESS_THAN_OR_EQUAL)}isLessThanOrEqual(){return this._type===n.default.OPERATOR&&this._value===a.default.LESS_THAN_OR_EQUAL}static get GREATER_THAN(){return new h(n.default.OPERATOR,a.default.GREATER_THAN)}isGreaterThan(){return this._type===n.default.OPERATOR&&this._value===a.default.GREATER_THAN}static get GREATER_THAN_OR_EQUAL(){return new h(n.default.OPERATOR,a.default.GREATER_THAN_OR_EQUAL)}isGreaterThanOrEqual(){return this._type===n.default.OPERATOR&&this._value===a.default.GREATER_THAN_OR_EQUAL}static get AND(){return new h(n.default.OPERATOR,a.default.AND)}isAnd(){return this._type===n.default.OPERATOR&&this._value===a.default.AND}static get OR(){return new h(n.default.OPERATOR,a.default.OR)}isOr(){return this._type===n.default.OPERATOR&&this._value===a.default.OR}static get NOT(){return new h(n.default.UNARY_OPERATOR,a.default.NOT)}isNot(){return this._type===n.default.UNARY_OPERATOR&&this._value===a.default.NOT}static get IS(){return new h(n.default.OPERATOR,a.default.IS)}isIs(){return this._type===n.default.OPERATOR&&this._value===a.default.IS}isKeyword(){return this._type===n.default.KEYWORD}static get WITH(){return new h(n.default.KEYWORD,i.default.WITH)}isWith(){return this._type===n.default.KEYWORD&&this._value===i.default.WITH}static get RETURN(){return new h(n.default.KEYWORD,i.default.RETURN)}isReturn(){return this._type===n.default.KEYWORD&&this._value===i.default.RETURN}static get LOAD(){return new h(n.default.KEYWORD,i.default.LOAD)}isLoad(){return this._type===n.default.KEYWORD&&this._value===i.default.LOAD}static get JSON(){return new h(n.default.KEYWORD,i.default.JSON)}isJSON(){return this._type===n.default.KEYWORD&&this._value===i.default.JSON}static get CSV(){return new h(n.default.KEYWORD,i.default.CSV)}isCSV(){return this._type===n.default.KEYWORD&&this._value===i.default.CSV}static get TEXT(){return new h(n.default.KEYWORD,i.default.TEXT)}isText(){return this._type===n.default.KEYWORD&&this._value===i.default.TEXT}static get FROM(){return new h(n.default.KEYWORD,i.default.FROM)}isFrom(){return this._type===n.default.KEYWORD&&this._value===i.default.FROM}static get HEADERS(){return new h(n.default.KEYWORD,i.default.HEADERS)}isHeaders(){return this._type===n.default.KEYWORD&&this._value===i.default.HEADERS}static get POST(){return new h(n.default.KEYWORD,i.default.POST)}isPost(){return this._type===n.default.KEYWORD&&this._value===i.default.POST}static get UNWIND(){return new h(n.default.KEYWORD,i.default.UNWIND)}isUnwind(){return this._type===n.default.KEYWORD&&this._value===i.default.UNWIND}static get MATCH(){return new h(n.default.KEYWORD,i.default.MATCH)}isMatch(){return this._type===n.default.KEYWORD&&this._value===i.default.MATCH}static get AS(){return new h(n.default.KEYWORD,i.default.AS)}isAs(){return this._type===n.default.KEYWORD&&this._value===i.default.AS}static get WHERE(){return new h(n.default.KEYWORD,i.default.WHERE)}isWhere(){return this._type===n.default.KEYWORD&&this._value===i.default.WHERE}static get MERGE(){return new h(n.default.KEYWORD,i.default.MERGE)}isMerge(){return this._type===n.default.KEYWORD&&this._value===i.default.MERGE}static get CREATE(){return new h(n.default.KEYWORD,i.default.CREATE)}isCreate(){return this._type===n.default.KEYWORD&&this._value===i.default.CREATE}static get DELETE(){return new h(n.default.KEYWORD,i.default.DELETE)}isDelete(){return this._type===n.default.KEYWORD&&this._value===i.default.DELETE}static get SET(){return new h(n.default.KEYWORD,i.default.SET)}isSet(){return this._type===n.default.KEYWORD&&this._value===i.default.SET}static get REMOVE(){return new h(n.default.KEYWORD,i.default.REMOVE)}isRemove(){return this._type===n.default.KEYWORD&&this._value===i.default.REMOVE}static get CASE(){return new h(n.default.KEYWORD,i.default.CASE)}isCase(){return this._type===n.default.KEYWORD&&this._value===i.default.CASE}static get WHEN(){return new h(n.default.KEYWORD,i.default.WHEN)}isWhen(){return this._type===n.default.KEYWORD&&this._value===i.default.WHEN}static get THEN(){return new h(n.default.KEYWORD,i.default.THEN)}isThen(){return this._type===n.default.KEYWORD&&this._value===i.default.THEN}static get ELSE(){return new h(n.default.KEYWORD,i.default.ELSE)}isElse(){return this._type===n.default.KEYWORD&&this._value===i.default.ELSE}static get END(){return new h(n.default.KEYWORD,i.default.END)}isEnd(){return this._type===n.default.KEYWORD&&this._value===i.default.END}static get NULL(){return new h(n.default.KEYWORD,i.default.NULL)}isNull(){return this._type===n.default.KEYWORD&&this._value===i.default.NULL}static get IN(){return new h(n.default.KEYWORD,i.default.IN)}isIn(){return this._type===n.default.KEYWORD&&this._value===i.default.IN}static get PIPE(){return new h(n.default.KEYWORD,a.default.PIPE)}isPipe(){return this._type===n.default.KEYWORD&&this._value===a.default.PIPE}static get DISTINCT(){return new h(n.default.KEYWORD,i.default.DISTINCT)}isDistinct(){return this._type===n.default.KEYWORD&&this._value===i.default.DISTINCT}static get LIMIT(){return new h(n.default.KEYWORD,i.default.LIMIT)}isLimit(){return this._type===n.default.KEYWORD&&this._value===i.default.LIMIT}static get EOF(){return new h(n.default.EOF)}isEOF(){return this._type===n.default.EOF}isOperand(){return this.isNumber()||this.isString()||this.isNull()}isWhitespaceOrComment(){return this.isWhitespace()||this.isComment()}isSymbol(){return this._type===n.default.SYMBOL}static method(e){return h[e.toUpperCase()]}}t.default=h},299:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(7847)),i=r(s(8652));t.default=class{constructor(e){this._enum=e,this._trie=new i.default;for(const[t,s]of Object.entries(e)){const e=n.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 s;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"}(s||(s={})),t.default=s},3479:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(s(7825)),i=r(s(7847)),u=r(s(178)),a=r(s(6519)),l=r(s(4020)),o=r(s(2008)),h=r(s(299));t.default=class{constructor(e){this.keywords=new h.default(n.default),this.symbols=new h.default(l.default),this.operators=new h.default(o.default),this.walker=new u.default(e)}tokenize(){const e=[];let t=null;for(;!this.walker.isAtEnd;){e.push(...this.f_string()),t=this.getLastNonWhitespaceOrNonCommentToken(e)||t;const s=this.getNextToken(t);if(null===s)throw new Error(`Unrecognized token at position ${this.walker.position}`);s.position=this.walker.position,e.push(s)}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=a.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 s=this.walker.getString(e);return t===l.default.BACKTICK?i.default.BACKTICK_STRING(s,t):i.default.STRING(s,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(l.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,s){const r=e.map(this.walker.getRemainingString());return void 0!==r&&null!==r.value?r.can_be_identifier&&this.walker.word_continuation(r.value)||s&&t&&s(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 s{constructor(){this._children=new Map,this._token=void 0}map(e){return this._children.get(e)||this._children.set(e,new s).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 s,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 s of e.value)t=t.map(s.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,s,r=0;for(this._last_found=null;void 0!==(t=(t||this._root).retrieve(e[r].toLowerCase()))&&(t.is_end_of_word()&&(s=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())&&(s=t.token,this._last_found=e.substring(0,r)),s}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 s{static unquote(e){if(0===e.length)return e;if(1===e.length&&s.quotes.includes(e))return"";const t=e[0],r=e[e.length-1];return s.quotes.includes(t)&&t===r?e.substring(1,e.length-1):s.quotes.includes(r)&&t!==r?e.substring(0,e.length-1):s.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 s="";for(let r=0;r<e.length;r++)"\\"===e[r]&&e[r+1]===t&&r++,s+=e[r];return s}static removeEscapedBraces(e){let t="";for(let s=0;s<e.length;s++)("{"===e[s]&&"{"===e[s+1]||"}"===e[s]&&"}"===e[s+1])&&s++,t+=e[s];return t}static can_be_identifier(e){const t=e.toLowerCase();return 0!==t.length&&!(!s.letters.includes(t[0])&&"_"!==t[0])&&t.split("").every((e=>s.word_valid_chars.includes(e)))}}s.quotes=['"',"'","`"],s.letters="abcdefghijklmnopqrstuvwxyz",s.digits="0123456789",s.whitespace=" \t\n\r",s.word_valid_chars=s.letters+s.digits+"_",t.default=s}},t={},s=function s(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,s),i.exports}(610);return s.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,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function u(e){try{o(n.next(e))}catch(e){i(e)}}function a(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}o((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)),u=n(r(5517));s.default.registerFunction=function(e,t){i.default.register(e,t)},s.default.unregisterFunction=function(e){i.default.unregister(e)},s.default.registerAsyncProvider=function(e,t){i.default.registerAsyncProvider(e,t)},s.default.unregisterAsyncProvider=function(e){i.default.unregisterAsyncProvider(e)},s.default.listFunctions=function(e){return i.default.listFunctions(e)},s.default.getFunctionMetadata=function(e){return i.default.getMetadata(e)},s.default.Function=u.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 u 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=u},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)),u=n(r(2730));class a 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 u.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=a},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.__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)}))}}},s=this&&this.__await||function(e){return this instanceof s?(this.v=e,this):new s(e)},i=this&&this.__asyncDelegator||function(e){var t,r;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,i){t[n]=e[n]?function(t){return(r=!r)?{value:s(e[n](t)),done:!1}:i?i(t):t}:i}},u=this&&this.__asyncGenerator||function(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,i=r.apply(e,t||[]),u=[];return n=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,d)}})),n[Symbol.asyncIterator]=function(){return this},n;function a(e,t){i[e]&&(n[e]=function(t){return new Promise((function(r,n){u.push([e,t,r,n])>1||o(e,t)}))},t&&(n[e]=t(n[e])))}function o(e,t){try{(r=i[e](t)).value instanceof s?Promise.resolve(r.value.v).then(l,d):h(u[0][2],r)}catch(e){h(u[0][3],e)}var r}function l(e){o("next",e)}function d(e){o("throw",e)}function h(e,t){e(t),u.shift(),u.length&&o(u[0][0],u[0][1])}},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=a(r(1542)),l=a(r(2312));class d extends o.default{constructor(e){super(),this._name=e}get name(){return this._name}set parameters(e){this.children=e}getArguments(){return this.children.map((e=>e.value()))}execute(){return u(this,arguments,(function*(){const e=l.default.getAsyncProvider(this._name);if(!e)throw new Error(`Async data provider '${this._name}' is not registered`);const t=e(...this.getArguments());if(t&&"function"==typeof t.next)yield s(yield*i(n(t)));else{const e=yield s(t);if(Array.isArray(e))for(const t of e)yield yield s(t);else yield yield s(e)}}))}toString(){return`AsyncFunction (${this._name})`}}t.default=d},8437: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(5481)),i=n(r(1206));class u extends i.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}}class a extends s.default{constructor(){super("avg"),this._expectedParameterCount=1}reduce(e){e.value=this.firstChild().value()}element(){return new u}}t.default=a},1567: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(5481)),i=n(r(1206));class u extends i.default{constructor(){super(...arguments),this._value=[]}get value(){return this._value}set value(e){this._value.push(e)}}class a extends i.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)}}class o extends s.default{constructor(){super("collect"),this._distinct=!1,this._expectedParameterCount=1}reduce(e){e.value=this.firstChild().value()}element(){return this._distinct?new a:new u}set distinct(e){this._distinct=e}}t.default=o},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}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: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(9854)),i=n(r(1567)),u=n(r(8437)),a=n(r(8240)),o=n(r(7514)),l=n(r(3605)),d=n(r(6781)),h=n(r(197)),c=n(r(8673)),f=n(r(2061)),p=n(r(3700)),_=n(r(9700)),v=n(r(5940)),E=n(r(5517)),m=r(3437);class w{static register(e,t){const r=e.toLowerCase();"function"==typeof t?w.plugins.set(r,t):(w.plugins.set(r,t.factory),w.metadata.set(r,Object.assign(Object.assign({},t.metadata),{name:r,isAsyncProvider:!1})))}static unregister(e){const t=e.toLowerCase();w.plugins.delete(t),w.metadata.delete(t)}static registerAsyncProvider(e,t){const r=e.toLowerCase();"function"==typeof t?w.asyncProviders.set(r,t):(w.asyncProviders.set(r,t.provider),w.metadata.set(r,Object.assign(Object.assign({},t.metadata),{name:r,isAsyncProvider:!0})))}static unregisterAsyncProvider(e){const t=e.toLowerCase();w.asyncProviders.delete(t),w.metadata.delete(t)}static getAsyncProvider(e){return w.asyncProviders.get(e.toLowerCase())}static isAsyncProvider(e){return w.asyncProviders.has(e.toLowerCase())}static getMetadata(e){const t=e.toLowerCase();return w.metadata.has(t)?w.metadata.get(t):m.BUILTIN_FUNCTION_METADATA.find((e=>e.name===t))}static listFunctions(e){const t=[];if(!1!==(null==e?void 0:e.includeBuiltins))for(const r of m.BUILTIN_FUNCTION_METADATA)(null==e?void 0:e.category)&&r.category!==e.category||(null==e?void 0:e.asyncOnly)||t.push(r);for(const[r,n]of w.metadata)(null==e?void 0:e.category)&&n.category!==e.category||(null==e?void 0:e.asyncOnly)&&!n.isAsyncProvider||(null==e?void 0:e.syncOnly)&&n.isAsyncProvider||t.push(n);return t}static listFunctionNames(){const e=m.BUILTIN_FUNCTION_METADATA.map((e=>e.name)),t=Array.from(w.plugins.keys()),r=Array.from(w.asyncProviders.keys());return[...new Set([...e,...t,...r])]}static toJSON(){const e=w.listFunctions(),t=[...new Set(e.map((e=>e.category)).filter(Boolean))];return{functions:e,categories:t}}static create(e){const t=e.toLowerCase();if(w.plugins.has(t))return w.plugins.get(t)();switch(t){case"sum":return new s.default;case"collect":return new i.default;case"avg":return new u.default;case"range":return new a.default;case"rand":return new o.default;case"round":return new l.default;case"split":return new d.default;case"join":return new h.default;case"tojson":return new c.default;case"replace":return new f.default;case"stringify":return new p.default;case"size":return new _.default;case"functions":return new v.default;default:return new E.default(e)}}}w.plugins=new Map,w.asyncProviders=new Map,w.metadata=new Map,t.default=w},3437:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BUILTIN_FUNCTION_METADATA=void 0,t.BUILTIN_FUNCTION_METADATA=[{name:"sum",description:"Calculates the sum of numeric values across grouped rows",category:"aggregation",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)"]},{name:"avg",description:"Calculates the average of numeric values across grouped rows",category:"aggregation",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)"]},{name:"collect",description:"Collects values into an array across grouped rows",category:"aggregation",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)"]},{name:"range",description:"Generates an array of sequential integers",category:"generator",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"]},{name:"rand",description:"Generates a random number between 0 and 1",category:"generator",parameters:[],output:{description:"Random number between 0 and 1",type:"number",example:.7234},examples:["WITH rand() AS r RETURN r"]},{name:"round",description:"Rounds a number to the nearest integer",category:"math",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)"]},{name:"split",description:"Splits a string into an array by a delimiter",category:"string",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, ',')"]},{name:"join",description:"Joins an array of strings with a delimiter",category:"string",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, ',')"]},{name:"replace",description:"Replaces occurrences of a pattern in a string",category:"string",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')"]},{name:"stringify",description:"Converts a value to its JSON string representation",category:"conversion",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)"]},{name:"tojson",description:"Parses a JSON string into an object",category:"conversion",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)"]},{name:"size",description:"Returns the length of an array or string",category:"utility",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)"]},{name:"functions",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:"introspection",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"]}]},5940: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)),i=n(r(2312));class u extends s.default{constructor(){super("functions"),this._expectedParameterCount=null}value(){const e=this.getChildren();if(0===e.length)return i.default.listFunctions();if(1===e.length){const t=e[0].value();if("string"==typeof t)return i.default.listFunctions({category:t});throw new Error("functions() category parameter must be a string")}throw new Error("functions() takes 0 or 1 parameters")}}t.default=u},197: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)),i=n(r(3198));class u extends s.default{constructor(){super("join"),this._expectedParameterCount=2}set parameters(e){1===e.length&&e.push(new i.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)}}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 u extends s.default{constructor(e){super(),this._valueHolder=new i.default,this._name=e}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=u},8706: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(8963)),i=n(r(2912));t.default=class{static create(e){return"sum"===e.toLowerCase()?new i.default:new s.default(e)}}},2912: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(8963));class i 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 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}}t.default=i},7514: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(){super("rand"),this._expectedParameterCount=0}value(){return Math.random()}}t.default=i},8240: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(){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))}}t.default=i},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.__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(){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)}}t.default=i},3605: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(){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)}}t.default=i},9700: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(){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}}t.default=i},6781: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)),i=n(r(3198));class u extends s.default{constructor(){super("split"),this._expectedParameterCount=2}set parameters(e){1===e.length&&e.push(new i.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)}}t.default=u},3700: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)),i=n(r(3818));class u extends s.default{constructor(){super("stringify"),this._expectedParameterCount=2}set parameters(e){1===e.length&&e.push(new i.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)}}t.default=u},9854: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(5481)),i=n(r(1206));class u extends i.default{constructor(){super(...arguments),this._value=null}get value(){return this._value}set value(e){null!==this._value?this._value+=e:this._value=e}}class a extends s.default{constructor(){super("sum"),this._expectedParameterCount=1}reduce(e){e.value=this.firstChild().value()}element(){return new u}}t.default=a},8673: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(){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)}}t.default=i},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 u 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=u},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 u(e){try{o(n.next(e))}catch(e){i(e)}}function a(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}o((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)),u=s(r(9025));class a extends i.default{constructor(){super(...arguments),this._group_by=new u.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=a},6564:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function u(e){try{o(n.next(e))}catch(e){i(e)}}function a(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}o((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)),u=s(r(9025));class a extends i.default{constructor(){super(...arguments),this._group_by=new u.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=a},9025:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function u(e){try{o(n.next(e))}catch(e){i(e)}}function a(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}o((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 u{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 i.default{constructor(){super(...arguments),this._root=new u,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 u(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=a},8365:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function u(e){try{o(n.next(e))}catch(e){i(e)}}function a(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}o((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 u 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=u},1816:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function u(e){try{o(n.next(e))}catch(e){i(e)}}function a(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}o((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 u=i(r(5239)),a=i(r(5956)),o=i(r(2457)),l=i(r(3680)),d=i(r(9798)),h=i(r(440));class c extends u.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 l.default}get asyncFunction(){const e=this.fromComponent.firstChild();return e instanceof l.default?e:null}get from(){return this.children[1].value()}get headers(){return this.childCount()>2&&this.children[2]instanceof d.default&&this.children[2].value()||{}}get payload(){let e=null;return this.childCount()>2&&this.children[2]instanceof h.default?e=this.children[2]:this.childCount()>3&&this.children[3]instanceof h.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 u=this.asyncFunction;try{for(var a,o=!0,l=s(u.execute());!(e=(a=yield l.next()).done);o=!0){n=a.value,o=!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{o||e||!(r=l.return)||(yield r.call(l))}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 a.default?s=yield n.json():this.type instanceof o.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=c},5239:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function u(e){try{o(n.next(e))}catch(e){i(e)}}function a(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}o((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 u 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}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=u},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 u(e){try{o(n.next(e))}catch(e){i(e)}}function a(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}o((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 u 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=u},577:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function u(e){try{o(n.next(e))}catch(e){i(e)}}function a(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}o((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 u 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=u},6001:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function u(e){try{o(n.next(e))}catch(e){i(e)}}function a(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}o((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 u 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=u},696:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function u(e){try{o(n.next(e))}catch(e){i(e)}}function a(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}o((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 u 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=u},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(7342)),i=n(r(3573)),u=n(r(1542)),a=n(r(3738)),o=n(r(2312)),l=n(r(5517)),d=n(r(3680)),h=n(r(122)),c=n(r(1363)),f=n(r(2073)),p=n(r(696)),_=n(r(577)),v=n(r(6001)),E=r(4275),m=n(r(1816)),w=n(r(970)),g=n(r(5859)),y=n(r(9798)),O=n(r(6052)),x=n(r(1740)),A=n(r(3501)),T=n(r(6667)),k=n(r(9997)),C=r(4783),N=n(r(2730)),R=n(r(440)),S=n(r(8682)),M=n(r(9056)),I=n(r(5481)),P=n(r(3001)),D=n(r(7847)),b=n(r(8706)),L=n(r(1153)),W=n(r(3198)),F=n(r(6564)),j=n(r(5196)),U=n(r(8365)),B=n(r(3399)),K=n(r(8587));class H extends a.default{constructor(){super(...arguments),this.variables=new Map,this.context=new M.default,this._returns=0}parse(e){this.tokenize(e);const t=new u.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, or LOAD");if(this._returns>1)throw new Error("Only one RETURN statement is allowed");null!==r?r.addSibling(n):t.addChild(n);const e=this.parseWhere();null!==e&&(n instanceof s.default?n.where=e:(n.addSibling(e),n=e));const i=this.parseLimit();null!==i&&(n.addSibling(i),n=i),r=n}if(!(n instanceof s.default))throw new Error("Last statement must be a RETURN or a WHERE statement");return t}parseOperation(){return this.parseWith()||this.parseUnwind()||this.parseReturn()||this.parseLoad()}parseWith(){if(!this.token.isWith())return null;this.setNextToken(),this.expectAndSkipWhitespaceAndComments();const e=Array.from(this.parseExpressions(E.AliasOption.REQUIRED));if(0===e.length)throw new Error("Expected expression");return e.some((e=>e.has_reducers()))?new F.default(e):new p.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(!P.default.isInstanceOfAny(e.firstChild(),[c.default,l.default,N.default,k.default,B.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 _.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(E.AliasOption.OPTIONAL));if(0===e.length)throw new Error("Expected expression");return e.some((e=>e.has_reducers()))?new S.default(e):(this._returns++,new s.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(P.default.isInstanceOfAny(e.firstChild(),[c.default,h.default]))throw new Error("Expected an expression which can be evaluated to a boolean");return new v.default(e)}parseLoad(){if(!this.token.isLoad())return null;const e=new m.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 w.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 y.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 R.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}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 U.default(parseInt(this.token.value||"0"));return this.setNextToken(),e}*parseExpressions(e=E.AliasOption.NOT_ALLOWED){for(;;){const t=this.parseExpression();if(null===t)break;{const r=this.parseAlias();if(t.firstChild()instanceof N.default&&null===r){const e=t.firstChild();t.setAlias(e.identifier),this.variables.set(e.identifier,t)}else{if(!(e!==E.AliasOption.REQUIRED||null!==r||t.firstChild()instanceof N.default))throw new Error("Alias required");if(e===E.AliasOption.NOT_ALLOWED&&null!==r)throw new Error("Alias not allowed");[E.AliasOption.OPTIONAL,E.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 i.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 N.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 C.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 k.default,r.index=new j.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 B.default,n=this.parseExpression();else{if(null===e)throw new Error("Expected expression");r=new k.default}if(this.skipWhitespaceAndComments(),!this.token.isClosingBracket())throw new Error("Expected closing bracket");this.setNextToken(),r instanceof B.default?(r.from=e||new K.default,r.to=n||new K.default):r instanceof k.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 O.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 x.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 T.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 A.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 g.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=o.default.create(this.token.value);if(t instanceof I.default&&this.context.containsType(I.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(E.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(!o.default.isAsyncProvider(this.token.value))return null;if(!(null===(e=this.peek())||void 0===e?void 0:e.isLeftParenthesis()))return null;const t=new d.default(this.token.value);if(this.setNextToken(),this.setNextToken(),this.skipWhitespaceAndComments(),t.parameters=Array.from(this.parseExpressions(E.AliasOption.NOT_ALLOWED)),this.skipWhitespaceAndComments(),!this.token.isRightParenthesis())throw new Error("Expected right parenthesis");return this.setNextToken(),t}parsePredicateFunction(){if(!this.ahead([D.default.IDENTIFIER(""),D.default.LEFT_PARENTHESIS,D.default.IDENTIFIER(""),D.default.IN]))return null;if(null===this.token.value)throw new Error("Expected identifier");const e=b.default.create(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 N.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(!P.default.isInstanceOfAny(r.firstChild(),[c.default,N.default,k.default,l.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 s=this.parseWhere();if(null!==s&&e.addChild(s),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 L.default;for(;this.token.isFString()&&(null!==this.token.value&&e.addChild(new W.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 h.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 f.default(t,r)),this.skipWhitespaceAndComments(),this.token.isComma()&&this.setNextToken()}return this.setNextToken(),e}parseJSONArray(){if(!this.token.isOpeningBracket())return null;const e=new c.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=r(4783),i=n(r(3198)),u=n(r(5196)),a=n(r(3818)),o=n(r(1542)),l=n(r(5956)),d=n(r(3840)),h=n(r(2457)),c=n(r(1740)),f=n(r(6667)),p=n(r(3501)),_=n(r(6263)),v=n(r(8587));t.default=class{static convert(e){if(e.isNumber()){if(null===e.value)throw new Error("Number token has no value");return new a.default(e.value)}if(e.isString()){if(null===e.value)throw new Error("String token has no value");return new i.default(e.value)}if(e.isIdentifier()){if(null===e.value)throw new Error("Identifier token has no value");return new u.default(e.value)}if(e.isOperator()){if(e.isAdd())return new s.Add;if(e.isSubtract())return new s.Subtract;if(e.isMultiply())return new s.Multiply;if(e.isDivide())return new s.Divide;if(e.isModulo())return new s.Modulo;if(e.isExponent())return new s.Power;if(e.isEquals())return new s.Equals;if(e.isLessThan())return new s.LessThan;if(e.isGreaterThan())return new s.GreaterThan;if(e.isGreaterThanOrEqual())return new s.GreaterThanOrEqual;if(e.isLessThanOrEqual())return new s.LessThanOrEqual;if(e.isAnd())return new s.And;if(e.isOr())return new s.Or;if(e.isIs())return new s.Is}else if(e.isUnaryOperator()){if(e.isNot())return new s.Not}else{if(!e.isKeyword())throw new Error("Unknown token");if(e.isJSON())return new l.default;if(e.isCSV())return new d.default;if(e.isText())return new h.default;if(e.isWhen())return new c.default;if(e.isThen())return new f.default;if(e.isElse())return new p.default;if(e.isEnd())return new _.default;if(e.isNull())return new v.default}return new o.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(8898)),i=n(r(7825)),u=n(r(4020)),a=n(r(2008)),o=n(r(8595)),l=n(r(6519));class d{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=l.default.can_be_identifier(t||"")}equals(e){return this._type===s.default.IDENTIFIER&&e.type===s.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 o.default.convert(this)}toString(){return`${this._type} ${this._value}`}static COMMENT(e){return new d(s.default.COMMENT,e)}isComment(){return this._type===s.default.COMMENT}static IDENTIFIER(e){return new d(s.default.IDENTIFIER,e)}isIdentifier(){return this._type===s.default.IDENTIFIER||this._type===s.default.BACKTICK_STRING}static STRING(e,t='"'){const r=l.default.unquote(e),n=l.default.removeEscapedQuotes(r,t);return new d(s.default.STRING,n)}isString(){return this._type===s.default.STRING||this._type===s.default.BACKTICK_STRING}static BACKTICK_STRING(e,t='"'){const r=l.default.unquote(e),n=l.default.removeEscapedQuotes(r,t);return new d(s.default.BACKTICK_STRING,n)}static F_STRING(e,t='"'){const r=l.default.unquote(e),n=l.default.removeEscapedQuotes(r,t),i=l.default.removeEscapedBraces(n);return new d(s.default.F_STRING,i)}isFString(){return this._type===s.default.F_STRING}static NUMBER(e){return new d(s.default.NUMBER,e)}isNumber(){return this._type===s.default.NUMBER}static get LEFT_PARENTHESIS(){return new d(s.default.SYMBOL,u.default.LEFT_PARENTHESIS)}isLeftParenthesis(){return this._type===s.default.SYMBOL&&this._value===u.default.LEFT_PARENTHESIS}static get RIGHT_PARENTHESIS(){return new d(s.default.SYMBOL,u.default.RIGHT_PARENTHESIS)}isRightParenthesis(){return this._type===s.default.SYMBOL&&this._value===u.default.RIGHT_PARENTHESIS}static get COMMA(){return new d(s.default.SYMBOL,u.default.COMMA)}isComma(){return this._type===s.default.SYMBOL&&this._value===u.default.COMMA}static get DOT(){return new d(s.default.SYMBOL,u.default.DOT)}isDot(){return this._type===s.default.SYMBOL&&this._value===u.default.DOT}static get COLON(){return new d(s.default.SYMBOL,u.default.COLON)}isColon(){return this._type===s.default.SYMBOL&&this._value===u.default.COLON}static get OPENING_BRACE(){return new d(s.default.SYMBOL,u.default.OPENING_BRACE)}isOpeningBrace(){return this._type===s.default.SYMBOL&&this._value===u.default.OPENING_BRACE}static get CLOSING_BRACE(){return new d(s.default.SYMBOL,u.default.CLOSING_BRACE)}isClosingBrace(){return this._type===s.default.SYMBOL&&this._value===u.default.CLOSING_BRACE}static get OPENING_BRACKET(){return new d(s.default.SYMBOL,u.default.OPENING_BRACKET)}isOpeningBracket(){return this._type===s.default.SYMBOL&&this._value===u.default.OPENING_BRACKET}static get CLOSING_BRACKET(){return new d(s.default.SYMBOL,u.default.CLOSING_BRACKET)}isClosingBracket(){return this._type===s.default.SYMBOL&&this._value===u.default.CLOSING_BRACKET}static get WHITESPACE(){return new d(s.default.WHITESPACE)}isWhitespace(){return this._type===s.default.WHITESPACE}isOperator(){return this._type===s.default.OPERATOR}isUnaryOperator(){return this._type===s.default.UNARY_OPERATOR}static get ADD(){return new d(s.default.OPERATOR,a.default.ADD)}isAdd(){return this._type===s.default.OPERATOR&&this._value===a.default.ADD}static get SUBTRACT(){return new d(s.default.OPERATOR,a.default.SUBTRACT)}isSubtract(){return this._type===s.default.OPERATOR&&this._value===a.default.SUBTRACT}isNegation(){return this.isSubtract()}static get MULTIPLY(){return new d(s.default.OPERATOR,a.default.MULTIPLY)}isMultiply(){return this._type===s.default.OPERATOR&&this._value===a.default.MULTIPLY}static get DIVIDE(){return new d(s.default.OPERATOR,a.default.DIVIDE)}isDivide(){return this._type===s.default.OPERATOR&&this._value===a.default.DIVIDE}static get EXPONENT(){return new d(s.default.OPERATOR,a.default.EXPONENT)}isExponent(){return this._type===s.default.OPERATOR&&this._value===a.default.EXPONENT}static get MODULO(){return new d(s.default.OPERATOR,a.default.MODULO)}isModulo(){return this._type===s.default.OPERATOR&&this._value===a.default.MODULO}static get EQUALS(){return new d(s.default.OPERATOR,a.default.EQUALS)}isEquals(){return this._type===s.default.OPERATOR&&this._value===a.default.EQUALS}static get NOT_EQUALS(){return new d(s.default.OPERATOR,a.default.NOT_EQUALS)}isNotEquals(){return this._type===s.default.OPERATOR&&this._value===a.default.NOT_EQUALS}static get LESS_THAN(){return new d(s.default.OPERATOR,a.default.LESS_THAN)}isLessThan(){return this._type===s.default.OPERATOR&&this._value===a.default.LESS_THAN}static get LESS_THAN_OR_EQUAL(){return new d(s.default.OPERATOR,a.default.LESS_THAN_OR_EQUAL)}isLessThanOrEqual(){return this._type===s.default.OPERATOR&&this._value===a.default.LESS_THAN_OR_EQUAL}static get GREATER_THAN(){return new d(s.default.OPERATOR,a.default.GREATER_THAN)}isGreaterThan(){return this._type===s.default.OPERATOR&&this._value===a.default.GREATER_THAN}static get GREATER_THAN_OR_EQUAL(){return new d(s.default.OPERATOR,a.default.GREATER_THAN_OR_EQUAL)}isGreaterThanOrEqual(){return this._type===s.default.OPERATOR&&this._value===a.default.GREATER_THAN_OR_EQUAL}static get AND(){return new d(s.default.OPERATOR,a.default.AND)}isAnd(){return this._type===s.default.OPERATOR&&this._value===a.default.AND}static get OR(){return new d(s.default.OPERATOR,a.default.OR)}isOr(){return this._type===s.default.OPERATOR&&this._value===a.default.OR}static get NOT(){return new d(s.default.UNARY_OPERATOR,a.default.NOT)}isNot(){return this._type===s.default.UNARY_OPERATOR&&this._value===a.default.NOT}static get IS(){return new d(s.default.OPERATOR,a.default.IS)}isIs(){return this._type===s.default.OPERATOR&&this._value===a.default.IS}isKeyword(){return this._type===s.default.KEYWORD}static get WITH(){return new d(s.default.KEYWORD,i.default.WITH)}isWith(){return this._type===s.default.KEYWORD&&this._value===i.default.WITH}static get RETURN(){return new d(s.default.KEYWORD,i.default.RETURN)}isReturn(){return this._type===s.default.KEYWORD&&this._value===i.default.RETURN}static get LOAD(){return new d(s.default.KEYWORD,i.default.LOAD)}isLoad(){return this._type===s.default.KEYWORD&&this._value===i.default.LOAD}static get JSON(){return new d(s.default.KEYWORD,i.default.JSON)}isJSON(){return this._type===s.default.KEYWORD&&this._value===i.default.JSON}static get CSV(){return new d(s.default.KEYWORD,i.default.CSV)}isCSV(){return this._type===s.default.KEYWORD&&this._value===i.default.CSV}static get TEXT(){return new d(s.default.KEYWORD,i.default.TEXT)}isText(){return this._type===s.default.KEYWORD&&this._value===i.default.TEXT}static get FROM(){return new d(s.default.KEYWORD,i.default.FROM)}isFrom(){return this._type===s.default.KEYWORD&&this._value===i.default.FROM}static get HEADERS(){return new d(s.default.KEYWORD,i.default.HEADERS)}isHeaders(){return this._type===s.default.KEYWORD&&this._value===i.default.HEADERS}static get POST(){return new d(s.default.KEYWORD,i.default.POST)}isPost(){return this._type===s.default.KEYWORD&&this._value===i.default.POST}static get UNWIND(){return new d(s.default.KEYWORD,i.default.UNWIND)}isUnwind(){return this._type===s.default.KEYWORD&&this._value===i.default.UNWIND}static get MATCH(){return new d(s.default.KEYWORD,i.default.MATCH)}isMatch(){return this._type===s.default.KEYWORD&&this._value===i.default.MATCH}static get AS(){return new d(s.default.KEYWORD,i.default.AS)}isAs(){return this._type===s.default.KEYWORD&&this._value===i.default.AS}static get WHERE(){return new d(s.default.KEYWORD,i.default.WHERE)}isWhere(){return this._type===s.default.KEYWORD&&this._value===i.default.WHERE}static get MERGE(){return new d(s.default.KEYWORD,i.default.MERGE)}isMerge(){return this._type===s.default.KEYWORD&&this._value===i.default.MERGE}static get CREATE(){return new d(s.default.KEYWORD,i.default.CREATE)}isCreate(){return this._type===s.default.KEYWORD&&this._value===i.default.CREATE}static get DELETE(){return new d(s.default.KEYWORD,i.default.DELETE)}isDelete(){return this._type===s.default.KEYWORD&&this._value===i.default.DELETE}static get SET(){return new d(s.default.KEYWORD,i.default.SET)}isSet(){return this._type===s.default.KEYWORD&&this._value===i.default.SET}static get REMOVE(){return new d(s.default.KEYWORD,i.default.REMOVE)}isRemove(){return this._type===s.default.KEYWORD&&this._value===i.default.REMOVE}static get CASE(){return new d(s.default.KEYWORD,i.default.CASE)}isCase(){return this._type===s.default.KEYWORD&&this._value===i.default.CASE}static get WHEN(){return new d(s.default.KEYWORD,i.default.WHEN)}isWhen(){return this._type===s.default.KEYWORD&&this._value===i.default.WHEN}static get THEN(){return new d(s.default.KEYWORD,i.default.THEN)}isThen(){return this._type===s.default.KEYWORD&&this._value===i.default.THEN}static get ELSE(){return new d(s.default.KEYWORD,i.default.ELSE)}isElse(){return this._type===s.default.KEYWORD&&this._value===i.default.ELSE}static get END(){return new d(s.default.KEYWORD,i.default.END)}isEnd(){return this._type===s.default.KEYWORD&&this._value===i.default.END}static get NULL(){return new d(s.default.KEYWORD,i.default.NULL)}isNull(){return this._type===s.default.KEYWORD&&this._value===i.default.NULL}static get IN(){return new d(s.default.KEYWORD,i.default.IN)}isIn(){return this._type===s.default.KEYWORD&&this._value===i.default.IN}static get PIPE(){return new d(s.default.KEYWORD,a.default.PIPE)}isPipe(){return this._type===s.default.KEYWORD&&this._value===a.default.PIPE}static get DISTINCT(){return new d(s.default.KEYWORD,i.default.DISTINCT)}isDistinct(){return this._type===s.default.KEYWORD&&this._value===i.default.DISTINCT}static get LIMIT(){return new d(s.default.KEYWORD,i.default.LIMIT)}isLimit(){return this._type===s.default.KEYWORD&&this._value===i.default.LIMIT}static get EOF(){return new d(s.default.EOF)}isEOF(){return this._type===s.default.EOF}isOperand(){return this.isNumber()||this.isString()||this.isNull()}isWhitespaceOrComment(){return this.isWhitespace()||this.isComment()}isSymbol(){return this._type===s.default.SYMBOL}static method(e){return d[e.toUpperCase()]}}t.default=d},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)),u=n(r(178)),a=n(r(6519)),o=n(r(4020)),l=n(r(2008)),d=n(r(299));t.default=class{constructor(e){this.keywords=new d.default(s.default),this.symbols=new d.default(o.default),this.operators=new d.default(l.default),this.walker=new u.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=a.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===o.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(o.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})()));
|