flowquery 1.0.69 → 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.
Files changed (147) hide show
  1. package/README.md +682 -86
  2. package/dist/compute/provenance.d.ts +201 -0
  3. package/dist/compute/provenance.d.ts.map +1 -0
  4. package/dist/compute/provenance.js +216 -0
  5. package/dist/compute/provenance.js.map +1 -0
  6. package/dist/compute/runner.d.ts +202 -3
  7. package/dist/compute/runner.d.ts.map +1 -1
  8. package/dist/compute/runner.js +309 -2
  9. package/dist/compute/runner.js.map +1 -1
  10. package/dist/flowquery.min.js +1 -1
  11. package/dist/graph/bindings.d.ts +78 -0
  12. package/dist/graph/bindings.d.ts.map +1 -0
  13. package/dist/graph/bindings.js +224 -0
  14. package/dist/graph/bindings.js.map +1 -0
  15. package/dist/graph/data_cache.d.ts +4 -0
  16. package/dist/graph/data_cache.d.ts.map +1 -1
  17. package/dist/graph/data_cache.js +15 -3
  18. package/dist/graph/data_cache.js.map +1 -1
  19. package/dist/graph/data_resolver.d.ts.map +1 -1
  20. package/dist/graph/data_resolver.js +23 -4
  21. package/dist/graph/data_resolver.js.map +1 -1
  22. package/dist/graph/database.d.ts +4 -2
  23. package/dist/graph/database.d.ts.map +1 -1
  24. package/dist/graph/database.js +45 -9
  25. package/dist/graph/database.js.map +1 -1
  26. package/dist/graph/physical_node.d.ts +7 -2
  27. package/dist/graph/physical_node.d.ts.map +1 -1
  28. package/dist/graph/physical_node.js +22 -26
  29. package/dist/graph/physical_node.js.map +1 -1
  30. package/dist/graph/physical_relationship.d.ts +7 -2
  31. package/dist/graph/physical_relationship.d.ts.map +1 -1
  32. package/dist/graph/physical_relationship.js +22 -26
  33. package/dist/graph/physical_relationship.js.map +1 -1
  34. package/dist/graph/relationship_match_collector.d.ts.map +1 -1
  35. package/dist/graph/relationship_match_collector.js +9 -0
  36. package/dist/graph/relationship_match_collector.js.map +1 -1
  37. package/dist/graph/virtual_sources.d.ts +8 -0
  38. package/dist/graph/virtual_sources.d.ts.map +1 -0
  39. package/dist/graph/virtual_sources.js +31 -0
  40. package/dist/graph/virtual_sources.js.map +1 -0
  41. package/dist/graph/virtual_statement.d.ts +41 -0
  42. package/dist/graph/virtual_statement.d.ts.map +1 -0
  43. package/dist/graph/virtual_statement.js +143 -0
  44. package/dist/graph/virtual_statement.js.map +1 -0
  45. package/dist/index.browser.d.ts +3 -3
  46. package/dist/index.browser.d.ts.map +1 -1
  47. package/dist/index.browser.js.map +1 -1
  48. package/dist/index.node.d.ts +3 -3
  49. package/dist/index.node.d.ts.map +1 -1
  50. package/dist/index.node.js.map +1 -1
  51. package/dist/parsing/ast_node.d.ts +9 -0
  52. package/dist/parsing/ast_node.d.ts.map +1 -1
  53. package/dist/parsing/ast_node.js +21 -4
  54. package/dist/parsing/ast_node.js.map +1 -1
  55. package/dist/parsing/expressions/binding_reference.d.ts +16 -0
  56. package/dist/parsing/expressions/binding_reference.d.ts.map +1 -0
  57. package/dist/parsing/expressions/binding_reference.js +34 -0
  58. package/dist/parsing/expressions/binding_reference.js.map +1 -0
  59. package/dist/parsing/operations/aggregated_return.d.ts +10 -0
  60. package/dist/parsing/operations/aggregated_return.d.ts.map +1 -1
  61. package/dist/parsing/operations/aggregated_return.js +56 -3
  62. package/dist/parsing/operations/aggregated_return.js.map +1 -1
  63. package/dist/parsing/operations/aggregated_with.d.ts +20 -0
  64. package/dist/parsing/operations/aggregated_with.d.ts.map +1 -1
  65. package/dist/parsing/operations/aggregated_with.js +33 -1
  66. package/dist/parsing/operations/aggregated_with.js.map +1 -1
  67. package/dist/parsing/operations/create_node.d.ts +5 -1
  68. package/dist/parsing/operations/create_node.d.ts.map +1 -1
  69. package/dist/parsing/operations/create_node.js +12 -2
  70. package/dist/parsing/operations/create_node.js.map +1 -1
  71. package/dist/parsing/operations/create_relationship.d.ts +5 -1
  72. package/dist/parsing/operations/create_relationship.d.ts.map +1 -1
  73. package/dist/parsing/operations/create_relationship.js +12 -2
  74. package/dist/parsing/operations/create_relationship.js.map +1 -1
  75. package/dist/parsing/operations/drop_binding.d.ts +15 -0
  76. package/dist/parsing/operations/drop_binding.d.ts.map +1 -0
  77. package/dist/parsing/operations/drop_binding.js +42 -0
  78. package/dist/parsing/operations/drop_binding.js.map +1 -0
  79. package/dist/parsing/operations/group_by.d.ts +32 -0
  80. package/dist/parsing/operations/group_by.d.ts.map +1 -1
  81. package/dist/parsing/operations/group_by.js +103 -0
  82. package/dist/parsing/operations/group_by.js.map +1 -1
  83. package/dist/parsing/operations/let.d.ts +36 -0
  84. package/dist/parsing/operations/let.d.ts.map +1 -0
  85. package/dist/parsing/operations/let.js +154 -0
  86. package/dist/parsing/operations/let.js.map +1 -0
  87. package/dist/parsing/operations/load.d.ts +31 -0
  88. package/dist/parsing/operations/load.d.ts.map +1 -1
  89. package/dist/parsing/operations/load.js +102 -2
  90. package/dist/parsing/operations/load.js.map +1 -1
  91. package/dist/parsing/operations/merge.d.ts +158 -0
  92. package/dist/parsing/operations/merge.d.ts.map +1 -0
  93. package/dist/parsing/operations/merge.js +338 -0
  94. package/dist/parsing/operations/merge.js.map +1 -0
  95. package/dist/parsing/operations/order_by.d.ts +6 -0
  96. package/dist/parsing/operations/order_by.d.ts.map +1 -1
  97. package/dist/parsing/operations/order_by.js +10 -1
  98. package/dist/parsing/operations/order_by.js.map +1 -1
  99. package/dist/parsing/operations/refresh_binding.d.ts +15 -0
  100. package/dist/parsing/operations/refresh_binding.d.ts.map +1 -0
  101. package/dist/parsing/operations/refresh_binding.js +42 -0
  102. package/dist/parsing/operations/refresh_binding.js.map +1 -0
  103. package/dist/parsing/operations/refresh_node.d.ts +11 -0
  104. package/dist/parsing/operations/refresh_node.d.ts.map +1 -0
  105. package/dist/parsing/operations/refresh_node.js +46 -0
  106. package/dist/parsing/operations/refresh_node.js.map +1 -0
  107. package/dist/parsing/operations/refresh_relationship.d.ts +11 -0
  108. package/dist/parsing/operations/refresh_relationship.d.ts.map +1 -0
  109. package/dist/parsing/operations/refresh_relationship.js +46 -0
  110. package/dist/parsing/operations/refresh_relationship.js.map +1 -0
  111. package/dist/parsing/operations/return.d.ts +34 -0
  112. package/dist/parsing/operations/return.d.ts.map +1 -1
  113. package/dist/parsing/operations/return.js +102 -3
  114. package/dist/parsing/operations/return.js.map +1 -1
  115. package/dist/parsing/operations/union.d.ts +19 -2
  116. package/dist/parsing/operations/union.d.ts.map +1 -1
  117. package/dist/parsing/operations/union.js +47 -11
  118. package/dist/parsing/operations/union.js.map +1 -1
  119. package/dist/parsing/operations/union_all.d.ts +5 -1
  120. package/dist/parsing/operations/union_all.d.ts.map +1 -1
  121. package/dist/parsing/operations/union_all.js +8 -2
  122. package/dist/parsing/operations/union_all.js.map +1 -1
  123. package/dist/parsing/operations/update.d.ts +27 -0
  124. package/dist/parsing/operations/update.d.ts.map +1 -0
  125. package/dist/parsing/operations/update.js +88 -0
  126. package/dist/parsing/operations/update.js.map +1 -0
  127. package/dist/parsing/operations/update_delete.d.ts +43 -0
  128. package/dist/parsing/operations/update_delete.d.ts.map +1 -0
  129. package/dist/parsing/operations/update_delete.js +105 -0
  130. package/dist/parsing/operations/update_delete.js.map +1 -0
  131. package/dist/parsing/parser.d.ts +70 -1
  132. package/dist/parsing/parser.d.ts.map +1 -1
  133. package/dist/parsing/parser.js +704 -10
  134. package/dist/parsing/parser.js.map +1 -1
  135. package/dist/parsing/statement_info_crawler.d.ts +106 -0
  136. package/dist/parsing/statement_info_crawler.d.ts.map +1 -1
  137. package/dist/parsing/statement_info_crawler.js +231 -12
  138. package/dist/parsing/statement_info_crawler.js.map +1 -1
  139. package/dist/tokenization/keyword.d.ts +21 -1
  140. package/dist/tokenization/keyword.d.ts.map +1 -1
  141. package/dist/tokenization/keyword.js +20 -0
  142. package/dist/tokenization/keyword.js.map +1 -1
  143. package/dist/tokenization/token.d.ts +24 -0
  144. package/dist/tokenization/token.d.ts.map +1 -1
  145. package/dist/tokenization/token.js +73 -0
  146. package/dist/tokenization/token.js.map +1 -1
  147. package/package.json +1 -1
@@ -12,11 +12,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ const provenance_1 = require("../../compute/provenance");
15
16
  const projection_1 = __importDefault(require("./projection"));
16
17
  class Node {
17
18
  constructor(value = null) {
18
19
  this._children = new Map();
19
20
  this._elements = null;
21
+ this._provenanceNodes = null;
22
+ this._provenanceRels = null;
23
+ this._provenanceRows = null;
20
24
  this._value = value;
21
25
  }
22
26
  get value() {
@@ -31,6 +35,32 @@ class Node {
31
35
  set elements(elements) {
32
36
  this._elements = elements;
33
37
  }
38
+ /** Per-group dedup map for contributing node bindings (lazy). */
39
+ get provenanceNodes() {
40
+ if (this._provenanceNodes === null) {
41
+ this._provenanceNodes = new Map();
42
+ }
43
+ return this._provenanceNodes;
44
+ }
45
+ /** Per-group dedup map for contributing relationship bindings (lazy). */
46
+ get provenanceRelationships() {
47
+ if (this._provenanceRels === null) {
48
+ this._provenanceRels = new Map();
49
+ }
50
+ return this._provenanceRels;
51
+ }
52
+ /**
53
+ * Per-input-row contribution segments in arrival order. One entry is
54
+ * appended per `GroupBy.run()` call that lands in this group, so an
55
+ * aggregate row's `provenance.rows` aligns positionally with
56
+ * `collect(...)` outputs from the same group.
57
+ */
58
+ get provenanceRows() {
59
+ if (this._provenanceRows === null) {
60
+ this._provenanceRows = [];
61
+ }
62
+ return this._provenanceRows;
63
+ }
34
64
  }
35
65
  class GroupBy extends projection_1.default {
36
66
  constructor() {
@@ -40,14 +70,55 @@ class GroupBy extends projection_1.default {
40
70
  this._mappers = null;
41
71
  this._reducers = null;
42
72
  this._where = null;
73
+ this._provenanceSources = null;
43
74
  }
44
75
  run() {
45
76
  return __awaiter(this, void 0, void 0, function* () {
46
77
  this.resetTree();
47
78
  this.map();
48
79
  this.reduce();
80
+ this.recordProvenance();
49
81
  });
50
82
  }
83
+ /**
84
+ * Register a provenance source whose snapshot is folded into the
85
+ * currently active group on every `run()`. May be called multiple
86
+ * times to compose contributions from several upstream MATCHes or
87
+ * upstream aggregation boundaries.
88
+ */
89
+ addProvenanceSource(source) {
90
+ if (this._provenanceSources === null) {
91
+ this._provenanceSources = [];
92
+ }
93
+ this._provenanceSources.push(source);
94
+ }
95
+ get provenanceEnabled() {
96
+ return this._provenanceSources !== null;
97
+ }
98
+ recordProvenance() {
99
+ if (this._provenanceSources === null)
100
+ return;
101
+ const nodeMap = this.current.provenanceNodes;
102
+ const relMap = this.current.provenanceRelationships;
103
+ // Per-input-row segment: a single merged contribution for THIS run().
104
+ const rowSegment = { nodes: [], relationships: [] };
105
+ for (const src of this._provenanceSources) {
106
+ const snap = src.snapshot();
107
+ for (const b of snap.nodes) {
108
+ rowSegment.nodes.push(b);
109
+ const k = (0, provenance_1.nodeBindingKey)(b);
110
+ if (!nodeMap.has(k))
111
+ nodeMap.set(k, b);
112
+ }
113
+ for (const b of snap.relationships) {
114
+ rowSegment.relationships.push(b);
115
+ const k = (0, provenance_1.relationshipBindingKey)(b);
116
+ if (!relMap.has(k))
117
+ relMap.set(k, b);
118
+ }
119
+ }
120
+ this.current.provenanceRows.push(rowSegment);
121
+ }
51
122
  get root() {
52
123
  return this._root;
53
124
  }
@@ -132,6 +203,38 @@ class GroupBy extends projection_1.default {
132
203
  }
133
204
  }
134
205
  }
206
+ /**
207
+ * Walks the group tree in the same traversal order as
208
+ * {@link generate_results}, yielding the materialised {@link
209
+ * RowProvenance} for each emitted group. When provenance is
210
+ * disabled, yields empty entries so callers can still zip cleanly.
211
+ */
212
+ *generate_provenance(mapperIndex = 0, node = this.root) {
213
+ if (mapperIndex === 0 && node.children.size === 0 && this.mappers.length > 0) {
214
+ return;
215
+ }
216
+ if (node.children.size > 0) {
217
+ for (const child of node.children.values()) {
218
+ this.mappers[mapperIndex].overridden = child.value;
219
+ yield* this.generate_provenance(mapperIndex + 1, child);
220
+ }
221
+ }
222
+ else {
223
+ if (node.elements === null) {
224
+ node.elements = this.reducers.map((reducer) => reducer.element());
225
+ }
226
+ node.elements.forEach((element, reducerIndex) => {
227
+ this.reducers[reducerIndex].overridden = element.value;
228
+ });
229
+ if (!this.where)
230
+ return;
231
+ yield {
232
+ nodes: Array.from(node.provenanceNodes.values()),
233
+ relationships: Array.from(node.provenanceRelationships.values()),
234
+ rows: node.provenanceRows,
235
+ };
236
+ }
237
+ }
135
238
  set where(where) {
136
239
  this._where = where;
137
240
  }
@@ -1 +1 @@
1
- {"version":3,"file":"group_by.js","sourceRoot":"","sources":["../../../src/parsing/operations/group_by.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,8DAAsC;AAGtC,MAAM,IAAI;IAIN,YAAY,QAAa,IAAI;QAFrB,cAAS,GAAsB,IAAI,GAAG,EAAE,CAAC;QACzC,cAAS,GAAgC,IAAI,CAAC;QAElD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,IAAW,QAAQ,CAAC,QAA8B;QAC9C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;CACJ;AAED,MAAM,OAAQ,SAAQ,oBAAU;IAAhC;;QACY,UAAK,GAAS,IAAI,IAAI,EAAE,CAAC;QACzB,aAAQ,GAAS,IAAI,CAAC,KAAK,CAAC;QAC5B,aAAQ,GAAwB,IAAI,CAAC;QACrC,cAAS,GAA+B,IAAI,CAAC;QAC3C,WAAM,GAAiB,IAAI,CAAC;IAsG1C,CAAC;IArGgB,GAAG;;YACZ,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;KAAA;IACD,IAAY,IAAI;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACD,IAAY,OAAO;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,IAAY,OAAO,CAAC,IAAU;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IACO,SAAS;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;IAC7B,CAAC;IACO,GAAG;QACP,IAAI,IAAI,GAAS,IAAI,CAAC,OAAO,CAAC;QAC9B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,KAAK,GAAQ,MAAM,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,GAAG,GACL,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxF,IAAI,KAAK,GAAqB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,GAAG,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IACO,MAAM;QACV,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,QAAQ,GAAyB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;IACD,IAAY,OAAO;QACf,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACO,CAAC,iBAAiB;QACtB,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/C,IAAI,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACxB,MAAM,UAAU,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC;IACD,IAAY,QAAQ;QAChB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ;iBACzB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACX,OAAQ,KAAoB,CAAC,QAAQ,EAAE,CAAC;YAC5C,CAAC,CAAC;iBACD,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACM,CAAC,gBAAgB,CACpB,cAAsB,CAAC,EACvB,OAAa,IAAI,CAAC,IAAI;QAEtB,IAAI,WAAW,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3E,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;gBACnD,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;gBAC5C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;YAC3D,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,GAAwB,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACnD,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;YACvC,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAM,MAAM,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;IACD,IAAW,KAAK,CAAC,KAAY;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,IAAW,KAAK;QACZ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACJ;AAED,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"group_by.js","sourceRoot":"","sources":["../../../src/parsing/operations/group_by.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import ASTNode from "../ast_node";
2
+ import Expression from "../expressions/expression";
3
+ import Operation from "./operation";
4
+ /**
5
+ * `LET name = <expression-or-query>`: binds a value to a name in the
6
+ * global {@link Bindings} store.
7
+ *
8
+ * The right-hand side is either a parsed expression (literal, function
9
+ * call, identifier, ...) or a sub-query AST that is executed at
10
+ * run-time; a query RHS materialises to the list of result rows. In
11
+ * either case the value is stored eagerly when the `LET` operation
12
+ * runs and remains available to subsequent statements until
13
+ * overwritten or `DROP BINDING name` is executed.
14
+ *
15
+ * `LET name = { ... } REFRESH EVERY n unit` registers a refreshable
16
+ * binding: the sub-query is evaluated once at `LET` time, the result
17
+ * is cached, and the next read after the TTL has elapsed re-executes
18
+ * the sub-query. Refreshable bindings cannot be silently replaced;
19
+ * `DROP BINDING name` first.
20
+ */
21
+ declare class Let extends Operation {
22
+ private _name;
23
+ private _expression;
24
+ private _subQuery;
25
+ private _value;
26
+ private _refreshEveryMs;
27
+ constructor(name: string, expression: Expression | null, subQuery: ASTNode | null, refreshEveryMs?: number | null);
28
+ get name(): string;
29
+ get expression(): Expression | null;
30
+ get subQuery(): ASTNode | null;
31
+ get refreshEveryMs(): number | null;
32
+ run(): Promise<void>;
33
+ get results(): Record<string, any>[];
34
+ }
35
+ export default Let;
36
+ //# sourceMappingURL=let.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"let.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/let.ts"],"names":[],"mappings":"AAGA,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC;;;;;;;;;;;;;;;;GAgBG;AACH,cAAM,GAAI,SAAQ,SAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAAgB;gBAGnC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,QAAQ,EAAE,OAAO,GAAG,IAAI,EACxB,cAAc,GAAE,MAAM,GAAG,IAAW;IAexC,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,UAAU,IAAI,UAAU,GAAG,IAAI,CAEzC;IAED,IAAW,QAAQ,IAAI,OAAO,GAAG,IAAI,CAEpC;IAED,IAAW,cAAc,IAAI,MAAM,GAAG,IAAI,CAEzC;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA8CjC,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAK1C;CACJ;AAED,eAAe,GAAG,CAAC"}
@@ -0,0 +1,154 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ const bindings_1 = __importDefault(require("../../graph/bindings"));
49
+ const virtual_sources_1 = require("../../graph/virtual_sources");
50
+ const operation_1 = __importDefault(require("./operation"));
51
+ /**
52
+ * `LET name = <expression-or-query>`: binds a value to a name in the
53
+ * global {@link Bindings} store.
54
+ *
55
+ * The right-hand side is either a parsed expression (literal, function
56
+ * call, identifier, ...) or a sub-query AST that is executed at
57
+ * run-time; a query RHS materialises to the list of result rows. In
58
+ * either case the value is stored eagerly when the `LET` operation
59
+ * runs and remains available to subsequent statements until
60
+ * overwritten or `DROP BINDING name` is executed.
61
+ *
62
+ * `LET name = { ... } REFRESH EVERY n unit` registers a refreshable
63
+ * binding: the sub-query is evaluated once at `LET` time, the result
64
+ * is cached, and the next read after the TTL has elapsed re-executes
65
+ * the sub-query. Refreshable bindings cannot be silently replaced;
66
+ * `DROP BINDING name` first.
67
+ */
68
+ class Let extends operation_1.default {
69
+ constructor(name, expression, subQuery, refreshEveryMs = null) {
70
+ super();
71
+ this._value = undefined;
72
+ this._name = name;
73
+ this._expression = expression;
74
+ this._subQuery = subQuery;
75
+ this._refreshEveryMs = refreshEveryMs;
76
+ if (expression !== null) {
77
+ this.addChild(expression);
78
+ }
79
+ if (subQuery !== null) {
80
+ this.addChild(subQuery);
81
+ }
82
+ }
83
+ get name() {
84
+ return this._name;
85
+ }
86
+ get expression() {
87
+ return this._expression;
88
+ }
89
+ get subQuery() {
90
+ return this._subQuery;
91
+ }
92
+ get refreshEveryMs() {
93
+ return this._refreshEveryMs;
94
+ }
95
+ run() {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ var _a;
98
+ const bindings = bindings_1.default.getInstance();
99
+ let value;
100
+ if (this._subQuery !== null) {
101
+ const first = this._subQuery.firstChild();
102
+ const last = this._subQuery.lastChild();
103
+ // Always capture provenance for sub-query LET RHS: it lets
104
+ // downstream consumers (e.g. `LOAD JSON FROM <letName>`)
105
+ // thread row-level lineage back through this binding. Cost
106
+ // is paid once at LET time; downstream readers pay nothing
107
+ // when they don't ask.
108
+ const sink = [];
109
+ // Lazy dynamic import to avoid a load-time cycle:
110
+ // let -> runner -> parser -> let.
111
+ const { default: Runner } = yield Promise.resolve().then(() => __importStar(require("../../compute/runner")));
112
+ Runner.wireProvenance(first, sink);
113
+ yield first.initialize();
114
+ yield first.run();
115
+ yield first.finish();
116
+ value = last.results;
117
+ if (Array.isArray(value)) {
118
+ const len = Math.min(sink.length, value.length);
119
+ for (let i = 0; i < len; i++) {
120
+ const row = value[i];
121
+ if (row !== null && typeof row === "object") {
122
+ (0, virtual_sources_1.attachVirtualSource)(row, sink[i]);
123
+ }
124
+ }
125
+ }
126
+ }
127
+ else if (this._expression !== null) {
128
+ value = this._expression.value();
129
+ }
130
+ else {
131
+ value = null;
132
+ }
133
+ this._value = value;
134
+ if (this._refreshEveryMs !== null) {
135
+ if (this._subQuery === null) {
136
+ throw new Error("LET REFRESH EVERY requires a sub-query right-hand side");
137
+ }
138
+ bindings.registerRefreshable(this._name, value, this._subQuery, this._refreshEveryMs);
139
+ }
140
+ else {
141
+ bindings.set(this._name, value);
142
+ }
143
+ yield ((_a = this.next) === null || _a === void 0 ? void 0 : _a.run());
144
+ });
145
+ }
146
+ get results() {
147
+ if (Array.isArray(this._value)) {
148
+ return this._value;
149
+ }
150
+ return [];
151
+ }
152
+ }
153
+ exports.default = Let;
154
+ //# sourceMappingURL=let.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"let.js","sourceRoot":"","sources":["../../../src/parsing/operations/let.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { ProvenanceSource } from "../../compute/provenance";
1
2
  import CSV from "../components/csv";
2
3
  import From from "../components/from";
3
4
  import { default as _JSON } from "../components/json";
@@ -50,9 +51,39 @@ declare class Load extends Operation {
50
51
  * Loads data from a URL source (original behavior).
51
52
  */
52
53
  private loadFromUrl;
54
+ /**
55
+ * Emits an already-resolved JSON value (e.g. coming from a LET-binding
56
+ * referenced by `LOAD JSON FROM <name>`). Arrays expand into one
57
+ * iteration per element; non-array values are emitted once.
58
+ */
59
+ private loadFromValue;
60
+ /**
61
+ * Drives the downstream pipeline for the given data. Shared by
62
+ * URL / file / value loading paths.
63
+ */
64
+ private emit;
53
65
  load(): Promise<any>;
54
66
  run(): Promise<void>;
55
67
  value(): any;
68
+ /**
69
+ * Resolve a stable label for the data source without throwing.
70
+ * Returns a URL / file URI for direct `FROM` strings, the function
71
+ * name for `LOAD ... FROM asyncFn(...)`, or `let://<name>` when the
72
+ * source is a `LET`-bound binding reference. Returns `null` when
73
+ * the source expression cannot be resolved at inspection time
74
+ * (e.g. an unresolved f-string).
75
+ */
76
+ resolveSourceLabel(): string | null;
77
+ /**
78
+ * Expose this `Load` as a row-level provenance source. Each
79
+ * snapshot reads the currently-emitted record and produces one
80
+ * `DataSourceBinding` describing where the row came from. When the
81
+ * source is a `LET`-backed dataset and the loaded row carries an
82
+ * inner `RowProvenance` (registered via `attachVirtualSource` when
83
+ * the `LET` ran), that inner provenance is threaded through as
84
+ * `source_provenance` for recursive traceability.
85
+ */
86
+ asProvenanceSource(): ProvenanceSource;
56
87
  }
57
88
  export default Load;
58
89
  //# sourceMappingURL=load.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/load.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,cAAM,IAAK,SAAQ,SAAS;IACxB,OAAO,CAAC,MAAM,CAAa;;IAK3B,IAAW,IAAI,IAAI,KAAK,GAAG,GAAG,GAAG,IAAI,CAEpC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,IAAI,CAE/B;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,aAAa,GAAG,IAAI,CAG/C;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAAW,OAAO,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAK9C;IACD,IAAW,OAAO,IAAI,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAUzF;IACD,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,OAAO;IAcf;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAG9B;IAED;;;OAGG;YACW,YAAY;IA4B1B;;;OAGG;YACW,gBAAgB;IAS9B;;OAEG;YACW,WAAW;IAsBZ,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;IASpB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ1B,KAAK,IAAI,GAAG;CAGtB;AAED,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/load.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,gBAAgB,EAGnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAE/C,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,cAAM,IAAK,SAAQ,SAAS;IACxB,OAAO,CAAC,MAAM,CAAa;;IAK3B,IAAW,IAAI,IAAI,KAAK,GAAG,GAAG,GAAG,IAAI,CAEpC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,IAAI,CAE/B;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,aAAa,GAAG,IAAI,CAG/C;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAAW,OAAO,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAK9C;IACD,IAAW,OAAO,IAAI,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAUzF;IACD,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,OAAO;IAcf;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAG9B;IAED;;;OAGG;YACW,YAAY;IA4B1B;;;OAGG;YACW,gBAAgB;IAS9B;;OAEG;YACW,WAAW;IAWzB;;;;OAIG;YACW,aAAa;IAI3B;;;OAGG;YACW,IAAI;IAkBL,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;IAcpB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ1B,KAAK,IAAI,GAAG;IAInB;;;;;;;OAOG;IACI,kBAAkB,IAAI,MAAM,GAAG,IAAI;IA0B1C;;;;;;;;OAQG;IACI,kBAAkB,IAAI,gBAAgB;CAsBhD;AAED,eAAe,IAAI,CAAC"}
@@ -19,10 +19,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
19
  return (mod && mod.__esModule) ? mod : { "default": mod };
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
+ const virtual_sources_1 = require("../../graph/virtual_sources");
22
23
  const headers_1 = __importDefault(require("../components/headers"));
23
24
  const json_1 = __importDefault(require("../components/json"));
24
25
  const post_1 = __importDefault(require("../components/post"));
25
26
  const text_1 = __importDefault(require("../components/text"));
27
+ const binding_reference_1 = __importDefault(require("../expressions/binding_reference"));
26
28
  const async_function_1 = __importDefault(require("../functions/async_function"));
27
29
  const operation_1 = __importDefault(require("./operation"));
28
30
  class Load extends operation_1.default {
@@ -168,7 +170,6 @@ class Load extends operation_1.default {
168
170
  */
169
171
  loadFromUrl() {
170
172
  return __awaiter(this, void 0, void 0, function* () {
171
- var _a, _b, _c;
172
173
  const result = yield fetch(this.from, this.options());
173
174
  let data = null;
174
175
  if (this.type instanceof json_1.default) {
@@ -177,6 +178,26 @@ class Load extends operation_1.default {
177
178
  else if (this.type instanceof text_1.default) {
178
179
  data = yield result.text();
179
180
  }
181
+ yield this.emit(data);
182
+ });
183
+ }
184
+ /**
185
+ * Emits an already-resolved JSON value (e.g. coming from a LET-binding
186
+ * referenced by `LOAD JSON FROM <name>`). Arrays expand into one
187
+ * iteration per element; non-array values are emitted once.
188
+ */
189
+ loadFromValue(data) {
190
+ return __awaiter(this, void 0, void 0, function* () {
191
+ yield this.emit(data);
192
+ });
193
+ }
194
+ /**
195
+ * Drives the downstream pipeline for the given data. Shared by
196
+ * URL / file / value loading paths.
197
+ */
198
+ emit(data) {
199
+ return __awaiter(this, void 0, void 0, function* () {
200
+ var _a, _b, _c, _d;
180
201
  if (Array.isArray(data)) {
181
202
  for (const item of data) {
182
203
  this._value = item;
@@ -191,6 +212,10 @@ class Load extends operation_1.default {
191
212
  this._value = data;
192
213
  yield ((_c = this.next) === null || _c === void 0 ? void 0 : _c.run());
193
214
  }
215
+ else if (data !== null && data !== undefined) {
216
+ this._value = data;
217
+ yield ((_d = this.next) === null || _d === void 0 ? void 0 : _d.run());
218
+ }
194
219
  });
195
220
  }
196
221
  load() {
@@ -202,7 +227,13 @@ class Load extends operation_1.default {
202
227
  yield this.loadFromFile();
203
228
  }
204
229
  else {
205
- yield this.loadFromUrl();
230
+ const source = this.children[1].value();
231
+ if (typeof source === "string") {
232
+ yield this.loadFromUrl();
233
+ }
234
+ else {
235
+ yield this.loadFromValue(source);
236
+ }
206
237
  }
207
238
  });
208
239
  }
@@ -221,6 +252,75 @@ class Load extends operation_1.default {
221
252
  value() {
222
253
  return this._value;
223
254
  }
255
+ /**
256
+ * Resolve a stable label for the data source without throwing.
257
+ * Returns a URL / file URI for direct `FROM` strings, the function
258
+ * name for `LOAD ... FROM asyncFn(...)`, or `let://<name>` when the
259
+ * source is a `LET`-bound binding reference. Returns `null` when
260
+ * the source expression cannot be resolved at inspection time
261
+ * (e.g. an unresolved f-string).
262
+ */
263
+ resolveSourceLabel() {
264
+ var _a, _b;
265
+ if (this.isAsyncFunction) {
266
+ const name = (_a = this.asyncFunction) === null || _a === void 0 ? void 0 : _a.name;
267
+ return typeof name === "string" && name.length > 0 ? name : null;
268
+ }
269
+ // `LOAD FROM <letName>` parses as an Expression wrapping a
270
+ // BindingReference; unwrap one level so we can produce a stable
271
+ // `let://<name>` source label without invoking the binding
272
+ // lookup at inspection time.
273
+ let sourceChild = this.fromComponent.firstChild();
274
+ if (sourceChild !== null && !(sourceChild instanceof binding_reference_1.default)) {
275
+ const inner = (_b = sourceChild.firstChild) === null || _b === void 0 ? void 0 : _b.call(sourceChild);
276
+ if (inner instanceof binding_reference_1.default)
277
+ sourceChild = inner;
278
+ }
279
+ if (sourceChild instanceof binding_reference_1.default) {
280
+ return `let://${sourceChild.name}`;
281
+ }
282
+ try {
283
+ const v = this.from;
284
+ if (typeof v === "string" && v.length > 0)
285
+ return v;
286
+ }
287
+ catch (_c) {
288
+ // Dynamic source (e.g. f-string with unresolved references).
289
+ }
290
+ return null;
291
+ }
292
+ /**
293
+ * Expose this `Load` as a row-level provenance source. Each
294
+ * snapshot reads the currently-emitted record and produces one
295
+ * `DataSourceBinding` describing where the row came from. When the
296
+ * source is a `LET`-backed dataset and the loaded row carries an
297
+ * inner `RowProvenance` (registered via `attachVirtualSource` when
298
+ * the `LET` ran), that inner provenance is threaded through as
299
+ * `source_provenance` for recursive traceability.
300
+ */
301
+ asProvenanceSource() {
302
+ const owner = this;
303
+ return {
304
+ snapshot() {
305
+ const label = owner.resolveSourceLabel();
306
+ if (label === null) {
307
+ return { nodes: [], relationships: [] };
308
+ }
309
+ const binding = { source: label };
310
+ const current = owner._value;
311
+ if (current !== null && typeof current === "object") {
312
+ const inner = (0, virtual_sources_1.getVirtualSource)(current);
313
+ if (inner !== undefined)
314
+ binding.source_provenance = inner;
315
+ }
316
+ return {
317
+ nodes: [],
318
+ relationships: [],
319
+ data_sources: [binding],
320
+ };
321
+ },
322
+ };
323
+ }
224
324
  }
225
325
  exports.default = Load;
226
326
  //# sourceMappingURL=load.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load.js","sourceRoot":"","sources":["../../../src/parsing/operations/load.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../../src/parsing/operations/load.ts"],"names":[],"mappings":"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"}