@rocicorp/zero 0.24.2025092500 → 0.24.2025093000

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 (104) hide show
  1. package/out/analyze-query/src/run-ast.d.ts.map +1 -1
  2. package/out/analyze-query/src/run-ast.js +8 -0
  3. package/out/analyze-query/src/run-ast.js.map +1 -1
  4. package/out/ast-to-zql/src/ast-to-zql.js +5 -4
  5. package/out/ast-to-zql/src/ast-to-zql.js.map +1 -1
  6. package/out/{chunk-N4QOJO4J.js → chunk-CWBP2EI4.js} +94 -151
  7. package/out/{chunk-N4QOJO4J.js.map → chunk-CWBP2EI4.js.map} +4 -4
  8. package/out/{chunk-576ADFNS.js → chunk-HMS3EZCQ.js} +3 -3
  9. package/out/{chunk-576ADFNS.js.map → chunk-HMS3EZCQ.js.map} +2 -2
  10. package/out/{chunk-QZPMFA73.js → chunk-YXYKEMHQ.js} +893 -263
  11. package/out/chunk-YXYKEMHQ.js.map +7 -0
  12. package/out/{lazy-inspector-TOTYUTBC.js → lazy-inspector-A5VQLZYJ.js} +7 -6
  13. package/out/lazy-inspector-A5VQLZYJ.js.map +7 -0
  14. package/out/react.js +2 -2
  15. package/out/solid.js +3 -3
  16. package/out/zero/package.json +1 -1
  17. package/out/zero-cache/src/services/replicator/replication-status.d.ts.map +1 -1
  18. package/out/zero-cache/src/services/replicator/replication-status.js +10 -6
  19. package/out/zero-cache/src/services/replicator/replication-status.js.map +1 -1
  20. package/out/zero-events/src/status.d.ts +44 -18
  21. package/out/zero-events/src/status.d.ts.map +1 -1
  22. package/out/zero-events/src/status.js +8 -3
  23. package/out/zero-events/src/status.js.map +1 -1
  24. package/out/zero-protocol/src/ast.d.ts +1 -2
  25. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  26. package/out/zero-protocol/src/ast.js +1 -2
  27. package/out/zero-protocol/src/ast.js.map +1 -1
  28. package/out/zero-protocol/src/protocol-version.d.ts +1 -1
  29. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
  30. package/out/zero-protocol/src/protocol-version.js +2 -1
  31. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  32. package/out/zero.js +3 -3
  33. package/out/zql/src/builder/builder.d.ts +2 -0
  34. package/out/zql/src/builder/builder.d.ts.map +1 -1
  35. package/out/zql/src/builder/builder.js +123 -42
  36. package/out/zql/src/builder/builder.js.map +1 -1
  37. package/out/zql/src/ivm/constraint.d.ts +6 -0
  38. package/out/zql/src/ivm/constraint.d.ts.map +1 -1
  39. package/out/zql/src/ivm/constraint.js +13 -0
  40. package/out/zql/src/ivm/constraint.js.map +1 -1
  41. package/out/zql/src/ivm/exists.d.ts.map +1 -1
  42. package/out/zql/src/ivm/exists.js +5 -5
  43. package/out/zql/src/ivm/exists.js.map +1 -1
  44. package/out/zql/src/ivm/fan-in.d.ts.map +1 -1
  45. package/out/zql/src/ivm/fan-in.js +1 -1
  46. package/out/zql/src/ivm/fan-in.js.map +1 -1
  47. package/out/zql/src/ivm/fan-out.js +1 -1
  48. package/out/zql/src/ivm/fan-out.js.map +1 -1
  49. package/out/zql/src/ivm/filter-operators.js +2 -2
  50. package/out/zql/src/ivm/filter-operators.js.map +1 -1
  51. package/out/zql/src/ivm/filter-push.d.ts +2 -2
  52. package/out/zql/src/ivm/filter-push.d.ts.map +1 -1
  53. package/out/zql/src/ivm/filter-push.js +5 -5
  54. package/out/zql/src/ivm/filter-push.js.map +1 -1
  55. package/out/zql/src/ivm/filter.js +1 -1
  56. package/out/zql/src/ivm/filter.js.map +1 -1
  57. package/out/zql/src/ivm/flipped-join.d.ts.map +1 -1
  58. package/out/zql/src/ivm/flipped-join.js +42 -49
  59. package/out/zql/src/ivm/flipped-join.js.map +1 -1
  60. package/out/zql/src/ivm/join.d.ts.map +1 -1
  61. package/out/zql/src/ivm/join.js +5 -5
  62. package/out/zql/src/ivm/join.js.map +1 -1
  63. package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts +2 -2
  64. package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -1
  65. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js +4 -4
  66. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -1
  67. package/out/zql/src/ivm/memory-source.d.ts +2 -2
  68. package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
  69. package/out/zql/src/ivm/memory-source.js +55 -66
  70. package/out/zql/src/ivm/memory-source.js.map +1 -1
  71. package/out/zql/src/ivm/operator.d.ts +1 -1
  72. package/out/zql/src/ivm/operator.d.ts.map +1 -1
  73. package/out/zql/src/ivm/push-accumulated.d.ts +2 -2
  74. package/out/zql/src/ivm/push-accumulated.d.ts.map +1 -1
  75. package/out/zql/src/ivm/push-accumulated.js +8 -8
  76. package/out/zql/src/ivm/push-accumulated.js.map +1 -1
  77. package/out/zql/src/ivm/skip.js +2 -2
  78. package/out/zql/src/ivm/skip.js.map +1 -1
  79. package/out/zql/src/ivm/take.d.ts.map +1 -1
  80. package/out/zql/src/ivm/take.js +17 -17
  81. package/out/zql/src/ivm/take.js.map +1 -1
  82. package/out/zql/src/ivm/union-fan-in.d.ts +19 -0
  83. package/out/zql/src/ivm/union-fan-in.d.ts.map +1 -0
  84. package/out/zql/src/ivm/union-fan-in.js +146 -0
  85. package/out/zql/src/ivm/union-fan-in.js.map +1 -0
  86. package/out/zql/src/ivm/union-fan-out.d.ts +18 -0
  87. package/out/zql/src/ivm/union-fan-out.d.ts.map +1 -0
  88. package/out/zql/src/ivm/union-fan-out.js +48 -0
  89. package/out/zql/src/ivm/union-fan-out.js.map +1 -0
  90. package/out/zql/src/query/measure-push-operator.js +1 -1
  91. package/out/zql/src/query/measure-push-operator.js.map +1 -1
  92. package/out/zql/src/query/named.d.ts +2 -1
  93. package/out/zql/src/query/named.d.ts.map +1 -1
  94. package/out/zql/src/query/named.js.map +1 -1
  95. package/out/zql/src/query/query-impl.js +3 -3
  96. package/out/zql/src/query/query-impl.js.map +1 -1
  97. package/out/zql/src/query/query.d.ts +1 -1
  98. package/out/zql/src/query/query.d.ts.map +1 -1
  99. package/out/zqlite/src/table-source.d.ts.map +1 -1
  100. package/out/zqlite/src/table-source.js +6 -7
  101. package/out/zqlite/src/table-source.js.map +1 -1
  102. package/package.json +1 -1
  103. package/out/chunk-QZPMFA73.js.map +0 -7
  104. package/out/lazy-inspector-TOTYUTBC.js.map +0 -7
@@ -1,5 +1,7 @@
1
1
  import { assert, unreachable } from "../../../shared/src/asserts.js";
2
2
  import { binarySearch } from "../../../shared/src/binary-search.js";
3
+ import { emptyArray } from "../../../shared/src/sentinels.js";
4
+ import { constraintsAreCompatible } from "./constraint.js";
3
5
  import { generateWithOverlay, isJoinMatch, rowEqualsForCompoundKey, } from "./join-utils.js";
4
6
  import { throwOutput, } from "./operator.js";
5
7
  import { first } from "./stream.js";
@@ -75,7 +77,7 @@ export class FlippedJoin {
75
77
  if (this.#inprogressChildChange?.change.type === 'remove') {
76
78
  const removedNode = this.#inprogressChildChange.change.node;
77
79
  const compare = this.#child.getSchema().compareRows;
78
- const insertPos = binarySearch(childNodes.length, i => compare(childNodes[i].row, removedNode.row));
80
+ const insertPos = binarySearch(childNodes.length, i => compare(removedNode.row, childNodes[i].row));
79
81
  childNodes.splice(insertPos, 0, removedNode);
80
82
  }
81
83
  const parentIterators = [];
@@ -84,20 +86,26 @@ export class FlippedJoin {
84
86
  for (const childNode of childNodes) {
85
87
  // TODO: consider adding the ability to pass a set of
86
88
  // ids to fetch, and have them applied to sqlite using IN.
87
- // TODO: Can there be a conflict between req constraint and
88
- // the join constraint?
89
- const stream = this.#parent.fetch({
90
- ...req,
91
- constraint: {
92
- ...req.constraint,
93
- ...Object.fromEntries(this.#parentKey.map((key, i) => [
94
- key,
95
- childNode.row[this.#childKey[i]],
96
- ])),
97
- },
98
- });
99
- const iterator = stream[Symbol.iterator]();
100
- parentIterators.push(iterator);
89
+ const constraintFromChild = {};
90
+ for (let i = 0; i < this.#parentKey.length; i++) {
91
+ constraintFromChild[this.#parentKey[i]] =
92
+ childNode.row[this.#childKey[i]];
93
+ }
94
+ if (req.constraint &&
95
+ !constraintsAreCompatible(constraintFromChild, req.constraint)) {
96
+ parentIterators.push(emptyArray[Symbol.iterator]());
97
+ }
98
+ else {
99
+ const stream = this.#parent.fetch({
100
+ ...req,
101
+ constraint: {
102
+ ...req.constraint,
103
+ ...constraintFromChild,
104
+ },
105
+ });
106
+ const iterator = stream[Symbol.iterator]();
107
+ parentIterators.push(iterator);
108
+ }
101
109
  }
102
110
  const nextParentNodes = [];
103
111
  for (let i = 0; i < parentIterators.length; i++) {
@@ -145,16 +153,17 @@ export class FlippedJoin {
145
153
  if (this.#inprogressChildChange &&
146
154
  this.#inprogressChildChange.position &&
147
155
  isJoinMatch(this.#inprogressChildChange.change.node.row, this.#childKey, minParentNode.row, this.#parentKey)) {
156
+ const hasInprogressChildChangeBeenPushedForMinParentNode = this.#parent
157
+ .getSchema()
158
+ .compareRows(minParentNode.row, this.#inprogressChildChange.position) <= 0;
148
159
  if (this.#inprogressChildChange.change.type === 'remove') {
149
- if (this.#parent
150
- .getSchema()
151
- .compareRows(minParentNode.row, this.#inprogressChildChange.position) <= 0) {
160
+ if (hasInprogressChildChangeBeenPushedForMinParentNode) {
161
+ // Remove form relatedChildNodes since the removed child
162
+ // was inserted into childNodes above.
152
163
  overlaidRelatedChildNodes = relatedChildNodes.filter(n => n !== this.#inprogressChildChange?.change.node);
153
164
  }
154
165
  }
155
- else if (this.#parent
156
- .getSchema()
157
- .compareRows(minParentNode.row, this.#inprogressChildChange.position) > 0) {
166
+ else if (!hasInprogressChildChangeBeenPushedForMinParentNode) {
158
167
  overlaidRelatedChildNodes = [
159
168
  ...generateWithOverlay(relatedChildNodes, this.#inprogressChildChange.change, this.#child.getSchema()),
160
169
  ];
@@ -248,7 +257,7 @@ export class FlippedJoin {
248
257
  relationshipName: this.#relationshipName,
249
258
  change,
250
259
  },
251
- });
260
+ }, this);
252
261
  }
253
262
  else {
254
263
  this.#output.push({
@@ -260,7 +269,7 @@ export class FlippedJoin {
260
269
  [this.#relationshipName]: () => [change.node],
261
270
  },
262
271
  },
263
- });
272
+ }, this);
264
273
  }
265
274
  }
266
275
  }
@@ -294,43 +303,27 @@ export class FlippedJoin {
294
303
  [this.#relationshipName]: childNodeStream(node),
295
304
  },
296
305
  });
306
+ // If no related child don't push as this is an inner join.
307
+ if (first(childNodeStream(change.node)()) === undefined) {
308
+ return;
309
+ }
297
310
  switch (change.type) {
298
311
  case 'add':
299
312
  case 'remove':
300
313
  case 'child': {
301
- if (first(childNodeStream(change.node)()) === undefined) {
302
- return;
303
- }
304
314
  this.#output.push({
305
315
  ...change,
306
316
  node: flip(change.node),
307
- });
317
+ }, this);
308
318
  break;
309
319
  }
310
320
  case 'edit': {
311
- const oldHasChild = first(childNodeStream(change.oldNode)()) !== undefined;
312
- const hasChild = first(childNodeStream(change.node)()) !== undefined;
313
321
  assert(rowEqualsForCompoundKey(change.oldNode.row, change.node.row, this.#parentKey), `Parent edit must not change relationship.`);
314
- if (oldHasChild && hasChild) {
315
- this.#output.push({
316
- type: 'edit',
317
- oldNode: flip(change.oldNode),
318
- node: flip(change.node),
319
- });
320
- break;
321
- }
322
- if (oldHasChild) {
323
- this.#output.push({
324
- type: 'remove',
325
- node: flip(change.node),
326
- });
327
- }
328
- if (hasChild) {
329
- this.#output.push({
330
- type: 'add',
331
- node: flip(change.node),
332
- });
333
- }
322
+ this.#output.push({
323
+ type: 'edit',
324
+ oldNode: flip(change.oldNode),
325
+ node: flip(change.node),
326
+ }, this);
334
327
  break;
335
328
  }
336
329
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"flipped-join.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/flipped-join.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flipped-join.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/flipped-join.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/join.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAC,GAAG,EAAE,KAAK,EAAC,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAE1E,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAOpC,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,OAAO,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAO,KAAK,MAAM,EAAC,MAAM,aAAa,CAAC;AAE9C,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,KAAK,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IAGjB,SAAS,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE,WAAW,CAAC;IAItB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;GASG;AACH,qBAAa,IAAK,YAAW,KAAK;;gBAapB,EACV,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,MAAM,GACP,EAAE,IAAI;IAmCP,OAAO,IAAI,IAAI;IAKf,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,SAAS,IAAI,YAAY;IAIxB,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IAUtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;CAwN1C;AAID,4BAA4B;AAC5B,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,MAAM,CAGxE;AAED,4BAA4B;AAC5B,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAEvE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,GAAG,GACP,MAAM,CAMR"}
1
+ {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/join.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAC,GAAG,EAAE,KAAK,EAAC,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAE1E,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAOpC,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,OAAO,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAO,KAAK,MAAM,EAAC,MAAM,aAAa,CAAC;AAE9C,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,KAAK,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IAEjB,SAAS,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE,WAAW,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;GASG;AACH,qBAAa,IAAK,YAAW,KAAK;;gBAapB,EACV,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,MAAM,GACP,EAAE,IAAI;IAmCP,OAAO,IAAI,IAAI;IAKf,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,SAAS,IAAI,YAAY;IAIxB,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IAUtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;CAoO1C;AAID,4BAA4B;AAC5B,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,MAAM,CAGxE;AAED,4BAA4B;AAC5B,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAEvE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,GAAG,GACP,MAAM,CAMR"}
@@ -77,20 +77,20 @@ export class Join {
77
77
  this.#output.push({
78
78
  type: 'add',
79
79
  node: this.#processParentNode(change.node.row, change.node.relationships, 'fetch'),
80
- });
80
+ }, this);
81
81
  break;
82
82
  case 'remove':
83
83
  this.#output.push({
84
84
  type: 'remove',
85
85
  node: this.#processParentNode(change.node.row, change.node.relationships, 'cleanup'),
86
- });
86
+ }, this);
87
87
  break;
88
88
  case 'child':
89
89
  this.#output.push({
90
90
  type: 'child',
91
91
  node: this.#processParentNode(change.node.row, change.node.relationships, 'fetch'),
92
92
  child: change.child,
93
- });
93
+ }, this);
94
94
  break;
95
95
  case 'edit': {
96
96
  // Assert the edit could not change the relationship.
@@ -99,7 +99,7 @@ export class Join {
99
99
  type: 'edit',
100
100
  oldNode: this.#processParentNode(change.oldNode.row, change.oldNode.relationships, 'cleanup'),
101
101
  node: this.#processParentNode(change.node.row, change.node.relationships, 'fetch'),
102
- });
102
+ }, this);
103
103
  break;
104
104
  }
105
105
  default:
@@ -126,7 +126,7 @@ export class Join {
126
126
  change,
127
127
  },
128
128
  };
129
- this.#output.push(childChange);
129
+ this.#output.push(childChange, this);
130
130
  }
131
131
  }
132
132
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"join.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/join.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"join.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/join.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { Row } from '../../../zero-protocol/src/data.ts';
2
2
  import type { EditChange } from './change.ts';
3
- import type { Output } from './operator.ts';
3
+ import type { InputBase, Output } from './operator.ts';
4
4
  /**
5
5
  * This takes an {@linkcode EditChange} and a predicate that determines if a row
6
6
  * should be present based on the row's data. It then splits the change and
7
7
  * pushes the appropriate changes to the output based on the predicate.
8
8
  */
9
- export declare function maybeSplitAndPushEditChange(change: EditChange, predicate: (row: Row) => boolean, output: Output): void;
9
+ export declare function maybeSplitAndPushEditChange(change: EditChange, predicate: (row: Row) => boolean, output: Output, pusher: InputBase): void;
10
10
  //# sourceMappingURL=maybe-split-and-push-edit-change.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"maybe-split-and-push-edit-change.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/maybe-split-and-push-edit-change.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAE1C;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,EAChC,MAAM,EAAE,MAAM,QAkBf"}
1
+ {"version":3,"file":"maybe-split-and-push-edit-change.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/maybe-split-and-push-edit-change.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAErD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,EAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,QAwBlB"}
@@ -3,23 +3,23 @@
3
3
  * should be present based on the row's data. It then splits the change and
4
4
  * pushes the appropriate changes to the output based on the predicate.
5
5
  */
6
- export function maybeSplitAndPushEditChange(change, predicate, output) {
6
+ export function maybeSplitAndPushEditChange(change, predicate, output, pusher) {
7
7
  const oldWasPresent = predicate(change.oldNode.row);
8
8
  const newIsPresent = predicate(change.node.row);
9
9
  if (oldWasPresent && newIsPresent) {
10
- output.push(change);
10
+ output.push(change, pusher);
11
11
  }
12
12
  else if (oldWasPresent && !newIsPresent) {
13
13
  output.push({
14
14
  type: 'remove',
15
15
  node: change.oldNode,
16
- });
16
+ }, pusher);
17
17
  }
18
18
  else if (!oldWasPresent && newIsPresent) {
19
19
  output.push({
20
20
  type: 'add',
21
21
  node: change.node,
22
- });
22
+ }, pusher);
23
23
  }
24
24
  }
25
25
  //# sourceMappingURL=maybe-split-and-push-edit-change.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"maybe-split-and-push-edit-change.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/maybe-split-and-push-edit-change.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAkB,EAClB,SAAgC,EAChC,MAAc;IAEd,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhD,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;SAAM,IAAI,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,CAAC,OAAO;SACrB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,aAAa,IAAI,YAAY,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"maybe-split-and-push-edit-change.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/maybe-split-and-push-edit-change.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAkB,EAClB,SAAgC,EAChC,MAAc,EACd,MAAiB;IAEjB,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhD,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,CAAC,OAAO;SACrB,EACD,MAAM,CACP,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,aAAa,IAAI,YAAY,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,EACD,MAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -52,7 +52,7 @@ export declare class MemorySource implements Source {
52
52
  push(change: SourceChange | SourceChangeSet): void;
53
53
  genPush(change: SourceChange | SourceChangeSet): Generator<undefined, void, unknown>;
54
54
  }
55
- export declare function genPush(change: SourceChange, exists: (row: Row) => boolean, connections: Iterable<[number, Connection]>, setOverlay: (o: Overlay | undefined) => void, setSplitEditOverlay: (o: Overlay | undefined) => void): Generator<undefined, void, unknown>;
55
+ export declare function genPushAndWriteWithSplitEdit(connections: readonly Connection[], change: SourceChange, exists: (row: Row) => boolean, setOverlay: (o: Overlay | undefined) => Overlay | undefined, writeChange: (c: SourceChange) => void): Generator<undefined, void, unknown>;
56
56
  export declare function generateWithStart(nodes: Iterable<Node>, start: Start | undefined, compare: (r1: Row, r2: Row) => number): Stream<Node>;
57
57
  /**
58
58
  * Takes an iterator and overlay.
@@ -66,7 +66,7 @@ export declare function generateWithStart(nodes: Iterable<Node>, start: Start |
66
66
  * @param overlay - the overlay values to splice in
67
67
  * @param compare - the comparator to use to find the position for the overlay
68
68
  */
69
- export declare function generateWithOverlay(startAt: Row | undefined, rows: Iterable<Row>, constraint: Constraint | undefined, overlay: Overlay | undefined, splitEditOverlay: Overlay | undefined, connectionIndex: number, compare: Comparator, filterPredicate?: (row: Row) => boolean | undefined): Generator<{
69
+ export declare function generateWithOverlay(startAt: Row | undefined, rows: Iterable<Row>, constraint: Constraint | undefined, overlay: Overlay | undefined, connectionIndex: number, compare: Comparator, filterPredicate?: (row: Row) => boolean | undefined): Generator<{
70
70
  row: Readonly<Record<string, import("../../../shared/src/json.ts").ReadonlyJSONValue | undefined>>;
71
71
  relationships: {};
72
72
  }, void, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-source.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/memory-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-source.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/memory-source.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,6 @@ export class MemorySource {
23
23
  #indexes = new Map();
24
24
  #connections = [];
25
25
  #overlay;
26
- #splitEditOverlay;
27
26
  constructor(tableName, columns, primaryKey, primaryIndexData) {
28
27
  this.#tableName = tableName;
29
28
  this.#columns = columns;
@@ -208,7 +207,7 @@ export class MemorySource {
208
207
  // use `req.constraint` here and not `fetchOrPkConstraint` since `fetchOrPkConstraint` could be the
209
208
  // primary key constraint. The primary key constraint comes from filters and is acting as a filter
210
209
  // rather than as the fetch constraint.
211
- req.constraint, this.#overlay, this.#splitEditOverlay, callingConnectionIndex,
210
+ req.constraint, this.#overlay, callingConnectionIndex,
212
211
  // Use indexComparator, generateWithOverlayInner has a subtle dependency
213
212
  // on this. Since generateWithConstraint is done after
214
213
  // generateWithOverlay, the generator consumed by generateWithOverlayInner
@@ -240,7 +239,7 @@ export class MemorySource {
240
239
  const { data } = primaryIndex;
241
240
  const exists = (row) => data.has(row);
242
241
  const setOverlay = (o) => (this.#overlay = o);
243
- const setSplitEditOverlay = (o) => (this.#splitEditOverlay = o);
242
+ const writeChange = (c) => this.#writeChange(c);
244
243
  if (change.type === 'set') {
245
244
  const existing = data.get(change.row);
246
245
  if (existing !== undefined) {
@@ -257,9 +256,9 @@ export class MemorySource {
257
256
  };
258
257
  }
259
258
  }
260
- for (const x of genPush(change, exists, this.#connections.entries(), setOverlay, setSplitEditOverlay)) {
261
- yield x;
262
- }
259
+ yield* genPushAndWriteWithSplitEdit(this.#connections, change, exists, setOverlay, writeChange);
260
+ }
261
+ #writeChange(change) {
263
262
  for (const { data } of this.#indexes.values()) {
264
263
  switch (change.type) {
265
264
  case 'add': {
@@ -306,7 +305,41 @@ function* generateWithFilter(it, filter) {
306
305
  }
307
306
  }
308
307
  }
309
- export function* genPush(change, exists, connections, setOverlay, setSplitEditOverlay) {
308
+ export function* genPushAndWriteWithSplitEdit(connections, change, exists, setOverlay, writeChange) {
309
+ let shouldSplitEdit = false;
310
+ if (change.type === 'edit') {
311
+ for (const { splitEditKeys } of connections) {
312
+ if (splitEditKeys) {
313
+ for (const key of splitEditKeys) {
314
+ if (!valuesEqual(change.row[key], change.oldRow[key])) {
315
+ shouldSplitEdit = true;
316
+ break;
317
+ }
318
+ }
319
+ }
320
+ }
321
+ }
322
+ if (change.type === 'edit' && shouldSplitEdit) {
323
+ yield* genPushAndWrite(connections, {
324
+ type: 'remove',
325
+ row: change.oldRow,
326
+ }, exists, setOverlay, writeChange);
327
+ yield* genPushAndWrite(connections, {
328
+ type: 'add',
329
+ row: change.row,
330
+ }, exists, setOverlay, writeChange);
331
+ }
332
+ else {
333
+ yield* genPushAndWrite(connections, change, exists, setOverlay, writeChange);
334
+ }
335
+ }
336
+ function* genPushAndWrite(connections, change, exists, setOverlay, writeChange) {
337
+ for (const x of genPush(connections, change, exists, setOverlay)) {
338
+ yield x;
339
+ }
340
+ writeChange(change);
341
+ }
342
+ function* genPush(connections, change, exists, setOverlay) {
310
343
  switch (change.type) {
311
344
  case 'add':
312
345
  assert(!exists(change.row), () => `Row already exists ${stringify(change)}`);
@@ -320,71 +353,30 @@ export function* genPush(change, exists, connections, setOverlay, setSplitEditOv
320
353
  default:
321
354
  unreachable(change);
322
355
  }
323
- for (const [outputIndex, { output, splitEditKeys, filters }] of connections) {
356
+ for (const [outputIndex, { output, filters, input }] of connections.entries()) {
324
357
  if (output) {
325
- let splitEdit = false;
326
- if (change.type === 'edit' && splitEditKeys) {
327
- for (const key of splitEditKeys) {
328
- if (!valuesEqual(change.row[key], change.oldRow[key])) {
329
- splitEdit = true;
330
- break;
331
- }
332
- }
333
- }
334
- if (splitEdit) {
335
- assert(change.type === 'edit');
336
- setSplitEditOverlay({
337
- outputIndex,
338
- change: {
339
- type: 'remove',
358
+ setOverlay({ outputIndex, change });
359
+ const outputChange = change.type === 'edit'
360
+ ? {
361
+ type: change.type,
362
+ oldNode: {
340
363
  row: change.oldRow,
364
+ relationships: {},
341
365
  },
342
- });
343
- const outputRemove = {
344
- type: 'remove',
345
366
  node: {
346
- row: change.oldRow,
367
+ row: change.row,
347
368
  relationships: {},
348
369
  },
349
- };
350
- filterPush(outputRemove, output, filters?.predicate);
351
- yield;
352
- setSplitEditOverlay(undefined);
353
- setOverlay({ outputIndex, change });
354
- const outputAdd = {
355
- type: 'add',
370
+ }
371
+ : {
372
+ type: change.type,
356
373
  node: {
357
374
  row: change.row,
358
375
  relationships: {},
359
376
  },
360
377
  };
361
- filterPush(outputAdd, output, filters?.predicate);
362
- yield;
363
- }
364
- else {
365
- setOverlay({ outputIndex, change });
366
- const outputChange = change.type === 'edit'
367
- ? {
368
- type: change.type,
369
- oldNode: {
370
- row: change.oldRow,
371
- relationships: {},
372
- },
373
- node: {
374
- row: change.row,
375
- relationships: {},
376
- },
377
- }
378
- : {
379
- type: change.type,
380
- node: {
381
- row: change.row,
382
- relationships: {},
383
- },
384
- };
385
- filterPush(outputChange, output, filters?.predicate);
386
- yield;
387
- }
378
+ filterPush(outputChange, output, input, filters?.predicate);
379
+ yield;
388
380
  }
389
381
  }
390
382
  setOverlay(undefined);
@@ -425,12 +417,9 @@ export function* generateWithStart(nodes, start, compare) {
425
417
  * @param overlay - the overlay values to splice in
426
418
  * @param compare - the comparator to use to find the position for the overlay
427
419
  */
428
- export function* generateWithOverlay(startAt, rows, constraint, overlay, splitEditOverlay, connectionIndex, compare, filterPredicate) {
420
+ export function* generateWithOverlay(startAt, rows, constraint, overlay, connectionIndex, compare, filterPredicate) {
429
421
  let overlayToApply = undefined;
430
- if (splitEditOverlay && splitEditOverlay.outputIndex === connectionIndex) {
431
- overlayToApply = splitEditOverlay;
432
- }
433
- else if (overlay && connectionIndex <= overlay.outputIndex) {
422
+ if (overlay && connectionIndex <= overlay.outputIndex) {
434
423
  overlayToApply = overlay;
435
424
  }
436
425
  const overlays = computeOverlays(startAt, constraint, overlayToApply, compare, filterPredicate);