flowquery 1.0.70 → 1.0.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +456 -103
- package/dist/compute/provenance.d.ts +201 -0
- package/dist/compute/provenance.d.ts.map +1 -0
- package/dist/compute/provenance.js +216 -0
- package/dist/compute/provenance.js.map +1 -0
- package/dist/compute/runner.d.ts +196 -3
- package/dist/compute/runner.d.ts.map +1 -1
- package/dist/compute/runner.js +283 -2
- package/dist/compute/runner.js.map +1 -1
- package/dist/flowquery.min.js +1 -1
- package/dist/graph/bindings.d.ts.map +1 -1
- package/dist/graph/bindings.js +15 -1
- package/dist/graph/bindings.js.map +1 -1
- package/dist/graph/data_cache.d.ts +4 -0
- package/dist/graph/data_cache.d.ts.map +1 -1
- package/dist/graph/data_cache.js +15 -3
- package/dist/graph/data_cache.js.map +1 -1
- package/dist/graph/data_resolver.d.ts.map +1 -1
- package/dist/graph/data_resolver.js +23 -4
- package/dist/graph/data_resolver.js.map +1 -1
- package/dist/graph/physical_node.d.ts +4 -8
- package/dist/graph/physical_node.d.ts.map +1 -1
- package/dist/graph/physical_node.js +14 -85
- package/dist/graph/physical_node.js.map +1 -1
- package/dist/graph/physical_relationship.d.ts +4 -8
- package/dist/graph/physical_relationship.d.ts.map +1 -1
- package/dist/graph/physical_relationship.js +14 -85
- package/dist/graph/physical_relationship.js.map +1 -1
- package/dist/graph/relationship_match_collector.d.ts.map +1 -1
- package/dist/graph/relationship_match_collector.js +9 -0
- package/dist/graph/relationship_match_collector.js.map +1 -1
- package/dist/graph/virtual_sources.d.ts +8 -0
- package/dist/graph/virtual_sources.d.ts.map +1 -0
- package/dist/graph/virtual_sources.js +31 -0
- package/dist/graph/virtual_sources.js.map +1 -0
- package/dist/graph/virtual_statement.d.ts +41 -0
- package/dist/graph/virtual_statement.d.ts.map +1 -0
- package/dist/graph/virtual_statement.js +143 -0
- package/dist/graph/virtual_statement.js.map +1 -0
- package/dist/index.browser.d.ts +3 -3
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js.map +1 -1
- package/dist/index.node.d.ts +3 -3
- package/dist/index.node.d.ts.map +1 -1
- package/dist/index.node.js.map +1 -1
- package/dist/parsing/operations/aggregated_return.d.ts +10 -0
- package/dist/parsing/operations/aggregated_return.d.ts.map +1 -1
- package/dist/parsing/operations/aggregated_return.js +56 -3
- package/dist/parsing/operations/aggregated_return.js.map +1 -1
- package/dist/parsing/operations/aggregated_with.d.ts +20 -0
- package/dist/parsing/operations/aggregated_with.d.ts.map +1 -1
- package/dist/parsing/operations/aggregated_with.js +33 -1
- package/dist/parsing/operations/aggregated_with.js.map +1 -1
- package/dist/parsing/operations/group_by.d.ts +32 -0
- package/dist/parsing/operations/group_by.d.ts.map +1 -1
- package/dist/parsing/operations/group_by.js +103 -0
- package/dist/parsing/operations/group_by.js.map +1 -1
- package/dist/parsing/operations/let.d.ts.map +1 -1
- package/dist/parsing/operations/let.js +53 -0
- package/dist/parsing/operations/let.js.map +1 -1
- package/dist/parsing/operations/load.d.ts +20 -0
- package/dist/parsing/operations/load.d.ts.map +1 -1
- package/dist/parsing/operations/load.js +71 -0
- package/dist/parsing/operations/load.js.map +1 -1
- package/dist/parsing/operations/order_by.d.ts +6 -0
- package/dist/parsing/operations/order_by.d.ts.map +1 -1
- package/dist/parsing/operations/order_by.js +10 -1
- package/dist/parsing/operations/order_by.js.map +1 -1
- package/dist/parsing/operations/return.d.ts +34 -0
- package/dist/parsing/operations/return.d.ts.map +1 -1
- package/dist/parsing/operations/return.js +95 -2
- package/dist/parsing/operations/return.js.map +1 -1
- package/dist/parsing/operations/union.d.ts +19 -2
- package/dist/parsing/operations/union.d.ts.map +1 -1
- package/dist/parsing/operations/union.js +47 -11
- package/dist/parsing/operations/union.js.map +1 -1
- package/dist/parsing/operations/union_all.d.ts +5 -1
- package/dist/parsing/operations/union_all.d.ts.map +1 -1
- package/dist/parsing/operations/union_all.js +8 -2
- package/dist/parsing/operations/union_all.js.map +1 -1
- package/dist/parsing/statement_info_crawler.d.ts +106 -0
- package/dist/parsing/statement_info_crawler.d.ts.map +1 -1
- package/dist/parsing/statement_info_crawler.js +231 -12
- package/dist/parsing/statement_info_crawler.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/graph/bindings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/graph/bindings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAG/C;;;;;;GAMG;AACH,cAAM,YAAY;IACP,KAAK,EAAE,GAAG,CAAa;IACvB,SAAS,EAAE,OAAO,GAAG,IAAI,CAAQ;IACjC,aAAa,EAAE,OAAO,CAAS;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IACrC,QAAQ,EAAE,MAAM,CAAK;IACrB,MAAM,EAAE,OAAO,CAAS;CAClC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,cAAM,QAAQ;IACV,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,cAAc,CAA0B;WAElC,WAAW,IAAI,QAAQ;IAOrC;;;;OAIG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAkBnC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAKtB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIjC,kDAAkD;IAC3C,KAAK,IAAI,IAAI;IAIpB,6DAA6D;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIhD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;;OAKG;IACI,mBAAmB,CACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,OAAO,EAClB,cAAc,EAAE,MAAM,GACvB,IAAI;IAcP;;;;OAIG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAUrC;;;;OAIG;IACU,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA4CxD;AAED,eAAe,QAAQ,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
package/dist/graph/bindings.js
CHANGED
|
@@ -43,6 +43,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
43
43
|
};
|
|
44
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
45
|
exports.BindingEntry = void 0;
|
|
46
|
+
const virtual_sources_1 = require("./virtual_sources");
|
|
46
47
|
/**
|
|
47
48
|
* One entry in the {@link Bindings} singleton. Plain bindings store
|
|
48
49
|
* their materialised `value` directly; refreshable bindings (created
|
|
@@ -194,9 +195,22 @@ class Bindings {
|
|
|
194
195
|
// Lazy dynamic import to avoid a load-time cycle:
|
|
195
196
|
// bindings -> runner -> parsing -> graph (back to here).
|
|
196
197
|
const RunnerCtor = (yield Promise.resolve().then(() => __importStar(require("../compute/runner")))).default;
|
|
197
|
-
|
|
198
|
+
// Capture provenance on refresh so downstream readers can
|
|
199
|
+
// chase lineage back through this LET binding (symmetric to
|
|
200
|
+
// initial materialisation in `Let.run`).
|
|
201
|
+
const runner = new RunnerCtor(null, entry.statement, null, { provenance: true });
|
|
198
202
|
yield runner.run();
|
|
199
203
|
entry.value = runner.results;
|
|
204
|
+
const prov = runner.provenance;
|
|
205
|
+
if (Array.isArray(entry.value)) {
|
|
206
|
+
const len = Math.min(prov.length, entry.value.length);
|
|
207
|
+
for (let i = 0; i < len; i++) {
|
|
208
|
+
const row = entry.value[i];
|
|
209
|
+
if (row !== null && typeof row === "object") {
|
|
210
|
+
(0, virtual_sources_1.attachVirtualSource)(row, prov[i]);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
200
214
|
entry.primed = true;
|
|
201
215
|
entry.cachedAt = Date.now();
|
|
202
216
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../src/graph/bindings.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../src/graph/bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,10 @@ import PhysicalRelationship from "./physical_relationship";
|
|
|
10
10
|
*/
|
|
11
11
|
declare class DataCache {
|
|
12
12
|
private _cache;
|
|
13
|
+
private _provenance;
|
|
14
|
+
constructor(provenance?: boolean);
|
|
15
|
+
/** Whether sub-queries should be run with provenance enabled. */
|
|
16
|
+
get provenance(): boolean;
|
|
13
17
|
get(key: string, physical: PhysicalNode | PhysicalRelationship, args: Record<string, any> | null): Promise<Record<string, any>[]>;
|
|
14
18
|
}
|
|
15
19
|
export default DataCache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data_cache.d.ts","sourceRoot":"","sources":["../../src/graph/data_cache.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAE3D;;;;;;;GAOG;AACH,cAAM,SAAS;IACX,OAAO,CAAC,MAAM,CAAiD;
|
|
1
|
+
{"version":3,"file":"data_cache.d.ts","sourceRoot":"","sources":["../../src/graph/data_cache.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAE3D;;;;;;;GAOG;AACH,cAAM,SAAS;IACX,OAAO,CAAC,MAAM,CAAiD;IAC/D,OAAO,CAAC,WAAW,CAAU;gBAEjB,UAAU,GAAE,OAAe;IAIvC,iEAAiE;IACjE,IAAW,UAAU,IAAI,OAAO,CAE/B;IAEY,GAAG,CACZ,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,YAAY,GAAG,oBAAoB,EAC7C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GACjC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;CAmBpC;AAED,eAAe,SAAS,CAAC"}
|
package/dist/graph/data_cache.js
CHANGED
|
@@ -18,19 +18,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
* their results depend on runtime parameter values.
|
|
19
19
|
*/
|
|
20
20
|
class DataCache {
|
|
21
|
-
constructor() {
|
|
21
|
+
constructor(provenance = false) {
|
|
22
22
|
this._cache = new Map();
|
|
23
|
+
this._provenance = provenance;
|
|
24
|
+
}
|
|
25
|
+
/** Whether sub-queries should be run with provenance enabled. */
|
|
26
|
+
get provenance() {
|
|
27
|
+
return this._provenance;
|
|
23
28
|
}
|
|
24
29
|
get(key, physical, args) {
|
|
25
30
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26
31
|
if (args !== null) {
|
|
27
|
-
return physical.data(args);
|
|
32
|
+
return physical.data(args, this._provenance);
|
|
33
|
+
}
|
|
34
|
+
// Provenance mode must re-run the inner query each invocation
|
|
35
|
+
// because the virtual-source weak map is populated only on the
|
|
36
|
+
// freshly produced records. Static caches store inert records
|
|
37
|
+
// with no back-links.
|
|
38
|
+
if (this._provenance) {
|
|
39
|
+
return physical.data(null, true);
|
|
28
40
|
}
|
|
29
41
|
const cached = this._cache.get(key);
|
|
30
42
|
if (cached !== undefined) {
|
|
31
43
|
return cached;
|
|
32
44
|
}
|
|
33
|
-
const data = yield physical.data(null);
|
|
45
|
+
const data = yield physical.data(null, false);
|
|
34
46
|
this._cache.set(key, data);
|
|
35
47
|
return data;
|
|
36
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data_cache.js","sourceRoot":"","sources":["../../src/graph/data_cache.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA;;;;;;;GAOG;AACH,MAAM,SAAS;
|
|
1
|
+
{"version":3,"file":"data_cache.js","sourceRoot":"","sources":["../../src/graph/data_cache.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA;;;;;;;GAOG;AACH,MAAM,SAAS;IAIX,YAAY,aAAsB,KAAK;QAH/B,WAAM,GAAuC,IAAI,GAAG,EAAE,CAAC;QAI3D,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IAED,iEAAiE;IACjE,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEY,GAAG,CACZ,GAAW,EACX,QAA6C,EAC7C,IAAgC;;YAEhC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACjD,CAAC;YACD,8DAA8D;YAC9D,+DAA+D;YAC/D,+DAA+D;YAC/D,sBAAsB;YACtB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;CACJ;AAED,kBAAe,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data_resolver.d.ts","sourceRoot":"","sources":["../../src/graph/data_resolver.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,QAAwB,MAAM,aAAa,CAAC;AAGnD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,gBAAwC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"data_resolver.d.ts","sourceRoot":"","sources":["../../src/graph/data_resolver.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,QAAwB,MAAM,aAAa,CAAC;AAGnD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,gBAAwC,MAAM,qBAAqB,CAAC;AAG3E;;;;GAIG;AACH,cAAM,YAAY;IACd,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,UAAU,CAA8B;WAElC,WAAW,IAAI,YAAY;IAMzC;;;OAGG;IACH,IAAW,SAAS,CAAC,KAAK,EAAE,SAAS,EAEpC;IAEY,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IA0CxC,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IAgFxF,qEAAqE;IACrE,OAAO,CAAC,MAAM,CAAC,aAAa;IAU5B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAevC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,MAAM,CAAC,WAAW;CAU7B;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -30,6 +30,7 @@ const node_data_1 = __importDefault(require("./node_data"));
|
|
|
30
30
|
const node_reference_1 = __importDefault(require("./node_reference"));
|
|
31
31
|
const relationship_1 = __importDefault(require("./relationship"));
|
|
32
32
|
const relationship_data_1 = __importDefault(require("./relationship_data"));
|
|
33
|
+
const virtual_sources_1 = require("./virtual_sources");
|
|
33
34
|
/**
|
|
34
35
|
* Resolves pattern elements (nodes and relationships) to data by querying
|
|
35
36
|
* the Database registry. Handles label compatibility, caching, and schema
|
|
@@ -105,7 +106,11 @@ class DataResolver {
|
|
|
105
106
|
for (const [label, physical] of db.nodes) {
|
|
106
107
|
const data = yield this._dataCache.get(`node:${label}`, physical, null);
|
|
107
108
|
for (const record of data) {
|
|
108
|
-
|
|
109
|
+
const enriched = Object.assign(Object.assign({}, record), { _label: label });
|
|
110
|
+
const src = (0, virtual_sources_1.getVirtualSource)(record);
|
|
111
|
+
if (src !== undefined)
|
|
112
|
+
(0, virtual_sources_1.attachVirtualSource)(enriched, src);
|
|
113
|
+
allRecords.push(enriched);
|
|
109
114
|
}
|
|
110
115
|
}
|
|
111
116
|
return new node_data_1.default(allRecords);
|
|
@@ -118,7 +123,11 @@ class DataResolver {
|
|
|
118
123
|
if (physical) {
|
|
119
124
|
const data = yield this._dataCache.get(`node:${lbl}`, physical, args);
|
|
120
125
|
for (const record of data) {
|
|
121
|
-
|
|
126
|
+
const enriched = Object.assign(Object.assign({}, record), { _label: lbl });
|
|
127
|
+
const src = (0, virtual_sources_1.getVirtualSource)(record);
|
|
128
|
+
if (src !== undefined)
|
|
129
|
+
(0, virtual_sources_1.attachVirtualSource)(enriched, src);
|
|
130
|
+
allRecords.push(enriched);
|
|
122
131
|
}
|
|
123
132
|
}
|
|
124
133
|
}
|
|
@@ -130,7 +139,13 @@ class DataResolver {
|
|
|
130
139
|
}
|
|
131
140
|
const data = yield this._dataCache.get(`node:${element.label}`, node, args);
|
|
132
141
|
const label = element.label;
|
|
133
|
-
const records = data.map((record) =>
|
|
142
|
+
const records = data.map((record) => {
|
|
143
|
+
const enriched = Object.assign(Object.assign({}, record), { _label: label });
|
|
144
|
+
const src = (0, virtual_sources_1.getVirtualSource)(record);
|
|
145
|
+
if (src !== undefined)
|
|
146
|
+
(0, virtual_sources_1.attachVirtualSource)(enriched, src);
|
|
147
|
+
return enriched;
|
|
148
|
+
});
|
|
134
149
|
return new node_data_1.default(records);
|
|
135
150
|
}
|
|
136
151
|
else if (element instanceof relationship_1.default) {
|
|
@@ -147,7 +162,11 @@ class DataResolver {
|
|
|
147
162
|
const cacheKey = `rel:${(_b = (_a = physical.source) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : ""}:${typeName}:${(_d = (_c = physical.target) === null || _c === void 0 ? void 0 : _c.label) !== null && _d !== void 0 ? _d : ""}`;
|
|
148
163
|
const records = (yield this._dataCache.get(cacheKey, physical, args));
|
|
149
164
|
for (const record of records) {
|
|
150
|
-
|
|
165
|
+
const enriched = Object.assign(Object.assign({}, record), { _type: typeName });
|
|
166
|
+
const src = (0, virtual_sources_1.getVirtualSource)(record);
|
|
167
|
+
if (src !== undefined)
|
|
168
|
+
(0, virtual_sources_1.attachVirtualSource)(enriched, src);
|
|
169
|
+
allRecords.push(enriched);
|
|
151
170
|
}
|
|
152
171
|
}
|
|
153
172
|
return new relationship_data_1.default(allRecords);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data_resolver.js","sourceRoot":"","sources":["../../src/graph/data_resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAqC;AACrC,0DAAkC;AAClC,kDAA0B;AAC1B,4DAAmD;AACnD,sEAA6C;AAE7C,kEAA0C;AAC1C,4EAA2E;
|
|
1
|
+
{"version":3,"file":"data_resolver.js","sourceRoot":"","sources":["../../src/graph/data_resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
import ASTNode from "../parsing/ast_node";
|
|
2
2
|
import Node from "./node";
|
|
3
3
|
declare class PhysicalNode extends Node {
|
|
4
|
-
private
|
|
5
|
-
private _isStatic;
|
|
6
|
-
private _refreshEveryMs;
|
|
7
|
-
private _cache;
|
|
8
|
-
private _cachedAt;
|
|
4
|
+
private _virtual;
|
|
9
5
|
set statement(statement: ASTNode | null);
|
|
10
6
|
get statement(): ASTNode | null;
|
|
11
|
-
get isStatic(): boolean;
|
|
12
7
|
set isStatic(value: boolean);
|
|
13
|
-
get
|
|
8
|
+
get isStatic(): boolean;
|
|
14
9
|
set refreshEveryMs(value: number | null);
|
|
10
|
+
get refreshEveryMs(): number | null;
|
|
15
11
|
invalidateCache(): void;
|
|
16
|
-
data(args?: Record<string, any> | null): Promise<Record<string, any>[]>;
|
|
12
|
+
data(args?: Record<string, any> | null, provenance?: boolean): Promise<Record<string, any>[]>;
|
|
17
13
|
}
|
|
18
14
|
export default PhysicalNode;
|
|
19
15
|
//# sourceMappingURL=physical_node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physical_node.d.ts","sourceRoot":"","sources":["../../src/graph/physical_node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"physical_node.d.ts","sourceRoot":"","sources":["../../src/graph/physical_node.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAG1B,cAAM,YAAa,SAAQ,IAAI;IAC3B,OAAO,CAAC,QAAQ,CAA4C;IAE5D,IAAW,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,EAE7C;IACD,IAAW,SAAS,IAAI,OAAO,GAAG,IAAI,CAErC;IACD,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAEjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,IAAW,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAE7C;IACD,IAAW,cAAc,IAAI,MAAM,GAAG,IAAI,CAEzC;IACM,eAAe,IAAI,IAAI;IAGvB,IAAI,CACP,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAW,EACvC,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;CAGpC;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -1,109 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
4
|
};
|
|
47
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
6
|
const node_1 = __importDefault(require("./node"));
|
|
7
|
+
const virtual_statement_1 = __importDefault(require("./virtual_statement"));
|
|
49
8
|
class PhysicalNode extends node_1.default {
|
|
50
9
|
constructor() {
|
|
51
10
|
super(...arguments);
|
|
52
|
-
this.
|
|
53
|
-
this._isStatic = false;
|
|
54
|
-
this._refreshEveryMs = null;
|
|
55
|
-
this._cache = null;
|
|
56
|
-
this._cachedAt = 0;
|
|
11
|
+
this._virtual = new virtual_statement_1.default();
|
|
57
12
|
}
|
|
58
13
|
set statement(statement) {
|
|
59
|
-
this.
|
|
60
|
-
this.invalidateCache();
|
|
14
|
+
this._virtual.statement = statement;
|
|
61
15
|
}
|
|
62
16
|
get statement() {
|
|
63
|
-
return this.
|
|
64
|
-
}
|
|
65
|
-
get isStatic() {
|
|
66
|
-
return this._isStatic;
|
|
17
|
+
return this._virtual.statement;
|
|
67
18
|
}
|
|
68
19
|
set isStatic(value) {
|
|
69
|
-
this.
|
|
20
|
+
this._virtual.isStatic = value;
|
|
70
21
|
}
|
|
71
|
-
get
|
|
72
|
-
return this.
|
|
22
|
+
get isStatic() {
|
|
23
|
+
return this._virtual.isStatic;
|
|
73
24
|
}
|
|
74
25
|
set refreshEveryMs(value) {
|
|
75
|
-
this.
|
|
26
|
+
this._virtual.refreshEveryMs = value;
|
|
27
|
+
}
|
|
28
|
+
get refreshEveryMs() {
|
|
29
|
+
return this._virtual.refreshEveryMs;
|
|
76
30
|
}
|
|
77
31
|
invalidateCache() {
|
|
78
|
-
this.
|
|
79
|
-
this._cachedAt = 0;
|
|
32
|
+
this._virtual.invalidateCache();
|
|
80
33
|
}
|
|
81
|
-
data() {
|
|
82
|
-
return
|
|
83
|
-
if (this._statement === null) {
|
|
84
|
-
throw new Error("Statement is null");
|
|
85
|
-
}
|
|
86
|
-
// Filter pass-down queries (with args) bypass the persistent cache
|
|
87
|
-
// because results depend on runtime parameter values.
|
|
88
|
-
if (args === null && this._isStatic && this._cache !== null) {
|
|
89
|
-
const isFresh = this._refreshEveryMs === null || Date.now() - this._cachedAt < this._refreshEveryMs;
|
|
90
|
-
if (isFresh) {
|
|
91
|
-
return this._cache;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
// Lazy dynamic import to avoid a load-time cycle:
|
|
95
|
-
// physical_node -> runner -> parsing -> graph (back to here).
|
|
96
|
-
// Python uses the same idiom (function-local import).
|
|
97
|
-
const RunnerCtor = (yield Promise.resolve().then(() => __importStar(require("../compute/runner")))).default;
|
|
98
|
-
const runner = new RunnerCtor(null, this._statement, args);
|
|
99
|
-
yield runner.run();
|
|
100
|
-
const result = runner.results;
|
|
101
|
-
if (args === null && this._isStatic) {
|
|
102
|
-
this._cache = result;
|
|
103
|
-
this._cachedAt = Date.now();
|
|
104
|
-
}
|
|
105
|
-
return result;
|
|
106
|
-
});
|
|
34
|
+
data(args = null, provenance = false) {
|
|
35
|
+
return this._virtual.data(args, provenance);
|
|
107
36
|
}
|
|
108
37
|
}
|
|
109
38
|
exports.default = PhysicalNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physical_node.js","sourceRoot":"","sources":["../../src/graph/physical_node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"physical_node.js","sourceRoot":"","sources":["../../src/graph/physical_node.ts"],"names":[],"mappings":";;;;;AACA,kDAA0B;AAC1B,4EAAmD;AAEnD,MAAM,YAAa,SAAQ,cAAI;IAA/B;;QACY,aAAQ,GAAqB,IAAI,2BAAgB,EAAE,CAAC;IA6BhE,CAAC;IA3BG,IAAW,SAAS,CAAC,SAAyB;QAC1C,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;IACxC,CAAC;IACD,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;IACnC,CAAC;IACD,IAAW,QAAQ,CAAC,KAAc;QAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;IACnC,CAAC;IACD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAClC,CAAC;IACD,IAAW,cAAc,CAAC,KAAoB;QAC1C,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC;IACzC,CAAC;IACD,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;IACxC,CAAC;IACM,eAAe;QAClB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;IACpC,CAAC;IACM,IAAI,CACP,OAAmC,IAAI,EACvC,aAAsB,KAAK;QAE3B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;CACJ;AAED,kBAAe,YAAY,CAAC"}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
import ASTNode from "../parsing/ast_node";
|
|
2
2
|
import Relationship from "./relationship";
|
|
3
3
|
declare class PhysicalRelationship extends Relationship {
|
|
4
|
-
private
|
|
5
|
-
private _isStatic;
|
|
6
|
-
private _refreshEveryMs;
|
|
7
|
-
private _cache;
|
|
8
|
-
private _cachedAt;
|
|
4
|
+
private _virtual;
|
|
9
5
|
set statement(statement: ASTNode | null);
|
|
10
6
|
get statement(): ASTNode | null;
|
|
11
|
-
get isStatic(): boolean;
|
|
12
7
|
set isStatic(value: boolean);
|
|
13
|
-
get
|
|
8
|
+
get isStatic(): boolean;
|
|
14
9
|
set refreshEveryMs(value: number | null);
|
|
10
|
+
get refreshEveryMs(): number | null;
|
|
15
11
|
invalidateCache(): void;
|
|
16
|
-
data(args?: Record<string, any> | null): Promise<Record<string, any>[]>;
|
|
12
|
+
data(args?: Record<string, any> | null, provenance?: boolean): Promise<Record<string, any>[]>;
|
|
17
13
|
}
|
|
18
14
|
export default PhysicalRelationship;
|
|
19
15
|
//# sourceMappingURL=physical_relationship.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physical_relationship.d.ts","sourceRoot":"","sources":["../../src/graph/physical_relationship.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"physical_relationship.d.ts","sourceRoot":"","sources":["../../src/graph/physical_relationship.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,cAAM,oBAAqB,SAAQ,YAAY;IAC3C,OAAO,CAAC,QAAQ,CAA4C;IAE5D,IAAW,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,EAE7C;IACD,IAAW,SAAS,IAAI,OAAO,GAAG,IAAI,CAErC;IACD,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAEjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,IAAW,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAE7C;IACD,IAAW,cAAc,IAAI,MAAM,GAAG,IAAI,CAEzC;IACM,eAAe,IAAI,IAAI;IAGvB,IAAI,CACP,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAW,EACvC,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;CAGpC;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,109 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
4
|
};
|
|
47
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
6
|
const relationship_1 = __importDefault(require("./relationship"));
|
|
7
|
+
const virtual_statement_1 = __importDefault(require("./virtual_statement"));
|
|
49
8
|
class PhysicalRelationship extends relationship_1.default {
|
|
50
9
|
constructor() {
|
|
51
10
|
super(...arguments);
|
|
52
|
-
this.
|
|
53
|
-
this._isStatic = false;
|
|
54
|
-
this._refreshEveryMs = null;
|
|
55
|
-
this._cache = null;
|
|
56
|
-
this._cachedAt = 0;
|
|
11
|
+
this._virtual = new virtual_statement_1.default();
|
|
57
12
|
}
|
|
58
13
|
set statement(statement) {
|
|
59
|
-
this.
|
|
60
|
-
this.invalidateCache();
|
|
14
|
+
this._virtual.statement = statement;
|
|
61
15
|
}
|
|
62
16
|
get statement() {
|
|
63
|
-
return this.
|
|
64
|
-
}
|
|
65
|
-
get isStatic() {
|
|
66
|
-
return this._isStatic;
|
|
17
|
+
return this._virtual.statement;
|
|
67
18
|
}
|
|
68
19
|
set isStatic(value) {
|
|
69
|
-
this.
|
|
20
|
+
this._virtual.isStatic = value;
|
|
70
21
|
}
|
|
71
|
-
get
|
|
72
|
-
return this.
|
|
22
|
+
get isStatic() {
|
|
23
|
+
return this._virtual.isStatic;
|
|
73
24
|
}
|
|
74
25
|
set refreshEveryMs(value) {
|
|
75
|
-
this.
|
|
26
|
+
this._virtual.refreshEveryMs = value;
|
|
27
|
+
}
|
|
28
|
+
get refreshEveryMs() {
|
|
29
|
+
return this._virtual.refreshEveryMs;
|
|
76
30
|
}
|
|
77
31
|
invalidateCache() {
|
|
78
|
-
this.
|
|
79
|
-
this._cachedAt = 0;
|
|
32
|
+
this._virtual.invalidateCache();
|
|
80
33
|
}
|
|
81
|
-
data() {
|
|
82
|
-
return
|
|
83
|
-
if (this._statement === null) {
|
|
84
|
-
throw new Error("Statement is null");
|
|
85
|
-
}
|
|
86
|
-
// Filter pass-down queries (with args) bypass the persistent cache
|
|
87
|
-
// because results depend on runtime parameter values.
|
|
88
|
-
if (args === null && this._isStatic && this._cache !== null) {
|
|
89
|
-
const isFresh = this._refreshEveryMs === null || Date.now() - this._cachedAt < this._refreshEveryMs;
|
|
90
|
-
if (isFresh) {
|
|
91
|
-
return this._cache;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
// Lazy dynamic import to avoid a load-time cycle:
|
|
95
|
-
// physical_relationship -> runner -> parsing -> graph (back to here).
|
|
96
|
-
// Python uses the same idiom (function-local import).
|
|
97
|
-
const RunnerCtor = (yield Promise.resolve().then(() => __importStar(require("../compute/runner")))).default;
|
|
98
|
-
const runner = new RunnerCtor(null, this._statement, args);
|
|
99
|
-
yield runner.run();
|
|
100
|
-
const result = runner.results;
|
|
101
|
-
if (args === null && this._isStatic) {
|
|
102
|
-
this._cache = result;
|
|
103
|
-
this._cachedAt = Date.now();
|
|
104
|
-
}
|
|
105
|
-
return result;
|
|
106
|
-
});
|
|
34
|
+
data(args = null, provenance = false) {
|
|
35
|
+
return this._virtual.data(args, provenance);
|
|
107
36
|
}
|
|
108
37
|
}
|
|
109
38
|
exports.default = PhysicalRelationship;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physical_relationship.js","sourceRoot":"","sources":["../../src/graph/physical_relationship.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"physical_relationship.js","sourceRoot":"","sources":["../../src/graph/physical_relationship.ts"],"names":[],"mappings":";;;;;AACA,kEAA0C;AAC1C,4EAAmD;AAEnD,MAAM,oBAAqB,SAAQ,sBAAY;IAA/C;;QACY,aAAQ,GAAqB,IAAI,2BAAgB,EAAE,CAAC;IA6BhE,CAAC;IA3BG,IAAW,SAAS,CAAC,SAAyB;QAC1C,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;IACxC,CAAC;IACD,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;IACnC,CAAC;IACD,IAAW,QAAQ,CAAC,KAAc;QAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;IACnC,CAAC;IACD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAClC,CAAC;IACD,IAAW,cAAc,CAAC,KAAoB;QAC1C,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC;IACzC,CAAC;IACD,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;IACxC,CAAC;IACM,eAAe;QAClB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;IACpC,CAAC;IACM,IAAI,CACP,OAAmC,IAAI,EACvC,aAAsB,KAAK;QAE3B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;CACJ;AAED,kBAAe,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship_match_collector.d.ts","sourceRoot":"","sources":["../../src/graph/relationship_match_collector.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"relationship_match_collector.d.ts","sourceRoot":"","sources":["../../src/graph/relationship_match_collector.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,MAAM,MAAM,uBAAuB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,CAAC;AAEF,cAAM,0BAA0B;IAC5B,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,UAAU,CAA0B;IAErC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,uBAAuB;IAyBrF,IAAW,OAAO,CAAC,IAAI,EAAE,GAAG,EAI3B;IACM,GAAG,IAAI,uBAAuB,GAAG,SAAS;IAO1C,KAAK,IAAI,uBAAuB,GAAG,uBAAuB,EAAE,GAAG,IAAI;IAW1E,IAAW,OAAO,IAAI,uBAAuB,EAAE,CAE9C;IAKM,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAG7C;AAED,eAAe,0BAA0B,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const virtual_sources_1 = require("./virtual_sources");
|
|
3
4
|
class RelationshipMatchCollector {
|
|
4
5
|
constructor() {
|
|
5
6
|
this._matches = [];
|
|
@@ -13,6 +14,14 @@ class RelationshipMatchCollector {
|
|
|
13
14
|
const actualType = currentRecord && "_type" in currentRecord ? currentRecord["_type"] : relationship.type;
|
|
14
15
|
const relProperties = data === null || data === void 0 ? void 0 : data.properties();
|
|
15
16
|
const match = Object.assign(Object.assign({}, (relProperties || {})), { type: actualType, startNode: ((_a = relationship.source) === null || _a === void 0 ? void 0 : _a.value()) || {}, endNode: null, properties: relProperties });
|
|
17
|
+
// Thread the underlying record's inner provenance onto the
|
|
18
|
+
// freshly constructed match object so the snapshot can read it
|
|
19
|
+
// by reference.
|
|
20
|
+
if (currentRecord != null) {
|
|
21
|
+
const src = (0, virtual_sources_1.getVirtualSource)(currentRecord);
|
|
22
|
+
if (src !== undefined)
|
|
23
|
+
(0, virtual_sources_1.attachVirtualSource)(match, src);
|
|
24
|
+
}
|
|
16
25
|
this._matches.push(match);
|
|
17
26
|
this._nodeIds.push(traversalId);
|
|
18
27
|
this._nodeIdSet.add(traversalId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship_match_collector.js","sourceRoot":"","sources":["../../src/graph/relationship_match_collector.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"relationship_match_collector.js","sourceRoot":"","sources":["../../src/graph/relationship_match_collector.ts"],"names":[],"mappings":";;AACA,uDAA0E;AAU1E,MAAM,0BAA0B;IAAhC;QACY,aAAQ,GAA8B,EAAE,CAAC;QACzC,aAAQ,GAAkB,EAAE,CAAC;QAC7B,eAAU,GAAgB,IAAI,GAAG,EAAE,CAAC;IA4DhD,CAAC;IA1DU,IAAI,CAAC,YAA0B,EAAE,WAAmB;;QACvD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,EAAE,CAAC;QACtC,MAAM,UAAU,GACZ,aAAa,IAAI,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAK,CAAC;QAC5F,MAAM,aAAa,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAyB,CAAC;QAChE,MAAM,KAAK,mCACJ,CAAC,aAAa,IAAI,EAAE,CAAC,KACxB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,CAAA,MAAA,YAAY,CAAC,MAAM,0CAAE,KAAK,EAAE,KAAI,EAAE,EAC7C,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,aAAa,GAC5B,CAAC;QACF,2DAA2D;QAC3D,+DAA+D;QAC/D,gBAAgB;QAChB,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,IAAA,kCAAgB,EAAC,aAAa,CAAC,CAAC;YAC5C,IAAI,GAAG,KAAK,SAAS;gBAAE,IAAA,qCAAmB,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAW,OAAO,CAAC,IAAS;QACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACnE,CAAC;IACL,CAAC;IACM,GAAG;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAC/B,CAAC;IACM,KAAK;QACR,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO,MAAM,CAAC;QAClB,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,OAAO,QAAQ,CAAC;QACpB,CAAC;IACL,CAAC;IACD,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD;;;OAGG;IACI,UAAU,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;CACJ;AAED,kBAAe,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Register a virtual-sourced record with its inner provenance row. */
|
|
2
|
+
export declare function attachVirtualSource(record: object, prov: unknown): void;
|
|
3
|
+
/**
|
|
4
|
+
* Look up the inner provenance for a record / match object. Returns
|
|
5
|
+
* `undefined` if the value did not originate from a deep-mode virtual.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getVirtualSource(record: object | null | undefined): unknown | undefined;
|
|
8
|
+
//# sourceMappingURL=virtual_sources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"virtual_sources.d.ts","sourceRoot":"","sources":["../../src/graph/virtual_sources.ts"],"names":[],"mappings":"AAcA,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAEvE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAGvF"}
|