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.
- package/README.md +640 -75
- package/dist/compute/runner.d.ts +40 -5
- package/dist/compute/runner.d.ts.map +1 -1
- package/dist/compute/runner.js +94 -10
- package/dist/compute/runner.js.map +1 -1
- package/dist/flowquery.min.js +1 -1
- package/dist/graph/database.d.ts +5 -0
- package/dist/graph/database.d.ts.map +1 -1
- package/dist/graph/database.js +19 -3
- package/dist/graph/database.js.map +1 -1
- package/dist/graph/physical_node.d.ts +1 -1
- package/dist/graph/physical_node.d.ts.map +1 -1
- package/dist/graph/physical_node.js +2 -2
- package/dist/graph/physical_node.js.map +1 -1
- package/dist/graph/physical_relationship.d.ts +1 -1
- package/dist/graph/physical_relationship.d.ts.map +1 -1
- package/dist/graph/physical_relationship.js +2 -2
- package/dist/graph/physical_relationship.js.map +1 -1
- package/dist/index.browser.d.ts +2 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js.map +1 -1
- package/dist/index.node.d.ts +2 -1
- package/dist/index.node.d.ts.map +1 -1
- package/dist/index.node.js.map +1 -1
- package/dist/parsing/expressions/parameter_reference.d.ts +39 -0
- package/dist/parsing/expressions/parameter_reference.d.ts.map +1 -0
- package/dist/parsing/expressions/parameter_reference.js +56 -0
- package/dist/parsing/expressions/parameter_reference.js.map +1 -0
- package/dist/parsing/operations/match.d.ts +28 -0
- package/dist/parsing/operations/match.d.ts.map +1 -1
- package/dist/parsing/operations/match.js +100 -0
- package/dist/parsing/operations/match.js.map +1 -1
- package/dist/parsing/parser.d.ts +15 -0
- package/dist/parsing/parser.d.ts.map +1 -1
- package/dist/parsing/parser.js +86 -1
- package/dist/parsing/parser.js.map +1 -1
- package/dist/parsing/parser_state.d.ts +3 -0
- package/dist/parsing/parser_state.d.ts.map +1 -1
- package/dist/parsing/parser_state.js +7 -0
- package/dist/parsing/parser_state.js.map +1 -1
- package/dist/tokenization/string_walker.d.ts +1 -0
- package/dist/tokenization/string_walker.d.ts.map +1 -1
- package/dist/tokenization/string_walker.js +7 -0
- package/dist/tokenization/string_walker.js.map +1 -1
- package/dist/tokenization/symbol.d.ts +1 -0
- package/dist/tokenization/symbol.d.ts.map +1 -1
- package/dist/tokenization/symbol.js +1 -0
- package/dist/tokenization/symbol.js.map +1 -1
- package/dist/tokenization/token.d.ts +2 -0
- package/dist/tokenization/token.d.ts.map +1 -1
- package/dist/tokenization/token.js +6 -0
- package/dist/tokenization/token.js.map +1 -1
- package/dist/tokenization/tokenizer.d.ts.map +1 -1
- package/dist/tokenization/tokenizer.js +3 -1
- package/dist/tokenization/tokenizer.js.map +1 -1
- package/package.json +2 -2
package/dist/graph/database.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/graph/database.js
CHANGED
|
@@ -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
|
|
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;
|
|
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,
|
|
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
|
|
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;
|
|
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,
|
|
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
|
|
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"}
|
package/dist/index.browser.d.ts
CHANGED
|
@@ -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;
|
|
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;
|
|
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"}
|
package/dist/index.node.d.ts
CHANGED
|
@@ -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
|
package/dist/index.node.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/index.node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.node.js","sourceRoot":"","sources":["../src/index.node.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;GAMG;AACH,oEAA2D;
|
|
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;
|
|
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;
|
|
1
|
+
{"version":3,"file":"match.js","sourceRoot":"","sources":["../../../src/parsing/operations/match.ts"],"names":[],"mappings":"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"}
|
package/dist/parsing/parser.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|