flowquery 1.0.50 → 1.0.52

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 (56) hide show
  1. package/README.md +640 -75
  2. package/dist/compute/runner.d.ts +40 -5
  3. package/dist/compute/runner.d.ts.map +1 -1
  4. package/dist/compute/runner.js +94 -10
  5. package/dist/compute/runner.js.map +1 -1
  6. package/dist/flowquery.min.js +1 -1
  7. package/dist/graph/database.d.ts +5 -0
  8. package/dist/graph/database.d.ts.map +1 -1
  9. package/dist/graph/database.js +19 -3
  10. package/dist/graph/database.js.map +1 -1
  11. package/dist/graph/physical_node.d.ts +1 -1
  12. package/dist/graph/physical_node.d.ts.map +1 -1
  13. package/dist/graph/physical_node.js +2 -2
  14. package/dist/graph/physical_node.js.map +1 -1
  15. package/dist/graph/physical_relationship.d.ts +1 -1
  16. package/dist/graph/physical_relationship.d.ts.map +1 -1
  17. package/dist/graph/physical_relationship.js +2 -2
  18. package/dist/graph/physical_relationship.js.map +1 -1
  19. package/dist/index.browser.d.ts +2 -0
  20. package/dist/index.browser.d.ts.map +1 -1
  21. package/dist/index.browser.js.map +1 -1
  22. package/dist/index.node.d.ts +2 -1
  23. package/dist/index.node.d.ts.map +1 -1
  24. package/dist/index.node.js.map +1 -1
  25. package/dist/parsing/expressions/parameter_reference.d.ts +39 -0
  26. package/dist/parsing/expressions/parameter_reference.d.ts.map +1 -0
  27. package/dist/parsing/expressions/parameter_reference.js +56 -0
  28. package/dist/parsing/expressions/parameter_reference.js.map +1 -0
  29. package/dist/parsing/operations/match.d.ts +28 -0
  30. package/dist/parsing/operations/match.d.ts.map +1 -1
  31. package/dist/parsing/operations/match.js +100 -0
  32. package/dist/parsing/operations/match.js.map +1 -1
  33. package/dist/parsing/parser.d.ts +15 -0
  34. package/dist/parsing/parser.d.ts.map +1 -1
  35. package/dist/parsing/parser.js +86 -1
  36. package/dist/parsing/parser.js.map +1 -1
  37. package/dist/parsing/parser_state.d.ts +3 -0
  38. package/dist/parsing/parser_state.d.ts.map +1 -1
  39. package/dist/parsing/parser_state.js +7 -0
  40. package/dist/parsing/parser_state.js.map +1 -1
  41. package/dist/tokenization/string_walker.d.ts +1 -0
  42. package/dist/tokenization/string_walker.d.ts.map +1 -1
  43. package/dist/tokenization/string_walker.js +7 -0
  44. package/dist/tokenization/string_walker.js.map +1 -1
  45. package/dist/tokenization/symbol.d.ts +1 -0
  46. package/dist/tokenization/symbol.d.ts.map +1 -1
  47. package/dist/tokenization/symbol.js +1 -0
  48. package/dist/tokenization/symbol.js.map +1 -1
  49. package/dist/tokenization/token.d.ts +2 -0
  50. package/dist/tokenization/token.d.ts.map +1 -1
  51. package/dist/tokenization/token.js +6 -0
  52. package/dist/tokenization/token.js.map +1 -1
  53. package/dist/tokenization/tokenizer.d.ts.map +1 -1
  54. package/dist/tokenization/tokenizer.js +3 -1
  55. package/dist/tokenization/tokenizer.js.map +1 -1
  56. package/package.json +2 -2
@@ -19,6 +19,11 @@ declare class Database {
19
19
  getRelationships(relationship: Relationship): PhysicalRelationship[];
20
20
  schema(): Promise<Record<string, any>[]>;
21
21
  getData(element: Node | Relationship): Promise<NodeData | RelationshipData>;
22
+ /**
23
+ * Extracts property constraint values from a node/relationship's properties map
24
+ * to pass as $args to the inner virtual definition query.
25
+ */
26
+ private extractArgs;
22
27
  }
23
28
  export default Database;
24
29
  //# sourceMappingURL=database.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/graph/database.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,QAAwB,MAAM,aAAa,CAAC;AACnD,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,gBAAwC,MAAM,qBAAqB,CAAC;AAE3E,cAAM,QAAQ;IACV,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAW;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAwC;IAC5D,OAAO,CAAC,MAAM,CAAC,aAAa,CAAgD;WAE9D,WAAW,IAAI,QAAQ;IAM9B,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAQ7C,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAM5B,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,GAAG,IAAI;IAGxC,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAUrE,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAMpD,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,oBAAoB,GAAG,IAAI;IAGxE,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,oBAAoB,EAAE;IAU9D,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAuCxC,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC;CAoC3F;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/graph/database.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,QAAwB,MAAM,aAAa,CAAC;AACnD,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,gBAAwC,MAAM,qBAAqB,CAAC;AAE3E,cAAM,QAAQ;IACV,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAW;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAwC;IAC5D,OAAO,CAAC,MAAM,CAAC,aAAa,CAAgD;WAE9D,WAAW,IAAI,QAAQ;IAM9B,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAQ7C,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAM5B,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,GAAG,IAAI;IAGxC,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAUrE,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAMpD,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,oBAAoB,GAAG,IAAI;IAGxE,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,oBAAoB,EAAE;IAU9D,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAuCxC,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IAuCxF;;;OAGG;IACH,OAAO,CAAC,WAAW;CAUtB;AAED,eAAe,QAAQ,CAAC"}
@@ -127,10 +127,12 @@ class Database {
127
127
  if (node === null) {
128
128
  throw new Error(`Physical node not found for label ${element.label}`);
129
129
  }
130
- const data = yield node.data();
130
+ const args = this.extractArgs(element.properties);
131
+ const data = yield node.data(args);
131
132
  return new node_data_1.default(data);
132
133
  }
133
134
  else if (element instanceof relationship_1.default) {
135
+ const args = this.extractArgs(element.properties);
134
136
  if (element.types.length > 1) {
135
137
  const physicals = this.getRelationships(element);
136
138
  if (physicals.length === 0) {
@@ -138,7 +140,7 @@ class Database {
138
140
  }
139
141
  const allRecords = [];
140
142
  for (let i = 0; i < physicals.length; i++) {
141
- const records = (yield physicals[i].data());
143
+ const records = (yield physicals[i].data(args));
142
144
  const typeName = element.types[i];
143
145
  for (const record of records) {
144
146
  allRecords.push(Object.assign(Object.assign({}, record), { _type: typeName }));
@@ -150,7 +152,7 @@ class Database {
150
152
  if (relationship === null) {
151
153
  throw new Error(`Physical relationship not found for type ${element.type}`);
152
154
  }
153
- const data = yield relationship.data();
155
+ const data = yield relationship.data(args);
154
156
  return new relationship_data_1.default(data);
155
157
  }
156
158
  else {
@@ -158,6 +160,20 @@ class Database {
158
160
  }
159
161
  });
160
162
  }
163
+ /**
164
+ * Extracts property constraint values from a node/relationship's properties map
165
+ * to pass as $args to the inner virtual definition query.
166
+ */
167
+ extractArgs(properties) {
168
+ if (properties.size === 0) {
169
+ return null;
170
+ }
171
+ const args = {};
172
+ for (const [key, expression] of properties) {
173
+ args[key] = expression.value();
174
+ }
175
+ return args;
176
+ }
161
177
  }
162
178
  Database.nodes = new Map();
163
179
  Database.relationships = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/graph/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/graph/database.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ declare class PhysicalNode extends Node {
4
4
  private _statement;
5
5
  set statement(statement: ASTNode | null);
6
6
  get statement(): ASTNode | null;
7
- data(): Promise<Record<string, any>[]>;
7
+ data(args?: Record<string, any> | null): Promise<Record<string, any>[]>;
8
8
  }
9
9
  export default PhysicalNode;
10
10
  //# sourceMappingURL=physical_node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"physical_node.d.ts","sourceRoot":"","sources":["../../src/graph/physical_node.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,cAAM,YAAa,SAAQ,IAAI;IAC3B,OAAO,CAAC,UAAU,CAAwB;IAC1C,IAAW,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,EAE7C;IACD,IAAW,SAAS,IAAI,OAAO,GAAG,IAAI,CAErC;IACY,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;CAQtD;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"physical_node.d.ts","sourceRoot":"","sources":["../../src/graph/physical_node.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,cAAM,YAAa,SAAQ,IAAI;IAC3B,OAAO,CAAC,UAAU,CAAwB;IAC1C,IAAW,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,EAE7C;IACD,IAAW,SAAS,IAAI,OAAO,GAAG,IAAI,CAErC;IACY,IAAI,CAAC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;CAQ7F;AAED,eAAe,YAAY,CAAC"}
@@ -26,11 +26,11 @@ class PhysicalNode extends node_1.default {
26
26
  return this._statement;
27
27
  }
28
28
  data() {
29
- return __awaiter(this, void 0, void 0, function* () {
29
+ return __awaiter(this, arguments, void 0, function* (args = null) {
30
30
  if (this._statement === null) {
31
31
  throw new Error("Statement is null");
32
32
  }
33
- const runner = new runner_1.default(null, this._statement);
33
+ const runner = new runner_1.default(null, this._statement, args);
34
34
  yield runner.run();
35
35
  return runner.results;
36
36
  });
@@ -1 +1 @@
1
- {"version":3,"file":"physical_node.js","sourceRoot":"","sources":["../../src/graph/physical_node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAuC;AAEvC,kDAA0B;AAE1B,MAAM,YAAa,SAAQ,cAAI;IAA/B;;QACY,eAAU,GAAmB,IAAI,CAAC;IAe9C,CAAC;IAdG,IAAW,SAAS,CAAC,SAAyB;QAC1C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IACD,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IACY,IAAI;;YACb,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC;KAAA;CACJ;AAED,kBAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"physical_node.js","sourceRoot":"","sources":["../../src/graph/physical_node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAuC;AAEvC,kDAA0B;AAE1B,MAAM,YAAa,SAAQ,cAAI;IAA/B;;QACY,eAAU,GAAmB,IAAI,CAAC;IAe9C,CAAC;IAdG,IAAW,SAAS,CAAC,SAAyB;QAC1C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IACD,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IACY,IAAI;6DAAC,OAAmC,IAAI;YACrD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACvD,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC;KAAA;CACJ;AAED,kBAAe,YAAY,CAAC"}
@@ -4,7 +4,7 @@ declare class PhysicalRelationship extends Relationship {
4
4
  private _statement;
5
5
  set statement(statement: ASTNode | null);
6
6
  get statement(): ASTNode | null;
7
- data(): Promise<Record<string, any>[]>;
7
+ data(args?: Record<string, any> | null): Promise<Record<string, any>[]>;
8
8
  }
9
9
  export default PhysicalRelationship;
10
10
  //# sourceMappingURL=physical_relationship.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"physical_relationship.d.ts","sourceRoot":"","sources":["../../src/graph/physical_relationship.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,cAAM,oBAAqB,SAAQ,YAAY;IAC3C,OAAO,CAAC,UAAU,CAAwB;IAC1C,IAAW,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,EAE7C;IACD,IAAW,SAAS,IAAI,OAAO,GAAG,IAAI,CAErC;IACY,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;CAQtD;AAED,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"physical_relationship.d.ts","sourceRoot":"","sources":["../../src/graph/physical_relationship.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,cAAM,oBAAqB,SAAQ,YAAY;IAC3C,OAAO,CAAC,UAAU,CAAwB;IAC1C,IAAW,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,EAE7C;IACD,IAAW,SAAS,IAAI,OAAO,GAAG,IAAI,CAErC;IACY,IAAI,CAAC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;CAQ7F;AAED,eAAe,oBAAoB,CAAC"}
@@ -26,11 +26,11 @@ class PhysicalRelationship extends relationship_1.default {
26
26
  return this._statement;
27
27
  }
28
28
  data() {
29
- return __awaiter(this, void 0, void 0, function* () {
29
+ return __awaiter(this, arguments, void 0, function* (args = null) {
30
30
  if (this._statement === null) {
31
31
  throw new Error("Statement is null");
32
32
  }
33
- const runner = new runner_1.default(null, this._statement);
33
+ const runner = new runner_1.default(null, this._statement, args);
34
34
  yield runner.run();
35
35
  return runner.results;
36
36
  });
@@ -1 +1 @@
1
- {"version":3,"file":"physical_relationship.js","sourceRoot":"","sources":["../../src/graph/physical_relationship.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAuC;AAEvC,kEAA0C;AAE1C,MAAM,oBAAqB,SAAQ,sBAAY;IAA/C;;QACY,eAAU,GAAmB,IAAI,CAAC;IAe9C,CAAC;IAdG,IAAW,SAAS,CAAC,SAAyB;QAC1C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IACD,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IACY,IAAI;;YACb,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC;KAAA;CACJ;AAED,kBAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"physical_relationship.js","sourceRoot":"","sources":["../../src/graph/physical_relationship.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAuC;AAEvC,kEAA0C;AAE1C,MAAM,oBAAqB,SAAQ,sBAAY;IAA/C;;QACY,eAAU,GAAmB,IAAI,CAAC;IAe9C,CAAC;IAdG,IAAW,SAAS,CAAC,SAAyB;QAC1C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IACD,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IACY,IAAI;6DAAC,OAAmC,IAAI;YACrD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACvD,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC;KAAA;CACJ;AAED,kBAAe,oBAAoB,CAAC"}
@@ -6,5 +6,7 @@
6
6
  * @packageDocumentation
7
7
  */
8
8
  import { default as FlowQuery } from "./compute/flowquery";
9
+ import { RunnerMetadata } from "./compute/runner";
9
10
  export default FlowQuery;
11
+ export { RunnerMetadata };
10
12
  //# sourceMappingURL=index.browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAsC3D,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAsClD,eAAe,SAAS,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;GAMG;AACH,oEAA2D;AAC3D,4EAAoD;AACpD,4FAAmE;AAOnE;;;;;GAKG;AACH,mBAAS,CAAC,aAAa,GAAG,UAAU,OAInC;IACG,OAAO,0BAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,mBAAS,CAAC,mBAAmB,GAAG,UAAU,IAAY;IAClD,OAAO,0BAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF;;GAEG;AACH,mBAAS,CAAC,QAAQ,GAAG,kBAAQ,CAAC;AAE9B,kBAAe,mBAAS,CAAC"}
1
+ {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;GAMG;AACH,oEAA2D;AAE3D,4EAAoD;AACpD,4FAAmE;AAOnE;;;;;GAKG;AACH,mBAAS,CAAC,aAAa,GAAG,UAAU,OAInC;IACG,OAAO,0BAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,mBAAS,CAAC,mBAAmB,GAAG,UAAU,IAAY;IAClD,OAAO,0BAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF;;GAEG;AACH,mBAAS,CAAC,QAAQ,GAAG,kBAAQ,CAAC;AAE9B,kBAAe,mBAAS,CAAC"}
@@ -6,9 +6,10 @@
6
6
  * @packageDocumentation
7
7
  */
8
8
  import { default as FlowQuery } from "./compute/flowquery";
9
+ import { RunnerMetadata } from "./compute/runner";
9
10
  import Function from "./parsing/functions/function";
10
11
  import FunctionFactory, { AsyncDataProvider } from "./parsing/functions/function_factory";
11
12
  import { FunctionMetadata, OutputSchema, ParameterSchema } from "./parsing/functions/function_metadata";
12
13
  export default FlowQuery;
13
- export { FlowQuery, Function, FunctionFactory, AsyncDataProvider, FunctionMetadata, ParameterSchema, OutputSchema, };
14
+ export { FlowQuery, Function, FunctionFactory, AsyncDataProvider, FunctionMetadata, ParameterSchema, OutputSchema, RunnerMetadata, };
14
15
  //# sourceMappingURL=index.node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.node.d.ts","sourceRoot":"","sources":["../src/index.node.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAAO,eAAe,EAAE,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EACH,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAClB,MAAM,uCAAuC,CAAC;AA+B/C,eAAe,SAAS,CAAC;AACzB,OAAO,EACH,SAAS,EACT,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,YAAY,GACf,CAAC"}
1
+ {"version":3,"file":"index.node.d.ts","sourceRoot":"","sources":["../src/index.node.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAAO,eAAe,EAAE,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EACH,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAClB,MAAM,uCAAuC,CAAC;AA+B/C,eAAe,SAAS,CAAC;AACzB,OAAO,EACH,SAAS,EACT,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,cAAc,GACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.node.js","sourceRoot":"","sources":["../src/index.node.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;GAMG;AACH,oEAA2D;AAwCvD,0FAxCgB,mBAAS,OAwChB;AAvCb,4EAAoD;AAwChD,mBAxCG,kBAAQ,CAwCH;AAvCZ,4FAA0F;AAwCtF,0BAxCG,0BAAe,CAwCH;AAjCnB;;;;;GAKG;AACH,mBAAS,CAAC,aAAa,GAAG,UAAU,OAInC;IACG,OAAO,0BAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,mBAAS,CAAC,mBAAmB,GAAG,UAAU,IAAY;IAClD,OAAO,0BAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF;;GAEG;AACH,mBAAS,CAAC,QAAQ,GAAG,kBAAQ,CAAC;AAE9B,kBAAe,mBAAS,CAAC"}
1
+ {"version":3,"file":"index.node.js","sourceRoot":"","sources":["../src/index.node.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;GAMG;AACH,oEAA2D;AAyCvD,0FAzCgB,mBAAS,OAyChB;AAvCb,4EAAoD;AAwChD,mBAxCG,kBAAQ,CAwCH;AAvCZ,4FAA0F;AAwCtF,0BAxCG,0BAAe,CAwCH;AAjCnB;;;;;GAKG;AACH,mBAAS,CAAC,aAAa,GAAG,UAAU,OAInC;IACG,OAAO,0BAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,mBAAS,CAAC,mBAAmB,GAAG,UAAU,IAAY;IAClD,OAAO,0BAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF;;GAEG;AACH,mBAAS,CAAC,QAAQ,GAAG,kBAAQ,CAAC;AAE9B,kBAAe,mBAAS,CAAC"}
@@ -0,0 +1,39 @@
1
+ import ASTNode from "../ast_node";
2
+ /**
3
+ * Represents a reference to a query parameter (e.g., $args).
4
+ *
5
+ * Parameter references are resolved at runtime from parameters passed
6
+ * to the Runner, rather than from the variable scope. This enables
7
+ * filter pass-down from MATCH constraints into virtual node/relationship
8
+ * definitions.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // In a CREATE VIRTUAL definition:
13
+ * // CREATE VIRTUAL (:Node) AS { RETURN $args.id AS id }
14
+ * // $args is a ParameterReference resolved from MATCH constraints
15
+ * const ref = new ParameterReference("$args");
16
+ * ref.parameterValue = { id: 42 };
17
+ * console.log(ref.value()); // { id: 42 }
18
+ * ```
19
+ */
20
+ declare class ParameterReference extends ASTNode {
21
+ private _name;
22
+ private _parameterValue;
23
+ /**
24
+ * Creates a new ParameterReference.
25
+ *
26
+ * @param name - The parameter name (e.g., "$args")
27
+ */
28
+ constructor(name: string);
29
+ get name(): string;
30
+ /**
31
+ * Sets the runtime value for this parameter.
32
+ */
33
+ set parameterValue(value: any);
34
+ isOperand(): boolean;
35
+ value(): any;
36
+ toString(): string;
37
+ }
38
+ export default ParameterReference;
39
+ //# sourceMappingURL=parameter_reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameter_reference.d.ts","sourceRoot":"","sources":["../../../src/parsing/expressions/parameter_reference.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAElC;;;;;;;;;;;;;;;;;GAiBG;AACH,cAAM,kBAAmB,SAAQ,OAAO;IACpC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,eAAe,CAAa;IAEpC;;;;OAIG;gBACS,IAAI,EAAE,MAAM;IAKxB,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAW,cAAc,CAAC,KAAK,EAAE,GAAG,EAEnC;IAEM,SAAS,IAAI,OAAO;IAIpB,KAAK,IAAI,GAAG;IAIZ,QAAQ,IAAI,MAAM;CAG5B;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ast_node_1 = __importDefault(require("../ast_node"));
7
+ /**
8
+ * Represents a reference to a query parameter (e.g., $args).
9
+ *
10
+ * Parameter references are resolved at runtime from parameters passed
11
+ * to the Runner, rather than from the variable scope. This enables
12
+ * filter pass-down from MATCH constraints into virtual node/relationship
13
+ * definitions.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // In a CREATE VIRTUAL definition:
18
+ * // CREATE VIRTUAL (:Node) AS { RETURN $args.id AS id }
19
+ * // $args is a ParameterReference resolved from MATCH constraints
20
+ * const ref = new ParameterReference("$args");
21
+ * ref.parameterValue = { id: 42 };
22
+ * console.log(ref.value()); // { id: 42 }
23
+ * ```
24
+ */
25
+ class ParameterReference extends ast_node_1.default {
26
+ /**
27
+ * Creates a new ParameterReference.
28
+ *
29
+ * @param name - The parameter name (e.g., "$args")
30
+ */
31
+ constructor(name) {
32
+ super();
33
+ this._parameterValue = null;
34
+ this._name = name;
35
+ }
36
+ get name() {
37
+ return this._name;
38
+ }
39
+ /**
40
+ * Sets the runtime value for this parameter.
41
+ */
42
+ set parameterValue(value) {
43
+ this._parameterValue = value;
44
+ }
45
+ isOperand() {
46
+ return true;
47
+ }
48
+ value() {
49
+ return this._parameterValue;
50
+ }
51
+ toString() {
52
+ return `ParameterReference (${this._name})`;
53
+ }
54
+ }
55
+ exports.default = ParameterReference;
56
+ //# sourceMappingURL=parameter_reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameter_reference.js","sourceRoot":"","sources":["../../../src/parsing/expressions/parameter_reference.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,kBAAmB,SAAQ,kBAAO;IAIpC;;;;OAIG;IACH,YAAY,IAAY;QACpB,KAAK,EAAE,CAAC;QARJ,oBAAe,GAAQ,IAAI,CAAC;QAShC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAW,cAAc,CAAC,KAAU;QAChC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IACjC,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAEM,QAAQ;QACX,OAAO,uBAAuB,IAAI,CAAC,KAAK,GAAG,CAAC;IAChD,CAAC;CACJ;AAED,kBAAe,kBAAkB,CAAC"}
@@ -14,6 +14,34 @@ declare class Match extends Operation {
14
14
  * @return Promise<void>
15
15
  */
16
16
  run(): Promise<void>;
17
+ /**
18
+ * Extracts simple equality predicates from the immediately following WHERE clause
19
+ * and merges them into the matching nodes' properties so they can be passed as
20
+ * $-parameters to virtual node/relationship definitions.
21
+ *
22
+ * Handles predicates of the form:
23
+ * - `n.prop = value` or `value = n.prop`
24
+ * - Multiple predicates joined by AND
25
+ *
26
+ * Only literal values (numbers, strings, booleans) are extracted.
27
+ * Complex expressions (OR, >, <, function calls, etc.) remain as post-filters.
28
+ */
29
+ private extractWherePredicates;
30
+ /**
31
+ * Recursively collects equality predicates from the expression tree.
32
+ * Only extracts simple `node.property = literal` patterns.
33
+ */
34
+ private collectEqualityPredicates;
35
+ /**
36
+ * Tries to extract a {nodeIdentifier, property, value} tuple from a pair of
37
+ * AST nodes where `lookupSide` is expected to be a Lookup(Reference, Identifier)
38
+ * and `valueSide` is expected to be a literal value.
39
+ */
40
+ private tryExtractEqualityPredicate;
41
+ /**
42
+ * Checks whether a node is a simple literal value (number, string, boolean, null).
43
+ */
44
+ private isLiteralValue;
17
45
  }
18
46
  export default Match;
19
47
  //# sourceMappingURL=match.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/match.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAE1C,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,cAAM,KAAM,SAAQ,SAAS;IACzB,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,SAAS,CAAkB;gBAEvB,QAAQ,GAAE,OAAO,EAAO,EAAE,QAAQ,GAAE,OAAe;IAK/D,IAAW,QAAQ,IAAI,OAAO,EAAE,CAE/B;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,SAAS,CAAC,QAAQ,IAAI,MAAM;IAG5B;;;;;OAKG;IACU,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBpC;AAED,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/match.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAQ1C,OAAO,SAAS,MAAM,aAAa,CAAC;AAGpC,cAAM,KAAM,SAAQ,SAAS;IACzB,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,SAAS,CAAkB;gBAEvB,QAAQ,GAAE,OAAO,EAAO,EAAE,QAAQ,GAAE,OAAe;IAK/D,IAAW,QAAQ,IAAI,OAAO,EAAE,CAE/B;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,SAAS,CAAC,QAAQ,IAAI,MAAM;IAG5B;;;;;OAKG;IACU,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBjC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,sBAAsB;IA2B9B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAuBjC;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAwBnC;;OAEG;IACH,OAAO,CAAC,cAAc;CAGzB;AAED,eAAe,KAAK,CAAC"}
@@ -14,7 +14,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const node_1 = __importDefault(require("../../graph/node"));
16
16
  const patterns_1 = __importDefault(require("../../graph/patterns"));
17
+ const lookup_1 = __importDefault(require("../data_structures/lookup"));
18
+ const expression_1 = __importDefault(require("../expressions/expression"));
19
+ const identifier_1 = __importDefault(require("../expressions/identifier"));
20
+ const operator_1 = require("../expressions/operator");
21
+ const reference_1 = __importDefault(require("../expressions/reference"));
17
22
  const operation_1 = __importDefault(require("./operation"));
23
+ const where_1 = __importDefault(require("./where"));
18
24
  class Match extends operation_1.default {
19
25
  constructor(patterns = [], optional = false) {
20
26
  super();
@@ -41,6 +47,7 @@ class Match extends operation_1.default {
41
47
  run() {
42
48
  return __awaiter(this, void 0, void 0, function* () {
43
49
  var _a;
50
+ this.extractWherePredicates();
44
51
  yield this._patterns.initialize();
45
52
  let matched = false;
46
53
  this._patterns.toDoNext = () => __awaiter(this, void 0, void 0, function* () {
@@ -64,6 +71,99 @@ class Match extends operation_1.default {
64
71
  }
65
72
  });
66
73
  }
74
+ /**
75
+ * Extracts simple equality predicates from the immediately following WHERE clause
76
+ * and merges them into the matching nodes' properties so they can be passed as
77
+ * $-parameters to virtual node/relationship definitions.
78
+ *
79
+ * Handles predicates of the form:
80
+ * - `n.prop = value` or `value = n.prop`
81
+ * - Multiple predicates joined by AND
82
+ *
83
+ * Only literal values (numbers, strings, booleans) are extracted.
84
+ * Complex expressions (OR, >, <, function calls, etc.) remain as post-filters.
85
+ */
86
+ extractWherePredicates() {
87
+ if (!(this.next instanceof where_1.default)) {
88
+ return;
89
+ }
90
+ const where = this.next;
91
+ const predicates = this.collectEqualityPredicates(where.expression.firstChild());
92
+ if (predicates.length === 0) {
93
+ return;
94
+ }
95
+ // Build a map of node identifiers to their Node objects in the pattern
96
+ const nodeMap = new Map();
97
+ for (const pattern of this._patterns.patterns) {
98
+ for (const element of pattern.chain) {
99
+ if (element instanceof node_1.default && element.identifier !== null) {
100
+ nodeMap.set(element.identifier, element);
101
+ }
102
+ }
103
+ }
104
+ // Add extracted predicates as properties on the matching nodes
105
+ for (const pred of predicates) {
106
+ const node = nodeMap.get(pred.nodeIdentifier);
107
+ if (node !== undefined && !node.properties.has(pred.property)) {
108
+ node.setProperty(pred.property, pred.valueExpression);
109
+ }
110
+ }
111
+ }
112
+ /**
113
+ * Recursively collects equality predicates from the expression tree.
114
+ * Only extracts simple `node.property = literal` patterns.
115
+ */
116
+ collectEqualityPredicates(node) {
117
+ if (node instanceof operator_1.And) {
118
+ return [
119
+ ...this.collectEqualityPredicates(node.lhs),
120
+ ...this.collectEqualityPredicates(node.rhs),
121
+ ];
122
+ }
123
+ if (node instanceof operator_1.Equals) {
124
+ const result = this.tryExtractEqualityPredicate(node.lhs, node.rhs);
125
+ if (result !== null) {
126
+ return [result];
127
+ }
128
+ // Try reversed: value = n.prop
129
+ const reversed = this.tryExtractEqualityPredicate(node.rhs, node.lhs);
130
+ if (reversed !== null) {
131
+ return [reversed];
132
+ }
133
+ }
134
+ return [];
135
+ }
136
+ /**
137
+ * Tries to extract a {nodeIdentifier, property, value} tuple from a pair of
138
+ * AST nodes where `lookupSide` is expected to be a Lookup(Reference, Identifier)
139
+ * and `valueSide` is expected to be a literal value.
140
+ */
141
+ tryExtractEqualityPredicate(lookupSide, valueSide) {
142
+ if (!(lookupSide instanceof lookup_1.default)) {
143
+ return null;
144
+ }
145
+ const lookup = lookupSide;
146
+ if (!(lookup.variable instanceof reference_1.default) || !(lookup.index instanceof identifier_1.default)) {
147
+ return null;
148
+ }
149
+ // Only extract if the value side is a simple literal (not a reference/lookup/function)
150
+ if (!this.isLiteralValue(valueSide)) {
151
+ return null;
152
+ }
153
+ const nodeIdentifier = lookup.variable.identifier;
154
+ const property = lookup.index.value();
155
+ // Wrap the value side in an Expression for compatibility with Node.setProperty
156
+ const expr = new expression_1.default();
157
+ expr.addNode(valueSide);
158
+ expr.finish();
159
+ return { nodeIdentifier, property, valueExpression: expr };
160
+ }
161
+ /**
162
+ * Checks whether a node is a simple literal value (number, string, boolean, null).
163
+ */
164
+ isLiteralValue(node) {
165
+ return node.isOperand() && !(node instanceof reference_1.default) && !(node instanceof lookup_1.default);
166
+ }
67
167
  }
68
168
  exports.default = Match;
69
169
  //# sourceMappingURL=match.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"match.js","sourceRoot":"","sources":["../../../src/parsing/operations/match.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAoC;AAEpC,oEAA4C;AAC5C,4DAAoC;AAEpC,MAAM,KAAM,SAAQ,mBAAS;IAIzB,YAAY,WAAsB,EAAE,EAAE,WAAoB,KAAK;QAC3D,KAAK,EAAE,CAAC;QAJJ,cAAS,GAAoB,IAAI,CAAC;QAClC,cAAS,GAAY,KAAK,CAAC;QAI/B,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IACD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,CAAC;IACD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACS,QAAQ;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;IACtD,CAAC;IACD;;;;;OAKG;IACU,GAAG;;;YACZ,MAAM,IAAI,CAAC,SAAU,CAAC,UAAU,EAAE,CAAC;YACnC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,SAAU,CAAC,QAAQ,GAAG,GAAS,EAAE;;gBAClC,OAAO,GAAG,IAAI,CAAC;gBACf,gEAAgE;gBAChE,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,EAAE,CAAA,CAAC;YAC3B,CAAC,CAAA,CAAC;YACF,uCAAuC;YACvC,MAAM,IAAI,CAAC,SAAU,CAAC,QAAQ,EAAE,CAAC;YACjC,oEAAoE;YACpE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAU,CAAC,QAAQ,EAAE,CAAC;oBAC7C,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;wBAClC,IAAI,OAAO,YAAY,cAAI,EAAE,CAAC;4BAC1B,OAAO,CAAC,QAAQ,CAAC,IAAK,CAAC,CAAC;wBAC5B,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,EAAE,CAAA,CAAC;YAC3B,CAAC;QACL,CAAC;KAAA;CACJ;AAED,kBAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"match.js","sourceRoot":"","sources":["../../../src/parsing/operations/match.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,21 @@ declare class Parser extends BaseParser {
28
28
  * ```
29
29
  */
30
30
  parse(statement: string): ASTNode;
31
+ /**
32
+ * Parses a multi-statement FlowQuery input separated by semicolons.
33
+ *
34
+ * Only CREATE and DELETE statements may appear before the last statement.
35
+ * Yields one AST per statement, validating ordering as it goes.
36
+ *
37
+ * @param statement - The FlowQuery input (may contain semicolon separators)
38
+ * @yields AST roots, one per statement
39
+ * @throws {Error} If statement ordering rules are violated
40
+ */
41
+ parseStatements(statement: string): Generator<ASTNode>;
42
+ /**
43
+ * Validates that all operations in a statement are CREATE or DELETE.
44
+ */
45
+ private validateIsCreateOrDelete;
31
46
  private _parseTokenized;
32
47
  private parseOperation;
33
48
  private parseWith;
@@ -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;AA2DvC;;;;;;;;;;;;GAYG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,OAAO,CAAC,MAAM,CAAkC;IAEhD;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKxC,OAAO,CAAC,eAAe;IAkGvB,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;IAgEnB,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;IAsFpB;;;;;;;;;;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;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"}