flowquery 1.0.72 → 1.0.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +4 -0
  2. package/dist/flowquery.min.js +1 -1
  3. package/dist/parsing/ast_node.d.ts +11 -0
  4. package/dist/parsing/ast_node.d.ts.map +1 -1
  5. package/dist/parsing/ast_node.js +13 -0
  6. package/dist/parsing/ast_node.js.map +1 -1
  7. package/dist/parsing/data_structures/list_comprehension.d.ts +1 -0
  8. package/dist/parsing/data_structures/list_comprehension.d.ts.map +1 -1
  9. package/dist/parsing/data_structures/list_comprehension.js +3 -0
  10. package/dist/parsing/data_structures/list_comprehension.js.map +1 -1
  11. package/dist/parsing/expressions/binding_reference.d.ts +11 -1
  12. package/dist/parsing/expressions/binding_reference.d.ts.map +1 -1
  13. package/dist/parsing/expressions/binding_reference.js +5 -1
  14. package/dist/parsing/expressions/binding_reference.js.map +1 -1
  15. package/dist/parsing/expressions/subquery_expression.d.ts +1 -0
  16. package/dist/parsing/expressions/subquery_expression.d.ts.map +1 -1
  17. package/dist/parsing/expressions/subquery_expression.js +3 -0
  18. package/dist/parsing/expressions/subquery_expression.js.map +1 -1
  19. package/dist/parsing/functions/function_factory.d.ts +3 -0
  20. package/dist/parsing/functions/function_factory.d.ts.map +1 -1
  21. package/dist/parsing/functions/function_factory.js +3 -0
  22. package/dist/parsing/functions/function_factory.js.map +1 -1
  23. package/dist/parsing/functions/log.d.ts +7 -0
  24. package/dist/parsing/functions/log.d.ts.map +1 -0
  25. package/dist/parsing/functions/log.js +46 -0
  26. package/dist/parsing/functions/log.js.map +1 -0
  27. package/dist/parsing/functions/log10.d.ts +7 -0
  28. package/dist/parsing/functions/log10.d.ts.map +1 -0
  29. package/dist/parsing/functions/log10.js +42 -0
  30. package/dist/parsing/functions/log10.js.map +1 -0
  31. package/dist/parsing/functions/pow.d.ts +7 -0
  32. package/dist/parsing/functions/pow.d.ts.map +1 -0
  33. package/dist/parsing/functions/pow.js +44 -0
  34. package/dist/parsing/functions/pow.js.map +1 -0
  35. package/dist/parsing/functions/predicate_function.d.ts +1 -0
  36. package/dist/parsing/functions/predicate_function.d.ts.map +1 -1
  37. package/dist/parsing/functions/predicate_function.js +3 -0
  38. package/dist/parsing/functions/predicate_function.js.map +1 -1
  39. package/dist/parsing/parser.d.ts +7 -0
  40. package/dist/parsing/parser.d.ts.map +1 -1
  41. package/dist/parsing/parser.js +31 -3
  42. package/dist/parsing/parser.js.map +1 -1
  43. package/package.json +1 -1
@@ -61,6 +61,17 @@ declare class ASTNode {
61
61
  * @returns The node's value, or null if not applicable
62
62
  */
63
63
  value(): any;
64
+ /**
65
+ * Whether this node introduces its own variable scope (e.g. the
66
+ * iteration variable of a predicate function / list comprehension,
67
+ * or a nested sub-query). References inside such a node are either
68
+ * binders or resolved within that inner scope, so outer-scope
69
+ * rewrites (such as `LET`-binding resolution in projections) must
70
+ * not descend into them. Override in scope-introducing subclasses.
71
+ *
72
+ * @returns True if the node owns an inner variable scope
73
+ */
74
+ introducesScope(): boolean;
64
75
  /**
65
76
  * Checks if this node represents an operator.
66
77
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ast_node.d.ts","sourceRoot":"","sources":["../../src/parsing/ast_node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAM,OAAO;IACT,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAQ;IACzC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IAEnC;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAKrC;;;;;;;OAOG;IACI,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IAUlE;;;;;OAKG;IACI,UAAU,IAAI,OAAO;IAO5B;;;;;OAKG;IACI,SAAS,IAAI,OAAO;IAO3B;;;;OAIG;IACI,WAAW,IAAI,OAAO,EAAE;IAI/B;;;;OAIG;IACI,UAAU,IAAI,MAAM;IAI3B;;;;OAIG;IACI,KAAK,IAAI,GAAG;IAInB;;;;OAIG;IACI,UAAU,IAAI,OAAO;IAI5B;;;;OAIG;IACI,SAAS,IAAI,OAAO;IAI3B;;;;OAIG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;;;OAIG;IACH,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED;;;;OAIG;IACI,KAAK,IAAI,MAAM;IAItB;;;;;OAKG;IACH,OAAO,CAAE,MAAM;IAWf;;;;OAIG;IACH,SAAS,CAAC,QAAQ,IAAI,MAAM;CAG/B;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"ast_node.d.ts","sourceRoot":"","sources":["../../src/parsing/ast_node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAM,OAAO;IACT,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAQ;IACzC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IAEnC;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAKrC;;;;;;;OAOG;IACI,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IAUlE;;;;;OAKG;IACI,UAAU,IAAI,OAAO;IAO5B;;;;;OAKG;IACI,SAAS,IAAI,OAAO;IAO3B;;;;OAIG;IACI,WAAW,IAAI,OAAO,EAAE;IAI/B;;;;OAIG;IACI,UAAU,IAAI,MAAM;IAI3B;;;;OAIG;IACI,KAAK,IAAI,GAAG;IAInB;;;;;;;;;OASG;IACI,eAAe,IAAI,OAAO;IAIjC;;;;OAIG;IACI,UAAU,IAAI,OAAO;IAI5B;;;;OAIG;IACI,SAAS,IAAI,OAAO;IAI3B;;;;OAIG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;;;OAIG;IACH,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED;;;;OAIG;IACI,KAAK,IAAI,MAAM;IAItB;;;;;OAKG;IACH,OAAO,CAAE,MAAM;IAWf;;;;OAIG;IACH,SAAS,CAAC,QAAQ,IAAI,MAAM;CAG/B;AAED,eAAe,OAAO,CAAC"}
@@ -92,6 +92,19 @@ class ASTNode {
92
92
  value() {
93
93
  return null;
94
94
  }
95
+ /**
96
+ * Whether this node introduces its own variable scope (e.g. the
97
+ * iteration variable of a predicate function / list comprehension,
98
+ * or a nested sub-query). References inside such a node are either
99
+ * binders or resolved within that inner scope, so outer-scope
100
+ * rewrites (such as `LET`-binding resolution in projections) must
101
+ * not descend into them. Override in scope-introducing subclasses.
102
+ *
103
+ * @returns True if the node owns an inner variable scope
104
+ */
105
+ introducesScope() {
106
+ return false;
107
+ }
95
108
  /**
96
109
  * Checks if this node represents an operator.
97
110
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ast_node.js","sourceRoot":"","sources":["../../src/parsing/ast_node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast_node.js","sourceRoot":"","sources":["../../src/parsing/ast_node.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ import Where from "../operations/where";
25
25
  */
26
26
  declare class ListComprehension extends ASTNode {
27
27
  private _valueHolder;
28
+ introducesScope(): boolean;
28
29
  /**
29
30
  * The iteration variable reference.
30
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"list_comprehension.d.ts","sourceRoot":"","sources":["../../../src/parsing/data_structures/list_comprehension.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AAEjD,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,cAAM,iBAAkB,SAAQ,OAAO;IACnC,OAAO,CAAC,YAAY,CAAkC;IAEtD;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,UAAU,GAAG,IAAI,CAMtC;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,KAAK,GAAG,IAAI,CAK/B;IAED;;;;;;OAMG;IACI,KAAK,IAAI,GAAG,EAAE;IAoBd,QAAQ,IAAI,MAAM;CAG5B;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"list_comprehension.d.ts","sourceRoot":"","sources":["../../../src/parsing/data_structures/list_comprehension.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AAEjD,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,cAAM,iBAAkB,SAAQ,OAAO;IACnC,OAAO,CAAC,YAAY,CAAkC;IAE/C,eAAe,IAAI,OAAO;IAIjC;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,UAAU,GAAG,IAAI,CAMtC;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,KAAK,GAAG,IAAI,CAK/B;IAED;;;;;;OAMG;IACI,KAAK,IAAI,GAAG,EAAE;IAoBd,QAAQ,IAAI,MAAM;CAG5B;AAED,eAAe,iBAAiB,CAAC"}
@@ -32,6 +32,9 @@ class ListComprehension extends ast_node_1.default {
32
32
  super(...arguments);
33
33
  this._valueHolder = new value_holder_1.default();
34
34
  }
35
+ introducesScope() {
36
+ return true;
37
+ }
35
38
  /**
36
39
  * The iteration variable reference.
37
40
  */
@@ -1 +1 @@
1
- {"version":3,"file":"list_comprehension.js","sourceRoot":"","sources":["../../../src/parsing/data_structures/list_comprehension.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAGlC,6EAAoD;AACpD,gEAAwC;AAExC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,iBAAkB,SAAQ,kBAAO;IAAvC;;QACY,iBAAY,GAAgB,IAAI,sBAAW,EAAE,CAAC;IAoE1D,CAAC;IAlEG;;OAEG;IACH,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,EAAe,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,IAAW,OAAO;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,IAAI,YAAY,eAAK;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,IAAkB,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACZ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACrC,IAAI,KAAK,YAAY,eAAK;gBAAE,OAAO,KAAc,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,KAAK;QACR,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,QAAQ;QACX,OAAO,mBAAmB,CAAC;IAC/B,CAAC;CACJ;AAED,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"list_comprehension.js","sourceRoot":"","sources":["../../../src/parsing/data_structures/list_comprehension.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAGlC,6EAAoD;AACpD,gEAAwC;AAExC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,iBAAkB,SAAQ,kBAAO;IAAvC;;QACY,iBAAY,GAAgB,IAAI,sBAAW,EAAE,CAAC;IAwE1D,CAAC;IAtEU,eAAe;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,EAAe,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,IAAW,OAAO;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,IAAI,YAAY,eAAK;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,IAAkB,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACZ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACrC,IAAI,KAAK,YAAY,eAAK;gBAAE,OAAO,KAAc,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,KAAK;QACR,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,QAAQ;QACX,OAAO,mBAAmB,CAAC;IAC/B,CAAC;CACJ;AAED,kBAAe,iBAAiB,CAAC"}
@@ -7,7 +7,17 @@ import Identifier from "./identifier";
7
7
  * against the global {@link Bindings} singleton at execution time.
8
8
  */
9
9
  declare class BindingReference extends Identifier {
10
- constructor(value: string);
10
+ /**
11
+ * When `true`, resolving a name that is not present in the global
12
+ * {@link Bindings} store yields `undefined` instead of throwing.
13
+ *
14
+ * Used for projection references (`RETURN name` / `WITH name`),
15
+ * where a bare unresolved identifier historically evaluated to
16
+ * `undefined`; lenient mode preserves that behaviour for genuinely
17
+ * unknown names while still resolving real `LET` bindings.
18
+ */
19
+ private _optional;
20
+ constructor(value: string, optional?: boolean);
11
21
  get name(): string;
12
22
  toString(): string;
13
23
  value(): any;
@@ -1 +1 @@
1
- {"version":3,"file":"binding_reference.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/binding_reference.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC;;;;;;GAMG;AACH,cAAM,gBAAiB,SAAQ,UAAU;gBACzB,KAAK,EAAE,MAAM;IAIzB,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,QAAQ,IAAI,MAAM;IAIlB,KAAK,IAAI,GAAG;CAOtB;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"binding_reference.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/binding_reference.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC;;;;;;GAMG;AACH,cAAM,gBAAiB,SAAQ,UAAU;IACrC;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS,CAAU;gBAEf,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe;IAKpD,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,QAAQ,IAAI,MAAM;IAIlB,KAAK,IAAI,GAAG;CAUtB;AAED,eAAe,gBAAgB,CAAC"}
@@ -13,8 +13,9 @@ const identifier_1 = __importDefault(require("./identifier"));
13
13
  * against the global {@link Bindings} singleton at execution time.
14
14
  */
15
15
  class BindingReference extends identifier_1.default {
16
- constructor(value) {
16
+ constructor(value, optional = false) {
17
17
  super(value);
18
+ this._optional = optional;
18
19
  }
19
20
  get name() {
20
21
  return this._value;
@@ -25,6 +26,9 @@ class BindingReference extends identifier_1.default {
25
26
  value() {
26
27
  const bindings = bindings_1.default.getInstance();
27
28
  if (!bindings.has(this._value)) {
29
+ if (this._optional) {
30
+ return undefined;
31
+ }
28
32
  throw new Error(`Binding '${this._value}' is not defined`);
29
33
  }
30
34
  return bindings.get(this._value);
@@ -1 +1 @@
1
- {"version":3,"file":"binding_reference.js","sourceRoot":"","sources":["../../../src/parsing/expressions/binding_reference.ts"],"names":[],"mappings":";;;;;AAAA,oEAA4C;AAC5C,8DAAsC;AAEtC;;;;;;GAMG;AACH,MAAM,gBAAiB,SAAQ,oBAAU;IACrC,YAAY,KAAa;QACrB,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,QAAQ;QACX,OAAO,qBAAqB,IAAI,CAAC,MAAM,GAAG,CAAC;IAC/C,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,kBAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;CACJ;AAED,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"binding_reference.js","sourceRoot":"","sources":["../../../src/parsing/expressions/binding_reference.ts"],"names":[],"mappings":";;;;;AAAA,oEAA4C;AAC5C,8DAAsC;AAEtC;;;;;;GAMG;AACH,MAAM,gBAAiB,SAAQ,oBAAU;IAYrC,YAAY,KAAa,EAAE,WAAoB,KAAK;QAChD,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,QAAQ;QACX,OAAO,qBAAqB,IAAI,CAAC,MAAM,GAAG,CAAC;IAC/C,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,kBAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;CACJ;AAED,kBAAe,gBAAgB,CAAC"}
@@ -11,6 +11,7 @@ declare class SubqueryExpression extends ASTNode {
11
11
  private _rowCount;
12
12
  constructor(mode: SubqueryMode, subqueryAST: ASTNode);
13
13
  get mode(): SubqueryMode;
14
+ introducesScope(): boolean;
14
15
  evaluate(): Promise<void>;
15
16
  value(): any;
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subquery_expression.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/subquery_expression.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,aAAa,CAAC;AAIlC,oBAAY,YAAY;IACpB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,OAAO,YAAY;CACtB;AAaD,cAAM,kBAAmB,SAAQ,OAAO;IACpC,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAa;gBAElB,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO;IAMpD,IAAW,IAAI,IAAI,YAAY,CAE9B;IAEY,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B/B,KAAK,IAAI,GAAG;CAiBtB;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"subquery_expression.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/subquery_expression.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,aAAa,CAAC;AAIlC,oBAAY,YAAY;IACpB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,OAAO,YAAY;CACtB;AAaD,cAAM,kBAAmB,SAAQ,OAAO;IACpC,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAa;gBAElB,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO;IAMpD,IAAW,IAAI,IAAI,YAAY,CAE9B;IAEM,eAAe,IAAI,OAAO;IAIpB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B/B,KAAK,IAAI,GAAG;CAiBtB;AAED,eAAe,kBAAkB,CAAC"}
@@ -49,6 +49,9 @@ class SubqueryExpression extends ast_node_1.default {
49
49
  get mode() {
50
50
  return this._mode;
51
51
  }
52
+ introducesScope() {
53
+ return true;
54
+ }
52
55
  evaluate() {
53
56
  return __awaiter(this, void 0, void 0, function* () {
54
57
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"subquery_expression.js","sourceRoot":"","sources":["../../../src/parsing/expressions/subquery_expression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subquery_expression.js","sourceRoot":"","sources":["../../../src/parsing/expressions/subquery_expression.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,12 @@ import "./last";
20
20
  import "./length";
21
21
  import "./localdatetime";
22
22
  import "./localtime";
23
+ import "./log";
24
+ import "./log10";
23
25
  import "./max";
24
26
  import "./min";
25
27
  import "./nodes";
28
+ import "./pow";
26
29
  import "./predicate_all";
27
30
  import "./predicate_any";
28
31
  import PredicateFunction from "./predicate_function";
@@ -1 +1 @@
1
- {"version":3,"file":"function_factory.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function_factory.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"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"}
@@ -19,9 +19,12 @@ require("./last");
19
19
  require("./length");
20
20
  require("./localdatetime");
21
21
  require("./localtime");
22
+ require("./log");
23
+ require("./log10");
22
24
  require("./max");
23
25
  require("./min");
24
26
  require("./nodes");
27
+ require("./pow");
25
28
  require("./predicate_all");
26
29
  require("./predicate_any");
27
30
  require("./predicate_none");
@@ -1 +1 @@
1
- {"version":3,"file":"function_factory.js","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function_factory.js","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import Function from "./function";
2
+ declare class Log extends Function {
3
+ constructor();
4
+ value(): any;
5
+ }
6
+ export default Log;
7
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/log.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,cAaM,GAAI,SAAQ,QAAQ;;IAKf,KAAK,IAAI,GAAG;CAUtB;AAED,eAAe,GAAG,CAAC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const function_1 = __importDefault(require("./function"));
13
+ const function_metadata_1 = require("./function_metadata");
14
+ let Log = class Log extends function_1.default {
15
+ constructor() {
16
+ super("log");
17
+ this._expectedParameterCount = 1;
18
+ }
19
+ value() {
20
+ const value = this.getChildren()[0].value();
21
+ if (value === null || value === undefined) {
22
+ return null;
23
+ }
24
+ if (typeof value !== "number") {
25
+ throw new Error("Invalid argument for log function");
26
+ }
27
+ return Math.log(value);
28
+ }
29
+ };
30
+ Log = __decorate([
31
+ (0, function_metadata_1.FunctionDef)({
32
+ description: "Returns the natural logarithm (base e) of a number",
33
+ category: "scalar",
34
+ parameters: [
35
+ { name: "value", description: "Number to take the natural logarithm of", type: "number" },
36
+ ],
37
+ output: {
38
+ description: "Natural logarithm of the input",
39
+ type: "number",
40
+ example: 2.302585092994046,
41
+ },
42
+ examples: ["WITH 10 AS n RETURN log(n)"],
43
+ })
44
+ ], Log);
45
+ exports.default = Log;
46
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/parsing/functions/log.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAelD,IAAM,GAAG,GAAT,MAAM,GAAI,SAAQ,kBAAQ;IACtB;QACI,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACrC,CAAC;IACM,KAAK;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACJ,CAAA;AAfK,GAAG;IAbR,IAAA,+BAAW,EAAC;QACT,WAAW,EAAE,oDAAoD;QACjE,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,yCAAyC,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5F;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,iBAAiB;SAC7B;QACD,QAAQ,EAAE,CAAC,4BAA4B,CAAC;KAC3C,CAAC;GACI,GAAG,CAeR;AAED,kBAAe,GAAG,CAAC"}
@@ -0,0 +1,7 @@
1
+ import Function from "./function";
2
+ declare class Log10 extends Function {
3
+ constructor();
4
+ value(): any;
5
+ }
6
+ export default Log10;
7
+ //# sourceMappingURL=log10.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log10.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/log10.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,cASM,KAAM,SAAQ,QAAQ;;IAKjB,KAAK,IAAI,GAAG;CAUtB;AAED,eAAe,KAAK,CAAC"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const function_1 = __importDefault(require("./function"));
13
+ const function_metadata_1 = require("./function_metadata");
14
+ let Log10 = class Log10 extends function_1.default {
15
+ constructor() {
16
+ super("log10");
17
+ this._expectedParameterCount = 1;
18
+ }
19
+ value() {
20
+ const value = this.getChildren()[0].value();
21
+ if (value === null || value === undefined) {
22
+ return null;
23
+ }
24
+ if (typeof value !== "number") {
25
+ throw new Error("Invalid argument for log10 function");
26
+ }
27
+ return Math.log10(value);
28
+ }
29
+ };
30
+ Log10 = __decorate([
31
+ (0, function_metadata_1.FunctionDef)({
32
+ description: "Returns the base-10 logarithm of a number",
33
+ category: "scalar",
34
+ parameters: [
35
+ { name: "value", description: "Number to take the base-10 logarithm of", type: "number" },
36
+ ],
37
+ output: { description: "Base-10 logarithm of the input", type: "number", example: 3 },
38
+ examples: ["WITH 1000 AS n RETURN log10(n)"],
39
+ })
40
+ ], Log10);
41
+ exports.default = Log10;
42
+ //# sourceMappingURL=log10.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log10.js","sourceRoot":"","sources":["../../../src/parsing/functions/log10.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAWlD,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,kBAAQ;IACxB;QACI,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACrC,CAAC;IACM,KAAK;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACJ,CAAA;AAfK,KAAK;IATV,IAAA,+BAAW,EAAC;QACT,WAAW,EAAE,2CAA2C;QACxD,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,yCAAyC,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5F;QACD,MAAM,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;QACrF,QAAQ,EAAE,CAAC,gCAAgC,CAAC;KAC/C,CAAC;GACI,KAAK,CAeV;AAED,kBAAe,KAAK,CAAC"}
@@ -0,0 +1,7 @@
1
+ import Function from "./function";
2
+ declare class Pow extends Function {
3
+ constructor();
4
+ value(): any;
5
+ }
6
+ export default Pow;
7
+ //# sourceMappingURL=pow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pow.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/pow.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,cAUM,GAAI,SAAQ,QAAQ;;IAKf,KAAK,IAAI,GAAG;CAWtB;AAED,eAAe,GAAG,CAAC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const function_1 = __importDefault(require("./function"));
13
+ const function_metadata_1 = require("./function_metadata");
14
+ let Pow = class Pow extends function_1.default {
15
+ constructor() {
16
+ super("pow");
17
+ this._expectedParameterCount = 2;
18
+ }
19
+ value() {
20
+ const base = this.getChildren()[0].value();
21
+ const exponent = this.getChildren()[1].value();
22
+ if (base === null || base === undefined || exponent === null || exponent === undefined) {
23
+ return null;
24
+ }
25
+ if (typeof base !== "number" || typeof exponent !== "number") {
26
+ throw new Error("Invalid arguments for pow function");
27
+ }
28
+ return Math.pow(base, exponent);
29
+ }
30
+ };
31
+ Pow = __decorate([
32
+ (0, function_metadata_1.FunctionDef)({
33
+ description: "Returns the value of a number raised to the power of another number",
34
+ category: "scalar",
35
+ parameters: [
36
+ { name: "base", description: "The base number", type: "number" },
37
+ { name: "exponent", description: "The exponent to raise the base to", type: "number" },
38
+ ],
39
+ output: { description: "base raised to the power of exponent", type: "number", example: 8 },
40
+ examples: ["WITH 2 AS b, 3 AS e RETURN pow(b, e)"],
41
+ })
42
+ ], Pow);
43
+ exports.default = Pow;
44
+ //# sourceMappingURL=pow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pow.js","sourceRoot":"","sources":["../../../src/parsing/functions/pow.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAYlD,IAAM,GAAG,GAAT,MAAM,GAAI,SAAQ,kBAAQ;IACtB;QACI,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACrC,CAAC;IACM,KAAK;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;CACJ,CAAA;AAhBK,GAAG;IAVR,IAAA,+BAAW,EAAC;QACT,WAAW,EAAE,qEAAqE;QAClF,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,mCAAmC,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzF;QACD,MAAM,EAAE,EAAE,WAAW,EAAE,sCAAsC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;QAC3F,QAAQ,EAAE,CAAC,sCAAsC,CAAC;KACrD,CAAC;GACI,GAAG,CAgBR;AAED,kBAAe,GAAG,CAAC"}
@@ -11,6 +11,7 @@ declare class PredicateFunction extends ASTNode {
11
11
  get name(): string;
12
12
  get hasReturnExpression(): boolean;
13
13
  set hasReturnExpression(value: boolean);
14
+ introducesScope(): boolean;
14
15
  protected get reference(): Reference;
15
16
  protected get array(): ASTNode;
16
17
  protected get _return(): Expression | null;
@@ -1 +1 @@
1
- {"version":3,"file":"predicate_function.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/predicate_function.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,cAAM,iBAAkB,SAAQ,OAAO;IACnC,OAAO,CAAC,KAAK,CAAS;IACtB,SAAS,CAAC,YAAY,EAAE,WAAW,CAAqB;IACxD,OAAO,CAAC,oBAAoB,CAAiB;gBAEjC,IAAI,CAAC,EAAE,MAAM;IAKzB,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED,IAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAE5C;IAED,SAAS,KAAK,SAAS,IAAI,SAAS,CAEnC;IAED,SAAS,KAAK,KAAK,IAAI,OAAO,CAE7B;IAED,SAAS,KAAK,OAAO,IAAI,UAAU,GAAG,IAAI,CAGzC;IAED,SAAS,KAAK,KAAK,IAAI,KAAK,GAAG,IAAI,CAWlC;IAEM,KAAK,IAAI,GAAG;IAIZ,QAAQ,IAAI,MAAM;CAG5B;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"predicate_function.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/predicate_function.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,cAAM,iBAAkB,SAAQ,OAAO;IACnC,OAAO,CAAC,KAAK,CAAS;IACtB,SAAS,CAAC,YAAY,EAAE,WAAW,CAAqB;IACxD,OAAO,CAAC,oBAAoB,CAAiB;gBAEjC,IAAI,CAAC,EAAE,MAAM;IAKzB,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED,IAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAE5C;IAEM,eAAe,IAAI,OAAO;IAIjC,SAAS,KAAK,SAAS,IAAI,SAAS,CAEnC;IAED,SAAS,KAAK,KAAK,IAAI,OAAO,CAE7B;IAED,SAAS,KAAK,OAAO,IAAI,UAAU,GAAG,IAAI,CAGzC;IAED,SAAS,KAAK,KAAK,IAAI,KAAK,GAAG,IAAI,CAWlC;IAEM,KAAK,IAAI,GAAG;IAIZ,QAAQ,IAAI,MAAM;CAG5B;AAED,eAAe,iBAAiB,CAAC"}
@@ -21,6 +21,9 @@ class PredicateFunction extends ast_node_1.default {
21
21
  set hasReturnExpression(value) {
22
22
  this._hasReturnExpression = value;
23
23
  }
24
+ introducesScope() {
25
+ return true;
26
+ }
24
27
  get reference() {
25
28
  return this.firstChild();
26
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"predicate_function.js","sourceRoot":"","sources":["../../../src/parsing/functions/predicate_function.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAIlC,kEAAyC;AAEzC,MAAM,iBAAkB,SAAQ,kBAAO;IAKnC,YAAY,IAAa;QACrB,KAAK,EAAE,CAAC;QAJF,iBAAY,GAAgB,IAAI,sBAAW,EAAE,CAAC;QAChD,yBAAoB,GAAY,IAAI,CAAC;QAIzC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,mBAAmB;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IAED,IAAW,mBAAmB,CAAC,KAAc;QACzC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,IAAc,SAAS;QACnB,OAAO,IAAI,CAAC,UAAU,EAAe,CAAC;IAC1C,CAAC;IAED,IAAc,KAAK;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9C,CAAC;IAED,IAAc,OAAO;QACjB,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAe,CAAC;IAC/C,CAAC;IAED,IAAc,KAAK;QACf,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAU,CAAC;YAC1C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAU,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAEM,QAAQ;QACX,OAAO,sBAAsB,IAAI,CAAC,KAAK,GAAG,CAAC;IAC/C,CAAC;CACJ;AAED,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"predicate_function.js","sourceRoot":"","sources":["../../../src/parsing/functions/predicate_function.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAIlC,kEAAyC;AAEzC,MAAM,iBAAkB,SAAQ,kBAAO;IAKnC,YAAY,IAAa;QACrB,KAAK,EAAE,CAAC;QAJF,iBAAY,GAAgB,IAAI,sBAAW,EAAE,CAAC;QAChD,yBAAoB,GAAY,IAAI,CAAC;QAIzC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,mBAAmB;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IAED,IAAW,mBAAmB,CAAC,KAAc;QACzC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACtC,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAc,SAAS;QACnB,OAAO,IAAI,CAAC,UAAU,EAAe,CAAC;IAC1C,CAAC;IAED,IAAc,KAAK;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9C,CAAC;IAED,IAAc,OAAO;QACjB,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAe,CAAC;IAC/C,CAAC;IAED,IAAc,KAAK;QACf,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAU,CAAC;YAC1C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAU,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAEM,QAAQ;QACX,OAAO,sBAAsB,IAAI,CAAC,KAAK,GAAG,CAAC;IAC/C,CAAC;CACJ;AAED,kBAAe,iBAAiB,CAAC"}
@@ -120,6 +120,13 @@ declare class Parser extends BaseParser {
120
120
  * Used by `UPDATE … AS u DELETE WHERE …` so that predicates can
121
121
  * reference other bindings by name, and to keep `LOAD JSON FROM …`
122
122
  * behaviour consistent at arbitrary depth.
123
+ *
124
+ * When `optional` is true, the produced {@link BindingReference}
125
+ * yields `undefined` (rather than throwing) for names absent from
126
+ * the bindings store. Projection conversions pass `optional` so
127
+ * that an unresolved bare identifier in `RETURN`/`WITH` keeps its
128
+ * historical "silently undefined" behaviour for unknown names while
129
+ * still resolving real `LET` bindings.
123
130
  */
124
131
  private convertUnresolvedReferencesToBindings;
125
132
  private parseMatch;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parsing/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parsing/parser.ts"],"names":[],"mappings":"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"}
@@ -361,6 +361,12 @@ class Parser extends base_parser_1.default {
361
361
  if (expressions.length === 0) {
362
362
  throw new Error("Expected expression");
363
363
  }
364
+ // Bare identifiers left unresolved by the parser scope refer to
365
+ // `LET`-bound values, resolved at run-time against the global
366
+ // Bindings store (lenient: unknown names stay `undefined`).
367
+ for (const expression of expressions) {
368
+ this.convertUnresolvedReferencesToBindings(expression, true);
369
+ }
364
370
  if (distinct || expressions.some((expression) => expression.has_reducers())) {
365
371
  return new aggregated_with_1.default(expressions);
366
372
  }
@@ -415,6 +421,12 @@ class Parser extends base_parser_1.default {
415
421
  if (expressions.length === 0) {
416
422
  throw new Error("Expected expression");
417
423
  }
424
+ // Bare identifiers left unresolved by the parser scope refer to
425
+ // `LET`-bound values, resolved at run-time against the global
426
+ // Bindings store (lenient: unknown names stay `undefined`).
427
+ for (const expression of expressions) {
428
+ this.convertUnresolvedReferencesToBindings(expression, true);
429
+ }
418
430
  if (distinct || expressions.some((expression) => expression.has_reducers())) {
419
431
  return new aggregated_return_1.default(expressions);
420
432
  }
@@ -1299,16 +1311,32 @@ class Parser extends base_parser_1.default {
1299
1311
  * Used by `UPDATE … AS u DELETE WHERE …` so that predicates can
1300
1312
  * reference other bindings by name, and to keep `LOAD JSON FROM …`
1301
1313
  * behaviour consistent at arbitrary depth.
1314
+ *
1315
+ * When `optional` is true, the produced {@link BindingReference}
1316
+ * yields `undefined` (rather than throwing) for names absent from
1317
+ * the bindings store. Projection conversions pass `optional` so
1318
+ * that an unresolved bare identifier in `RETURN`/`WITH` keeps its
1319
+ * historical "silently undefined" behaviour for unknown names while
1320
+ * still resolving real `LET` bindings.
1302
1321
  */
1303
- convertUnresolvedReferencesToBindings(node) {
1322
+ convertUnresolvedReferencesToBindings(node, optional = false) {
1304
1323
  for (const child of node.getChildren().slice()) {
1324
+ // Scope-introducing constructs manage their own variable
1325
+ // bindings (the iteration-variable declaration of a
1326
+ // predicate function / list comprehension, or a nested
1327
+ // sub-query's own scope). Their inner references are either
1328
+ // binders or resolved within that inner scope, so rewriting
1329
+ // them here would corrupt the binding wiring. Skip them.
1330
+ if (child.introducesScope()) {
1331
+ continue;
1332
+ }
1305
1333
  if (child instanceof reference_1.default &&
1306
1334
  child.referred === undefined &&
1307
1335
  !child.identifier.startsWith("$")) {
1308
- node.replaceChild(child, new binding_reference_1.default(child.identifier));
1336
+ node.replaceChild(child, new binding_reference_1.default(child.identifier, optional));
1309
1337
  }
1310
1338
  else {
1311
- this.convertUnresolvedReferencesToBindings(child);
1339
+ this.convertUnresolvedReferencesToBindings(child, optional);
1312
1340
  }
1313
1341
  }
1314
1342
  }