@rocicorp/zero 0.20.2025051200 → 0.20.2025051300

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 (54) hide show
  1. package/out/analyze-query/src/bin-analyze.js +3 -0
  2. package/out/analyze-query/src/bin-analyze.js.map +1 -1
  3. package/out/{chunk-EBZYAQDK.js → chunk-6DDOJCJF.js} +129 -141
  4. package/out/chunk-6DDOJCJF.js.map +7 -0
  5. package/out/{chunk-N44AEZOH.js → chunk-DYB2BLBI.js} +43 -3
  6. package/out/chunk-DYB2BLBI.js.map +7 -0
  7. package/out/{chunk-FQVNXKQI.js → chunk-IULLOY52.js} +12 -9
  8. package/out/{chunk-FQVNXKQI.js.map → chunk-IULLOY52.js.map} +2 -2
  9. package/out/{inspector-GCX7QH7K.js → inspector-7XOC5VSB.js} +3 -3
  10. package/out/react.js +1 -1
  11. package/out/solid.js +3 -3
  12. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  13. package/out/zero-cache/src/auth/write-authorizer.js +1 -0
  14. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  15. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.d.ts.map +1 -1
  16. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js +7 -7
  17. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +1 -1
  18. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  19. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +1 -0
  20. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  21. package/out/zero-client/src/client/context.d.ts +2 -0
  22. package/out/zero-client/src/client/context.d.ts.map +1 -1
  23. package/out/zero.js +3 -3
  24. package/out/zql/src/builder/builder.d.ts +3 -1
  25. package/out/zql/src/builder/builder.d.ts.map +1 -1
  26. package/out/zql/src/builder/builder.js +7 -3
  27. package/out/zql/src/builder/builder.js.map +1 -1
  28. package/out/zql/src/ivm/exists.d.ts +6 -6
  29. package/out/zql/src/ivm/exists.d.ts.map +1 -1
  30. package/out/zql/src/ivm/exists.js +14 -23
  31. package/out/zql/src/ivm/exists.js.map +1 -1
  32. package/out/zql/src/ivm/fan-in.d.ts +6 -8
  33. package/out/zql/src/ivm/fan-in.d.ts.map +1 -1
  34. package/out/zql/src/ivm/fan-in.js +8 -16
  35. package/out/zql/src/ivm/fan-in.js.map +1 -1
  36. package/out/zql/src/ivm/fan-out.d.ts +6 -6
  37. package/out/zql/src/ivm/fan-out.d.ts.map +1 -1
  38. package/out/zql/src/ivm/fan-out.js +13 -7
  39. package/out/zql/src/ivm/fan-out.js.map +1 -1
  40. package/out/zql/src/ivm/filter-operators.d.ts +61 -0
  41. package/out/zql/src/ivm/filter-operators.d.ts.map +1 -0
  42. package/out/zql/src/ivm/filter-operators.js +91 -0
  43. package/out/zql/src/ivm/filter-operators.js.map +1 -0
  44. package/out/zql/src/ivm/filter.d.ts +6 -6
  45. package/out/zql/src/ivm/filter.d.ts.map +1 -1
  46. package/out/zql/src/ivm/filter.js +8 -22
  47. package/out/zql/src/ivm/filter.js.map +1 -1
  48. package/out/zql/src/ivm/operator.d.ts +11 -9
  49. package/out/zql/src/ivm/operator.d.ts.map +1 -1
  50. package/out/zql/src/ivm/operator.js.map +1 -1
  51. package/package.json +1 -1
  52. package/out/chunk-EBZYAQDK.js.map +0 -7
  53. package/out/chunk-N44AEZOH.js.map +0 -7
  54. /package/out/{inspector-GCX7QH7K.js.map → inspector-7XOC5VSB.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"exists.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/exists.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exists.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/exists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAa,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,kBAAkB,EAAkC,MAAM,WAAW,CAAC;AAC9E,OAAO,EACL,iBAAiB,GAIlB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAc,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAwBlC;;;GAGG;AACH,MAAM,OAAO,MAAM;IACR,MAAM,CAAc;IACpB,iBAAiB,CAAS;IAC1B,QAAQ,CAAgB;IACxB,IAAI,CAAU;IACd,cAAc,CAAc;IAC5B,YAAY,CAAU;IAE/B,OAAO,GAAiB,iBAAiB,CAAC;IAE1C;;;;;;;OAOG;IACH,OAAO,GAAG,KAAK,CAAC;IAEhB,YACE,KAAkB,EAClB,OAAgB,EAChB,gBAAwB,EACxB,aAA0B,EAC1B,IAA6B;QAE7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAwB,CAAC;QACzC,MAAM,CACJ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,EACvD,wBAAwB,gBAAgB,EAAE,CAC3C,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,YAAY,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QAEpC,wEAAwE;QACxE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAC1B,aAAa,EACb,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,UAAU,CACnC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,MAAoB;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,IAAU,EAAE,OAAgB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YACH,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,qDAAqD;gBACrD,iEAAiE;gBACjE,KAAK,KAAK,CAAC;gBACX,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBAC7B,OAAO;gBACT,CAAC;gBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACxC,qDAAqD;oBACrD,kEAAkE;oBAClE,MAAM;oBACN,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;wBACvB,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC3B,OAAO;gBACT,CAAC;gBACD,KAAK,OAAO;oBACV,4CAA4C;oBAC5C,2DAA2D;oBAC3D,wDAAwD;oBACxD,uCAAuC;oBACvC,IACE,MAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC,iBAAiB;wBACxD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;wBACnC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EACpC,CAAC;wBACD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;wBAC7B,OAAO;oBACT,CAAC;oBACD,QAAQ,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;wBACjC,KAAK,KAAK,CAAC,CAAC,CAAC;4BACX,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gCACvB,IAAI,EAAE,CAAC;gCACP,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BACnC,CAAC;iCAAM,CAAC;gCACN,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BACtC,CAAC;4BACD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gCACf,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oCACd,8DAA8D;oCAC9D,8DAA8D;oCAC9D,yDAAyD;oCACzD,mCAAmC;oCACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;wCAChB,IAAI,EAAE,QAAQ;wCACd,IAAI,EAAE;4CACJ,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;4CACpB,aAAa,EAAE;gDACb,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa;gDAC5B,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;6CACnC;yCACF;qCACF,CAAC,CAAC;gCACL,CAAC;qCAAM,CAAC;oCACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;wCAChB,IAAI,EAAE,KAAK;wCACX,IAAI,EAAE,MAAM,CAAC,IAAI;qCAClB,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;4BACrC,CAAC;4BACD,OAAO;wBACT,CAAC;wBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;4BACd,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gCACvB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gCACjB,IAAI,EAAE,CAAC;gCACP,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BACnC,CAAC;iCAAM,CAAC;gCACN,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BACtC,CAAC;4BACD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gCACf,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oCACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;wCAChB,IAAI,EAAE,KAAK;wCACX,IAAI,EAAE,MAAM,CAAC,IAAI;qCAClB,CAAC,CAAC;gCACL,CAAC;qCAAM,CAAC;oCACN,6DAA6D;oCAC7D,+DAA+D;oCAC/D,qCAAqC;oCACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;wCAChB,IAAI,EAAE,QAAQ;wCACd,IAAI,EAAE;4CACJ,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;4CACpB,aAAa,EAAE;gDACb,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa;gDAC5B,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC;oDAC9B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;iDACzB;6CACF;yCACF;qCACF,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;4BACrC,CAAC;4BACD,OAAO;wBACT,CAAC;oBACH,CAAC;oBACD,OAAO;gBACT;oBACE,WAAW,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAU,EAAE,IAAa;QAC/B,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAc,EAAE,IAAa;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAAU;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,QAAQ,CAAC,IAAU,EAAE,IAAY;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAC,IAAU;QACjB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,eAAe,CAAC,IAAU;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,UAAU,CAAC,IAAU;QACnB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,eAAe,GAAG,KAAK,CAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,MAAM,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;aAC7C,CAAC,CACH,CAAC;YACF,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChE,MAAM,CAAC,YAAY,CAAC,CAAC;QACrB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,YAAY,IAAI,YAAY,EAAE,EAAE,CAAC;YAC1C,IAAI,EAAE,CAAC;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAyB,CAAC,IAAU;QAClC,OAAO,OACL,IAAI,CAAC,YAAY;YACf,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAClE,GAAG,CAAC;IACN,CAAC;IAED,mBAAmB,CAAC,IAAU;QAC5B,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAC7D,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,CAC7D,EAAE,CAAC;IACN,CAAC;IAED,aAAa,CAAC,IAAU,EAAE,GAAgB;QACxC,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -1,9 +1,8 @@
1
1
  import type { Change } from './change.ts';
2
- import type { Node } from './data.ts';
2
+ import { type Node } from './data.ts';
3
3
  import type { FanOut } from './fan-out.ts';
4
- import { type FetchRequest, type Input, type Operator, type Output } from './operator.ts';
4
+ import { type FilterInput, type FilterOperator, type FilterOutput } from './filter-operators.ts';
5
5
  import type { SourceSchema } from './schema.ts';
6
- import type { Stream } from './stream.ts';
7
6
  /**
8
7
  * The FanIn operator merges multiple streams into one.
9
8
  * It eliminates duplicates and must be paired with a fan-out operator
@@ -18,14 +17,13 @@ import type { Stream } from './stream.ts';
18
17
  * fan-in
19
18
  * |
20
19
  */
21
- export declare class FanIn implements Operator {
20
+ export declare class FanIn implements FilterOperator {
22
21
  #private;
23
- constructor(fanOut: FanOut, inputs: Input[]);
24
- setOutput(output: Output): void;
22
+ constructor(fanOut: FanOut, inputs: FilterInput[]);
23
+ setFilterOutput(output: FilterOutput): void;
25
24
  destroy(): void;
26
25
  getSchema(): SourceSchema;
27
- fetch(req: FetchRequest): Stream<Node>;
28
- cleanup(req: FetchRequest): Stream<Node>;
26
+ filter(node: Node, cleanup: boolean): boolean;
29
27
  push(change: Change): void;
30
28
  fanOutDonePushingToAllBranches(fanOutChangeType: Change['type']): void;
31
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fan-in.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/fan-in.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACzC,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,MAAM,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAM,YAAW,QAAQ;;gBAMxB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;IAU3C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,OAAO,IAAI,IAAI;IAMf,SAAS;IAIT,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IAItC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IAaxC,IAAI,CAAC,MAAM,EAAE,MAAM;IAInB,8BAA8B,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC;CA0IhE"}
1
+ {"version":3,"file":"fan-in.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/fan-in.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACzC,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAE9C;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAM,YAAW,cAAc;;gBAM9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE;IASjD,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAI3C,OAAO,IAAI,IAAI;IAMf,SAAS;IAIT,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAI7C,IAAI,CAAC,MAAM,EAAE,MAAM;IAInB,8BAA8B,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC;CA0IhE"}
@@ -1,7 +1,7 @@
1
1
  import { assert } from "../../../shared/src/asserts.js";
2
- import { mergeIterables } from "../../../shared/src/iterables.js";
3
2
  import { must } from "../../../shared/src/must.js";
4
- import { throwOutput, } from "./operator.js";
3
+ import {} from "./data.js";
4
+ import { throwFilterOutput, } from "./filter-operators.js";
5
5
  /**
6
6
  * The FanIn operator merges multiple streams into one.
7
7
  * It eliminates duplicates and must be paired with a fan-out operator
@@ -19,18 +19,17 @@ import { throwOutput, } from "./operator.js";
19
19
  export class FanIn {
20
20
  #inputs;
21
21
  #schema;
22
- #output = throwOutput;
23
- #accumulatedPushes;
22
+ #output = throwFilterOutput;
23
+ #accumulatedPushes = [];
24
24
  constructor(fanOut, inputs) {
25
25
  this.#inputs = inputs;
26
26
  this.#schema = fanOut.getSchema();
27
27
  for (const input of inputs) {
28
- input.setOutput(this);
28
+ input.setFilterOutput(this);
29
29
  assert(this.#schema === input.getSchema(), `Schema mismatch in fan-in`);
30
30
  }
31
- this.#accumulatedPushes = [];
32
31
  }
33
- setOutput(output) {
32
+ setFilterOutput(output) {
34
33
  this.#output = output;
35
34
  }
36
35
  destroy() {
@@ -41,15 +40,8 @@ export class FanIn {
41
40
  getSchema() {
42
41
  return this.#schema;
43
42
  }
44
- fetch(req) {
45
- return this.#fetchOrCleanup(input => input.fetch(req));
46
- }
47
- cleanup(req) {
48
- return this.#fetchOrCleanup(input => input.cleanup(req));
49
- }
50
- *#fetchOrCleanup(streamProvider) {
51
- const iterables = this.#inputs.map(input => streamProvider(input));
52
- yield* mergeIterables(iterables, (l, r) => must(this.#schema).compareRows(l.row, r.row), true);
43
+ filter(node, cleanup) {
44
+ return this.#output.filter(node, cleanup);
53
45
  }
54
46
  push(change) {
55
47
  this.#accumulatedPushes.push(change);
@@ -1 +1 @@
1
- {"version":3,"file":"fan-in.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/fan-in.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fan-in.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/fan-in.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,20 @@
1
1
  import type { Change } from './change.ts';
2
2
  import type { FanIn } from './fan-in.ts';
3
- import type { FetchRequest, Input, Operator, Output } from './operator.ts';
3
+ import type { Node } from './data.ts';
4
+ import type { FilterInput, FilterOperator, FilterOutput } from './filter-operators.ts';
4
5
  /**
5
6
  * Forks a stream into multiple streams.
6
7
  * Is meant to be paired with a `FanIn` operator which will
7
8
  * later merge the forks back together.
8
9
  */
9
- export declare class FanOut implements Operator {
10
+ export declare class FanOut implements FilterOperator {
10
11
  #private;
11
- constructor(input: Input);
12
+ constructor(input: FilterInput);
12
13
  setFanIn(fanIn: FanIn): void;
13
- setOutput(output: Output): void;
14
+ setFilterOutput(output: FilterOutput): void;
14
15
  destroy(): void;
15
16
  getSchema(): import("./schema.ts").SourceSchema;
16
- fetch(req: FetchRequest): import("./stream.ts").Stream<import("./data.ts").Node>;
17
- cleanup(req: FetchRequest): import("./stream.ts").Stream<import("./data.ts").Node>;
17
+ filter(node: Node, cleanup: boolean): boolean;
18
18
  push(change: Change): void;
19
19
  }
20
20
  //# sourceMappingURL=fan-out.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fan-out.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/fan-out.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAEzE;;;;GAIG;AACH,qBAAa,MAAO,YAAW,QAAQ;;gBAMzB,KAAK,EAAE,KAAK;IAKxB,QAAQ,CAAC,KAAK,EAAE,KAAK;IAIrB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,OAAO,IAAI,IAAI;IAWf,SAAS;IAIT,KAAK,CAAC,GAAG,EAAE,YAAY;IAIvB,OAAO,CAAC,GAAG,EAAE,YAAY;IAIzB,IAAI,CAAC,MAAM,EAAE,MAAM;CASpB"}
1
+ {"version":3,"file":"fan-out.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/fan-out.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACb,MAAM,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,qBAAa,MAAO,YAAW,cAAc;;gBAM/B,KAAK,EAAE,WAAW;IAK9B,QAAQ,CAAC,KAAK,EAAE,KAAK;IAIrB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAI3C,OAAO,IAAI,IAAI;IAWf,SAAS;IAIT,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAa7C,IAAI,CAAC,MAAM,EAAE,MAAM;CASpB"}
@@ -11,12 +11,12 @@ export class FanOut {
11
11
  #destroyCount = 0;
12
12
  constructor(input) {
13
13
  this.#input = input;
14
- input.setOutput(this);
14
+ input.setFilterOutput(this);
15
15
  }
16
16
  setFanIn(fanIn) {
17
17
  this.#fanIn = fanIn;
18
18
  }
19
- setOutput(output) {
19
+ setFilterOutput(output) {
20
20
  this.#outputs.push(output);
21
21
  }
22
22
  destroy() {
@@ -33,11 +33,17 @@ export class FanOut {
33
33
  getSchema() {
34
34
  return this.#input.getSchema();
35
35
  }
36
- fetch(req) {
37
- return this.#input.fetch(req);
38
- }
39
- cleanup(req) {
40
- return this.#input.cleanup(req);
36
+ filter(node, cleanup) {
37
+ let result = false;
38
+ for (const output of this.#outputs) {
39
+ result = output.filter(node, cleanup) || result;
40
+ // Cleanup needs to be forwarded to all outputs, don't short circuit
41
+ // cleanup. For non-cleanup we can short-circuit on first true.
42
+ if (!cleanup && result) {
43
+ return true;
44
+ }
45
+ }
46
+ return result;
41
47
  }
42
48
  push(change) {
43
49
  for (const out of this.#outputs) {
@@ -1 +1 @@
1
- {"version":3,"file":"fan-out.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/fan-out.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AAKjD;;;;GAIG;AACH,MAAM,OAAO,MAAM;IACR,MAAM,CAAQ;IACd,QAAQ,GAAa,EAAE,CAAC;IACjC,MAAM,CAAoB;IAC1B,aAAa,GAAW,CAAC,CAAC;IAE1B,YAAY,KAAY;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,KAAY;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC;YACD,EAAE,IAAI,CAAC,aAAa,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,GAAiB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,GAAiB;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,CACF,IAAI,CAAC,MAAM,EACX,+CAA+C,CAChD,CAAC,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;CACF"}
1
+ {"version":3,"file":"fan-out.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/fan-out.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AAUjD;;;;GAIG;AACH,MAAM,OAAO,MAAM;IACR,MAAM,CAAc;IACpB,QAAQ,GAAmB,EAAE,CAAC;IACvC,MAAM,CAAoB;IAC1B,aAAa,GAAW,CAAC,CAAC;IAE1B,YAAY,KAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,QAAQ,CAAC,KAAY;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,eAAe,CAAC,MAAoB;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC;YACD,EAAE,IAAI,CAAC,aAAa,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,IAAU,EAAE,OAAgB;QACjC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC;YAChD,oEAAoE;YACpE,gEAAgE;YAChE,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,CACF,IAAI,CAAC,MAAM,EACX,+CAA+C,CAChD,CAAC,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -0,0 +1,61 @@
1
+ import type { FetchRequest, Input, InputBase, Output } from './operator.ts';
2
+ import { type Node } from './data.ts';
3
+ import type { Change } from './change.ts';
4
+ import type { SourceSchema } from './schema.ts';
5
+ import type { Stream } from './stream.ts';
6
+ /**
7
+ * The `where` clause of a ZQL query is implemented using a sub-graph of
8
+ * `FilterOperators`. This sub-graph starts with a `FilterStart` operator,
9
+ * that adapts from the normal `Operator` `Output`, to the
10
+ * `FilterOperator` `FilterInput`, and ends with a `FilterEnd` operator that
11
+ * adapts from a `FilterOperator` `FilterOutput` to a normal `Operator` `Input`.
12
+ * `FilterOperator'`s do not have `fetch` or `cleanup` instead they have a
13
+ * `filter(node: Node, cleanup: boolean): boolean` method.
14
+ * They also have `push` which is just like normal `Operator` push.
15
+ * Not having a `fetch` means these `FilterOperator`'s cannot modify
16
+ * `Node` `row`s or `relationship`s, but they shouldn't, they should just
17
+ * filter.
18
+ *
19
+ * This `FilterOperator` abstraction enables much more efficient processing of
20
+ * `fetch` for `where` clauses containing OR conditions.
21
+ *
22
+ * See https://github.com/rocicorp/mono/pull/4339
23
+ */
24
+ export interface FilterInput extends InputBase {
25
+ /** Tell the input where to send its output. */
26
+ setFilterOutput(output: FilterOutput): void;
27
+ }
28
+ export interface FilterOutput extends Output {
29
+ filter(node: Node, cleanup: boolean): boolean;
30
+ }
31
+ export interface FilterOperator extends FilterInput, FilterOutput {
32
+ }
33
+ /**
34
+ * An implementation of FilterOutput that throws if push or filter is called.
35
+ * It is used as the initial value for for an operator's output before it is
36
+ * set.
37
+ */
38
+ export declare const throwFilterOutput: FilterOutput;
39
+ export declare class FilterStart implements FilterInput, Output {
40
+ #private;
41
+ constructor(input: Input);
42
+ setFilterOutput(output: FilterOutput): void;
43
+ destroy(): void;
44
+ getSchema(): SourceSchema;
45
+ push(change: Change): void;
46
+ fetch(req: FetchRequest): Stream<Node>;
47
+ cleanup(req: FetchRequest): Stream<Node>;
48
+ }
49
+ export declare class FilterEnd implements Input, FilterOutput {
50
+ #private;
51
+ constructor(start: FilterStart, input: FilterInput);
52
+ fetch(req: FetchRequest): Stream<Node>;
53
+ cleanup(req: FetchRequest): Stream<Node>;
54
+ filter(_node: Node, _cleanup: boolean): boolean;
55
+ setOutput(output: Output): void;
56
+ destroy(): void;
57
+ getSchema(): SourceSchema;
58
+ push(change: Change): void;
59
+ }
60
+ export declare function buildFilterPipeline(input: Input, pipeline: (filterInput: FilterInput) => FilterInput): Input;
61
+ //# sourceMappingURL=filter-operators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-operators.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/filter-operators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAe,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,+CAA+C;IAC/C,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,YAAa,SAAQ,MAAM;IAC1C,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;CAC/C;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW,EAAE,YAAY;CAAG;AAEpE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAQ/B,CAAC;AAEF,qBAAa,WAAY,YAAW,WAAW,EAAE,MAAM;;gBAIzC,KAAK,EAAE,KAAK;IAKxB,eAAe,CAAC,MAAM,EAAE,YAAY;IAIpC,OAAO,IAAI,IAAI;IAIf,SAAS,IAAI,YAAY;IAIzB,IAAI,CAAC,MAAM,EAAE,MAAM;IAIlB,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IAQtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;CAS1C;AAED,qBAAa,SAAU,YAAW,KAAK,EAAE,YAAY;;gBAMvC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW;IAMjD,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IAMtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IAMzC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO;IAIrC,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,OAAO,IAAI,IAAI;IAIf,SAAS,IAAI,YAAY;IAIzB,IAAI,CAAC,MAAM,EAAE,MAAM;CAGpB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,WAAW,GAClD,KAAK,CAGP"}
@@ -0,0 +1,91 @@
1
+ import { drainStreams } from "./data.js";
2
+ /**
3
+ * An implementation of FilterOutput that throws if push or filter is called.
4
+ * It is used as the initial value for for an operator's output before it is
5
+ * set.
6
+ */
7
+ export const throwFilterOutput = {
8
+ push(_change) {
9
+ throw new Error('Output not set');
10
+ },
11
+ filter(_node, _cleanup) {
12
+ throw new Error('Output not set');
13
+ },
14
+ };
15
+ export class FilterStart {
16
+ #input;
17
+ #output = throwFilterOutput;
18
+ constructor(input) {
19
+ this.#input = input;
20
+ input.setOutput(this);
21
+ }
22
+ setFilterOutput(output) {
23
+ this.#output = output;
24
+ }
25
+ destroy() {
26
+ this.#input.destroy();
27
+ }
28
+ getSchema() {
29
+ return this.#input.getSchema();
30
+ }
31
+ push(change) {
32
+ this.#output.push(change);
33
+ }
34
+ *fetch(req) {
35
+ for (const node of this.#input.fetch(req)) {
36
+ if (this.#output.filter(node, false)) {
37
+ yield node;
38
+ }
39
+ }
40
+ }
41
+ *cleanup(req) {
42
+ for (const node of this.#input.cleanup(req)) {
43
+ if (this.#output.filter(node, true)) {
44
+ yield node;
45
+ }
46
+ else {
47
+ drainStreams(node);
48
+ }
49
+ }
50
+ }
51
+ }
52
+ export class FilterEnd {
53
+ #start;
54
+ #input;
55
+ #output = throwFilterOutput;
56
+ constructor(start, input) {
57
+ this.#start = start;
58
+ this.#input = input;
59
+ input.setFilterOutput(this);
60
+ }
61
+ *fetch(req) {
62
+ for (const node of this.#start.fetch(req)) {
63
+ yield node;
64
+ }
65
+ }
66
+ *cleanup(req) {
67
+ for (const node of this.#start.cleanup(req)) {
68
+ yield node;
69
+ }
70
+ }
71
+ filter(_node, _cleanup) {
72
+ return true;
73
+ }
74
+ setOutput(output) {
75
+ this.#output = output;
76
+ }
77
+ destroy() {
78
+ this.#input.destroy();
79
+ }
80
+ getSchema() {
81
+ return this.#input.getSchema();
82
+ }
83
+ push(change) {
84
+ this.#output.push(change);
85
+ }
86
+ }
87
+ export function buildFilterPipeline(input, pipeline) {
88
+ const filterStart = new FilterStart(input);
89
+ return new FilterEnd(filterStart, pipeline(filterStart));
90
+ }
91
+ //# sourceMappingURL=filter-operators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-operators.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/filter-operators.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,20 @@
1
1
  import type { Row } from '../../../zero-protocol/src/data.ts';
2
2
  import type { Change } from './change.ts';
3
- import { type FetchRequest, type Input, type Operator, type Output } from './operator.ts';
3
+ import { type FilterInput, type FilterOperator, type FilterOutput } from './filter-operators.ts';
4
+ import { type Node } from './data.ts';
4
5
  import type { SourceSchema } from './schema.ts';
5
6
  /**
6
7
  * The Filter operator filters data through a predicate. It is stateless.
7
8
  *
8
9
  * The predicate must be pure.
9
10
  */
10
- export declare class Filter implements Operator {
11
+ export declare class Filter implements FilterOperator {
11
12
  #private;
12
- constructor(input: Input, predicate: (row: Row) => boolean);
13
- setOutput(output: Output): void;
13
+ constructor(input: FilterInput, predicate: (row: Row) => boolean);
14
+ filter(node: Node, cleanup: boolean): boolean;
15
+ setFilterOutput(output: FilterOutput): void;
14
16
  destroy(): void;
15
17
  getSchema(): SourceSchema;
16
- fetch(req: FetchRequest): Generator<import("./data.ts").Node, void, unknown>;
17
- cleanup(req: FetchRequest): Generator<import("./data.ts").Node, void, unknown>;
18
18
  push(change: Change): void;
19
19
  }
20
20
  //# sourceMappingURL=filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAGxC,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,MAAM,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAE9C;;;;GAIG;AACH,qBAAa,MAAO,YAAW,QAAQ;;gBAMzB,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO;IAM1D,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,OAAO,IAAI,IAAI;IAIf,SAAS,IAAI,YAAY;IAIxB,KAAK,CAAC,GAAG,EAAE,YAAY;IAQvB,OAAO,CAAC,GAAG,EAAE,YAAY;IAU1B,IAAI,CAAC,MAAM,EAAE,MAAM;CAGpB"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAC,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAE9C;;;;GAIG;AACH,qBAAa,MAAO,YAAW,cAAc;;gBAM/B,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO;IAMhE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAI7C,eAAe,CAAC,MAAM,EAAE,YAAY;IAIpC,OAAO,IAAI,IAAI;IAIf,SAAS,IAAI,YAAY;IAIzB,IAAI,CAAC,MAAM,EAAE,MAAM;CAGpB"}
@@ -1,6 +1,6 @@
1
- import { drainStreams } from "./data.js";
1
+ import { throwFilterOutput, } from "./filter-operators.js";
2
2
  import { filterPush } from "./filter-push.js";
3
- import { throwOutput, } from "./operator.js";
3
+ import {} from "./data.js";
4
4
  /**
5
5
  * The Filter operator filters data through a predicate. It is stateless.
6
6
  *
@@ -9,13 +9,16 @@ import { throwOutput, } from "./operator.js";
9
9
  export class Filter {
10
10
  #input;
11
11
  #predicate;
12
- #output = throwOutput;
12
+ #output = throwFilterOutput;
13
13
  constructor(input, predicate) {
14
14
  this.#input = input;
15
15
  this.#predicate = predicate;
16
- input.setOutput(this);
16
+ input.setFilterOutput(this);
17
17
  }
18
- setOutput(output) {
18
+ filter(node, cleanup) {
19
+ return this.#predicate(node.row) && this.#output.filter(node, cleanup);
20
+ }
21
+ setFilterOutput(output) {
19
22
  this.#output = output;
20
23
  }
21
24
  destroy() {
@@ -24,23 +27,6 @@ export class Filter {
24
27
  getSchema() {
25
28
  return this.#input.getSchema();
26
29
  }
27
- *fetch(req) {
28
- for (const node of this.#input.fetch(req)) {
29
- if (this.#predicate(node.row)) {
30
- yield node;
31
- }
32
- }
33
- }
34
- *cleanup(req) {
35
- for (const node of this.#input.cleanup(req)) {
36
- if (this.#predicate(node.row)) {
37
- yield node;
38
- }
39
- else {
40
- drainStreams(node);
41
- }
42
- }
43
- }
44
30
  push(change) {
45
31
  filterPush(change, this.#output, this.#predicate);
46
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/filter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,WAAW,GAKZ,MAAM,eAAe,CAAC;AAGvB;;;;GAIG;AACH,MAAM,OAAO,MAAM;IACR,MAAM,CAAQ;IACd,UAAU,CAAwB;IAE3C,OAAO,GAAW,WAAW,CAAC;IAE9B,YAAY,KAAY,EAAE,SAAgC;QACxD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,CAAC,KAAK,CAAC,GAAiB;QACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED,CAAC,OAAO,CAAC,GAAiB;QACxB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;CACF"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/filter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,GAIlB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAW,MAAM,WAAW,CAAC;AAGpC;;;;GAIG;AACH,MAAM,OAAO,MAAM;IACR,MAAM,CAAc;IACpB,UAAU,CAAwB;IAE3C,OAAO,GAAiB,iBAAiB,CAAC;IAE1C,YAAY,KAAkB,EAAE,SAAgC;QAC9D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,IAAU,EAAE,OAAgB;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED,eAAe,CAAC,MAAoB;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;CACF"}
@@ -8,9 +8,19 @@ import type { Stream } from './stream.ts';
8
8
  /**
9
9
  * Input to an operator.
10
10
  */
11
- export interface Input {
11
+ export interface InputBase {
12
12
  /** The schema of the data this input returns. */
13
13
  getSchema(): SourceSchema;
14
+ /**
15
+ * Completely destroy the input. Destroying an input
16
+ * causes it to call destroy on its upstreams, fully
17
+ * cleaning up a pipeline.
18
+ */
19
+ destroy(): void;
20
+ }
21
+ export interface Input extends InputBase {
22
+ /** Tell the input where to send its output. */
23
+ setOutput(output: Output): void;
14
24
  /**
15
25
  * Fetch data. May modify the data in place.
16
26
  * Returns nodes sorted in order of `SourceSchema.compareRows`.
@@ -28,14 +38,6 @@ export interface Input {
28
38
  * propagate the cleanup message through the graph.
29
39
  */
30
40
  cleanup(req: FetchRequest): Stream<Node>;
31
- /** Tell the input where to send its output. */
32
- setOutput(output: Output): void;
33
- /**
34
- * Completely destroy the input. Destroying an input
35
- * causes it to call destroy on its upstreams, fully
36
- * cleaning up a pipeline.
37
- */
38
- destroy(): void;
39
41
  }
40
42
  export type FetchRequest = {
41
43
  readonly constraint?: Constraint | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/operator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,iDAAiD;IACjD,SAAS,IAAI,YAAY,CAAC;IAE1B;;;OAGG;IACH,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzC,+CAA+C;IAC/C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;;OAIG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7C,kFAAkF;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAEnC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;;OAOG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAIzB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,QAAS,SAAQ,KAAK,EAAE,MAAM;CAAG;AAElD;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACzD;;OAEG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB"}
1
+ {"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/operator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,iDAAiD;IACjD,SAAS,IAAI,YAAY,CAAC;IAE1B;;;;OAIG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,+CAA+C;IAC/C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;OAGG;IACH,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7C,kFAAkF;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAEnC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;;OAOG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAIzB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,QAAS,SAAQ,KAAK,EAAE,MAAM;CAAG;AAElD;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACzD;;OAEG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"operator.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/operator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,MAAM,WAAW,CAAC;AAuEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAW;IACjC,IAAI,CAAC,OAAe;QAClB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"operator.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/operator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,MAAM,WAAW,CAAC;AAyEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAW;IACjC,IAAI,CAAC,OAAe;QAClB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rocicorp/zero",
3
- "version": "0.20.2025051200",
3
+ "version": "0.20.2025051300",
4
4
  "description": "Zero is a web framework for serverless web development.",
5
5
  "author": "Rocicorp, Inc.",
6
6
  "repository": {