flowquery 1.0.61 → 1.0.63
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/node.d.ts +2 -5
- package/dist/graph/node.d.ts.map +1 -1
- package/dist/graph/node.js +40 -33
- package/dist/graph/node.js.map +1 -1
- package/dist/graph/node_reference.d.ts +2 -2
- package/dist/graph/node_reference.d.ts.map +1 -1
- package/dist/graph/node_reference.js +42 -18
- package/dist/graph/node_reference.js.map +1 -1
- package/dist/graph/pattern_expression.d.ts.map +1 -1
- package/dist/graph/pattern_expression.js +23 -4
- package/dist/graph/pattern_expression.js.map +1 -1
- package/dist/graph/patterns.d.ts +2 -2
- package/dist/graph/patterns.d.ts.map +1 -1
- package/dist/graph/patterns.js +54 -17
- package/dist/graph/patterns.js.map +1 -1
- package/dist/graph/relationship.d.ts +1 -1
- package/dist/graph/relationship.d.ts.map +1 -1
- package/dist/graph/relationship.js +59 -39
- package/dist/graph/relationship.js.map +1 -1
- package/dist/graph/relationship_reference.d.ts +1 -1
- package/dist/graph/relationship_reference.d.ts.map +1 -1
- package/dist/graph/relationship_reference.js +32 -11
- package/dist/graph/relationship_reference.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/parsing/operations/match.d.ts.map +1 -1
- package/dist/parsing/operations/match.js +27 -10
- package/dist/parsing/operations/match.js.map +1 -1
- package/package.json +1 -1
package/dist/graph/node.d.ts
CHANGED
|
@@ -11,7 +11,6 @@ declare class Node extends ASTNode {
|
|
|
11
11
|
protected _incoming: Relationship | null;
|
|
12
12
|
protected _outgoing: Relationship | null;
|
|
13
13
|
private _data;
|
|
14
|
-
private _todoNext;
|
|
15
14
|
constructor(identifier?: string | null, label?: string | null);
|
|
16
15
|
set identifier(identifier: string);
|
|
17
16
|
get identifier(): string | null;
|
|
@@ -31,10 +30,8 @@ declare class Node extends ASTNode {
|
|
|
31
30
|
set incoming(relationship: Relationship | null);
|
|
32
31
|
get incoming(): Relationship | null;
|
|
33
32
|
setData(data: NodeData | null): void;
|
|
34
|
-
next():
|
|
35
|
-
find(id: string, hop?: number):
|
|
36
|
-
set todoNext(func: (() => Promise<void>) | null);
|
|
37
|
-
runTodoNext(): Promise<void>;
|
|
33
|
+
next(): AsyncGenerator<void>;
|
|
34
|
+
find(id: string, hop?: number): AsyncGenerator<void>;
|
|
38
35
|
}
|
|
39
36
|
export default Node;
|
|
40
37
|
//# sourceMappingURL=node.d.ts.map
|
package/dist/graph/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/graph/node.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,UAAU,MAAM,mCAAmC,CAAC;AAC3D,OAAO,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,cAAM,IAAK,SAAQ,OAAO;IACtB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC5C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IACjC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAa;IAC3D,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAQ;IAE3C,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAQ;IAChD,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAQ;IAEhD,OAAO,CAAC,KAAK,CAAyB;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/graph/node.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,UAAU,MAAM,mCAAmC,CAAC;AAC3D,OAAO,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,cAAM,IAAK,SAAQ,OAAO;IACtB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC5C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IACjC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAa;IAC3D,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAQ;IAE3C,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAQ;IAChD,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAQ;IAEhD,OAAO,CAAC,KAAK,CAAyB;gBAE1B,UAAU,GAAE,MAAM,GAAG,IAAW,EAAE,KAAK,GAAE,MAAM,GAAG,IAAW;IAQzE,IAAW,UAAU,CAAC,UAAU,EAAE,MAAM,EAEvC;IACD,IAAW,UAAU,IAAI,MAAM,GAAG,IAAI,CAErC;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAG7B;IACD,IAAW,KAAK,IAAI,MAAM,GAAG,IAAI,CAEhC;IACD,IAAW,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAGjC;IACD,IAAW,MAAM,IAAI,MAAM,EAAE,CAE5B;IACD,IAAW,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAE/C;IACD,IAAW,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAExD;IACD,OAAO,CAAC,kBAAkB;IAgBnB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAGjD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAG3C,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAGjC,KAAK,IAAI,UAAU,GAAG,IAAI;IAGjC,IAAW,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,EAEpD;IACD,IAAW,QAAQ,IAAI,YAAY,GAAG,IAAI,CAEzC;IACD,IAAW,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,EAEpD;IACD,IAAW,QAAQ,IAAI,YAAY,GAAG,IAAI,CAEzC;IACM,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAG7B,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC;IAc5B,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,GAAE,MAAU,GAAG,cAAc,CAAC,IAAI,CAAC;CAexE;AAED,eAAe,IAAI,CAAC"}
|
package/dist/graph/node.js
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
3
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
4
|
+
var m = o[Symbol.asyncIterator], i;
|
|
5
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
6
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
7
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
8
|
+
};
|
|
9
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
10
|
+
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
|
|
11
|
+
var i, p;
|
|
12
|
+
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
|
13
|
+
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
|
|
14
|
+
};
|
|
15
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
16
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
17
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
18
|
+
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
19
|
+
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
|
|
20
|
+
function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
|
|
21
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
22
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
23
|
+
function fulfill(value) { resume("next", value); }
|
|
24
|
+
function reject(value) { resume("throw", value); }
|
|
25
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
10
26
|
};
|
|
11
27
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
28
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -24,12 +40,6 @@ class Node extends ast_node_1.default {
|
|
|
24
40
|
this._incoming = null;
|
|
25
41
|
this._outgoing = null;
|
|
26
42
|
this._data = null;
|
|
27
|
-
// Function to be called after each 'next' and 'find' operation
|
|
28
|
-
// It is used to chain operations in a traversal
|
|
29
|
-
// For example, after matching on a graph pattern, we may want to
|
|
30
|
-
// continue to the next node or relationship in the pattern, or
|
|
31
|
-
// perform the next operation in a statement.
|
|
32
|
-
this._todoNext = null;
|
|
33
43
|
this._identifier = identifier;
|
|
34
44
|
this._label = label;
|
|
35
45
|
if (label !== null) {
|
|
@@ -106,22 +116,26 @@ class Node extends ast_node_1.default {
|
|
|
106
116
|
this._data = data;
|
|
107
117
|
}
|
|
108
118
|
next() {
|
|
109
|
-
return
|
|
110
|
-
var _a, _b, _c
|
|
119
|
+
return __asyncGenerator(this, arguments, function* next_1() {
|
|
120
|
+
var _a, _b, _c;
|
|
111
121
|
(_a = this._data) === null || _a === void 0 ? void 0 : _a.reset();
|
|
112
122
|
while ((_b = this._data) === null || _b === void 0 ? void 0 : _b.next()) {
|
|
113
123
|
this.setValue((_c = this._data) === null || _c === void 0 ? void 0 : _c.current());
|
|
114
124
|
if (!this._matchesProperties()) {
|
|
115
125
|
continue;
|
|
116
126
|
}
|
|
117
|
-
|
|
118
|
-
|
|
127
|
+
if (this._outgoing) {
|
|
128
|
+
yield __await(yield* __asyncDelegator(__asyncValues(this._outgoing.find(this._value.id))));
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
yield yield __await(void 0);
|
|
132
|
+
}
|
|
119
133
|
}
|
|
120
134
|
});
|
|
121
135
|
}
|
|
122
136
|
find(id_1) {
|
|
123
|
-
return
|
|
124
|
-
var _a, _b, _c, _d
|
|
137
|
+
return __asyncGenerator(this, arguments, function* find_1(id, hop = 0) {
|
|
138
|
+
var _a, _b, _c, _d;
|
|
125
139
|
(_a = this._data) === null || _a === void 0 ? void 0 : _a.reset();
|
|
126
140
|
while ((_b = this._data) === null || _b === void 0 ? void 0 : _b.find(id, hop)) {
|
|
127
141
|
this.setValue((_c = this._data) === null || _c === void 0 ? void 0 : _c.current(hop));
|
|
@@ -129,19 +143,12 @@ class Node extends ast_node_1.default {
|
|
|
129
143
|
continue;
|
|
130
144
|
}
|
|
131
145
|
(_d = this._incoming) === null || _d === void 0 ? void 0 : _d.setEndNode(this);
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
set todoNext(func) {
|
|
139
|
-
this._todoNext = func;
|
|
140
|
-
}
|
|
141
|
-
runTodoNext() {
|
|
142
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
143
|
-
if (this._todoNext) {
|
|
144
|
-
yield this._todoNext();
|
|
146
|
+
if (this._outgoing) {
|
|
147
|
+
yield __await(yield* __asyncDelegator(__asyncValues(this._outgoing.find(this._value.id, hop))));
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
yield yield __await(void 0);
|
|
151
|
+
}
|
|
145
152
|
}
|
|
146
153
|
});
|
|
147
154
|
}
|
package/dist/graph/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/graph/node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/graph/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ declare class NodeReference extends Node {
|
|
|
4
4
|
private _reference;
|
|
5
5
|
constructor(base: Node, reference: ASTNode);
|
|
6
6
|
get reference(): ASTNode | null;
|
|
7
|
-
next():
|
|
8
|
-
find(id: string, hop?: number):
|
|
7
|
+
next(): AsyncGenerator<void>;
|
|
8
|
+
find(id: string, hop?: number): AsyncGenerator<void>;
|
|
9
9
|
}
|
|
10
10
|
export default NodeReference;
|
|
11
11
|
//# sourceMappingURL=node_reference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node_reference.d.ts","sourceRoot":"","sources":["../../src/graph/node_reference.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,cAAM,aAAc,SAAQ,IAAI;IAC5B,OAAO,CAAC,UAAU,CAAwB;gBAC9B,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO;IAU1C,IAAW,SAAS,IAAI,OAAO,GAAG,IAAI,CAErC;
|
|
1
|
+
{"version":3,"file":"node_reference.d.ts","sourceRoot":"","sources":["../../src/graph/node_reference.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,cAAM,aAAc,SAAQ,IAAI;IAC5B,OAAO,CAAC,UAAU,CAAwB;gBAC9B,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO;IAU1C,IAAW,SAAS,IAAI,OAAO,GAAG,IAAI,CAErC;IACa,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC;IAY5B,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,GAAE,MAAU,GAAG,cAAc,CAAC,IAAI,CAAC;CAYxE;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
3
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
4
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
5
|
+
var m = o[Symbol.asyncIterator], i;
|
|
6
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
7
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
8
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
9
|
+
};
|
|
10
|
+
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
|
|
11
|
+
var i, p;
|
|
12
|
+
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
|
13
|
+
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
|
|
14
|
+
};
|
|
15
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
16
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
17
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
18
|
+
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
19
|
+
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
|
|
20
|
+
function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
|
|
21
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
22
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
23
|
+
function fulfill(value) { resume("next", value); }
|
|
24
|
+
function reject(value) { resume("throw", value); }
|
|
25
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
10
26
|
};
|
|
11
27
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
28
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -29,27 +45,35 @@ class NodeReference extends node_1.default {
|
|
|
29
45
|
return this._reference;
|
|
30
46
|
}
|
|
31
47
|
next() {
|
|
32
|
-
return
|
|
33
|
-
var _a
|
|
48
|
+
return __asyncGenerator(this, arguments, function* next_1() {
|
|
49
|
+
var _a;
|
|
34
50
|
const referenced = (_a = this._reference) === null || _a === void 0 ? void 0 : _a.value();
|
|
35
51
|
if (referenced == null) {
|
|
36
|
-
return;
|
|
52
|
+
return yield __await(void 0);
|
|
37
53
|
}
|
|
38
54
|
this.setValue(referenced);
|
|
39
|
-
|
|
40
|
-
|
|
55
|
+
if (this._outgoing) {
|
|
56
|
+
yield __await(yield* __asyncDelegator(__asyncValues(this._outgoing.find(this._value.id))));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
yield yield __await(void 0);
|
|
60
|
+
}
|
|
41
61
|
});
|
|
42
62
|
}
|
|
43
63
|
find(id_1) {
|
|
44
|
-
return
|
|
45
|
-
var _a
|
|
64
|
+
return __asyncGenerator(this, arguments, function* find_1(id, hop = 0) {
|
|
65
|
+
var _a;
|
|
46
66
|
const referenced = (_a = this._reference) === null || _a === void 0 ? void 0 : _a.value();
|
|
47
67
|
if (id !== (referenced === null || referenced === void 0 ? void 0 : referenced.id)) {
|
|
48
|
-
return;
|
|
68
|
+
return yield __await(void 0);
|
|
49
69
|
}
|
|
50
70
|
this.setValue(referenced);
|
|
51
|
-
|
|
52
|
-
|
|
71
|
+
if (this._outgoing) {
|
|
72
|
+
yield __await(yield* __asyncDelegator(__asyncValues(this._outgoing.find(this._value.id, hop))));
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
yield yield __await(void 0);
|
|
76
|
+
}
|
|
53
77
|
});
|
|
54
78
|
}
|
|
55
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node_reference.js","sourceRoot":"","sources":["../../src/graph/node_reference.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node_reference.js","sourceRoot":"","sources":["../../src/graph/node_reference.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA0B;AAE1B,MAAM,aAAc,SAAQ,cAAI;IAE5B,YAAY,IAAU,EAAE,SAAkB;QACtC,KAAK,EAAE,CAAC;QAFJ,eAAU,GAAmB,IAAI,CAAC;QAGtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IACD,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IACa,IAAI;;;YACd,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,EAAE,CAAC;YAC5C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACrB,6BAAO;YACX,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC1B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAO,CAAC,EAAE,CAAC,CAAA,CAAA,CAAA,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACJ,2BAAK,CAAC;YACV,CAAC;QACL,CAAC;KAAA;IACa,IAAI;kEAAC,EAAU,EAAE,MAAc,CAAC;;YAC1C,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,EAAE,CAAC;YAC5C,IAAI,EAAE,MAAK,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,EAAE,CAAA,EAAE,CAAC;gBACxB,6BAAO;YACX,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,UAAW,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA,CAAA,CAAA,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACJ,2BAAK,CAAC;YACV,CAAC;QACL,CAAC;KAAA;CACJ;AAED,kBAAe,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pattern_expression.d.ts","sourceRoot":"","sources":["../../src/graph/pattern_expression.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,cAAM,iBAAkB,SAAQ,OAAO;IACnC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAkB;IACrC,IAAW,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,EAEtC;IACM,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;IAG9C,MAAM,IAAI,IAAI;IAcR,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"pattern_expression.d.ts","sourceRoot":"","sources":["../../src/graph/pattern_expression.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,cAAM,iBAAkB,SAAQ,OAAO;IACnC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAkB;IACrC,IAAW,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,EAEtC;IACM,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;IAG9C,MAAM,IAAI,IAAI;IAcR,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,KAAK,IAAI,OAAO;IAGV,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAO1C;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -8,6 +8,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
12
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
13
|
+
var m = o[Symbol.asyncIterator], i;
|
|
14
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
15
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
16
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
17
|
+
};
|
|
11
18
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
19
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
20
|
};
|
|
@@ -42,11 +49,23 @@ class PatternExpression extends pattern_1.default {
|
|
|
42
49
|
}
|
|
43
50
|
evaluate() {
|
|
44
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
var _a, e_1, _b, _c;
|
|
45
53
|
this._evaluation = false;
|
|
46
|
-
|
|
47
|
-
this.
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
try {
|
|
55
|
+
for (var _d = true, _e = __asyncValues(this.startNode.next()), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
|
|
56
|
+
_c = _f.value;
|
|
57
|
+
_d = false;
|
|
58
|
+
const _ = _c;
|
|
59
|
+
this._evaluation = true;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
63
|
+
finally {
|
|
64
|
+
try {
|
|
65
|
+
if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
|
|
66
|
+
}
|
|
67
|
+
finally { if (e_1) throw e_1.error; }
|
|
68
|
+
}
|
|
50
69
|
});
|
|
51
70
|
}
|
|
52
71
|
value() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pattern_expression.js","sourceRoot":"","sources":["../../src/graph/pattern_expression.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pattern_expression.js","sourceRoot":"","sources":["../../src/graph/pattern_expression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,sEAA6C;AAC7C,wDAAgC;AAGhC,MAAM,iBAAkB,SAAQ,iBAAO;IAAvC;;QACY,aAAQ,GAAY,KAAK,CAAC;QAC1B,gBAAW,GAAY,KAAK,CAAC;IAqCzC,CAAC;IApCG,IAAW,UAAU,CAAC,EAAiB;QACnC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAClE,CAAC;IACM,UAAU,CAAC,OAA4B;QAC1C,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACM,MAAM;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5C,IAAI,OAAO,YAAY,wBAAa,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QACjF,CAAC;IACL,CAAC;IACY,QAAQ;;;YACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;;gBACzB,KAAsB,eAAA,KAAA,cAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA,IAAA,sDAAE,CAAC;oBAAxB,cAAqB;oBAArB,WAAqB;oBAAhC,MAAM,CAAC,KAAA,CAAA;oBACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC5B,CAAC;;;;;;;;;QACL,CAAC;KAAA;IACM,KAAK;QACR,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IACY,SAAS;;;;;YAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO;YACX,CAAC;YACD,MAAM,OAAM,SAAS,WAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzB,CAAC;KAAA;CACJ;AAED,kBAAe,iBAAiB,CAAC"}
|
package/dist/graph/patterns.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ declare class Patterns {
|
|
|
4
4
|
constructor(patterns?: Pattern[]);
|
|
5
5
|
get patterns(): Pattern[];
|
|
6
6
|
initialize(): Promise<void>;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
traverse(): AsyncGenerator<void>;
|
|
8
|
+
private _chainPatterns;
|
|
9
9
|
}
|
|
10
10
|
export default Patterns;
|
|
11
11
|
//# sourceMappingURL=patterns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/graph/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,cAAM,QAAQ;IACV,OAAO,CAAC,SAAS,CAAiB;gBACtB,QAAQ,GAAE,OAAO,EAAO;IAGpC,IAAW,QAAQ,IAAI,OAAO,EAAE,CAE/B;IACY,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/graph/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,cAAM,QAAQ;IACV,OAAO,CAAC,SAAS,CAAiB;gBACtB,QAAQ,GAAE,OAAO,EAAO;IAGpC,IAAW,QAAQ,IAAI,OAAO,EAAE,CAE/B;IACY,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1B,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC;YAI/B,cAAc;CAShC;AAED,eAAe,QAAQ,CAAC"}
|
package/dist/graph/patterns.js
CHANGED
|
@@ -8,6 +8,31 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
12
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
13
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
14
|
+
var m = o[Symbol.asyncIterator], i;
|
|
15
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
16
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
17
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
18
|
+
};
|
|
19
|
+
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
|
|
20
|
+
var i, p;
|
|
21
|
+
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
|
22
|
+
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
|
|
23
|
+
};
|
|
24
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
25
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
26
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
27
|
+
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
28
|
+
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
|
|
29
|
+
function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
|
|
30
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
31
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
32
|
+
function fulfill(value) { resume("next", value); }
|
|
33
|
+
function reject(value) { resume("throw", value); }
|
|
34
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
35
|
+
};
|
|
11
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
37
|
class Patterns {
|
|
13
38
|
constructor(patterns = []) {
|
|
@@ -19,28 +44,40 @@ class Patterns {
|
|
|
19
44
|
}
|
|
20
45
|
initialize() {
|
|
21
46
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
let previous = null;
|
|
23
47
|
for (const pattern of this._patterns) {
|
|
24
|
-
yield pattern.fetchData();
|
|
25
|
-
if (previous !== null) {
|
|
26
|
-
// Chain the patterns together
|
|
27
|
-
previous.endNode.todoNext = () => __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
yield pattern.startNode.next();
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
previous = pattern;
|
|
48
|
+
yield pattern.fetchData();
|
|
32
49
|
}
|
|
33
50
|
});
|
|
34
51
|
}
|
|
35
|
-
set toDoNext(func) {
|
|
36
|
-
if (this._patterns.length > 0) {
|
|
37
|
-
this._patterns[this._patterns.length - 1].endNode.todoNext = func;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
52
|
traverse() {
|
|
41
|
-
return
|
|
42
|
-
if (this._patterns.length
|
|
43
|
-
yield
|
|
53
|
+
return __asyncGenerator(this, arguments, function* traverse_1() {
|
|
54
|
+
if (this._patterns.length === 0)
|
|
55
|
+
return yield __await(void 0);
|
|
56
|
+
yield __await(yield* __asyncDelegator(__asyncValues(this._chainPatterns(0))));
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
_chainPatterns(index) {
|
|
60
|
+
return __asyncGenerator(this, arguments, function* _chainPatterns_1() {
|
|
61
|
+
var _a, e_1, _b, _c;
|
|
62
|
+
try {
|
|
63
|
+
for (var _d = true, _e = __asyncValues(this._patterns[index].startNode.next()), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
|
|
64
|
+
_c = _f.value;
|
|
65
|
+
_d = false;
|
|
66
|
+
const _ = _c;
|
|
67
|
+
if (index + 1 < this._patterns.length) {
|
|
68
|
+
yield __await(yield* __asyncDelegator(__asyncValues(this._chainPatterns(index + 1))));
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
yield yield __await(void 0);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
76
|
+
finally {
|
|
77
|
+
try {
|
|
78
|
+
if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
|
|
79
|
+
}
|
|
80
|
+
finally { if (e_1) throw e_1.error; }
|
|
44
81
|
}
|
|
45
82
|
});
|
|
46
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/graph/patterns.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/graph/patterns.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,QAAQ;IAEV,YAAY,WAAsB,EAAE;QAD5B,cAAS,GAAc,EAAE,CAAC;QAE9B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IACD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACY,UAAU;;YACnB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnC,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;YAC9B,CAAC;QACL,CAAC;KAAA;IACa,QAAQ;;YAClB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,6BAAO;YACxC,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAC;QAClC,CAAC;KAAA;IACc,cAAc,CAAC,KAAa;;;;gBACvC,KAAsB,eAAA,KAAA,cAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA,IAAA,+DAAE,CAAC;oBAAzC,cAAsC;oBAAtC,WAAsC;oBAAjD,MAAM,CAAC,KAAA,CAAA;oBACd,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;wBACpC,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACJ,2BAAK,CAAC;oBACV,CAAC;gBACL,CAAC;;;;;;;;;QACL,CAAC;KAAA;CACJ;AAED,kBAAe,QAAQ,CAAC"}
|
|
@@ -42,7 +42,7 @@ declare class Relationship extends ASTNode {
|
|
|
42
42
|
getData(): RelationshipData | null;
|
|
43
43
|
setEndNode(node: Node): void;
|
|
44
44
|
_left_id_or_right_id(): string;
|
|
45
|
-
find(left_id: string, hop?: number):
|
|
45
|
+
find(left_id: string, hop?: number): AsyncGenerator<void>;
|
|
46
46
|
}
|
|
47
47
|
export default Relationship;
|
|
48
48
|
//# sourceMappingURL=relationship.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship.d.ts","sourceRoot":"","sources":["../../src/graph/relationship.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,UAAU,MAAM,mCAAmC,CAAC;AAC3D,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,gBAAwC,MAAM,qBAAqB,CAAC;AAC3E,OAAO,0BAA0B,EAAE,EAC/B,uBAAuB,EAC1B,MAAM,gCAAgC,CAAC;AAExC,cAAM,YAAa,SAAQ,OAAO;IAC9B,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC5C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAM;IAChC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAa;IAC3D,SAAS,CAAC,KAAK,EAAE,IAAI,CAAc;IAEnC,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,GAAG,IAAI,CAAQ;IACpF,SAAS,CAAC,QAAQ,EAAE,0BAA0B,CAAoC;IAElF,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAQ;IACtC,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAQ;IACtC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAW;IAEjD,OAAO,CAAC,KAAK,CAAiC;gBAElC,UAAU,GAAE,MAAM,GAAG,IAAW,EAAE,IAAI,GAAE,MAAM,GAAG,IAAW;IAOxE,IAAW,UAAU,CAAC,UAAU,EAAE,MAAM,EAEvC;IACD,IAAW,UAAU,IAAI,MAAM,GAAG,IAAI,CAErC;IACD,IAAW,IAAI,CAAC,IAAI,EAAE,MAAM,EAE3B;IACD,IAAW,IAAI,IAAI,MAAM,GAAG,IAAI,CAE/B;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAE/B;IACD,IAAW,KAAK,IAAI,MAAM,EAAE,CAE3B;IACD,IAAW,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAE/C;IACD,IAAW,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAExD;IACD,OAAO,CAAC,kBAAkB;IAgBnB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAGjD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAGlD,IAAW,IAAI,CAAC,IAAI,EAAE,IAAI,EAEzB;IACD,IAAW,IAAI,IAAI,IAAI,GAAG,IAAI,CAE7B;IACM,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,GAAE,MAAW,GAAG,IAAI;IAI3E,IAAW,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAElC;IACD,IAAW,MAAM,IAAI,IAAI,GAAG,IAAI,CAE/B;IACD,IAAW,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAElC;IACD,IAAW,MAAM,IAAI,IAAI,GAAG,IAAI,CAE/B;IACD,IAAW,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,EAE/C;IACD,IAAW,SAAS,IAAI,MAAM,GAAG,OAAO,CAEvC;IACM,KAAK,IAAI,uBAAuB,GAAG,uBAAuB,EAAE,GAAG,IAAI;IAG1E,IAAW,OAAO,IAAI,uBAAuB,EAAE,CAE9C;IACM,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI;IAG5C,OAAO,IAAI,gBAAgB,GAAG,IAAI;IAGlC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAG5B,oBAAoB,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"relationship.d.ts","sourceRoot":"","sources":["../../src/graph/relationship.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
3
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
4
|
+
var m = o[Symbol.asyncIterator], i;
|
|
5
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
6
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
7
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
8
|
+
};
|
|
9
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
10
|
+
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
|
|
11
|
+
var i, p;
|
|
12
|
+
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
|
13
|
+
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
|
|
14
|
+
};
|
|
15
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
16
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
17
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
18
|
+
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
19
|
+
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
|
|
20
|
+
function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
|
|
21
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
22
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
23
|
+
function fulfill(value) { resume("next", value); }
|
|
24
|
+
function reject(value) { resume("throw", value); }
|
|
25
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
10
26
|
};
|
|
11
27
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
28
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -126,49 +142,53 @@ class Relationship extends ast_node_1.default {
|
|
|
126
142
|
return this._direction === "left" ? "left_id" : "right_id";
|
|
127
143
|
}
|
|
128
144
|
find(left_id_1) {
|
|
129
|
-
return
|
|
130
|
-
var _a, _b, _c
|
|
145
|
+
return __asyncGenerator(this, arguments, function* find_1(left_id, hop = 0) {
|
|
146
|
+
var _a, _b, _c;
|
|
131
147
|
// Save original source node
|
|
132
148
|
const original = this._source;
|
|
133
149
|
if (hop > 0) {
|
|
134
150
|
// For hops greater than 0, the source becomes the target of the previous hop
|
|
135
151
|
this._source = this._target;
|
|
136
152
|
}
|
|
137
|
-
|
|
138
|
-
(
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
while (this._data.find(left_id, hop, this._direction)) {
|
|
148
|
-
const data = (_c = this._data) === null || _c === void 0 ? void 0 : _c.current(hop);
|
|
149
|
-
const id = data[this._left_id_or_right_id()];
|
|
150
|
-
if (hop + 1 >= this.hops.min) {
|
|
151
|
-
this.setValue(this, left_id);
|
|
152
|
-
if (!this._matchesProperties(hop)) {
|
|
153
|
-
continue;
|
|
153
|
+
try {
|
|
154
|
+
if (hop === 0) {
|
|
155
|
+
(_a = this._data) === null || _a === void 0 ? void 0 : _a.reset();
|
|
156
|
+
// Handle zero-hop case: when min is 0 on a variable-length relationship,
|
|
157
|
+
// match source node as target (no traversal)
|
|
158
|
+
if (((_b = this.hops) === null || _b === void 0 ? void 0 : _b.multi()) && this.hops.min === 0 && this._target) {
|
|
159
|
+
// For zero-hop, target finds the same node as source (left_id)
|
|
160
|
+
// No relationship match is pushed since no edge is traversed
|
|
161
|
+
yield __await(yield* __asyncDelegator(__asyncValues(this._target.find(left_id, hop))));
|
|
154
162
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
163
|
+
}
|
|
164
|
+
while (this._data.find(left_id, hop, this._direction)) {
|
|
165
|
+
const data = (_c = this._data) === null || _c === void 0 ? void 0 : _c.current(hop);
|
|
166
|
+
const id = data[this._left_id_or_right_id()];
|
|
167
|
+
if (hop + 1 >= this.hops.min) {
|
|
168
|
+
this.setValue(this, left_id);
|
|
169
|
+
if (!this._matchesProperties(hop)) {
|
|
159
170
|
continue;
|
|
160
171
|
}
|
|
161
|
-
yield this.find(id, hop
|
|
172
|
+
yield __await(yield* __asyncDelegator(__asyncValues(this._target.find(id, hop))));
|
|
173
|
+
if (hop + 1 < this.hops.max) {
|
|
174
|
+
if (this._matches.isCircular(id)) {
|
|
175
|
+
this._matches.pop();
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
yield __await(yield* __asyncDelegator(__asyncValues(this.find(id, hop + 1))));
|
|
179
|
+
}
|
|
180
|
+
this._matches.pop();
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
// Below minimum hops: traverse the edge without yielding a match
|
|
184
|
+
yield __await(yield* __asyncDelegator(__asyncValues(this.find(id, hop + 1))));
|
|
162
185
|
}
|
|
163
|
-
this._matches.pop();
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
// Below minimum hops: traverse the edge without yielding a match
|
|
167
|
-
yield this.find(id, hop + 1);
|
|
168
186
|
}
|
|
169
187
|
}
|
|
170
|
-
|
|
171
|
-
|
|
188
|
+
finally {
|
|
189
|
+
// Restore original source node
|
|
190
|
+
this._source = original;
|
|
191
|
+
}
|
|
172
192
|
});
|
|
173
193
|
}
|
|
174
194
|
}
|