flowquery 1.0.61 → 1.0.64
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/compute/runner.js +2 -2
- package/dist/compute/runner.js.map +1 -1
- package/dist/flowquery.min.js +1 -1
- package/dist/graph/data_resolver.d.ts +37 -0
- package/dist/graph/data_resolver.d.ts.map +1 -0
- package/dist/graph/data_resolver.js +221 -0
- package/dist/graph/data_resolver.js.map +1 -0
- package/dist/graph/database.d.ts +8 -20
- package/dist/graph/database.d.ts.map +1 -1
- package/dist/graph/database.js +47 -190
- package/dist/graph/database.js.map +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.js +3 -3
- package/dist/graph/pattern.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/functions/schema.js +2 -2
- package/dist/parsing/functions/schema.js.map +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
|
@@ -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
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship.js","sourceRoot":"","sources":["../../src/graph/relationship.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relationship.js","sourceRoot":"","sources":["../../src/graph/relationship.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import Relationship from "./relationship";
|
|
|
2
2
|
declare class RelationshipReference extends Relationship {
|
|
3
3
|
private _reference;
|
|
4
4
|
constructor(base: Relationship, reference: Relationship);
|
|
5
|
-
find(left_id: string, hop?: number):
|
|
5
|
+
find(left_id: string, hop?: number): AsyncGenerator<void>;
|
|
6
6
|
}
|
|
7
7
|
export default RelationshipReference;
|
|
8
8
|
//# sourceMappingURL=relationship_reference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship_reference.d.ts","sourceRoot":"","sources":["../../src/graph/relationship_reference.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,cAAM,qBAAsB,SAAQ,YAAY;IAC5C,OAAO,CAAC,UAAU,CAA6B;gBACnC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"relationship_reference.d.ts","sourceRoot":"","sources":["../../src/graph/relationship_reference.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,cAAM,qBAAsB,SAAQ,YAAY;IAC5C,OAAO,CAAC,UAAU,CAA6B;gBACnC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY;IASzC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAU,GAAG,cAAc,CAAC,IAAI,CAAC;CAY7E;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -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 };
|
|
@@ -25,12 +41,17 @@ class RelationshipReference extends relationship_1.default {
|
|
|
25
41
|
this._reference = reference;
|
|
26
42
|
}
|
|
27
43
|
find(left_id_1) {
|
|
28
|
-
return
|
|
29
|
-
var _a
|
|
44
|
+
return __asyncGenerator(this, arguments, function* find_1(left_id, hop = 0) {
|
|
45
|
+
var _a;
|
|
30
46
|
this.setValue(this._reference);
|
|
31
47
|
const data = (_a = this._reference.getData()) === null || _a === void 0 ? void 0 : _a.current(hop);
|
|
32
48
|
const followId = this._direction === "left" ? "left_id" : "right_id";
|
|
33
|
-
|
|
49
|
+
if (this._target) {
|
|
50
|
+
yield __await(yield* __asyncDelegator(__asyncValues(this._target.find(data[followId], hop))));
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
yield yield __await(void 0);
|
|
54
|
+
}
|
|
34
55
|
});
|
|
35
56
|
}
|
|
36
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship_reference.js","sourceRoot":"","sources":["../../src/graph/relationship_reference.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relationship_reference.js","sourceRoot":"","sources":["../../src/graph/relationship_reference.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAA0C;AAG1C,MAAM,qBAAsB,SAAQ,sBAAY;IAE5C,YAAY,IAAkB,EAAE,SAAuB;QACnD,KAAK,EAAE,CAAC;QAFJ,eAAU,GAAwB,IAAI,CAAC;QAG3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IACa,IAAI;kEAAC,OAAe,EAAE,MAAc,CAAC;;YAC/C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;YAChC,MAAM,IAAI,GAAuB,MAAA,IAAI,CAAC,UAAW,CAAC,OAAO,EAAE,0CAAE,OAAO,CAChE,GAAG,CACgB,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;YACrE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAA,CAAA,CAAA,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACJ,2BAAK,CAAC;YACV,CAAC;QACL,CAAC;KAAA;CACJ;AAED,kBAAe,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -22,7 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
22
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
const
|
|
25
|
+
const data_resolver_1 = __importDefault(require("../../graph/data_resolver"));
|
|
26
26
|
const async_function_1 = __importDefault(require("./async_function"));
|
|
27
27
|
const function_metadata_1 = require("./function_metadata");
|
|
28
28
|
/**
|
|
@@ -42,7 +42,7 @@ const function_metadata_1 = require("./function_metadata");
|
|
|
42
42
|
let Schema = class Schema extends async_function_1.default {
|
|
43
43
|
generate() {
|
|
44
44
|
return __asyncGenerator(this, arguments, function* generate_1() {
|
|
45
|
-
const entries = yield __await(
|
|
45
|
+
const entries = yield __await(data_resolver_1.default.getInstance().schema());
|
|
46
46
|
for (const entry of entries) {
|
|
47
47
|
yield yield __await(entry);
|
|
48
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/parsing/functions/schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/parsing/functions/schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAAqD;AACrD,sEAA6C;AAC7C,2DAAkD;AAElD;;;;;;;;;;;;;GAaG;AAYH,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,wBAAa;IAChB,QAAQ;;YAClB,MAAM,OAAO,GAAG,cAAM,uBAAY,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAA,CAAC;YAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC1B,oBAAM,KAAK,CAAA,CAAC;YAChB,CAAC;QACL,CAAC;KAAA;CACJ,CAAA;AAPK,MAAM;IAXX,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,gHAAgH;QACpH,QAAQ,EAAE,OAAO;QACjB,UAAU,EAAE,EAAE;QACd,MAAM,EAAE;YACJ,WAAW,EAAE,oEAAoE;YACjF,IAAI,EAAE,QAAQ;SACjB;QACD,QAAQ,EAAE,CAAC,kCAAkC,CAAC;KACjD,CAAC;GACI,MAAM,CAOX;AAED,kBAAe,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;IAsBjC;;;;;;;;;;;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"}
|
|
@@ -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
|
};
|
|
@@ -46,18 +53,28 @@ class Match extends operation_1.default {
|
|
|
46
53
|
*/
|
|
47
54
|
run() {
|
|
48
55
|
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
var _a;
|
|
56
|
+
var _a, e_1, _b, _c;
|
|
57
|
+
var _d, _e;
|
|
50
58
|
this.extractWherePredicates();
|
|
51
59
|
yield this._patterns.initialize();
|
|
52
60
|
let matched = false;
|
|
53
|
-
|
|
54
|
-
var _a;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
try {
|
|
62
|
+
for (var _f = true, _g = __asyncValues(this._patterns.traverse()), _h; _h = yield _g.next(), _a = _h.done, !_a; _f = true) {
|
|
63
|
+
_c = _h.value;
|
|
64
|
+
_f = false;
|
|
65
|
+
const _ = _c;
|
|
66
|
+
matched = true;
|
|
67
|
+
// Continue to the next operation after all patterns are matched
|
|
68
|
+
yield ((_d = this.next) === null || _d === void 0 ? void 0 : _d.run());
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
72
|
+
finally {
|
|
73
|
+
try {
|
|
74
|
+
if (!_f && !_a && (_b = _g.return)) yield _b.call(_g);
|
|
75
|
+
}
|
|
76
|
+
finally { if (e_1) throw e_1.error; }
|
|
77
|
+
}
|
|
61
78
|
// For OPTIONAL MATCH: if nothing matched, continue with null values
|
|
62
79
|
if (!matched && this._optional) {
|
|
63
80
|
for (const pattern of this._patterns.patterns) {
|
|
@@ -67,7 +84,7 @@ class Match extends operation_1.default {
|
|
|
67
84
|
}
|
|
68
85
|
}
|
|
69
86
|
}
|
|
70
|
-
yield ((
|
|
87
|
+
yield ((_e = this.next) === null || _e === void 0 ? void 0 : _e.run());
|
|
71
88
|
}
|
|
72
89
|
});
|
|
73
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"match.js","sourceRoot":"","sources":["../../../src/parsing/operations/match.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"match.js","sourceRoot":"","sources":["../../../src/parsing/operations/match.ts"],"names":[],"mappings":"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"}
|