flowquery 1.0.11 → 1.0.13

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 (59) hide show
  1. package/README.md +142 -38
  2. package/dist/flowquery.min.js +1 -1
  3. package/dist/parsing/functions/aggregate_function.d.ts +1 -1
  4. package/dist/parsing/functions/aggregate_function.d.ts.map +1 -1
  5. package/dist/parsing/functions/aggregate_function.js.map +1 -1
  6. package/dist/parsing/functions/async_function.d.ts +4 -15
  7. package/dist/parsing/functions/async_function.d.ts.map +1 -1
  8. package/dist/parsing/functions/async_function.js +6 -59
  9. package/dist/parsing/functions/async_function.js.map +1 -1
  10. package/dist/parsing/functions/function.d.ts +1 -1
  11. package/dist/parsing/functions/function.d.ts.map +1 -1
  12. package/dist/parsing/functions/function.js +1 -1
  13. package/dist/parsing/functions/function.js.map +1 -1
  14. package/dist/parsing/functions/function_factory.d.ts +2 -0
  15. package/dist/parsing/functions/function_factory.d.ts.map +1 -1
  16. package/dist/parsing/functions/function_factory.js +12 -11
  17. package/dist/parsing/functions/function_factory.js.map +1 -1
  18. package/dist/parsing/functions/function_metadata.d.ts +53 -24
  19. package/dist/parsing/functions/function_metadata.d.ts.map +1 -1
  20. package/dist/parsing/functions/function_metadata.js +57 -53
  21. package/dist/parsing/functions/function_metadata.js.map +1 -1
  22. package/dist/parsing/functions/predicate_function.d.ts +1 -1
  23. package/dist/parsing/functions/predicate_function.d.ts.map +1 -1
  24. package/dist/parsing/functions/predicate_function.js +1 -1
  25. package/dist/parsing/functions/predicate_function.js.map +1 -1
  26. package/dist/parsing/operations/load.js +1 -1
  27. package/dist/parsing/operations/load.js.map +1 -1
  28. package/dist/parsing/parser.d.ts.map +1 -1
  29. package/dist/parsing/parser.js +1 -2
  30. package/dist/parsing/parser.js.map +1 -1
  31. package/docs/flowquery.min.js +1 -1
  32. package/flowquery-vscode/flowQueryEngine/flowquery.min.js +1 -1
  33. package/misc/apps/RAG/README.md +0 -12
  34. package/misc/apps/RAG/package.json +1 -2
  35. package/misc/apps/RAG/src/components/ChatContainer.tsx +33 -6
  36. package/misc/apps/RAG/src/components/ChatMessage.css +24 -0
  37. package/misc/apps/RAG/src/components/ChatMessage.tsx +51 -2
  38. package/misc/apps/RAG/src/components/FlowQueryAgent.ts +566 -286
  39. package/misc/apps/RAG/src/plugins/index.ts +3 -1
  40. package/misc/apps/RAG/src/plugins/loaders/CatFacts.ts +6 -5
  41. package/misc/apps/RAG/src/plugins/loaders/FetchJson.ts +3 -3
  42. package/misc/apps/RAG/src/plugins/loaders/Form.ts +5 -5
  43. package/misc/apps/RAG/src/plugins/loaders/Llm.ts +14 -14
  44. package/misc/apps/RAG/src/plugins/loaders/MockData.ts +5 -5
  45. package/misc/apps/RAG/src/plugins/loaders/Table.ts +4 -4
  46. package/misc/apps/RAG/src/plugins/loaders/Weather.ts +126 -0
  47. package/misc/apps/RAG/src/prompts/FlowQuerySystemPrompt.ts +4 -0
  48. package/package.json +1 -1
  49. package/src/parsing/functions/aggregate_function.ts +1 -1
  50. package/src/parsing/functions/async_function.ts +5 -50
  51. package/src/parsing/functions/function.ts +2 -2
  52. package/src/parsing/functions/function_factory.ts +18 -9
  53. package/src/parsing/functions/function_metadata.ts +57 -56
  54. package/src/parsing/functions/predicate_function.ts +2 -2
  55. package/src/parsing/operations/load.ts +1 -1
  56. package/src/parsing/parser.ts +2 -1
  57. package/tests/extensibility.test.ts +50 -12
  58. package/tests/parsing/parser.test.ts +2 -2
  59. package/misc/apps/RAG/.env.example +0 -14
@@ -1,17 +1,5 @@
1
1
  "use strict";
2
- var __asyncValues = (this && this.__asyncValues) || function (o) {
3
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
4
- var m = o[Symbol.asyncIterator], i;
5
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
6
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
7
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
8
- };
9
2
  var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
10
- var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
11
- var i, p;
12
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
13
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
14
- };
15
3
  var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
16
4
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
17
5
  var g = generator.apply(thisArg, _arguments || []), i, q = [];
@@ -28,8 +16,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
16
  return (mod && mod.__esModule) ? mod : { "default": mod };
29
17
  };
30
18
  Object.defineProperty(exports, "__esModule", { value: true });
31
- const ast_node_1 = __importDefault(require("../ast_node"));
32
- const function_factory_1 = __importDefault(require("./function_factory"));
19
+ const function_1 = __importDefault(require("./function"));
33
20
  /**
34
21
  * Represents an async data provider function call for use in LOAD operations.
35
22
  *
@@ -46,22 +33,7 @@ const function_factory_1 = __importDefault(require("./function_factory"));
46
33
  * }
47
34
  * ```
48
35
  */
49
- class AsyncFunction extends ast_node_1.default {
50
- /**
51
- * Creates a new AsyncFunction with the given name.
52
- *
53
- * @param name - The function name (must be registered as an async provider)
54
- */
55
- constructor(name) {
56
- super();
57
- this._name = name;
58
- }
59
- /**
60
- * Gets the function name.
61
- */
62
- get name() {
63
- return this._name;
64
- }
36
+ class AsyncFunction extends function_1.default {
65
37
  /**
66
38
  * Sets the function parameters.
67
39
  *
@@ -79,41 +51,16 @@ class AsyncFunction extends ast_node_1.default {
79
51
  return this.children.map(child => child.value());
80
52
  }
81
53
  /**
82
- * Executes the async data provider function and yields results.
54
+ * Generates the async data provider function results.
83
55
  *
84
56
  * @yields Data items from the async provider
85
57
  * @throws {Error} If the function is not registered as an async provider
86
58
  */
87
- execute() {
88
- return __asyncGenerator(this, arguments, function* execute_1() {
89
- const provider = function_factory_1.default.getAsyncProvider(this._name);
90
- if (!provider) {
91
- throw new Error(`Async data provider '${this._name}' is not registered`);
92
- }
93
- const args = this.getArguments();
94
- const result = provider(...args);
95
- // Check if result is an async generator or a promise
96
- if (result && typeof result.next === 'function') {
97
- // It's an async generator
98
- yield __await(yield* __asyncDelegator(__asyncValues(result)));
99
- }
100
- else {
101
- // It's a promise - await and yield the result
102
- const data = yield __await(result);
103
- if (Array.isArray(data)) {
104
- for (const item of data) {
105
- yield yield __await(item);
106
- }
107
- }
108
- else {
109
- yield yield __await(data);
110
- }
111
- }
59
+ generate() {
60
+ return __asyncGenerator(this, arguments, function* generate_1() {
61
+ throw new Error("Not implemented: generate method must be overridden in subclasses.");
112
62
  });
113
63
  }
114
- toString() {
115
- return `AsyncFunction (${this._name})`;
116
- }
117
64
  }
118
65
  exports.default = AsyncFunction;
119
66
  //# sourceMappingURL=async_function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"async_function.js","sourceRoot":"","sources":["../../../src/parsing/functions/async_function.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAAkC;AAClC,0EAAiD;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,aAAc,SAAQ,kBAAO;IAG/B;;;;OAIG;IACH,YAAY,IAAY;QACpB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,IAAW,UAAU,CAAC,KAAgB;QAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACK,YAAY;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACW,OAAO;;YACjB,MAAM,QAAQ,GAAG,0BAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,KAAK,qBAAqB,CAAC,CAAC;YAC7E,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YAEjC,qDAAqD;YACrD,IAAI,MAAM,IAAI,OAAQ,MAAyB,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAClE,0BAA0B;gBAC1B,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,MAA4C,CAAA,CAAA,CAAA,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACJ,8CAA8C;gBAC9C,MAAM,IAAI,GAAG,cAAM,MAAM,CAAA,CAAC;gBAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;wBACtB,oBAAM,IAAI,CAAA,CAAC;oBACf,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,oBAAM,IAAI,CAAA,CAAC;gBACf,CAAC;YACL,CAAC;QACL,CAAC;KAAA;IAEM,QAAQ;QACX,OAAO,kBAAkB,IAAI,CAAC,KAAK,GAAG,CAAC;IAC3C,CAAC;CACJ;AAED,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"async_function.js","sourceRoot":"","sources":["../../../src/parsing/functions/async_function.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,0DAAkC;AAElC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,aAAc,SAAQ,kBAAQ;IAChC;;;;OAIG;IACH,IAAW,UAAU,CAAC,KAAgB;QAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACK,YAAY;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACW,QAAQ;;YAClB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAC1F,CAAC;KAAA;CACJ;AAED,kBAAe,aAAa,CAAC"}
@@ -20,7 +20,7 @@ declare class Function extends ASTNode {
20
20
  *
21
21
  * @param name - The function name
22
22
  */
23
- constructor(name: string);
23
+ constructor(name?: string);
24
24
  /**
25
25
  * Sets the function parameters.
26
26
  *
@@ -1 +1 @@
1
- {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/function.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,cAAM,QAAS,SAAQ,OAAO;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACxD,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAS;IAE9C;;;;OAIG;gBACS,IAAI,EAAE,MAAM;IAKxB;;;;;OAKG;IACH,IAAW,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,EAKrC;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,QAAQ,IAAI,MAAM;IAIzB,IAAW,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAMpC;CACJ;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/function.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,cAAM,QAAS,SAAQ,OAAO;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACxD,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAS;IAE9C;;;;OAIG;gBACS,IAAI,CAAC,EAAE,MAAM;IAKzB;;;;;OAKG;IACH,IAAW,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,EAKrC;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,QAAQ,IAAI,MAAM;IAIzB,IAAW,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAMpC;CACJ;AAED,eAAe,QAAQ,CAAC"}
@@ -26,7 +26,7 @@ class Function extends ast_node_1.default {
26
26
  super();
27
27
  this._expectedParameterCount = null;
28
28
  this._supports_distinct = false;
29
- this._name = name;
29
+ this._name = name || this.constructor.name;
30
30
  }
31
31
  /**
32
32
  * Sets the function parameters.
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/parsing/functions/function.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC;;;;;;;;;;;GAWG;AACH,MAAM,QAAS,SAAQ,kBAAO;IAK1B;;;;OAIG;IACH,YAAY,IAAY;QACpB,KAAK,EAAE,CAAC;QATF,4BAAuB,GAAkB,IAAI,CAAC;QAC9C,uBAAkB,GAAY,KAAK,CAAC;QAS1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,IAAW,UAAU,CAAC,KAAgB;QAClC,IAAI,IAAI,CAAC,uBAAuB,KAAK,IAAI,IAAI,IAAI,CAAC,uBAAuB,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YACzF,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,uBAAuB,wBAAwB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3H,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAEM,QAAQ;QACX,OAAO,aAAa,IAAI,CAAC,KAAK,GAAG,CAAC;IACtC,CAAC;IAED,IAAW,QAAQ,CAAC,QAAiB;QACjC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACvC,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,4BAA4B,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;CACJ;AAED,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/parsing/functions/function.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC;;;;;;;;;;;GAWG;AACH,MAAM,QAAS,SAAQ,kBAAO;IAK1B;;;;OAIG;IACH,YAAY,IAAa;QACrB,KAAK,EAAE,CAAC;QATF,4BAAuB,GAAkB,IAAI,CAAC;QAC9C,uBAAkB,GAAY,KAAK,CAAC;QAS1C,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,IAAW,UAAU,CAAC,KAAgB;QAClC,IAAI,IAAI,CAAC,uBAAuB,KAAK,IAAI,IAAI,IAAI,CAAC,uBAAuB,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YACzF,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,uBAAuB,wBAAwB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3H,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAEM,QAAQ;QACX,OAAO,aAAa,IAAI,CAAC,KAAK,GAAG,CAAC;IACtC,CAAC;IAED,IAAW,QAAQ,CAAC,QAAiB;QACjC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACvC,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,4BAA4B,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;CACJ;AAED,kBAAe,QAAQ,CAAC"}
@@ -17,6 +17,7 @@ import "./functions";
17
17
  import "./predicate_sum";
18
18
  import "./type";
19
19
  import { FunctionMetadata, AsyncDataProvider } from "./function_metadata";
20
+ import AsyncFunction from "./async_function";
20
21
  export { AsyncDataProvider };
21
22
  /**
22
23
  * Factory for creating function instances by name.
@@ -94,6 +95,7 @@ declare class FunctionFactory {
94
95
  * @returns A PredicateFunction instance of the appropriate type
95
96
  */
96
97
  static createPredicate(name: string): PredicateFunction;
98
+ static createAsync(name: string): AsyncFunction;
97
99
  }
98
100
  export default FunctionFactory;
99
101
  //# sourceMappingURL=function_factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"function_factory.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AAErD,OAAO,OAAO,CAAC;AACf,OAAO,WAAW,CAAC;AACnB,OAAO,OAAO,CAAC;AACf,OAAO,SAAS,CAAC;AACjB,OAAO,QAAQ,CAAC;AAChB,OAAO,SAAS,CAAC;AACjB,OAAO,SAAS,CAAC;AACjB,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAChB,OAAO,WAAW,CAAC;AACnB,OAAO,WAAW,CAAC;AACnB,OAAO,aAAa,CAAC;AACrB,OAAO,QAAQ,CAAC;AAChB,OAAO,aAAa,CAAC;AACrB,OAAO,iBAAiB,CAAC;AACzB,OAAO,QAAQ,CAAC;AAChB,OAAO,EACH,gBAAgB,EAKhB,iBAAiB,EACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;;;;;;;;;GAYG;AACH,cAAM,eAAe;IACjB;;;;;OAKG;WACW,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI3E;;;;;OAKG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpD;;;;;OAKG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIrE;;;;;OAKG;WACW,aAAa,CAAC,OAAO,CAAC,EAAE;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACtB,GAAG,gBAAgB,EAAE;IAatB;;;;OAIG;WACW,iBAAiB,IAAI,MAAM,EAAE;IAI3C;;;;OAIG;WACW,MAAM,IAAI;QAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE;IAM/E;;;;;OAKG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAa5C;;;;;;OAMG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;CAYjE;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"function_factory.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AAErD,OAAO,OAAO,CAAC;AACf,OAAO,WAAW,CAAC;AACnB,OAAO,OAAO,CAAC;AACf,OAAO,SAAS,CAAC;AACjB,OAAO,QAAQ,CAAC;AAChB,OAAO,SAAS,CAAC;AACjB,OAAO,SAAS,CAAC;AACjB,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAChB,OAAO,WAAW,CAAC;AACnB,OAAO,WAAW,CAAC;AACnB,OAAO,aAAa,CAAC;AACrB,OAAO,QAAQ,CAAC;AAChB,OAAO,aAAa,CAAC;AACrB,OAAO,iBAAiB,CAAC;AACzB,OAAO,QAAQ,CAAC;AAChB,OAAO,EACH,gBAAgB,EAIhB,iBAAiB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAI7C,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;;;;;;;;;GAYG;AACH,cAAM,eAAe;IACjB;;;;;OAKG;WACW,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI3E;;;;;OAKG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpD;;;;;OAKG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIrE;;;;;OAKG;WACW,aAAa,CAAC,OAAO,CAAC,EAAE;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACtB,GAAG,gBAAgB,EAAE;IAatB;;;;OAIG;WACW,iBAAiB,IAAI,MAAM,EAAE;IAI3C;;;;OAIG;WACW,MAAM,IAAI;QAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE;IAM/E;;;;;OAKG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAY5C;;;;;;OAMG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;WAYhD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;CASzD;AAED,eAAe,eAAe,CAAC"}
@@ -1,10 +1,5 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const function_1 = __importDefault(require("./function"));
7
- const predicate_function_1 = __importDefault(require("./predicate_function"));
8
3
  // Import built-in functions to ensure their @FunctionDef decorators run
9
4
  require("./sum");
10
5
  require("./collect");
@@ -44,7 +39,7 @@ class FunctionFactory {
44
39
  * @returns The async data provider, or undefined if not found
45
40
  */
46
41
  static getAsyncProvider(name) {
47
- return (0, function_metadata_1.getRegisteredAsyncProvider)(name.toLowerCase());
42
+ return (0, function_metadata_1.getRegisteredFunctionFactory)(name.toLowerCase());
48
43
  }
49
44
  /**
50
45
  * Checks if a function name is registered as an async data provider.
@@ -53,7 +48,7 @@ class FunctionFactory {
53
48
  * @returns True if the function is an async data provider
54
49
  */
55
50
  static isAsyncProvider(name) {
56
- return (0, function_metadata_1.getRegisteredAsyncProvider)(name.toLowerCase()) !== undefined;
51
+ return (0, function_metadata_1.getRegisteredFunctionFactory)(name.toLowerCase(), "async") !== undefined;
57
52
  }
58
53
  /**
59
54
  * Gets metadata for a specific function.
@@ -114,8 +109,7 @@ class FunctionFactory {
114
109
  if (decoratorFactory) {
115
110
  return decoratorFactory();
116
111
  }
117
- // Unknown function - return generic Function instance
118
- return new function_1.default(name);
112
+ throw new Error(`Unknown function: ${name}`);
119
113
  }
120
114
  /**
121
115
  * Creates a predicate function instance by name.
@@ -131,8 +125,15 @@ class FunctionFactory {
131
125
  if (decoratorFactory) {
132
126
  return decoratorFactory();
133
127
  }
134
- // Unknown predicate function - return generic PredicateFunction instance
135
- return new predicate_function_1.default(name);
128
+ throw new Error(`Unknown predicate function: ${name}`);
129
+ }
130
+ static createAsync(name) {
131
+ const lowerName = name.toLowerCase();
132
+ const decoratorFactory = (0, function_metadata_1.getRegisteredFunctionFactory)(lowerName, 'async');
133
+ if (decoratorFactory) {
134
+ return decoratorFactory();
135
+ }
136
+ throw new Error(`Unknown async function: ${name}`);
136
137
  }
137
138
  }
138
139
  exports.default = FunctionFactory;
@@ -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":";;AAEA,wEAAwE;AACxE,iBAAe;AACf,qBAAmB;AACnB,iBAAe;AACf,mBAAiB;AACjB,kBAAgB;AAChB,mBAAiB;AACjB,mBAAiB;AACjB,kBAAgB;AAChB,kBAAgB;AAChB,qBAAmB;AACnB,qBAAmB;AACnB,uBAAqB;AACrB,kBAAgB;AAChB,uBAAqB;AACrB,2BAAyB;AACzB,kBAAgB;AAChB,2DAM6B;AAO7B;;;;;;;;;;;;GAYG;AACH,MAAM,eAAe;IACjB;;;;;OAKG;IACI,MAAM,CAAC,gBAAgB,CAAC,IAAY;QACvC,OAAO,IAAA,gDAA4B,EAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,eAAe,CAAC,IAAY;QACtC,OAAO,IAAA,gDAA4B,EAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC;IACnF,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,WAAW,CAAC,IAAY;QAClC,OAAO,IAAA,uCAAmB,EAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,aAAa,CAAC,OAI3B;QACG,MAAM,MAAM,GAAuB,EAAE,CAAC;QAEtC,KAAK,MAAM,IAAI,IAAI,IAAA,iDAA6B,GAAE,EAAE,CAAC;YACjD,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;gBAAE,SAAS;YACtE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;gBAAE,SAAS;YAC9D,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;gBAAE,SAAS;YAC7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,iBAAiB;QAC3B,OAAO,IAAA,iDAA6B,GAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAM;QAChB,MAAM,SAAS,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAa,CAAC;QAC5F,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,MAAM,CAAC,IAAY;QAC7B,MAAM,SAAS,GAAW,IAAI,CAAC,WAAW,EAAE,CAAC;QAE7C,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,IAAA,gDAA4B,EAAC,SAAS,CAAC,CAAC;QACjE,IAAI,gBAAgB,EAAE,CAAC;YACnB,OAAO,gBAAgB,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,eAAe,CAAC,IAAY;QACtC,MAAM,SAAS,GAAW,IAAI,CAAC,WAAW,EAAE,CAAC;QAE7C,iDAAiD;QACjD,MAAM,gBAAgB,GAAG,IAAA,gDAA4B,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAI,gBAAgB,EAAE,CAAC;YACnB,OAAO,gBAAgB,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,IAAY;QAClC,MAAM,SAAS,GAAW,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,gBAAgB,GAAG,IAAA,gDAA4B,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,gBAAgB,EAAE,CAAC;YACnB,OAAO,gBAAgB,EAAmB,CAAC;QAC/C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;CAEJ;AAED,kBAAe,eAAe,CAAC"}
@@ -75,37 +75,70 @@ export type FunctionDefOptions = Omit<FunctionMetadata, 'name'>;
75
75
  * The function name is derived from the class's constructor call to super() for regular functions,
76
76
  * or from the class name for async providers.
77
77
  *
78
- * For async providers (category: "async"), the class must have a `fetch` method that returns
79
- * an AsyncGenerator. The function name is derived from the class name (removing 'Loader' suffix
80
- * if present) and converted to camelCase.
78
+ * For async providers (category: "async"), the class must have a `generate` method that returns
79
+ * an AsyncGenerator. This allows the function to be used as a data source in LOAD operations.
81
80
  *
82
81
  * @param options - Function metadata (excluding name)
83
82
  * @returns Class decorator
84
83
  *
85
84
  * @example
86
85
  * ```typescript
87
- * // Regular function
86
+ * // Scalar function example
88
87
  * @FunctionDef({
89
- * description: "Calculates the sum of numeric values",
90
- * category: "aggregate",
91
- * parameters: [{ name: "value", description: "Numeric value to sum", type: "number" }],
92
- * output: { description: "Sum of all values", type: "number", example: 150 },
93
- * examples: ["WITH [1, 2, 3] AS nums UNWIND nums AS n RETURN sum(n)"]
88
+ * description: "Adds two numbers",
89
+ * category: "scalar",
90
+ * parameters: [
91
+ * { name: "a", description: "First number", type: "number" },
92
+ * { name: "b", description: "Second number", type: "number" }
93
+ * ],
94
+ * output: { description: "Sum of a and b", type: "number" },
95
+ * examples: ["ADD(2, 3) // returns 5"]
94
96
  * })
95
- * class Sum extends AggregateFunction { ... }
96
- *
97
- * // Async data provider
97
+ * class AddFunction extends Function {
98
+ * constructor() {
99
+ * super("add");
100
+ * }
101
+ * public execute(a: number, b: number): number {
102
+ * return a + b;
103
+ * }
104
+ * }
105
+ * // Aggregate function example
106
+ * @FunctionDef({
107
+ * description: "Calculates the average of a list of numbers",
108
+ * category: "aggregate",
109
+ * parameters: [
110
+ * { name: "values", description: "Array of numbers", type: "array", items: { type: "number" } }
111
+ * ],
112
+ * output: { description: "Average value", type: "number" },
113
+ * examples: ["AVERAGE([1, 2, 3, 4, 5]) // returns 3"]
114
+ * })
115
+ * class AverageFunction extends AggregateFunction {
116
+ * constructor() {
117
+ * super("average");
118
+ * }
119
+ * public execute(values: number[]): number {
120
+ * const sum = values.reduce((acc, val) => acc + val, 0);
121
+ * return sum / values.length;
122
+ * }
123
+ * }
124
+ * // Async data provider example
98
125
  * @FunctionDef({
99
- * description: "Fetches random cat facts from the Cat Facts API",
100
- * category: "async",
101
- * parameters: [{ name: "count", description: "Number of facts", type: "number", required: false, default: 1 }],
102
- * output: { description: "Cat fact object", type: "object" },
103
- * examples: ["LOAD JSON FROM catFacts(5) AS fact RETURN fact.text"]
126
+ * description: "Fetches data from an external API",
127
+ * category: "async",
128
+ * parameters: [
129
+ * { name: "endpoint", description: "API endpoint URL", type: "string" }
130
+ * ],
131
+ * output: { description: "Data object", type: "object" },
132
+ * examples: ["MyAsyncDataProvider('https://api.example.com/data')"]
104
133
  * })
105
- * class CatFactsLoader {
106
- * async *fetch(count: number = 1): AsyncGenerator<any> { ... }
134
+ * class MyAsyncDataProvider extends AsyncFunction {
135
+ * public async *generate(endpoint: string): AsyncGenerator<any> {
136
+ * const response = await fetch(endpoint);
137
+ * const data = await response.json();
138
+ * for (const item of data) {
139
+ * yield item;
140
+ * }
107
141
  * }
108
- * ```
109
142
  */
110
143
  export declare function FunctionDef(options: FunctionDefOptions): <T extends new (...args: any[]) => any>(constructor: T) => T;
111
144
  /**
@@ -120,8 +153,4 @@ export declare function getRegisteredFunctionFactory(name: string, category?: st
120
153
  * Gets metadata for a specific function by name.
121
154
  */
122
155
  export declare function getFunctionMetadata(name: string, category?: string): FunctionMetadata | undefined;
123
- /**
124
- * Gets a registered async data provider by name.
125
- */
126
- export declare function getRegisteredAsyncProvider(name: string): AsyncDataProvider | undefined;
127
156
  //# sourceMappingURL=function_metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"function_metadata.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/function_metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function_metadata.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/function_metadata.ts"],"names":[],"mappings":"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"}
@@ -4,30 +4,16 @@ exports.FunctionDef = FunctionDef;
4
4
  exports.getRegisteredFunctionMetadata = getRegisteredFunctionMetadata;
5
5
  exports.getRegisteredFunctionFactory = getRegisteredFunctionFactory;
6
6
  exports.getFunctionMetadata = getFunctionMetadata;
7
- exports.getRegisteredAsyncProvider = getRegisteredAsyncProvider;
8
7
  /**
9
8
  * Centralized registry for function metadata, factories, and async providers.
10
9
  * Encapsulates all registration logic for the @FunctionDef decorator.
11
10
  */
12
11
  class FunctionRegistry {
13
- /** Derives a camelCase display name from a class name, removing 'Loader' suffix. */
14
- static deriveDisplayName(className) {
15
- const baseName = className.endsWith('Loader') ? className.slice(0, -6) : className;
16
- return baseName.charAt(0).toLowerCase() + baseName.slice(1);
17
- }
18
- /** Registers an async data provider class. */
19
- static registerAsync(constructor, options) {
20
- const displayName = this.deriveDisplayName(constructor.name);
21
- const registryKey = displayName.toLowerCase();
22
- this.metadata.set(registryKey, Object.assign({ name: displayName }, options));
23
- this.asyncProviders.set(registryKey, (...args) => new constructor().fetch(...args));
24
- }
25
12
  /** Registers a regular function class. */
26
- static registerFunction(constructor, options) {
13
+ static register(constructor, options) {
27
14
  var _a;
28
15
  const instance = new constructor();
29
- const baseName = (((_a = instance.name) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || constructor.name.toLowerCase());
30
- const displayName = baseName.includes(':') ? baseName.split(':')[0] : baseName;
16
+ const displayName = (((_a = instance.name) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || constructor.name.toLowerCase());
31
17
  const registryKey = options.category ? `${displayName}:${options.category}` : displayName;
32
18
  this.metadata.set(registryKey, Object.assign({ name: displayName }, options));
33
19
  if (options.category !== 'predicate') {
@@ -43,7 +29,7 @@ class FunctionRegistry {
43
29
  if (category)
44
30
  return this.metadata.get(`${lowerName}:${category}`);
45
31
  for (const meta of this.metadata.values()) {
46
- if (meta.name === lowerName)
32
+ if (meta.name.toLowerCase() === lowerName)
47
33
  return meta;
48
34
  }
49
35
  return undefined;
@@ -54,58 +40,82 @@ class FunctionRegistry {
54
40
  return this.factories.get(`${lowerName}:${category}`);
55
41
  return this.factories.get(lowerName);
56
42
  }
57
- static getAsyncProvider(name) {
58
- return this.asyncProviders.get(name.toLowerCase());
59
- }
60
43
  }
61
44
  FunctionRegistry.metadata = new Map();
62
45
  FunctionRegistry.factories = new Map();
63
- FunctionRegistry.asyncProviders = new Map();
64
46
  /**
65
47
  * Class decorator that registers function metadata.
66
48
  * The function name is derived from the class's constructor call to super() for regular functions,
67
49
  * or from the class name for async providers.
68
50
  *
69
- * For async providers (category: "async"), the class must have a `fetch` method that returns
70
- * an AsyncGenerator. The function name is derived from the class name (removing 'Loader' suffix
71
- * if present) and converted to camelCase.
51
+ * For async providers (category: "async"), the class must have a `generate` method that returns
52
+ * an AsyncGenerator. This allows the function to be used as a data source in LOAD operations.
72
53
  *
73
54
  * @param options - Function metadata (excluding name)
74
55
  * @returns Class decorator
75
56
  *
76
57
  * @example
77
58
  * ```typescript
78
- * // Regular function
59
+ * // Scalar function example
79
60
  * @FunctionDef({
80
- * description: "Calculates the sum of numeric values",
81
- * category: "aggregate",
82
- * parameters: [{ name: "value", description: "Numeric value to sum", type: "number" }],
83
- * output: { description: "Sum of all values", type: "number", example: 150 },
84
- * examples: ["WITH [1, 2, 3] AS nums UNWIND nums AS n RETURN sum(n)"]
61
+ * description: "Adds two numbers",
62
+ * category: "scalar",
63
+ * parameters: [
64
+ * { name: "a", description: "First number", type: "number" },
65
+ * { name: "b", description: "Second number", type: "number" }
66
+ * ],
67
+ * output: { description: "Sum of a and b", type: "number" },
68
+ * examples: ["ADD(2, 3) // returns 5"]
85
69
  * })
86
- * class Sum extends AggregateFunction { ... }
87
- *
88
- * // Async data provider
70
+ * class AddFunction extends Function {
71
+ * constructor() {
72
+ * super("add");
73
+ * }
74
+ * public execute(a: number, b: number): number {
75
+ * return a + b;
76
+ * }
77
+ * }
78
+ * // Aggregate function example
89
79
  * @FunctionDef({
90
- * description: "Fetches random cat facts from the Cat Facts API",
91
- * category: "async",
92
- * parameters: [{ name: "count", description: "Number of facts", type: "number", required: false, default: 1 }],
93
- * output: { description: "Cat fact object", type: "object" },
94
- * examples: ["LOAD JSON FROM catFacts(5) AS fact RETURN fact.text"]
80
+ * description: "Calculates the average of a list of numbers",
81
+ * category: "aggregate",
82
+ * parameters: [
83
+ * { name: "values", description: "Array of numbers", type: "array", items: { type: "number" } }
84
+ * ],
85
+ * output: { description: "Average value", type: "number" },
86
+ * examples: ["AVERAGE([1, 2, 3, 4, 5]) // returns 3"]
95
87
  * })
96
- * class CatFactsLoader {
97
- * async *fetch(count: number = 1): AsyncGenerator<any> { ... }
88
+ * class AverageFunction extends AggregateFunction {
89
+ * constructor() {
90
+ * super("average");
91
+ * }
92
+ * public execute(values: number[]): number {
93
+ * const sum = values.reduce((acc, val) => acc + val, 0);
94
+ * return sum / values.length;
95
+ * }
96
+ * }
97
+ * // Async data provider example
98
+ * @FunctionDef({
99
+ * description: "Fetches data from an external API",
100
+ * category: "async",
101
+ * parameters: [
102
+ * { name: "endpoint", description: "API endpoint URL", type: "string" }
103
+ * ],
104
+ * output: { description: "Data object", type: "object" },
105
+ * examples: ["MyAsyncDataProvider('https://api.example.com/data')"]
106
+ * })
107
+ * class MyAsyncDataProvider extends AsyncFunction {
108
+ * public async *generate(endpoint: string): AsyncGenerator<any> {
109
+ * const response = await fetch(endpoint);
110
+ * const data = await response.json();
111
+ * for (const item of data) {
112
+ * yield item;
113
+ * }
98
114
  * }
99
- * ```
100
115
  */
101
116
  function FunctionDef(options) {
102
117
  return function (constructor) {
103
- if (options.category === 'async') {
104
- FunctionRegistry.registerAsync(constructor, options);
105
- }
106
- else {
107
- FunctionRegistry.registerFunction(constructor, options);
108
- }
118
+ FunctionRegistry.register(constructor, options);
109
119
  return constructor;
110
120
  };
111
121
  }
@@ -127,10 +137,4 @@ function getRegisteredFunctionFactory(name, category) {
127
137
  function getFunctionMetadata(name, category) {
128
138
  return FunctionRegistry.getMetadata(name, category);
129
139
  }
130
- /**
131
- * Gets a registered async data provider by name.
132
- */
133
- function getRegisteredAsyncProvider(name) {
134
- return FunctionRegistry.getAsyncProvider(name);
135
- }
136
140
  //# sourceMappingURL=function_metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"function_metadata.js","sourceRoot":"","sources":["../../../src/parsing/functions/function_metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function_metadata.js","sourceRoot":"","sources":["../../../src/parsing/functions/function_metadata.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import ValueHolder from "./value_holder";
6
6
  declare class PredicateFunction extends ASTNode {
7
7
  private _name;
8
8
  protected _valueHolder: ValueHolder;
9
- constructor(name: string);
9
+ constructor(name?: string);
10
10
  get name(): string;
11
11
  protected get reference(): Reference;
12
12
  protected get array(): ASTNode;
@@ -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;gBAE5C,IAAI,EAAE,MAAM;IAKxB,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,SAAS,KAAK,SAAS,IAAI,SAAS,CAEnC;IAED,SAAS,KAAK,KAAK,IAAI,OAAO,CAE7B;IAED,SAAS,KAAK,OAAO,IAAI,UAAU,CAElC;IAED,SAAS,KAAK,KAAK,IAAI,KAAK,GAAG,IAAI,CAKlC;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;gBAE5C,IAAI,CAAC,EAAE,MAAM;IAKzB,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,SAAS,KAAK,SAAS,IAAI,SAAS,CAEnC;IAED,SAAS,KAAK,KAAK,IAAI,OAAO,CAE7B;IAED,SAAS,KAAK,OAAO,IAAI,UAAU,CAElC;IAED,SAAS,KAAK,KAAK,IAAI,KAAK,GAAG,IAAI,CAKlC;IAEM,KAAK,IAAI,GAAG;IAIZ,QAAQ,IAAI,MAAM;CAG5B;AAED,eAAe,iBAAiB,CAAC"}
@@ -9,7 +9,7 @@ class PredicateFunction extends ast_node_1.default {
9
9
  constructor(name) {
10
10
  super();
11
11
  this._valueHolder = new value_holder_1.default();
12
- this._name = name;
12
+ this._name = name || this.constructor.name;
13
13
  }
14
14
  get name() {
15
15
  return this._name;
@@ -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;IAInC,YAAY,IAAY;QACpB,KAAK,EAAE,CAAC;QAHF,iBAAY,GAAgB,IAAI,sBAAW,EAAE,CAAC;QAIpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,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,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAe,CAAC;IAC/C,CAAC;IAED,IAAc,KAAK;QACf,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAU,CAAC;QAC1C,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;IAInC,YAAY,IAAa;QACrB,KAAK,EAAE,CAAC;QAHF,iBAAY,GAAgB,IAAI,sBAAW,EAAE,CAAC;QAIpD,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,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,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAe,CAAC;IAC/C,CAAC;IAED,IAAc,KAAK;QACf,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAU,CAAC;QAC1C,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"}
@@ -97,7 +97,7 @@ class Load extends operation_1.default {
97
97
  var _d;
98
98
  const asyncFunc = this.asyncFunction;
99
99
  try {
100
- for (var _e = true, _f = __asyncValues(asyncFunc.execute()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
100
+ for (var _e = true, _f = __asyncValues(asyncFunc.generate()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
101
101
  _c = _g.value;
102
102
  _e = false;
103
103
  const item = _c;
@@ -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":"parser.d.ts","sourceRoot":"","sources":["../../src/parsing/parser.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,UAAU,MAAM,eAAe,CAAC;AAsCvC;;;;;;;;;;;;GAYG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,QAAQ,CAAa;IAE7B;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IA6CxC,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,SAAS;IAoEjB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAE,gBAAgB;IA6BzB,OAAO,CAAC,eAAe;IAiFvB,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;IAiCrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,sBAAsB;IA0D9B,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,cAAc;IAyBtB,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":"AAEA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,UAAU,MAAM,eAAe,CAAC;AAsCvC;;;;;;;;;;;;GAYG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,QAAQ,CAAa;IAE7B;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IA6CxC,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,SAAS;IAoEjB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAE,gBAAgB;IA6BzB,OAAO,CAAC,eAAe;IAiFvB,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;IAiCrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,sBAAsB;IA0D9B,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,kCAAkC;IAO1C,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,0CAA0C;CAKrD;AAED,eAAe,MAAM,CAAC"}
@@ -9,7 +9,6 @@ const ast_node_1 = __importDefault(require("./ast_node"));
9
9
  const base_parser_1 = __importDefault(require("./base_parser"));
10
10
  const function_factory_1 = __importDefault(require("./functions/function_factory"));
11
11
  const function_1 = __importDefault(require("./functions/function"));
12
- const async_function_1 = __importDefault(require("./functions/async_function"));
13
12
  const associative_array_1 = __importDefault(require("./data_structures/associative_array"));
14
13
  const json_array_1 = __importDefault(require("./data_structures/json_array"));
15
14
  const key_value_pair_1 = __importDefault(require("./data_structures/key_value_pair"));
@@ -611,7 +610,7 @@ class Parser extends base_parser_1.default {
611
610
  if (!((_a = this.peek()) === null || _a === void 0 ? void 0 : _a.isLeftParenthesis())) {
612
611
  return null;
613
612
  }
614
- const asyncFunc = new async_function_1.default(this.token.value);
613
+ const asyncFunc = function_factory_1.default.createAsync(this.token.value);
615
614
  this.setNextToken(); // skip function name
616
615
  this.setNextToken(); // skip left parenthesis
617
616
  this.skipWhitespaceAndComments();