flowquery 1.0.52 → 1.0.54

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 (58) hide show
  1. package/README.md +154 -1
  2. package/dist/flowquery.min.js +1 -1
  3. package/dist/parsing/expressions/expression.d.ts +3 -0
  4. package/dist/parsing/expressions/expression.d.ts.map +1 -1
  5. package/dist/parsing/expressions/expression.js +8 -0
  6. package/dist/parsing/expressions/expression.js.map +1 -1
  7. package/dist/parsing/expressions/subquery_expression.d.ts +18 -0
  8. package/dist/parsing/expressions/subquery_expression.d.ts.map +1 -0
  9. package/dist/parsing/expressions/subquery_expression.js +98 -0
  10. package/dist/parsing/expressions/subquery_expression.js.map +1 -0
  11. package/dist/parsing/functions/function_factory.d.ts +11 -0
  12. package/dist/parsing/functions/function_factory.d.ts.map +1 -1
  13. package/dist/parsing/functions/function_factory.js +13 -0
  14. package/dist/parsing/functions/function_factory.js.map +1 -1
  15. package/dist/parsing/functions/predicate_all.d.ts +7 -0
  16. package/dist/parsing/functions/predicate_all.d.ts.map +1 -0
  17. package/dist/parsing/functions/predicate_all.js +58 -0
  18. package/dist/parsing/functions/predicate_all.js.map +1 -0
  19. package/dist/parsing/functions/predicate_any.d.ts +7 -0
  20. package/dist/parsing/functions/predicate_any.d.ts.map +1 -0
  21. package/dist/parsing/functions/predicate_any.js +58 -0
  22. package/dist/parsing/functions/predicate_any.js.map +1 -0
  23. package/dist/parsing/functions/predicate_function.d.ts +4 -1
  24. package/dist/parsing/functions/predicate_function.d.ts.map +1 -1
  25. package/dist/parsing/functions/predicate_function.js +18 -2
  26. package/dist/parsing/functions/predicate_function.js.map +1 -1
  27. package/dist/parsing/functions/predicate_none.d.ts +7 -0
  28. package/dist/parsing/functions/predicate_none.d.ts.map +1 -0
  29. package/dist/parsing/functions/predicate_none.js +58 -0
  30. package/dist/parsing/functions/predicate_none.js.map +1 -0
  31. package/dist/parsing/functions/predicate_single.d.ts +7 -0
  32. package/dist/parsing/functions/predicate_single.d.ts.map +1 -0
  33. package/dist/parsing/functions/predicate_single.js +61 -0
  34. package/dist/parsing/functions/predicate_single.js.map +1 -0
  35. package/dist/parsing/functions/predicate_sum.js.map +1 -1
  36. package/dist/parsing/operations/load.d.ts +9 -0
  37. package/dist/parsing/operations/load.d.ts.map +1 -1
  38. package/dist/parsing/operations/load.js +48 -0
  39. package/dist/parsing/operations/load.js.map +1 -1
  40. package/dist/parsing/operations/return.d.ts.map +1 -1
  41. package/dist/parsing/operations/return.js +3 -0
  42. package/dist/parsing/operations/return.js.map +1 -1
  43. package/dist/parsing/operations/where.d.ts.map +1 -1
  44. package/dist/parsing/operations/where.js +3 -0
  45. package/dist/parsing/operations/where.js.map +1 -1
  46. package/dist/parsing/parser.d.ts +2 -0
  47. package/dist/parsing/parser.d.ts.map +1 -1
  48. package/dist/parsing/parser.js +110 -9
  49. package/dist/parsing/parser.js.map +1 -1
  50. package/dist/tokenization/keyword.d.ts +2 -1
  51. package/dist/tokenization/keyword.d.ts.map +1 -1
  52. package/dist/tokenization/keyword.js +1 -0
  53. package/dist/tokenization/keyword.js.map +1 -1
  54. package/dist/tokenization/token.d.ts +2 -0
  55. package/dist/tokenization/token.d.ts.map +1 -1
  56. package/dist/tokenization/token.js +7 -0
  57. package/dist/tokenization/token.js.map +1 -1
  58. package/package.json +8 -5
@@ -0,0 +1,61 @@
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_metadata_1 = require("./function_metadata");
13
+ const predicate_function_1 = __importDefault(require("./predicate_function"));
14
+ let PredicateSingle = class PredicateSingle extends predicate_function_1.default {
15
+ constructor() {
16
+ super("single");
17
+ }
18
+ value() {
19
+ this.reference.referred = this._valueHolder;
20
+ const array = this.array.value();
21
+ if (array === null || !Array.isArray(array)) {
22
+ return false;
23
+ }
24
+ let count = 0;
25
+ for (let i = 0; i < array.length; i++) {
26
+ this._valueHolder.holder = array[i];
27
+ if (this.where !== null && this.where.value()) {
28
+ count++;
29
+ if (count > 1)
30
+ return false;
31
+ }
32
+ }
33
+ return count === 1;
34
+ }
35
+ };
36
+ PredicateSingle = __decorate([
37
+ (0, function_metadata_1.FunctionDef)({
38
+ description: "Returns true if exactly one element in the list satisfies the condition. Uses syntax: single(variable IN list WHERE condition)",
39
+ category: "predicate",
40
+ parameters: [
41
+ { name: "variable", description: "Variable name to bind each element", type: "string" },
42
+ { name: "list", description: "List to iterate over", type: "array" },
43
+ {
44
+ name: "where",
45
+ description: "Condition to test for each element",
46
+ type: "boolean",
47
+ },
48
+ ],
49
+ output: {
50
+ description: "True if exactly one element satisfies the condition",
51
+ type: "boolean",
52
+ example: true,
53
+ },
54
+ examples: [
55
+ "RETURN single(n IN [1, 2, 3] WHERE n > 2)",
56
+ "WITH [1, 2, 3] AS nums RETURN single(n IN nums WHERE n = 2)",
57
+ ],
58
+ })
59
+ ], PredicateSingle);
60
+ exports.default = PredicateSingle;
61
+ //# sourceMappingURL=predicate_single.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predicate_single.js","sourceRoot":"","sources":["../../../src/parsing/functions/predicate_single.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2DAAkD;AAClD,8EAAqD;AAyBrD,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,4BAAiB;IAC3C;QACI,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAEM,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,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,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,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;YAChC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,KAAK,CAAC,CAAC;IACvB,CAAC;CACJ,CAAA;AArBK,eAAe;IAvBpB,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,gIAAgI;QACpI,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE;YACR,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,oCAAoC,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvF,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAE,IAAI,EAAE,OAAO,EAAE;YACpE;gBACI,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,oCAAoC;gBACjD,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,qDAAqD;YAClE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SAChB;QACD,QAAQ,EAAE;YACN,2CAA2C;YAC3C,6DAA6D;SAChE;KACJ,CAAC;GACI,eAAe,CAqBpB;AAED,kBAAe,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"predicate_sum.js","sourceRoot":"","sources":["../../../src/parsing/functions/predicate_sum.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2DAAkD;AAClD,8EAAqD;AAuBrD,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAiB;IACxC;QACI,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAEM,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,gCAAgC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,IAAI,GAAW,CAAC,CAAC;QACrB,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,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AApBK,YAAY;IArBjB,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,yJAAyJ;QAC7J,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE;YACR,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,oCAAoC,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvF,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,OAAO,EAAE;YACtE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,oCAAoC,EAAE,IAAI,EAAE,KAAK,EAAE;YACtF;gBACI,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,KAAK;aAClB;SACJ;QACD,MAAM,EAAE,EAAE,WAAW,EAAE,kCAAkC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;QACvF,QAAQ,EAAE;YACN,kDAAkD;YAClD,qEAAqE;SACxE;KACJ,CAAC;GACI,YAAY,CAoBjB;AAED,kBAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"predicate_sum.js","sourceRoot":"","sources":["../../../src/parsing/functions/predicate_sum.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2DAAkD;AAClD,8EAAqD;AAuBrD,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAiB;IACxC;QACI,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAEM,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,gCAAgC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,IAAI,GAAW,CAAC,CAAC;QACrB,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,IAAI,CAAC,OAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AApBK,YAAY;IArBjB,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,yJAAyJ;QAC7J,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE;YACR,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,oCAAoC,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvF,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,OAAO,EAAE;YACtE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,oCAAoC,EAAE,IAAI,EAAE,KAAK,EAAE;YACtF;gBACI,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,KAAK;aAClB;SACJ;QACD,MAAM,EAAE,EAAE,WAAW,EAAE,kCAAkC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;QACvF,QAAQ,EAAE;YACN,kDAAkD;YAClD,qEAAqE;SACxE;KACJ,CAAC;GACI,YAAY,CAoBjB;AAED,kBAAe,YAAY,CAAC"}
@@ -32,6 +32,15 @@ declare class Load extends Operation {
32
32
  get payload(): Function | Reference | Expression | AssociativeArray | Lookup | null;
33
33
  private method;
34
34
  private options;
35
+ /**
36
+ * Checks if the source is a local file URI (file:// protocol).
37
+ */
38
+ get isFileUri(): boolean;
39
+ /**
40
+ * Loads data from a local file (file:// protocol).
41
+ * Only available in Node.js environments.
42
+ */
43
+ private loadFromFile;
35
44
  /**
36
45
  * Loads data from an async function source.
37
46
  * Arguments from the query (e.g., myFunc(arg1, arg2)) are passed to generate().
@@ -1 +1 @@
1
- {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/load.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,cAAM,IAAK,SAAQ,SAAS;IACxB,OAAO,CAAC,MAAM,CAAa;;IAK3B,IAAW,IAAI,IAAI,KAAK,GAAG,GAAG,GAAG,IAAI,CAEpC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,IAAI,CAE/B;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,aAAa,GAAG,IAAI,CAG/C;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAAW,OAAO,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAK9C;IACD,IAAW,OAAO,IAAI,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAUzF;IACD,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,OAAO;IAcf;;;OAGG;YACW,gBAAgB;IAS9B;;OAEG;YACW,WAAW;IAsBZ,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;IAOpB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ1B,KAAK,IAAI,GAAG;CAGtB;AAED,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/load.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,cAAM,IAAK,SAAQ,SAAS;IACxB,OAAO,CAAC,MAAM,CAAa;;IAK3B,IAAW,IAAI,IAAI,KAAK,GAAG,GAAG,GAAG,IAAI,CAEpC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,IAAI,CAE/B;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,aAAa,GAAG,IAAI,CAG/C;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAAW,OAAO,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAK9C;IACD,IAAW,OAAO,IAAI,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAUzF;IACD,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,OAAO;IAcf;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAG9B;IAED;;;OAGG;YACW,YAAY;IA4B1B;;;OAGG;YACW,gBAAgB;IAS9B;;OAEG;YACW,WAAW;IAsBZ,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;IASpB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ1B,KAAK,IAAI,GAAG;CAGtB;AAED,eAAe,IAAI,CAAC"}
@@ -90,6 +90,51 @@ class Load extends operation_1.default {
90
90
  }
91
91
  return Object.assign({ method: this.method(), headers: headers }, (payload !== null ? { body: JSON.stringify(payload.value()) } : {}));
92
92
  }
93
+ /**
94
+ * Checks if the source is a local file URI (file:// protocol).
95
+ */
96
+ get isFileUri() {
97
+ if (this.isAsyncFunction)
98
+ return false;
99
+ return typeof this.from === "string" && this.from.startsWith("file://");
100
+ }
101
+ /**
102
+ * Loads data from a local file (file:// protocol).
103
+ * Only available in Node.js environments.
104
+ */
105
+ loadFromFile() {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ var _a, _b, _c, _d;
108
+ if (typeof process === "undefined" || !((_a = process.versions) === null || _a === void 0 ? void 0 : _a.node)) {
109
+ throw new Error("Local file loading is not supported in the browser");
110
+ }
111
+ // Dynamic require to prevent webpack from bundling fs
112
+ const fs = eval("require")("fs");
113
+ const filePath = this.from.replace(/^file:\/\//, "");
114
+ const content = fs.readFileSync(filePath, "utf-8");
115
+ let data = null;
116
+ if (this.type instanceof json_1.default) {
117
+ data = JSON.parse(content);
118
+ }
119
+ else {
120
+ data = content;
121
+ }
122
+ if (Array.isArray(data)) {
123
+ for (const item of data) {
124
+ this._value = item;
125
+ yield ((_b = this.next) === null || _b === void 0 ? void 0 : _b.run());
126
+ }
127
+ }
128
+ else if (typeof data === "object" && data !== null) {
129
+ this._value = data;
130
+ yield ((_c = this.next) === null || _c === void 0 ? void 0 : _c.run());
131
+ }
132
+ else if (typeof data === "string") {
133
+ this._value = data;
134
+ yield ((_d = this.next) === null || _d === void 0 ? void 0 : _d.run());
135
+ }
136
+ });
137
+ }
93
138
  /**
94
139
  * Loads data from an async function source.
95
140
  * Arguments from the query (e.g., myFunc(arg1, arg2)) are passed to generate().
@@ -153,6 +198,9 @@ class Load extends operation_1.default {
153
198
  if (this.isAsyncFunction) {
154
199
  yield this.loadFromFunction();
155
200
  }
201
+ else if (this.isFileUri) {
202
+ yield this.loadFromFile();
203
+ }
156
204
  else {
157
205
  yield this.loadFromUrl();
158
206
  }
@@ -1 +1 @@
1
- {"version":3,"file":"load.js","sourceRoot":"","sources":["../../../src/parsing/operations/load.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../../src/parsing/operations/load.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"return.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/return.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAQ;IACtC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAM;IAC/C,OAAO,CAAC,MAAM,CAAsB;IACpC,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAQ;IAC1C,IAAW,KAAK,CAAC,KAAK,EAAE,KAAK,EAE5B;IACD,IAAW,KAAK,IAAI,OAAO,CAK1B;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,KAAK,EAE5B;IACD,IAAW,OAAO,CAAC,OAAO,EAAE,OAAO,EAElC;IACY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAGxC,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAS1C;CACJ;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"return.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/return.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAQ;IACtC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAM;IAC/C,OAAO,CAAC,MAAM,CAAsB;IACpC,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAQ;IAC1C,IAAW,KAAK,CAAC,KAAK,EAAE,KAAK,EAE5B;IACD,IAAW,KAAK,IAAI,OAAO,CAK1B;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,KAAK,EAE5B;IACD,IAAW,OAAO,CAAC,OAAO,EAAE,OAAO,EAElC;IACY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAGxC,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAS1C;CACJ;AAED,eAAe,MAAM,CAAC"}
@@ -59,6 +59,9 @@ class Return extends projection_1.default {
59
59
  }
60
60
  const record = new Map();
61
61
  for (const [expression, alias] of this.expressions()) {
62
+ for (const sq of expression.subqueries()) {
63
+ yield sq.evaluate();
64
+ }
62
65
  const raw = expression.value();
63
66
  const value = typeof raw === "object" && raw !== null ? structuredClone(raw) : raw;
64
67
  record.set(alias, value);
@@ -1 +1 @@
1
- {"version":3,"file":"return.js","sourceRoot":"","sources":["../../../src/parsing/operations/return.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,8DAAsC;AAGtC;;;;;;;;;;GAUG;AACH,MAAM,MAAO,SAAQ,oBAAU;IAA/B;;QACc,WAAM,GAAiB,IAAI,CAAC;QAC5B,aAAQ,GAA0B,EAAE,CAAC;QACvC,WAAM,GAAiB,IAAI,CAAC;QAC1B,aAAQ,GAAmB,IAAI,CAAC;IAqD9C,CAAC;IApDG,IAAW,KAAK,CAAC,KAAY;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,IAAW,KAAK;QACZ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IACD,IAAW,KAAK,CAAC,KAAY;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,IAAW,OAAO,CAAC,OAAgB;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IACY,GAAG;;YACZ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO;YACX,CAAC;YACD,4DAA4D;YAC5D,uDAAuD;YACvD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC/E,OAAO;YACX,CAAC;YACD,MAAM,MAAM,GAAqB,IAAI,GAAG,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAQ,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxF,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,oEAAoE;YACpE,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACjD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;QACL,CAAC;KAAA;IACY,UAAU;;YACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACvB,CAAC;KAAA;IACD,IAAW,OAAO;QACd,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACjD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AAED,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"return.js","sourceRoot":"","sources":["../../../src/parsing/operations/return.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"where.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/where.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC;;;;;;;;;;GAUG;AACH,cAAM,KAAM,SAAQ,SAAS;IACzB;;;;OAIG;gBACS,UAAU,EAAE,UAAU;IAIlC,IAAW,UAAU,IAAI,UAAU,CAElC;IACY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAS1B,KAAK,IAAI,GAAG;CAGtB;AAED,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"where.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/where.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC;;;;;;;;;;GAUG;AACH,cAAM,KAAM,SAAQ,SAAS;IACzB;;;;OAIG;gBACS,UAAU,EAAE,UAAU;IAIlC,IAAW,UAAU,IAAI,UAAU,CAElC;IACY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAY1B,KAAK,IAAI,GAAG;CAGtB;AAED,eAAe,KAAK,CAAC"}
@@ -44,6 +44,9 @@ class Where extends operation_1.default {
44
44
  yield pattern.fetchData();
45
45
  yield pattern.evaluate();
46
46
  }
47
+ for (const subquery of this.expression.subqueries()) {
48
+ yield subquery.evaluate();
49
+ }
47
50
  if (this.expression.value()) {
48
51
  yield ((_a = this.next) === null || _a === void 0 ? void 0 : _a.run());
49
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"where.js","sourceRoot":"","sources":["../../../src/parsing/operations/where.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,4DAAoC;AAEpC;;;;;;;;;;GAUG;AACH,MAAM,KAAM,SAAQ,mBAAS;IACzB;;;;OAIG;IACH,YAAY,UAAsB;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IACD,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAe,CAAC;IAC1C,CAAC;IACY,GAAG;;;YACZ,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC/C,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC1B,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC1B,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,EAAE,CAAA,CAAC;YAC3B,CAAC;QACL,CAAC;KAAA;IACM,KAAK;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;CACJ;AAED,kBAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"where.js","sourceRoot":"","sources":["../../../src/parsing/operations/where.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,4DAAoC;AAEpC;;;;;;;;;;GAUG;AACH,MAAM,KAAM,SAAQ,mBAAS;IACzB;;;;OAIG;IACH,YAAY,UAAsB;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IACD,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAe,CAAC;IAC1C,CAAC;IACY,GAAG;;;YACZ,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC/C,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC1B,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC;gBAClD,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC9B,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC1B,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,EAAE,CAAA,CAAC;YAC3B,CAAC;QACL,CAAC;KAAA;IACM,KAAK;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;CACJ;AAED,kBAAe,KAAK,CAAC"}
@@ -137,6 +137,8 @@ declare class Parser extends BaseParser {
137
137
  private expectAndSkipWhitespaceAndComments;
138
138
  private skipWhitespaceAndComments;
139
139
  private expectPreviousTokenToBeWhitespaceOrComment;
140
+ private looksLikeSubqueryExpression;
141
+ private parseSubqueryExpression;
140
142
  }
141
143
  export default Parser;
142
144
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parsing/parser.ts"],"names":[],"mappings":"AAWA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,UAAU,MAAM,eAAe,CAAC;AA4DvC;;;;;;;;;;;;GAYG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,OAAO,CAAC,MAAM,CAAkC;IAEhD;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAiBxC;;;;;;;;;OASG;IACK,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;IAgC9D;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,eAAe;IAwGvB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,SAAS;IAoEjB,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,WAAW;IAkEnB,OAAO,CAAC,WAAW;IAsDnB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,SAAS;IAkDjB,OAAO,CAAE,eAAe;IAyCxB,OAAO,CAAE,aAAa;IAgCtB,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,iBAAiB;IAgFzB,OAAO,CAAC,qBAAqB;IA6B7B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,YAAY;IAyCpB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAE,iBAAiB;IAsC1B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAoGpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,WAAW;IAkDnB,OAAO,CAAC,SAAS;IAyCjB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,aAAa;IAoCrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,sBAAsB;IAwE9B,OAAO,CAAC,YAAY;IA4BpB;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IAiBlC;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IA4D9B,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,kCAAkC;IAO1C,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,0CAA0C;CAKrD;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parsing/parser.ts"],"names":[],"mappings":"AAWA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,UAAU,MAAM,eAAe,CAAC;AA6DvC;;;;;;;;;;;;GAYG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,OAAO,CAAC,MAAM,CAAkC;IAEhD;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAiBxC;;;;;;;;;OASG;IACK,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;IAgC9D;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,eAAe;IAwGvB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,SAAS;IAoEjB,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,WAAW;IAkEnB,OAAO,CAAC,WAAW;IAsDnB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,SAAS;IAkDjB,OAAO,CAAE,eAAe;IAyCxB,OAAO,CAAE,aAAa;IAgCtB,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,iBAAiB;IAgFzB,OAAO,CAAC,qBAAqB;IA6B7B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,YAAY;IAyCpB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAE,iBAAiB;IAsC1B;;;OAGG;IACH,OAAO,CAAC,YAAY;IA6GpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,WAAW;IAkDnB,OAAO,CAAC,SAAS;IAyCjB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,aAAa;IAoCrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,sBAAsB;IA+E9B,OAAO,CAAC,YAAY;IA4BpB;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IAiBlC;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IA4D9B,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,kCAAkC;IAO1C,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,0CAA0C;IAMlD,OAAO,CAAC,2BAA2B;IAiBnC,OAAO,CAAC,uBAAuB;CAgClC;AAED,eAAe,MAAM,CAAC"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -33,6 +66,7 @@ const operator_1 = require("./expressions/operator");
33
66
  const parameter_reference_1 = __importDefault(require("./expressions/parameter_reference"));
34
67
  const reference_1 = __importDefault(require("./expressions/reference"));
35
68
  const string_1 = __importDefault(require("./expressions/string"));
69
+ const subquery_expression_1 = __importStar(require("./expressions/subquery_expression"));
36
70
  const aggregate_function_1 = __importDefault(require("./functions/aggregate_function"));
37
71
  const function_1 = __importDefault(require("./functions/function"));
38
72
  const function_factory_1 = __importDefault(require("./functions/function_factory"));
@@ -1012,6 +1046,15 @@ class Parser extends base_parser_1.default {
1012
1046
  parseOperand(expression) {
1013
1047
  var _a, _b;
1014
1048
  this.skipWhitespaceAndComments();
1049
+ // Subquery expressions: EXISTS { ... }, COUNT { ... }, COLLECT { ... }
1050
+ if (this.looksLikeSubqueryExpression()) {
1051
+ const subquery = this.parseSubqueryExpression();
1052
+ if (subquery !== null) {
1053
+ const lookup = this.parseLookup(subquery);
1054
+ expression.addNode(lookup);
1055
+ return true;
1056
+ }
1057
+ }
1015
1058
  if (this.token.isIdentifierOrKeyword() && !((_a = this.peek()) === null || _a === void 0 ? void 0 : _a.isLeftParenthesis())) {
1016
1059
  const identifier = this.token.value || "";
1017
1060
  if (identifier.startsWith("$")) {
@@ -1493,12 +1536,20 @@ class Parser extends base_parser_1.default {
1493
1536
  return asyncFunc;
1494
1537
  }
1495
1538
  parsePredicateFunction() {
1496
- if (!this.ahead([
1539
+ var _a;
1540
+ // Check for identifier(variable IN ...) or keyword(variable IN ...)
1541
+ // The keyword variant handles functions like all() where ALL is a keyword
1542
+ const identifierPattern = this.ahead([
1497
1543
  token_1.default.IDENTIFIER(""),
1498
1544
  token_1.default.LEFT_PARENTHESIS,
1499
1545
  token_1.default.IDENTIFIER(""),
1500
1546
  token_1.default.IN,
1501
- ])) {
1547
+ ]);
1548
+ const keywordPattern = !identifierPattern &&
1549
+ this.token.isKeyword() &&
1550
+ ((_a = this.peek()) === null || _a === void 0 ? void 0 : _a.isLeftParenthesis()) &&
1551
+ function_factory_1.default.hasPredicate(this.token.value || "");
1552
+ if (!identifierPattern && !keywordPattern) {
1502
1553
  return null;
1503
1554
  }
1504
1555
  if (this.token.value === null) {
@@ -1538,15 +1589,17 @@ class Parser extends base_parser_1.default {
1538
1589
  }
1539
1590
  func.addChild(expression);
1540
1591
  this.skipWhitespaceAndComments();
1541
- if (!this.token.isPipe()) {
1542
- throw new Error("Expected pipe");
1592
+ if (this.token.isPipe()) {
1593
+ this.setNextToken();
1594
+ const _return = this.parseExpression();
1595
+ if (_return === null) {
1596
+ throw new Error("Expected expression");
1597
+ }
1598
+ func.addChild(_return);
1543
1599
  }
1544
- this.setNextToken();
1545
- const _return = this.parseExpression();
1546
- if (_return === null) {
1547
- throw new Error("Expected expression");
1600
+ else {
1601
+ func.hasReturnExpression = false;
1548
1602
  }
1549
- func.addChild(_return);
1550
1603
  const where = this.parseWhere();
1551
1604
  if (where !== null) {
1552
1605
  func.addChild(where);
@@ -1783,6 +1836,54 @@ class Parser extends base_parser_1.default {
1783
1836
  throw new Error("Expected whitespace or comment");
1784
1837
  }
1785
1838
  }
1839
+ looksLikeSubqueryExpression() {
1840
+ const val = (this.token.value || "").toUpperCase();
1841
+ if (val !== "EXISTS" && val !== "COUNT" && val !== "COLLECT") {
1842
+ return false;
1843
+ }
1844
+ if (!this.token.isKeyword() && !this.token.isIdentifier()) {
1845
+ return false;
1846
+ }
1847
+ // Check if { follows (skipping whitespace)
1848
+ const savedIndex = this.tokenIndex;
1849
+ this.setNextToken();
1850
+ this.skipWhitespaceAndComments();
1851
+ const isBrace = this.token.isOpeningBrace();
1852
+ this.tokenIndex = savedIndex;
1853
+ return isBrace;
1854
+ }
1855
+ parseSubqueryExpression() {
1856
+ const keyword = (this.token.value || "").toUpperCase();
1857
+ let mode;
1858
+ switch (keyword) {
1859
+ case "EXISTS":
1860
+ mode = subquery_expression_1.SubqueryMode.EXISTS;
1861
+ break;
1862
+ case "COUNT":
1863
+ mode = subquery_expression_1.SubqueryMode.COUNT;
1864
+ break;
1865
+ case "COLLECT":
1866
+ mode = subquery_expression_1.SubqueryMode.COLLECT;
1867
+ break;
1868
+ default:
1869
+ return null;
1870
+ }
1871
+ this.setNextToken(); // consume EXISTS/COUNT/COLLECT keyword
1872
+ this.skipWhitespaceAndComments();
1873
+ // Save and restore parser state for the subquery scope
1874
+ const outerState = this._state;
1875
+ this._state = new parser_state_1.default();
1876
+ // Inherit outer variables so inner query can reference them
1877
+ for (const [k, v] of outerState.variables) {
1878
+ this._state.variables.set(k, v);
1879
+ }
1880
+ const subqueryAST = this.parseSubQuery();
1881
+ this._state = outerState;
1882
+ if (subqueryAST === null) {
1883
+ throw new Error(`Expected opening brace after ${keyword}`);
1884
+ }
1885
+ return new subquery_expression_1.default(mode, subqueryAST);
1886
+ }
1786
1887
  }
1787
1888
  exports.default = Parser;
1788
1889
  //# sourceMappingURL=parser.js.map