flowquery 1.0.39 → 1.0.41
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/dist/flowquery.min.js +1 -1
- package/dist/graph/database.d.ts +2 -0
- package/dist/graph/database.d.ts.map +1 -1
- package/dist/graph/database.js +12 -0
- package/dist/graph/database.js.map +1 -1
- package/dist/parsing/functions/function_factory.d.ts +1 -0
- package/dist/parsing/functions/function_factory.d.ts.map +1 -1
- package/dist/parsing/functions/function_factory.js +1 -0
- package/dist/parsing/functions/function_factory.js.map +1 -1
- package/dist/parsing/functions/substring.d.ts +9 -0
- package/dist/parsing/functions/substring.d.ts.map +1 -0
- package/dist/parsing/functions/substring.js +62 -0
- package/dist/parsing/functions/substring.js.map +1 -0
- package/dist/parsing/operations/delete_node.d.ts +11 -0
- package/dist/parsing/operations/delete_node.d.ts.map +1 -0
- package/dist/parsing/operations/delete_node.js +46 -0
- package/dist/parsing/operations/delete_node.js.map +1 -0
- package/dist/parsing/operations/delete_relationship.d.ts +11 -0
- package/dist/parsing/operations/delete_relationship.d.ts.map +1 -0
- package/dist/parsing/operations/delete_relationship.js +46 -0
- package/dist/parsing/operations/delete_relationship.js.map +1 -0
- package/dist/parsing/parser.d.ts +8 -0
- package/dist/parsing/parser.d.ts.map +1 -1
- package/dist/parsing/parser.js +105 -31
- package/dist/parsing/parser.js.map +1 -1
- package/docs/flowquery.min.js +1 -1
- package/flowquery-py/pyproject.toml +1 -1
- package/flowquery-py/src/graph/database.py +12 -0
- package/flowquery-py/src/parsing/functions/__init__.py +2 -0
- package/flowquery-py/src/parsing/functions/substring.py +74 -0
- package/flowquery-py/src/parsing/operations/__init__.py +4 -0
- package/flowquery-py/src/parsing/operations/delete_node.py +29 -0
- package/flowquery-py/src/parsing/operations/delete_relationship.py +29 -0
- package/flowquery-py/src/parsing/parser.py +75 -10
- package/flowquery-py/tests/compute/test_runner.py +226 -1
- package/flowquery-vscode/flowQueryEngine/flowquery.min.js +1 -1
- package/package.json +1 -1
- package/src/graph/database.ts +12 -0
- package/src/parsing/functions/function_factory.ts +1 -0
- package/src/parsing/functions/substring.ts +65 -0
- package/src/parsing/operations/delete_node.ts +33 -0
- package/src/parsing/operations/delete_relationship.ts +32 -0
- package/src/parsing/parser.ts +110 -33
- package/tests/compute/runner.test.ts +194 -0
- package/tests/parsing/parser.test.ts +1 -1
package/dist/graph/database.d.ts
CHANGED
|
@@ -11,8 +11,10 @@ declare class Database {
|
|
|
11
11
|
private static relationships;
|
|
12
12
|
static getInstance(): Database;
|
|
13
13
|
addNode(node: Node, statement: ASTNode): void;
|
|
14
|
+
removeNode(node: Node): void;
|
|
14
15
|
getNode(node: Node): PhysicalNode | null;
|
|
15
16
|
addRelationship(relationship: Relationship, statement: ASTNode): void;
|
|
17
|
+
removeRelationship(relationship: Relationship): void;
|
|
16
18
|
getRelationship(relationship: Relationship): PhysicalRelationship | null;
|
|
17
19
|
getRelationships(relationship: Relationship): PhysicalRelationship[];
|
|
18
20
|
schema(): Promise<Record<string, any>[]>;
|
|
@@ -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,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,GAAG,IAAI;IAGxC,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAUrE,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;CAoC3F;AAED,eAAe,QAAQ,CAAC"}
|
package/dist/graph/database.js
CHANGED
|
@@ -44,6 +44,12 @@ class Database {
|
|
|
44
44
|
physical.statement = statement;
|
|
45
45
|
Database.nodes.set(node.label, physical);
|
|
46
46
|
}
|
|
47
|
+
removeNode(node) {
|
|
48
|
+
if (node.label === null) {
|
|
49
|
+
throw new Error("Node label is null");
|
|
50
|
+
}
|
|
51
|
+
Database.nodes.delete(node.label);
|
|
52
|
+
}
|
|
47
53
|
getNode(node) {
|
|
48
54
|
return Database.nodes.get(node.label) || null;
|
|
49
55
|
}
|
|
@@ -57,6 +63,12 @@ class Database {
|
|
|
57
63
|
physical.target = relationship.target;
|
|
58
64
|
Database.relationships.set(relationship.type, physical);
|
|
59
65
|
}
|
|
66
|
+
removeRelationship(relationship) {
|
|
67
|
+
if (relationship.type === null) {
|
|
68
|
+
throw new Error("Relationship type is null");
|
|
69
|
+
}
|
|
70
|
+
Database.relationships.delete(relationship.type);
|
|
71
|
+
}
|
|
60
72
|
getRelationship(relationship) {
|
|
61
73
|
return Database.relationships.get(relationship.type) || null;
|
|
62
74
|
}
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function_factory.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,OAAO,CAAC;AACf,OAAO,YAAY,CAAC;AACpB,OAAO,WAAW,CAAC;AACnB,OAAO,SAAS,CAAC;AACjB,OAAO,QAAQ,CAAC;AAChB,OAAO,YAAY,CAAC;AACpB,OAAO,YAAY,CAAC;AACpB,OAAO,cAAc,CAAC;AACtB,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,aAAa,CAAC;AACrB,OAAO,QAAQ,CAAC;AAChB,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAChB,OAAO,iBAAiB,CAAC;AACzB,OAAO,aAAa,CAAC;AACrB,OAAO,OAAO,CAAC;AACf,OAAO,OAAO,CAAC;AACf,OAAO,SAAS,CAAC;AACjB,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,iBAAiB,CAAC;AACzB,OAAO,cAAc,CAAC;AACtB,OAAO,QAAQ,CAAC;AAChB,OAAO,SAAS,CAAC;AACjB,OAAO,iBAAiB,CAAC;AACzB,OAAO,WAAW,CAAC;AACnB,OAAO,SAAS,CAAC;AACjB,OAAO,UAAU,CAAC;AAClB,OAAO,QAAQ,CAAC;AAChB,OAAO,SAAS,CAAC;AACjB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,aAAa,CAAC;AAErB,OAAO,OAAO,CAAC;AACf,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAChB,OAAO,aAAa,CAAC;AACrB,OAAO,YAAY,CAAC;AACpB,OAAO,cAAc,CAAC;AACtB,OAAO,WAAW,CAAC;AACnB,OAAO,YAAY,CAAC;AACpB,OAAO,aAAa,CAAC;AACrB,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAGhB,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;IAQ/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;CAQzD;AAED,eAAe,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"function_factory.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,OAAO,CAAC;AACf,OAAO,YAAY,CAAC;AACpB,OAAO,WAAW,CAAC;AACnB,OAAO,SAAS,CAAC;AACjB,OAAO,QAAQ,CAAC;AAChB,OAAO,YAAY,CAAC;AACpB,OAAO,YAAY,CAAC;AACpB,OAAO,cAAc,CAAC;AACtB,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,aAAa,CAAC;AACrB,OAAO,QAAQ,CAAC;AAChB,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAChB,OAAO,iBAAiB,CAAC;AACzB,OAAO,aAAa,CAAC;AACrB,OAAO,OAAO,CAAC;AACf,OAAO,OAAO,CAAC;AACf,OAAO,SAAS,CAAC;AACjB,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,iBAAiB,CAAC;AACzB,OAAO,cAAc,CAAC;AACtB,OAAO,QAAQ,CAAC;AAChB,OAAO,SAAS,CAAC;AACjB,OAAO,iBAAiB,CAAC;AACzB,OAAO,WAAW,CAAC;AACnB,OAAO,SAAS,CAAC;AACjB,OAAO,UAAU,CAAC;AAClB,OAAO,QAAQ,CAAC;AAChB,OAAO,SAAS,CAAC;AACjB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,aAAa,CAAC;AACrB,OAAO,aAAa,CAAC;AAErB,OAAO,OAAO,CAAC;AACf,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAChB,OAAO,aAAa,CAAC;AACrB,OAAO,YAAY,CAAC;AACpB,OAAO,cAAc,CAAC;AACtB,OAAO,WAAW,CAAC;AACnB,OAAO,YAAY,CAAC;AACpB,OAAO,aAAa,CAAC;AACrB,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAGhB,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;IAQ/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;CAQzD;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function_factory.js","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"function_factory.js","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"substring.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/substring.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,cAgBM,SAAU,SAAQ,QAAQ;;IAK5B,IAAW,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,EAOrC;IAEM,KAAK,IAAI,GAAG;CA4BtB;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const function_1 = __importDefault(require("./function"));
|
|
13
|
+
const function_metadata_1 = require("./function_metadata");
|
|
14
|
+
let Substring = class Substring extends function_1.default {
|
|
15
|
+
constructor() {
|
|
16
|
+
super("substring");
|
|
17
|
+
}
|
|
18
|
+
set parameters(nodes) {
|
|
19
|
+
if (nodes.length < 2 || nodes.length > 3) {
|
|
20
|
+
throw new Error(`Function substring expected 2 or 3 parameters, but got ${nodes.length}`);
|
|
21
|
+
}
|
|
22
|
+
this.children = nodes;
|
|
23
|
+
}
|
|
24
|
+
value() {
|
|
25
|
+
const children = this.getChildren();
|
|
26
|
+
const original = children[0].value();
|
|
27
|
+
const start = children[1].value();
|
|
28
|
+
if (typeof original !== "string") {
|
|
29
|
+
throw new Error("Invalid argument for substring function: expected a string as the first argument");
|
|
30
|
+
}
|
|
31
|
+
if (typeof start !== "number" || !Number.isInteger(start)) {
|
|
32
|
+
throw new Error("Invalid argument for substring function: expected an integer as the second argument");
|
|
33
|
+
}
|
|
34
|
+
if (children.length === 3) {
|
|
35
|
+
const length = children[2].value();
|
|
36
|
+
if (typeof length !== "number" || !Number.isInteger(length)) {
|
|
37
|
+
throw new Error("Invalid argument for substring function: expected an integer as the third argument");
|
|
38
|
+
}
|
|
39
|
+
return original.substring(start, start + length);
|
|
40
|
+
}
|
|
41
|
+
return original.substring(start);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
Substring = __decorate([
|
|
45
|
+
(0, function_metadata_1.FunctionDef)({
|
|
46
|
+
description: "Returns a substring of a string, starting at a 0-based index with an optional length",
|
|
47
|
+
category: "scalar",
|
|
48
|
+
parameters: [
|
|
49
|
+
{ name: "original", description: "The original string", type: "string" },
|
|
50
|
+
{ name: "start", description: "The 0-based start index", type: "integer" },
|
|
51
|
+
{
|
|
52
|
+
name: "length",
|
|
53
|
+
description: "The length of the substring (optional, defaults to remainder of string)",
|
|
54
|
+
type: "integer",
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
output: { description: "The substring", type: "string", example: "llo" },
|
|
58
|
+
examples: ["RETURN substring('hello', 1, 3)", "RETURN substring('hello', 2)"],
|
|
59
|
+
})
|
|
60
|
+
], Substring);
|
|
61
|
+
exports.default = Substring;
|
|
62
|
+
//# sourceMappingURL=substring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"substring.js","sourceRoot":"","sources":["../../../src/parsing/functions/substring.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,0DAAkC;AAClC,2DAAkD;AAkBlD,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,kBAAQ;IAC5B;QACI,KAAK,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC;IAED,IAAW,UAAU,CAAC,KAAgB;QAClC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACX,0DAA0D,KAAK,CAAC,MAAM,EAAE,CAC3E,CAAC;QACN,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAElC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACX,kFAAkF,CACrF,CAAC;QACN,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CACX,qFAAqF,CACxF,CAAC;QACN,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CACX,oFAAoF,CACvF,CAAC;YACN,CAAC;YACD,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CACJ,CAAA;AA1CK,SAAS;IAhBd,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,sFAAsF;QAC1F,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,SAAS,EAAE;YAC1E;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yEAAyE;gBACtF,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,MAAM,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QACxE,QAAQ,EAAE,CAAC,iCAAiC,EAAE,8BAA8B,CAAC;KAChF,CAAC;GACI,SAAS,CA0Cd;AAED,kBAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import Node from "../../graph/node";
|
|
2
|
+
import Operation from "./operation";
|
|
3
|
+
declare class DeleteNode extends Operation {
|
|
4
|
+
private _node;
|
|
5
|
+
constructor(node: Node);
|
|
6
|
+
get node(): Node | null;
|
|
7
|
+
run(): Promise<void>;
|
|
8
|
+
get results(): Record<string, any>[];
|
|
9
|
+
}
|
|
10
|
+
export default DeleteNode;
|
|
11
|
+
//# sourceMappingURL=delete_node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete_node.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/delete_node.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,cAAM,UAAW,SAAQ,SAAS;IAC9B,OAAO,CAAC,KAAK,CAAqB;gBACtB,IAAI,EAAE,IAAI;IAItB,IAAW,IAAI,IAAI,IAAI,GAAG,IAAI,CAE7B;IACM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAE1C;CACJ;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const database_1 = __importDefault(require("../../graph/database"));
|
|
16
|
+
const operation_1 = __importDefault(require("./operation"));
|
|
17
|
+
class DeleteNode extends operation_1.default {
|
|
18
|
+
constructor(node) {
|
|
19
|
+
super();
|
|
20
|
+
this._node = null;
|
|
21
|
+
this._node = node;
|
|
22
|
+
}
|
|
23
|
+
get node() {
|
|
24
|
+
return this._node;
|
|
25
|
+
}
|
|
26
|
+
run() {
|
|
27
|
+
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
try {
|
|
29
|
+
if (this._node === null) {
|
|
30
|
+
throw new Error("Node is null");
|
|
31
|
+
}
|
|
32
|
+
const db = database_1.default.getInstance();
|
|
33
|
+
db.removeNode(this._node);
|
|
34
|
+
resolve();
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
reject(error);
|
|
38
|
+
}
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
get results() {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.default = DeleteNode;
|
|
46
|
+
//# sourceMappingURL=delete_node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete_node.js","sourceRoot":"","sources":["../../../src/parsing/operations/delete_node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oEAA4C;AAE5C,4DAAoC;AAEpC,MAAM,UAAW,SAAQ,mBAAS;IAE9B,YAAY,IAAU;QAClB,KAAK,EAAE,CAAC;QAFJ,UAAK,GAAgB,IAAI,CAAC;QAG9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACM,GAAG;QACN,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;gBACpC,CAAC;gBACD,MAAM,EAAE,GAAa,kBAAQ,CAAC,WAAW,EAAE,CAAC;gBAC5C,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1B,OAAO,EAAE,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;IACP,CAAC;IACD,IAAW,OAAO;QACd,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AAED,kBAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import Relationship from "../../graph/relationship";
|
|
2
|
+
import Operation from "./operation";
|
|
3
|
+
declare class DeleteRelationship extends Operation {
|
|
4
|
+
private _relationship;
|
|
5
|
+
constructor(relationship: Relationship);
|
|
6
|
+
get relationship(): Relationship | null;
|
|
7
|
+
run(): Promise<void>;
|
|
8
|
+
get results(): Record<string, any>[];
|
|
9
|
+
}
|
|
10
|
+
export default DeleteRelationship;
|
|
11
|
+
//# sourceMappingURL=delete_relationship.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete_relationship.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/delete_relationship.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,cAAM,kBAAmB,SAAQ,SAAS;IACtC,OAAO,CAAC,aAAa,CAA6B;gBACtC,YAAY,EAAE,YAAY;IAItC,IAAW,YAAY,IAAI,YAAY,GAAG,IAAI,CAE7C;IACM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAE1C;CACJ;AACD,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const database_1 = __importDefault(require("../../graph/database"));
|
|
16
|
+
const operation_1 = __importDefault(require("./operation"));
|
|
17
|
+
class DeleteRelationship extends operation_1.default {
|
|
18
|
+
constructor(relationship) {
|
|
19
|
+
super();
|
|
20
|
+
this._relationship = null;
|
|
21
|
+
this._relationship = relationship;
|
|
22
|
+
}
|
|
23
|
+
get relationship() {
|
|
24
|
+
return this._relationship;
|
|
25
|
+
}
|
|
26
|
+
run() {
|
|
27
|
+
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
try {
|
|
29
|
+
if (this._relationship === null) {
|
|
30
|
+
throw new Error("Relationship is null");
|
|
31
|
+
}
|
|
32
|
+
const db = database_1.default.getInstance();
|
|
33
|
+
db.removeRelationship(this._relationship);
|
|
34
|
+
resolve();
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
reject(error);
|
|
38
|
+
}
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
get results() {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.default = DeleteRelationship;
|
|
46
|
+
//# sourceMappingURL=delete_relationship.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete_relationship.js","sourceRoot":"","sources":["../../../src/parsing/operations/delete_relationship.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oEAA4C;AAE5C,4DAAoC;AAEpC,MAAM,kBAAmB,SAAQ,mBAAS;IAEtC,YAAY,YAA0B;QAClC,KAAK,EAAE,CAAC;QAFJ,kBAAa,GAAwB,IAAI,CAAC;QAG9C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACtC,CAAC;IACD,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IACM,GAAG;QACN,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC;gBACD,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM,EAAE,GAAG,kBAAQ,CAAC,WAAW,EAAE,CAAC;gBAClC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,EAAE,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;IACP,CAAC;IACD,IAAW,OAAO;QACd,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AACD,kBAAe,kBAAkB,CAAC"}
|
package/dist/parsing/parser.d.ts
CHANGED
|
@@ -37,6 +37,7 @@ declare class Parser extends BaseParser {
|
|
|
37
37
|
private parseLoad;
|
|
38
38
|
private parseCall;
|
|
39
39
|
private parseCreate;
|
|
40
|
+
private parseDelete;
|
|
40
41
|
private parseMatch;
|
|
41
42
|
private parseNode;
|
|
42
43
|
private parseProperties;
|
|
@@ -48,7 +49,14 @@ declare class Parser extends BaseParser {
|
|
|
48
49
|
private parseSubQuery;
|
|
49
50
|
private parseLimit;
|
|
50
51
|
private parseOrderBy;
|
|
52
|
+
/**
|
|
53
|
+
* Parses a comma-separated list of expressions with deferred variable
|
|
54
|
+
* registration. Aliases set by earlier expressions in the same clause
|
|
55
|
+
* won't shadow variables needed by later expressions
|
|
56
|
+
* (e.g. `RETURN a.x AS a, a.y AS b`).
|
|
57
|
+
*/
|
|
51
58
|
private parseExpressions;
|
|
59
|
+
private _parseExpressions;
|
|
52
60
|
/**
|
|
53
61
|
* Parse a single operand (without operators).
|
|
54
62
|
* @returns True if an operand was parsed, false otherwise.
|
|
@@ -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;AA0DvC;;;;;;;;;;;;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;IA0CpB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAE,iBAAiB;IAsC1B;;;OAGG;IACH,OAAO,CAAC,YAAY;IA8EpB;;;;;;;;;;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,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"}
|
package/dist/parsing/parser.js
CHANGED
|
@@ -43,6 +43,8 @@ const aggregated_with_1 = __importDefault(require("./operations/aggregated_with"
|
|
|
43
43
|
const call_1 = __importDefault(require("./operations/call"));
|
|
44
44
|
const create_node_1 = __importDefault(require("./operations/create_node"));
|
|
45
45
|
const create_relationship_1 = __importDefault(require("./operations/create_relationship"));
|
|
46
|
+
const delete_node_1 = __importDefault(require("./operations/delete_node"));
|
|
47
|
+
const delete_relationship_1 = __importDefault(require("./operations/delete_relationship"));
|
|
46
48
|
const limit_1 = __importDefault(require("./operations/limit"));
|
|
47
49
|
const load_1 = __importDefault(require("./operations/load"));
|
|
48
50
|
const match_1 = __importDefault(require("./operations/match"));
|
|
@@ -178,8 +180,10 @@ class Parser extends base_parser_1.default {
|
|
|
178
180
|
if (!(operation instanceof return_1.default) &&
|
|
179
181
|
!(operation instanceof call_1.default) &&
|
|
180
182
|
!(operation instanceof create_node_1.default) &&
|
|
181
|
-
!(operation instanceof create_relationship_1.default)
|
|
182
|
-
|
|
183
|
+
!(operation instanceof create_relationship_1.default) &&
|
|
184
|
+
!(operation instanceof delete_node_1.default) &&
|
|
185
|
+
!(operation instanceof delete_relationship_1.default)) {
|
|
186
|
+
throw new Error("Last statement must be a RETURN, WHERE, CALL, CREATE, or DELETE statement");
|
|
183
187
|
}
|
|
184
188
|
return root;
|
|
185
189
|
}
|
|
@@ -190,6 +194,7 @@ class Parser extends base_parser_1.default {
|
|
|
190
194
|
this.parseLoad() ||
|
|
191
195
|
this.parseCall() ||
|
|
192
196
|
this.parseCreate() ||
|
|
197
|
+
this.parseDelete() ||
|
|
193
198
|
this.parseMatch());
|
|
194
199
|
}
|
|
195
200
|
parseWith() {
|
|
@@ -204,7 +209,7 @@ class Parser extends base_parser_1.default {
|
|
|
204
209
|
this.setNextToken();
|
|
205
210
|
this.expectAndSkipWhitespaceAndComments();
|
|
206
211
|
}
|
|
207
|
-
const expressions =
|
|
212
|
+
const expressions = this.parseExpressions(alias_option_1.AliasOption.REQUIRED);
|
|
208
213
|
if (expressions.length === 0) {
|
|
209
214
|
throw new Error("Expected expression");
|
|
210
215
|
}
|
|
@@ -256,7 +261,7 @@ class Parser extends base_parser_1.default {
|
|
|
256
261
|
this.setNextToken();
|
|
257
262
|
this.expectAndSkipWhitespaceAndComments();
|
|
258
263
|
}
|
|
259
|
-
const expressions =
|
|
264
|
+
const expressions = this.parseExpressions(alias_option_1.AliasOption.OPTIONAL);
|
|
260
265
|
if (expressions.length === 0) {
|
|
261
266
|
throw new Error("Expected expression");
|
|
262
267
|
}
|
|
@@ -367,7 +372,7 @@ class Parser extends base_parser_1.default {
|
|
|
367
372
|
this.expectPreviousTokenToBeWhitespaceOrComment();
|
|
368
373
|
this.setNextToken();
|
|
369
374
|
this.expectAndSkipWhitespaceAndComments();
|
|
370
|
-
const expressions =
|
|
375
|
+
const expressions = this.parseExpressions(alias_option_1.AliasOption.OPTIONAL);
|
|
371
376
|
if (expressions.length === 0) {
|
|
372
377
|
throw new Error("Expected at least one expression");
|
|
373
378
|
}
|
|
@@ -440,6 +445,61 @@ class Parser extends base_parser_1.default {
|
|
|
440
445
|
}
|
|
441
446
|
return create;
|
|
442
447
|
}
|
|
448
|
+
parseDelete() {
|
|
449
|
+
var _a;
|
|
450
|
+
if (!this.token.isDelete()) {
|
|
451
|
+
return null;
|
|
452
|
+
}
|
|
453
|
+
this.setNextToken();
|
|
454
|
+
this.expectAndSkipWhitespaceAndComments();
|
|
455
|
+
if (!this.token.isVirtual()) {
|
|
456
|
+
throw new Error("Expected VIRTUAL");
|
|
457
|
+
}
|
|
458
|
+
this.setNextToken();
|
|
459
|
+
this.expectAndSkipWhitespaceAndComments();
|
|
460
|
+
const node = this.parseNode();
|
|
461
|
+
if (node === null) {
|
|
462
|
+
throw new Error("Expected node definition");
|
|
463
|
+
}
|
|
464
|
+
let relationship = null;
|
|
465
|
+
if (this.token.isSubtract() && ((_a = this.peek()) === null || _a === void 0 ? void 0 : _a.isOpeningBracket())) {
|
|
466
|
+
this.setNextToken();
|
|
467
|
+
this.setNextToken();
|
|
468
|
+
if (!this.token.isColon()) {
|
|
469
|
+
throw new Error("Expected ':' for relationship type");
|
|
470
|
+
}
|
|
471
|
+
this.setNextToken();
|
|
472
|
+
if (!this.token.isIdentifierOrKeyword()) {
|
|
473
|
+
throw new Error("Expected relationship type identifier");
|
|
474
|
+
}
|
|
475
|
+
const type = this.token.value || "";
|
|
476
|
+
this.setNextToken();
|
|
477
|
+
if (!this.token.isClosingBracket()) {
|
|
478
|
+
throw new Error("Expected closing bracket for relationship definition");
|
|
479
|
+
}
|
|
480
|
+
this.setNextToken();
|
|
481
|
+
if (!this.token.isSubtract()) {
|
|
482
|
+
throw new Error("Expected '-' for relationship definition");
|
|
483
|
+
}
|
|
484
|
+
this.setNextToken();
|
|
485
|
+
const target = this.parseNode();
|
|
486
|
+
if (target === null) {
|
|
487
|
+
throw new Error("Expected target node definition");
|
|
488
|
+
}
|
|
489
|
+
relationship = new relationship_1.default();
|
|
490
|
+
relationship.type = type;
|
|
491
|
+
relationship.source = node;
|
|
492
|
+
relationship.target = target;
|
|
493
|
+
}
|
|
494
|
+
let result;
|
|
495
|
+
if (relationship !== null) {
|
|
496
|
+
result = new delete_relationship_1.default(relationship);
|
|
497
|
+
}
|
|
498
|
+
else {
|
|
499
|
+
result = new delete_node_1.default(node);
|
|
500
|
+
}
|
|
501
|
+
return result;
|
|
502
|
+
}
|
|
443
503
|
parseMatch() {
|
|
444
504
|
let optional = false;
|
|
445
505
|
if (this.token.isOptional()) {
|
|
@@ -823,34 +883,48 @@ class Parser extends base_parser_1.default {
|
|
|
823
883
|
}
|
|
824
884
|
return new order_by_1.default(fields);
|
|
825
885
|
}
|
|
826
|
-
|
|
886
|
+
/**
|
|
887
|
+
* Parses a comma-separated list of expressions with deferred variable
|
|
888
|
+
* registration. Aliases set by earlier expressions in the same clause
|
|
889
|
+
* won't shadow variables needed by later expressions
|
|
890
|
+
* (e.g. `RETURN a.x AS a, a.y AS b`).
|
|
891
|
+
*/
|
|
892
|
+
parseExpressions(alias_option = alias_option_1.AliasOption.NOT_ALLOWED) {
|
|
893
|
+
const parsed = Array.from(this._parseExpressions(alias_option));
|
|
894
|
+
for (const [expression, variableName] of parsed) {
|
|
895
|
+
if (variableName !== null) {
|
|
896
|
+
this._state.variables.set(variableName, expression);
|
|
897
|
+
}
|
|
898
|
+
}
|
|
899
|
+
return parsed.map(([expression]) => expression);
|
|
900
|
+
}
|
|
901
|
+
*_parseExpressions(alias_option) {
|
|
827
902
|
while (true) {
|
|
828
903
|
const expression = this.parseExpression();
|
|
829
|
-
if (expression
|
|
830
|
-
const alias = this.parseAlias();
|
|
831
|
-
if (expression.firstChild() instanceof reference_1.default && alias === null) {
|
|
832
|
-
const reference = expression.firstChild();
|
|
833
|
-
expression.setAlias(reference.identifier);
|
|
834
|
-
this._state.variables.set(reference.identifier, expression);
|
|
835
|
-
}
|
|
836
|
-
else if (alias_option === alias_option_1.AliasOption.REQUIRED &&
|
|
837
|
-
alias === null &&
|
|
838
|
-
!(expression.firstChild() instanceof reference_1.default)) {
|
|
839
|
-
throw new Error("Alias required");
|
|
840
|
-
}
|
|
841
|
-
else if (alias_option === alias_option_1.AliasOption.NOT_ALLOWED && alias !== null) {
|
|
842
|
-
throw new Error("Alias not allowed");
|
|
843
|
-
}
|
|
844
|
-
else if ([alias_option_1.AliasOption.OPTIONAL, alias_option_1.AliasOption.REQUIRED].includes(alias_option) &&
|
|
845
|
-
alias !== null) {
|
|
846
|
-
expression.setAlias(alias.getAlias());
|
|
847
|
-
this._state.variables.set(alias.getAlias(), expression);
|
|
848
|
-
}
|
|
849
|
-
yield expression;
|
|
850
|
-
}
|
|
851
|
-
else {
|
|
904
|
+
if (expression === null) {
|
|
852
905
|
break;
|
|
853
906
|
}
|
|
907
|
+
let variableName = null;
|
|
908
|
+
const alias = this.parseAlias();
|
|
909
|
+
if (expression.firstChild() instanceof reference_1.default && alias === null) {
|
|
910
|
+
const reference = expression.firstChild();
|
|
911
|
+
expression.setAlias(reference.identifier);
|
|
912
|
+
variableName = reference.identifier;
|
|
913
|
+
}
|
|
914
|
+
else if (alias_option === alias_option_1.AliasOption.REQUIRED &&
|
|
915
|
+
alias === null &&
|
|
916
|
+
!(expression.firstChild() instanceof reference_1.default)) {
|
|
917
|
+
throw new Error("Alias required");
|
|
918
|
+
}
|
|
919
|
+
else if (alias_option === alias_option_1.AliasOption.NOT_ALLOWED && alias !== null) {
|
|
920
|
+
throw new Error("Alias not allowed");
|
|
921
|
+
}
|
|
922
|
+
else if ([alias_option_1.AliasOption.OPTIONAL, alias_option_1.AliasOption.REQUIRED].includes(alias_option) &&
|
|
923
|
+
alias !== null) {
|
|
924
|
+
expression.setAlias(alias.getAlias());
|
|
925
|
+
variableName = alias.getAlias();
|
|
926
|
+
}
|
|
927
|
+
yield [expression, variableName];
|
|
854
928
|
this.skipWhitespaceAndComments();
|
|
855
929
|
if (!this.token.isComma()) {
|
|
856
930
|
break;
|
|
@@ -1282,7 +1356,7 @@ class Parser extends base_parser_1.default {
|
|
|
1282
1356
|
this.setNextToken();
|
|
1283
1357
|
this.expectAndSkipWhitespaceAndComments();
|
|
1284
1358
|
}
|
|
1285
|
-
func.parameters =
|
|
1359
|
+
func.parameters = this.parseExpressions(alias_option_1.AliasOption.NOT_ALLOWED);
|
|
1286
1360
|
this.skipWhitespaceAndComments();
|
|
1287
1361
|
if (!this.token.isRightParenthesis()) {
|
|
1288
1362
|
throw new Error("Expected right parenthesis");
|
|
@@ -1316,7 +1390,7 @@ class Parser extends base_parser_1.default {
|
|
|
1316
1390
|
this.setNextToken(); // skip function name
|
|
1317
1391
|
this.setNextToken(); // skip left parenthesis
|
|
1318
1392
|
this.skipWhitespaceAndComments();
|
|
1319
|
-
asyncFunc.parameters =
|
|
1393
|
+
asyncFunc.parameters = this.parseExpressions(alias_option_1.AliasOption.NOT_ALLOWED);
|
|
1320
1394
|
this.skipWhitespaceAndComments();
|
|
1321
1395
|
if (!this.token.isRightParenthesis()) {
|
|
1322
1396
|
throw new Error("Expected right parenthesis");
|