@rocicorp/zero 1.11.0-canary.0 → 1.11.0-canary.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/analyze-query/src/bin-analyze.js +1 -1
- package/out/analyze-query/src/bin-analyze.js.map +1 -1
- package/out/replicache/src/btree/read.d.ts +12 -1
- package/out/replicache/src/btree/read.d.ts.map +1 -1
- package/out/replicache/src/btree/read.js +24 -12
- package/out/replicache/src/btree/read.js.map +1 -1
- package/out/replicache/src/dag/gc.d.ts.map +1 -1
- package/out/replicache/src/dag/gc.js +2 -1
- package/out/replicache/src/dag/gc.js.map +1 -1
- package/out/replicache/src/dag/invalid-ref-count-error.d.ts +12 -0
- package/out/replicache/src/dag/invalid-ref-count-error.d.ts.map +1 -0
- package/out/replicache/src/dag/invalid-ref-count-error.js +19 -0
- package/out/replicache/src/dag/invalid-ref-count-error.js.map +1 -0
- package/out/replicache/src/dag/store-impl.d.ts +12 -2
- package/out/replicache/src/dag/store-impl.d.ts.map +1 -1
- package/out/replicache/src/dag/store-impl.js +22 -8
- package/out/replicache/src/dag/store-impl.js.map +1 -1
- package/out/replicache/src/db/rebase.d.ts +14 -2
- package/out/replicache/src/db/rebase.d.ts.map +1 -1
- package/out/replicache/src/db/rebase.js +27 -5
- package/out/replicache/src/db/rebase.js.map +1 -1
- package/out/replicache/src/db/write.js.map +1 -1
- package/out/replicache/src/kv/expo-sqlite/store.d.ts.map +1 -1
- package/out/replicache/src/kv/expo-sqlite/store.js +28 -5
- package/out/replicache/src/kv/expo-sqlite/store.js.map +1 -1
- package/out/replicache/src/kv/idb-store-with-mem-fallback.d.ts +15 -5
- package/out/replicache/src/kv/idb-store-with-mem-fallback.d.ts.map +1 -1
- package/out/replicache/src/kv/idb-store-with-mem-fallback.js +25 -25
- package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +1 -1
- package/out/replicache/src/kv/idb-store.d.ts +9 -0
- package/out/replicache/src/kv/idb-store.d.ts.map +1 -1
- package/out/replicache/src/kv/idb-store.js +14 -2
- package/out/replicache/src/kv/idb-store.js.map +1 -1
- package/out/replicache/src/kv/mem-store.d.ts +1 -0
- package/out/replicache/src/kv/mem-store.d.ts.map +1 -1
- package/out/replicache/src/kv/mem-store.js +3 -0
- package/out/replicache/src/kv/mem-store.js.map +1 -1
- package/out/replicache/src/kv/op-sqlite/store.d.ts.map +1 -1
- package/out/replicache/src/kv/op-sqlite/store.js +1 -1
- package/out/replicache/src/kv/op-sqlite/store.js.map +1 -1
- package/out/replicache/src/kv/sqlite-store.d.ts +13 -1
- package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
- package/out/replicache/src/kv/sqlite-store.js +49 -4
- package/out/replicache/src/kv/sqlite-store.js.map +1 -1
- package/out/replicache/src/kv/store.d.ts +6 -0
- package/out/replicache/src/kv/store.d.ts.map +1 -1
- package/out/replicache/src/persist/collect-idb-databases.d.ts +10 -5
- package/out/replicache/src/persist/collect-idb-databases.d.ts.map +1 -1
- package/out/replicache/src/persist/collect-idb-databases.js +16 -9
- package/out/replicache/src/persist/collect-idb-databases.js.map +1 -1
- package/out/replicache/src/persist/persist.d.ts.map +1 -1
- package/out/replicache/src/persist/persist.js +12 -5
- package/out/replicache/src/persist/persist.js.map +1 -1
- package/out/replicache/src/persist/refresh.js +6 -2
- package/out/replicache/src/persist/refresh.js.map +1 -1
- package/out/replicache/src/replicache-impl.d.ts +14 -3
- package/out/replicache/src/replicache-impl.d.ts.map +1 -1
- package/out/replicache/src/replicache-impl.js +118 -11
- package/out/replicache/src/replicache-impl.js.map +1 -1
- package/out/replicache/src/replicache-options.d.ts +9 -0
- package/out/replicache/src/replicache-options.d.ts.map +1 -1
- package/out/replicache/src/transactions.d.ts.map +1 -1
- package/out/replicache/src/transactions.js +1 -1
- package/out/replicache/src/transactions.js.map +1 -1
- package/out/shared/src/error.d.ts +11 -0
- package/out/shared/src/error.d.ts.map +1 -1
- package/out/shared/src/error.js +35 -1
- package/out/shared/src/error.js.map +1 -1
- package/out/shared/src/iterables.d.ts +2 -0
- package/out/shared/src/iterables.d.ts.map +1 -1
- package/out/shared/src/iterables.js +18 -1
- package/out/shared/src/iterables.js.map +1 -1
- package/out/shared/src/map.d.ts +7 -2
- package/out/shared/src/map.d.ts.map +1 -1
- package/out/shared/src/map.js.map +1 -1
- package/out/shared/src/ring-buffer.d.ts +8 -0
- package/out/shared/src/ring-buffer.d.ts.map +1 -1
- package/out/shared/src/ring-buffer.js +22 -1
- package/out/shared/src/ring-buffer.js.map +1 -1
- package/out/zero/package.js +3 -4
- package/out/zero/package.js.map +1 -1
- package/out/zero-cache/src/config/normalize.d.ts.map +1 -1
- package/out/zero-cache/src/config/normalize.js +25 -1
- package/out/zero-cache/src/config/normalize.js.map +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts +48 -2
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +171 -29
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +25 -9
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/server/inspector-delegate.d.ts +18 -2
- package/out/zero-cache/src/server/inspector-delegate.d.ts.map +1 -1
- package/out/zero-cache/src/server/inspector-delegate.js +20 -7
- package/out/zero-cache/src/server/inspector-delegate.js.map +1 -1
- package/out/zero-cache/src/server/main.d.ts.map +1 -1
- package/out/zero-cache/src/server/main.js +8 -1
- package/out/zero-cache/src/server/main.js.map +1 -1
- package/out/zero-cache/src/server/mutator.js +2 -0
- package/out/zero-cache/src/server/mutator.js.map +1 -1
- package/out/zero-cache/src/server/reaper.d.ts.map +1 -1
- package/out/zero-cache/src/server/reaper.js +2 -0
- package/out/zero-cache/src/server/reaper.js.map +1 -1
- package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/server/replicator.js +8 -2
- package/out/zero-cache/src/server/replicator.js.map +1 -1
- package/out/zero-cache/src/server/runner/run-worker.js +1 -1
- package/out/zero-cache/src/server/runner/zero-dispatcher.d.ts.map +1 -1
- package/out/zero-cache/src/server/runner/zero-dispatcher.js +3 -0
- package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -1
- package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/server/syncer.js +2 -0
- package/out/zero-cache/src/server/syncer.js.map +1 -1
- package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
- package/out/zero-cache/src/services/analyze.js +3 -2
- package/out/zero-cache/src/services/analyze.js.map +1 -1
- package/out/zero-cache/src/services/change-source/common/backfill-manager.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/common/backfill-manager.js +14 -1
- package/out/zero-cache/src/services/change-source/common/backfill-manager.js.map +1 -1
- package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.js +15 -3
- package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.js.map +1 -1
- package/out/zero-cache/src/services/change-source/common/replica-schema.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/common/replica-schema.js +2 -39
- package/out/zero-cache/src/services/change-source/common/replica-schema.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/backfill-resume.d.ts +156 -0
- package/out/zero-cache/src/services/change-source/pg/backfill-resume.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-source/pg/backfill-resume.js +15 -0
- package/out/zero-cache/src/services/change-source/pg/backfill-resume.js.map +1 -0
- package/out/zero-cache/src/services/change-source/pg/change-source-init.d.ts +25 -0
- package/out/zero-cache/src/services/change-source/pg/change-source-init.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-source/pg/change-source-init.js +202 -0
- package/out/zero-cache/src/services/change-source/pg/change-source-init.js.map +1 -0
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +14 -16
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.js +64 -143
- package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +28 -2
- package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js +44 -21
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/replication-slot-cleanup-monitor.d.ts +16 -0
- package/out/zero-cache/src/services/change-source/pg/replication-slot-cleanup-monitor.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-source/pg/replication-slot-cleanup-monitor.js +113 -0
- package/out/zero-cache/src/services/change-source/pg/replication-slot-cleanup-monitor.js.map +1 -0
- package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts +21 -15
- package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/replication-slots.js +86 -23
- package/out/zero-cache/src/services/change-source/pg/replication-slots.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/index-predicate.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/index-predicate.js +68 -8
- package/out/zero-cache/src/services/change-source/pg/schema/index-predicate.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.js +32 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/replica-stage-enum.d.ts +10 -0
- package/out/zero-cache/src/services/change-source/pg/schema/replica-stage-enum.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-source/pg/schema/replica-stage-enum.js +6 -0
- package/out/zero-cache/src/services/change-source/pg/schema/replica-stage-enum.js.map +1 -0
- package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +50 -27
- package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/shard.js +100 -34
- package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/backup-monitor.js +58 -7
- package/out/zero-cache/src/services/change-streamer/backup-monitor.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/broadcast.d.ts +8 -2
- package/out/zero-cache/src/services/change-streamer/broadcast.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/broadcast.js +24 -4
- package/out/zero-cache/src/services/change-streamer/broadcast.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-log-codec.d.ts +19 -4
- package/out/zero-cache/src/services/change-streamer/change-log-codec.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-log-codec.js +28 -8
- package/out/zero-cache/src/services/change-streamer/change-log-codec.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +5 -2
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +21 -14
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +6 -0
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +97 -63
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +12 -8
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +3 -3
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/forwarder.js +36 -5
- package/out/zero-cache/src/services/change-streamer/forwarder.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.js +4 -4
- package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/snapshot.d.ts +3 -1
- package/out/zero-cache/src/services/change-streamer/snapshot.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/snapshot.js +54 -20
- package/out/zero-cache/src/services/change-streamer/snapshot.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-writer.d.ts +6 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-writer.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-writer.js +27 -9
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-writer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/storer.d.ts +2 -2
- package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/storer.js +8 -5
- package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +4 -1
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/subscriber.js +42 -0
- package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/upstream-acker.d.ts +17 -1
- package/out/zero-cache/src/services/change-streamer/upstream-acker.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/upstream-acker.js +19 -3
- package/out/zero-cache/src/services/change-streamer/upstream-acker.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/vfs-watermark-poller.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/vfs-watermark-poller.js +1 -0
- package/out/zero-cache/src/services/change-streamer/vfs-watermark-poller.js.map +1 -1
- package/out/zero-cache/src/services/life-cycle.d.ts.map +1 -1
- package/out/zero-cache/src/services/life-cycle.js +3 -1
- package/out/zero-cache/src/services/life-cycle.js.map +1 -1
- package/out/zero-cache/src/services/litestream/commands.d.ts.map +1 -1
- package/out/zero-cache/src/services/litestream/commands.js +8 -3
- package/out/zero-cache/src/services/litestream/commands.js.map +1 -1
- package/out/zero-cache/src/services/litestream/config-v5.yml +15 -1
- package/out/zero-cache/src/services/litestream/litestream-checkpointer.js +131 -0
- package/out/zero-cache/src/services/litestream/litestream-checkpointer.js.map +1 -0
- package/out/zero-cache/src/services/litestream/litestream-controller.d.ts +70 -0
- package/out/zero-cache/src/services/litestream/litestream-controller.d.ts.map +1 -0
- package/out/zero-cache/src/services/litestream/litestream-controller.js +101 -0
- package/out/zero-cache/src/services/litestream/litestream-controller.js.map +1 -0
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +5 -0
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +7 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.js +2 -1
- package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
- package/out/zero-cache/src/services/profz.d.ts +7 -0
- package/out/zero-cache/src/services/profz.d.ts.map +1 -0
- package/out/zero-cache/src/services/profz.js +105 -0
- package/out/zero-cache/src/services/profz.js.map +1 -0
- package/out/zero-cache/src/services/replicator/change-log-db.js.map +1 -1
- package/out/zero-cache/src/services/replicator/change-log-stream-writer.d.ts +5 -4
- package/out/zero-cache/src/services/replicator/change-log-stream-writer.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/change-log-stream-writer.js +20 -22
- package/out/zero-cache/src/services/replicator/change-log-stream-writer.js.map +1 -1
- package/out/zero-cache/src/services/replicator/change-processor.js +1 -0
- package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.js +58 -17
- package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
- package/out/zero-cache/src/services/replicator/replication-status.d.ts +35 -1
- package/out/zero-cache/src/services/replicator/replication-status.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/replication-status.js +96 -6
- package/out/zero-cache/src/services/replicator/replication-status.js.map +1 -1
- package/out/zero-cache/src/services/replicator/replicator.js.map +1 -1
- package/out/zero-cache/src/services/replicator/sqlite-change-log-observability.d.ts +6 -6
- package/out/zero-cache/src/services/replicator/sqlite-change-log-observability.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/sqlite-change-log-observability.js +19 -14
- package/out/zero-cache/src/services/replicator/sqlite-change-log-observability.js.map +1 -1
- package/out/zero-cache/src/services/replicator/write-worker-client.d.ts +31 -6
- package/out/zero-cache/src/services/replicator/write-worker-client.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/write-worker-client.js +5 -4
- package/out/zero-cache/src/services/replicator/write-worker-client.js.map +1 -1
- package/out/zero-cache/src/services/replicator/write-worker.js +30 -5
- package/out/zero-cache/src/services/replicator/write-worker.js.map +1 -1
- package/out/zero-cache/src/services/run-ast.d.ts +12 -0
- package/out/zero-cache/src/services/run-ast.d.ts.map +1 -1
- package/out/zero-cache/src/services/run-ast.js +26 -14
- package/out/zero-cache/src/services/run-ast.js.map +1 -1
- package/out/zero-cache/src/services/runner.d.ts.map +1 -1
- package/out/zero-cache/src/services/runner.js +1 -1
- package/out/zero-cache/src/services/runner.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.js +36 -31
- package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts +45 -0
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.js +133 -1
- package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts +14 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +30 -4
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/hydration-budget.d.ts +33 -0
- package/out/zero-cache/src/services/view-syncer/hydration-budget.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/hydration-budget.js +62 -0
- package/out/zero-cache/src/services/view-syncer/hydration-budget.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.d.ts +51 -0
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.js +78 -0
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +1 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.js +2 -2
- package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +2 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +33 -18
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +4 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.js +9 -3
- package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +11 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +507 -93
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/processes.d.ts +32 -0
- package/out/zero-cache/src/types/processes.d.ts.map +1 -1
- package/out/zero-cache/src/types/processes.js +43 -4
- package/out/zero-cache/src/types/processes.js.map +1 -1
- package/out/zero-cache/src/types/profiler.d.ts +12 -0
- package/out/zero-cache/src/types/profiler.d.ts.map +1 -1
- package/out/zero-cache/src/types/profiler.js +46 -1
- package/out/zero-cache/src/types/profiler.js.map +1 -1
- package/out/zero-cache/src/types/streams.d.ts +25 -9
- package/out/zero-cache/src/types/streams.d.ts.map +1 -1
- package/out/zero-cache/src/types/streams.js +118 -34
- package/out/zero-cache/src/types/streams.js.map +1 -1
- package/out/zero-cache/src/types/subscription.d.ts +4 -0
- package/out/zero-cache/src/types/subscription.d.ts.map +1 -1
- package/out/zero-cache/src/types/subscription.js +71 -0
- package/out/zero-cache/src/types/subscription.js.map +1 -1
- package/out/zero-cache/src/types/ws.d.ts.map +1 -1
- package/out/zero-cache/src/types/ws.js +23 -8
- package/out/zero-cache/src/types/ws.js.map +1 -1
- package/out/zero-cache/src/workers/connection.js +2 -2
- package/out/zero-cache/src/workers/replicator.d.ts +1 -0
- package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/workers/replicator.js +4 -2
- package/out/zero-cache/src/workers/replicator.js.map +1 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js +21 -16
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +10 -1
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/connection-manager.d.ts +20 -0
- package/out/zero-client/src/client/connection-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/connection-manager.js +77 -13
- package/out/zero-client/src/client/connection-manager.js.map +1 -1
- package/out/zero-client/src/client/connection-status-enum.d.ts +2 -0
- package/out/zero-client/src/client/connection-status-enum.d.ts.map +1 -1
- package/out/zero-client/src/client/connection-status-enum.js +3 -1
- package/out/zero-client/src/client/connection-status-enum.js.map +1 -1
- package/out/zero-client/src/client/connection.d.ts +6 -0
- package/out/zero-client/src/client/connection.d.ts.map +1 -1
- package/out/zero-client/src/client/connection.js +2 -1
- package/out/zero-client/src/client/connection.js.map +1 -1
- package/out/zero-client/src/client/context.d.ts +27 -2
- package/out/zero-client/src/client/context.d.ts.map +1 -1
- package/out/zero-client/src/client/context.js +112 -1
- package/out/zero-client/src/client/context.js.map +1 -1
- package/out/zero-client/src/client/custom.js +2 -2
- package/out/zero-client/src/client/custom.js.map +1 -1
- package/out/zero-client/src/client/error.js +1 -1
- package/out/zero-client/src/client/inspector/lazy-inspector.js +2 -2
- package/out/zero-client/src/client/inspector/lazy-inspector.js.map +1 -1
- package/out/zero-client/src/client/ivm-branch.d.ts.map +1 -1
- package/out/zero-client/src/client/ivm-branch.js +20 -3
- package/out/zero-client/src/client/ivm-branch.js.map +1 -1
- package/out/zero-client/src/client/mutator-proxy.d.ts.map +1 -1
- package/out/zero-client/src/client/mutator-proxy.js +2 -1
- package/out/zero-client/src/client/mutator-proxy.js.map +1 -1
- package/out/zero-client/src/client/options.d.ts +3 -0
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/options.js.map +1 -1
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/query-manager.js +42 -6
- package/out/zero-client/src/client/query-manager.js.map +1 -1
- package/out/zero-client/src/client/version.js +1 -1
- package/out/zero-client/src/client/zero-rep.d.ts +1 -0
- package/out/zero-client/src/client/zero-rep.d.ts.map +1 -1
- package/out/zero-client/src/client/zero-rep.js +9 -6
- package/out/zero-client/src/client/zero-rep.js.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +18 -3
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.js +122 -34
- package/out/zero-client/src/client/zero.js.map +1 -1
- package/out/zero-client/src/types/query-result.d.ts +2 -0
- package/out/zero-client/src/types/query-result.d.ts.map +1 -1
- package/out/zero-events/src/status.d.ts +26 -0
- package/out/zero-events/src/status.d.ts.map +1 -1
- package/out/zero-protocol/src/analyze-query-result.d.ts +5 -5
- package/out/zero-protocol/src/analyze-query-result.d.ts.map +1 -1
- package/out/zero-protocol/src/analyze-query-result.js +1 -1
- package/out/zero-protocol/src/analyze-query-result.js.map +1 -1
- package/out/zero-protocol/src/down.d.ts +4 -4
- package/out/zero-protocol/src/inspect-down.d.ts +6 -6
- package/out/zero-protocol/src/protocol-version.d.ts +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
- package/out/zero-protocol/src/protocol-version.js.map +1 -1
- package/out/zero-react/src/use-query.d.ts +5 -4
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-react/src/use-query.js +86 -9
- package/out/zero-react/src/use-query.js.map +1 -1
- package/out/zero-server/src/adapters/drizzle.d.ts +2 -1
- package/out/zero-server/src/adapters/drizzle.d.ts.map +1 -1
- package/out/zero-server/src/adapters/drizzle.js +12 -7
- package/out/zero-server/src/adapters/drizzle.js.map +1 -1
- package/out/zero-server/src/adapters/kysely.d.ts +2 -1
- package/out/zero-server/src/adapters/kysely.d.ts.map +1 -1
- package/out/zero-server/src/adapters/kysely.js +8 -2
- package/out/zero-server/src/adapters/kysely.js.map +1 -1
- package/out/zero-server/src/adapters/pg.d.ts +1 -0
- package/out/zero-server/src/adapters/pg.d.ts.map +1 -1
- package/out/zero-server/src/adapters/pg.js +8 -2
- package/out/zero-server/src/adapters/pg.js.map +1 -1
- package/out/zero-server/src/adapters/postgresjs.d.ts +1 -0
- package/out/zero-server/src/adapters/postgresjs.d.ts.map +1 -1
- package/out/zero-server/src/adapters/postgresjs.js +7 -1
- package/out/zero-server/src/adapters/postgresjs.js.map +1 -1
- package/out/zero-server/src/adapters/prisma.d.ts +3 -2
- package/out/zero-server/src/adapters/prisma.d.ts.map +1 -1
- package/out/zero-server/src/adapters/prisma.js +8 -2
- package/out/zero-server/src/adapters/prisma.js.map +1 -1
- package/out/zero-server/src/custom.d.ts +5 -1
- package/out/zero-server/src/custom.d.ts.map +1 -1
- package/out/zero-server/src/custom.js +6 -3
- package/out/zero-server/src/custom.js.map +1 -1
- package/out/zero-server/src/mod.d.ts +1 -1
- package/out/zero-server/src/mod.d.ts.map +1 -1
- package/out/zero-server/src/pg-query-executor.d.ts +2 -2
- package/out/zero-server/src/pg-query-executor.d.ts.map +1 -1
- package/out/zero-server/src/pg-query-executor.js +2 -2
- package/out/zero-server/src/pg-query-executor.js.map +1 -1
- package/out/zero-server/src/schema.d.ts +2 -2
- package/out/zero-server/src/schema.d.ts.map +1 -1
- package/out/zero-server/src/schema.js +2 -2
- package/out/zero-server/src/schema.js.map +1 -1
- package/out/zero-server/src/zql-database.d.ts +21 -1
- package/out/zero-server/src/zql-database.d.ts.map +1 -1
- package/out/zero-server/src/zql-database.js +33 -2
- package/out/zero-server/src/zql-database.js.map +1 -1
- package/out/zero-solid/src/solid-view.d.ts +17 -0
- package/out/zero-solid/src/solid-view.d.ts.map +1 -1
- package/out/zero-solid/src/solid-view.js +39 -1
- package/out/zero-solid/src/solid-view.js.map +1 -1
- package/out/zero-solid/src/use-query.js +5 -3
- package/out/zero-solid/src/use-query.js.map +1 -1
- package/out/zql/src/builder/builder.d.ts.map +1 -1
- package/out/zql/src/builder/builder.js +16 -10
- package/out/zql/src/builder/builder.js.map +1 -1
- package/out/zql/src/builder/debug-delegate.d.ts +6 -1
- package/out/zql/src/builder/debug-delegate.d.ts.map +1 -1
- package/out/zql/src/builder/debug-delegate.js +14 -2
- package/out/zql/src/builder/debug-delegate.js.map +1 -1
- package/out/zql/src/ivm/array-view.d.ts +29 -0
- package/out/zql/src/ivm/array-view.d.ts.map +1 -1
- package/out/zql/src/ivm/array-view.js +63 -12
- package/out/zql/src/ivm/array-view.js.map +1 -1
- package/out/zql/src/ivm/cap.d.ts.map +1 -1
- package/out/zql/src/ivm/cap.js +5 -3
- package/out/zql/src/ivm/cap.js.map +1 -1
- package/out/zql/src/ivm/data.d.ts.map +1 -1
- package/out/zql/src/ivm/data.js +8 -3
- package/out/zql/src/ivm/data.js.map +1 -1
- package/out/zql/src/ivm/deferred-input.d.ts +44 -0
- package/out/zql/src/ivm/deferred-input.d.ts.map +1 -0
- package/out/zql/src/ivm/deferred-input.js +89 -0
- package/out/zql/src/ivm/deferred-input.js.map +1 -0
- package/out/zql/src/ivm/exists.d.ts +1 -1
- package/out/zql/src/ivm/exists.d.ts.map +1 -1
- package/out/zql/src/ivm/exists.js.map +1 -1
- package/out/zql/src/ivm/fan-in.d.ts +2 -2
- package/out/zql/src/ivm/fan-in.d.ts.map +1 -1
- package/out/zql/src/ivm/fan-in.js +6 -5
- package/out/zql/src/ivm/fan-in.js.map +1 -1
- package/out/zql/src/ivm/fan-out.d.ts +2 -2
- package/out/zql/src/ivm/fan-out.d.ts.map +1 -1
- package/out/zql/src/ivm/fan-out.js.map +1 -1
- package/out/zql/src/ivm/filter-operators.d.ts +7 -6
- package/out/zql/src/ivm/filter-operators.d.ts.map +1 -1
- package/out/zql/src/ivm/filter-operators.js +29 -12
- package/out/zql/src/ivm/filter-operators.js.map +1 -1
- package/out/zql/src/ivm/filter.d.ts +2 -2
- package/out/zql/src/ivm/filter.d.ts.map +1 -1
- package/out/zql/src/ivm/filter.js +7 -4
- package/out/zql/src/ivm/filter.js.map +1 -1
- package/out/zql/src/ivm/flipped-join.js +2 -2
- package/out/zql/src/ivm/flipped-join.js.map +1 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts +1 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.js +6 -4
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -1
- package/out/zql/src/ivm/memory-source.d.ts +15 -3
- package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
- package/out/zql/src/ivm/memory-source.js +57 -23
- package/out/zql/src/ivm/memory-source.js.map +1 -1
- package/out/zql/src/ivm/operator.d.ts +40 -0
- package/out/zql/src/ivm/operator.d.ts.map +1 -1
- package/out/zql/src/ivm/operator.js.map +1 -1
- package/out/zql/src/ivm/take.d.ts.map +1 -1
- package/out/zql/src/ivm/take.js +3 -4
- package/out/zql/src/ivm/take.js.map +1 -1
- package/out/zql/src/ivm/union-fan-in.d.ts.map +1 -1
- package/out/zql/src/ivm/union-fan-in.js +9 -7
- package/out/zql/src/ivm/union-fan-in.js.map +1 -1
- package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -1
- package/out/zql/src/ivm/view-apply-change.js +9 -4
- package/out/zql/src/ivm/view-apply-change.js.map +1 -1
- package/out/zql/src/ivm/view.d.ts +15 -0
- package/out/zql/src/ivm/view.d.ts.map +1 -1
- package/out/zql/src/mutate/custom.d.ts +24 -1
- package/out/zql/src/mutate/custom.d.ts.map +1 -1
- package/out/zql/src/mutate/custom.js.map +1 -1
- package/out/zql/src/mutate/mutator-registry.d.ts.map +1 -1
- package/out/zql/src/mutate/mutator-registry.js +2 -2
- package/out/zql/src/mutate/mutator-registry.js.map +1 -1
- package/out/zql/src/planner/planner-builder.d.ts.map +1 -1
- package/out/zql/src/planner/planner-builder.js +14 -4
- package/out/zql/src/planner/planner-builder.js.map +1 -1
- package/out/zql/src/planner/planner-connection.d.ts +13 -0
- package/out/zql/src/planner/planner-connection.d.ts.map +1 -1
- package/out/zql/src/planner/planner-connection.js +42 -7
- package/out/zql/src/planner/planner-connection.js.map +1 -1
- package/out/zql/src/planner/planner-debug.d.ts +1 -1
- package/out/zql/src/planner/planner-debug.d.ts.map +1 -1
- package/out/zql/src/planner/planner-debug.js.map +1 -1
- package/out/zql/src/planner/planner-fan-out.d.ts +1 -0
- package/out/zql/src/planner/planner-fan-out.d.ts.map +1 -1
- package/out/zql/src/planner/planner-fan-out.js +3 -0
- package/out/zql/src/planner/planner-fan-out.js.map +1 -1
- package/out/zql/src/planner/planner-filter.d.ts +59 -0
- package/out/zql/src/planner/planner-filter.d.ts.map +1 -0
- package/out/zql/src/planner/planner-filter.js +116 -0
- package/out/zql/src/planner/planner-filter.js.map +1 -0
- package/out/zql/src/planner/planner-graph.d.ts +2 -0
- package/out/zql/src/planner/planner-graph.d.ts.map +1 -1
- package/out/zql/src/planner/planner-graph.js +2 -0
- package/out/zql/src/planner/planner-graph.js.map +1 -1
- package/out/zql/src/planner/planner-join.d.ts +2 -0
- package/out/zql/src/planner/planner-join.d.ts.map +1 -1
- package/out/zql/src/planner/planner-join.js +7 -0
- package/out/zql/src/planner/planner-join.js.map +1 -1
- package/out/zql/src/planner/planner-node.d.ts +2 -1
- package/out/zql/src/planner/planner-node.d.ts.map +1 -1
- package/out/zql/src/planner/planner-node.js.map +1 -1
- package/out/zql/src/query/query-delegate-base.d.ts +9 -1
- package/out/zql/src/query/query-delegate-base.d.ts.map +1 -1
- package/out/zql/src/query/query-delegate-base.js +129 -33
- package/out/zql/src/query/query-delegate-base.js.map +1 -1
- package/out/zql/src/query/query-delegate.d.ts +50 -1
- package/out/zql/src/query/query-delegate.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +13 -11
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +383 -60
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/query-transitions.d.ts +171 -0
- package/out/zql/src/query/query-transitions.d.ts.map +1 -0
- package/out/zql/src/query/query-transitions.js +207 -0
- package/out/zql/src/query/query-transitions.js.map +1 -0
- package/out/zql/src/query/query.d.ts +11 -2
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zql/src/query/runnable-query-impl.d.ts +1 -0
- package/out/zql/src/query/runnable-query-impl.d.ts.map +1 -1
- package/out/zql/src/query/runnable-query-impl.js +21 -1
- package/out/zql/src/query/runnable-query-impl.js.map +1 -1
- package/out/zql/src/query/typed-view.d.ts +1 -1
- package/out/zql/src/query/typed-view.d.ts.map +1 -1
- package/out/zqlite/src/db.d.ts +9 -1
- package/out/zqlite/src/db.d.ts.map +1 -1
- package/out/zqlite/src/db.js +8 -2
- package/out/zqlite/src/db.js.map +1 -1
- package/out/zqlite/src/query-builder.d.ts +1 -1
- package/out/zqlite/src/query-builder.d.ts.map +1 -1
- package/out/zqlite/src/query-builder.js +2 -1
- package/out/zqlite/src/query-builder.js.map +1 -1
- package/out/zqlite/src/sqlite-cost-model.d.ts.map +1 -1
- package/out/zqlite/src/sqlite-cost-model.js +2 -30
- package/out/zqlite/src/sqlite-cost-model.js.map +1 -1
- package/out/zqlite/src/table-source.d.ts +1 -0
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +20 -8
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +3 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-result.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/types/query-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,KAAK,EACV;QACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;QACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;KACtC,GACD;QACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;KACtC,CAAC;CACP,CAAC;AAEN,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE;IAAC,IAAI,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"query-result.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/types/query-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,KAAK,EACV;QACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;QACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;KACtC,GACD;QACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;KACtC,CAAC;CACP,CAAC;AAEN,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE;IAAC,IAAI,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC"}
|
|
@@ -63,11 +63,37 @@ export type DownloadStatus = {
|
|
|
63
63
|
totalBytes?: number | undefined;
|
|
64
64
|
rows: number;
|
|
65
65
|
};
|
|
66
|
+
/**
|
|
67
|
+
* Progress of index creation, reported while an index is being built
|
|
68
|
+
* (e.g. during initial sync, or when an index is created on an existing
|
|
69
|
+
* table during replication).
|
|
70
|
+
*/
|
|
71
|
+
export type IndexingStatus = {
|
|
72
|
+
/** The name of the index currently being created. */
|
|
73
|
+
name: string;
|
|
74
|
+
table: string;
|
|
75
|
+
columns: string[];
|
|
76
|
+
unique: boolean;
|
|
77
|
+
/** The 1-based position of the current index. */
|
|
78
|
+
index: number;
|
|
79
|
+
/**
|
|
80
|
+
* The total number of indexes to create. This is `undefined` when the
|
|
81
|
+
* total is not known in advance (e.g. during replication).
|
|
82
|
+
*/
|
|
83
|
+
totalIndexes?: number | undefined;
|
|
84
|
+
/** Milliseconds spent so far creating the current index. */
|
|
85
|
+
elapsedMs: number;
|
|
86
|
+
/** Milliseconds spent creating the preceding (completed) indexes. */
|
|
87
|
+
completedMs: number;
|
|
88
|
+
/** Whether creation of the current index has completed. */
|
|
89
|
+
done: boolean;
|
|
90
|
+
};
|
|
66
91
|
export type ReplicationState = {
|
|
67
92
|
tables: ReplicatedTable[];
|
|
68
93
|
indexes: ReplicatedIndex[];
|
|
69
94
|
replicaSize?: number | undefined;
|
|
70
95
|
downloadStatus?: DownloadStatus[] | undefined;
|
|
96
|
+
indexingStatus?: IndexingStatus | undefined;
|
|
71
97
|
};
|
|
72
98
|
export type ReplicationStage = 'Initializing' | 'Indexing' | 'Replicating';
|
|
73
99
|
export declare const REPLICATION_STATUS_EVENT_V1_TYPE = "zero/events/status/replication/v1";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../zero-events/src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AAE1C,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;AAEpC,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAE9D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,IAAI,EAAE,GAAG,OAAO,wBAAwB,GAAG,MAAM,EAAE,CAAC;IAEpD;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC,6DAA6D;IAC7D,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAE/B,sEAAsE;IACtE,YAAY,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,cAAc,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../zero-events/src/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ declare const bestPlanSelectedEventJSONSchema: v.ObjectType<{
|
|
|
37
37
|
declare const nodeConstraintEventJSONSchema: v.ObjectType<{
|
|
38
38
|
type: v.Type<"node-constraint">;
|
|
39
39
|
attemptNumber: v.Optional<number>;
|
|
40
|
-
nodeType: v.UnionType<[v.Type<"connection">, v.Type<"join">, v.Type<"fan-out">, v.Type<"fan-in">, v.Type<"terminus">]>;
|
|
40
|
+
nodeType: v.UnionType<[v.Type<"connection">, v.Type<"join">, v.Type<"fan-out">, v.Type<"fan-in">, v.Type<"filter">, v.Type<"terminus">]>;
|
|
41
41
|
node: v.Type<string>;
|
|
42
42
|
branchPattern: v.ArrayType<v.Type<number>>;
|
|
43
43
|
constraint: v.Optional<Record<string, unknown> | null>;
|
|
@@ -118,7 +118,7 @@ declare const planDebugEventJSONSchema: v.UnionType<[v.ObjectType<{
|
|
|
118
118
|
}, undefined>, v.ObjectType<{
|
|
119
119
|
type: v.Type<"node-cost">;
|
|
120
120
|
attemptNumber: v.Optional<number>;
|
|
121
|
-
nodeType: v.UnionType<[v.Type<"connection">, v.Type<"join">, v.Type<"fan-out">, v.Type<"fan-in">, v.Type<"terminus">]>;
|
|
121
|
+
nodeType: v.UnionType<[v.Type<"connection">, v.Type<"join">, v.Type<"fan-out">, v.Type<"fan-in">, v.Type<"filter">, v.Type<"terminus">]>;
|
|
122
122
|
node: v.Type<string>;
|
|
123
123
|
branchPattern: v.ArrayType<v.Type<number>>;
|
|
124
124
|
downstreamChildSelectivity: v.Type<number>;
|
|
@@ -136,7 +136,7 @@ declare const planDebugEventJSONSchema: v.UnionType<[v.ObjectType<{
|
|
|
136
136
|
}, undefined>, v.ObjectType<{
|
|
137
137
|
type: v.Type<"node-constraint">;
|
|
138
138
|
attemptNumber: v.Optional<number>;
|
|
139
|
-
nodeType: v.UnionType<[v.Type<"connection">, v.Type<"join">, v.Type<"fan-out">, v.Type<"fan-in">, v.Type<"terminus">]>;
|
|
139
|
+
nodeType: v.UnionType<[v.Type<"connection">, v.Type<"join">, v.Type<"fan-out">, v.Type<"fan-in">, v.Type<"filter">, v.Type<"terminus">]>;
|
|
140
140
|
node: v.Type<string>;
|
|
141
141
|
branchPattern: v.ArrayType<v.Type<number>>;
|
|
142
142
|
constraint: v.Optional<Record<string, unknown> | null>;
|
|
@@ -237,7 +237,7 @@ export declare const analyzeQueryResultSchema: v.ObjectType<{
|
|
|
237
237
|
} | {
|
|
238
238
|
type: "node-cost";
|
|
239
239
|
attemptNumber?: number | undefined;
|
|
240
|
-
nodeType: "connection" | "fan-in" | "fan-out" | "join" | "terminus";
|
|
240
|
+
nodeType: "connection" | "fan-in" | "fan-out" | "filter" | "join" | "terminus";
|
|
241
241
|
node: string;
|
|
242
242
|
branchPattern: number[];
|
|
243
243
|
downstreamChildSelectivity: number;
|
|
@@ -255,7 +255,7 @@ export declare const analyzeQueryResultSchema: v.ObjectType<{
|
|
|
255
255
|
} | {
|
|
256
256
|
type: "node-constraint";
|
|
257
257
|
attemptNumber?: number | undefined;
|
|
258
|
-
nodeType: "connection" | "fan-in" | "fan-out" | "join" | "terminus";
|
|
258
|
+
nodeType: "connection" | "fan-in" | "fan-out" | "filter" | "join" | "terminus";
|
|
259
259
|
node: string;
|
|
260
260
|
branchPattern: number[];
|
|
261
261
|
constraint?: Record<string, unknown> | null | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-query-result.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/analyze-query-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAKhD,eAAO,MAAM,sBAAsB,gCAAuB,CAAC;AAC3D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB,gDAAmC,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,iBAAiB,+EAA+B,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,kBAAkB,+FAA8B,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAe9D,QAAA,MAAM,2BAA2B;;;;aAI/B,CAAC;AAiBH,QAAA,MAAM,iCAAiC;;;;;;aAMrC,CAAC;AAiCH,QAAA,MAAM,yBAAyB;;;;aAI7B,CAAC;AAEH,QAAA,MAAM,+BAA+B;;;;;;;;;aAWnC,CAAC;
|
|
1
|
+
{"version":3,"file":"analyze-query-result.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/analyze-query-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAKhD,eAAO,MAAM,sBAAsB,gCAAuB,CAAC;AAC3D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB,gDAAmC,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,iBAAiB,+EAA+B,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,kBAAkB,+FAA8B,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAe9D,QAAA,MAAM,2BAA2B;;;;aAI/B,CAAC;AAiBH,QAAA,MAAM,iCAAiC;;;;;;aAMrC,CAAC;AAiCH,QAAA,MAAM,yBAAyB;;;;aAI7B,CAAC;AAEH,QAAA,MAAM,+BAA+B;;;;;;;;;aAWnC,CAAC;AAwBH,QAAA,MAAM,6BAA6B;;;;;;;;aAQjC,CAAC;AAEH,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAU7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,EACjC,yBAAyB,EACzB,+BAA+B,EAC/B,6BAA6B,GAC9B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;IAKnC,8CAA8C;;;;IAI9C,2CAA2C;;IAE3C,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAQ/B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
|
@@ -74,7 +74,7 @@ var bestPlanSelectedEventJSONSchema = valita_exports.object({
|
|
|
74
74
|
type: joinTypeSchema
|
|
75
75
|
}))
|
|
76
76
|
});
|
|
77
|
-
var nodeTypeSchema = valita_exports.union(valita_exports.literal("connection"), valita_exports.literal("join"), valita_exports.literal("fan-out"), valita_exports.literal("fan-in"), valita_exports.literal("terminus"));
|
|
77
|
+
var nodeTypeSchema = valita_exports.union(valita_exports.literal("connection"), valita_exports.literal("join"), valita_exports.literal("fan-out"), valita_exports.literal("fan-in"), valita_exports.literal("filter"), valita_exports.literal("terminus"));
|
|
78
78
|
var nodeCostEventJSONSchema = valita_exports.object({
|
|
79
79
|
type: valita_exports.literal("node-cost"),
|
|
80
80
|
attemptNumber: valita_exports.number().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-query-result.js","names":[],"sources":["../../../../zero-protocol/src/analyze-query-result.ts"],"sourcesContent":["import * as v from '../../shared/src/valita.ts';\n\nimport {conditionSchema, orderingSchema} from './ast.ts';\nimport {rowSchema} from './data.ts';\n\nexport const rowCountsByQuerySchema = v.record(v.number());\nexport type RowCountsByQuery = v.Infer<typeof rowCountsByQuerySchema>;\n\nexport const rowCountsBySourceSchema = v.record(rowCountsByQuerySchema);\nexport type RowCountsBySource = v.Infer<typeof rowCountsBySourceSchema>;\n\nexport const rowsByQuerySchema = v.record(v.array(rowSchema));\nexport type RowsByQuery = v.Infer<typeof rowsByQuerySchema>;\n\nexport const rowsBySourceSchema = v.record(rowsByQuerySchema);\nexport type RowsBySource = v.Infer<typeof rowsBySourceSchema>;\n\n// Planner debug event schemas\n\nconst costEstimateJSONSchema = v.object({\n startupCost: v.number(),\n scanEst: v.number(),\n cost: v.number(),\n returnedRows: v.number(),\n selectivity: v.number(),\n limit: v.number().optional(),\n});\n\nconst plannerConstraintSchema = v.record(v.union(v.unknown(), v.null()));\n\nconst attemptStartEventJSONSchema = v.object({\n type: v.literal('attempt-start'),\n attemptNumber: v.number(),\n totalAttempts: v.number(),\n});\n\nconst connectionCostsEventJSONSchema = v.object({\n type: v.literal('connection-costs'),\n attemptNumber: v.number(),\n costs: v.array(\n v.object({\n connection: v.string(),\n cost: v.number(),\n costEstimate: costEstimateJSONSchema,\n pinned: v.boolean(),\n constraints: v.record(v.union(plannerConstraintSchema, v.null())),\n constraintCosts: v.record(costEstimateJSONSchema),\n }),\n ),\n});\n\nconst connectionSelectedEventJSONSchema = v.object({\n type: v.literal('connection-selected'),\n attemptNumber: v.number(),\n connection: v.string(),\n cost: v.number(),\n isRoot: v.boolean(),\n});\n\nconst constraintsPropagatedEventJSONSchema = v.object({\n type: v.literal('constraints-propagated'),\n attemptNumber: v.number(),\n connectionConstraints: v.array(\n v.object({\n connection: v.string(),\n constraints: v.record(v.union(plannerConstraintSchema, v.null())),\n constraintCosts: v.record(costEstimateJSONSchema),\n }),\n ),\n});\n\nconst joinTypeSchema = v.union(\n v.literal('semi'),\n v.literal('flipped'),\n v.literal('unflippable'),\n);\n\nconst planCompleteEventJSONSchema = v.object({\n type: v.literal('plan-complete'),\n attemptNumber: v.number(),\n totalCost: v.number(),\n flipPattern: v.number(),\n joinStates: v.array(\n v.object({\n join: v.string(),\n type: joinTypeSchema,\n }),\n ),\n});\n\nconst planFailedEventJSONSchema = v.object({\n type: v.literal('plan-failed'),\n attemptNumber: v.number(),\n reason: v.string(),\n});\n\nconst bestPlanSelectedEventJSONSchema = v.object({\n type: v.literal('best-plan-selected'),\n bestAttemptNumber: v.number(),\n totalCost: v.number(),\n flipPattern: v.number(),\n joinStates: v.array(\n v.object({\n join: v.string(),\n type: joinTypeSchema,\n }),\n ),\n});\n\nconst nodeTypeSchema = v.union(\n v.literal('connection'),\n v.literal('join'),\n v.literal('fan-out'),\n v.literal('fan-in'),\n v.literal('terminus'),\n);\n\nconst nodeCostEventJSONSchema = v.object({\n type: v.literal('node-cost'),\n attemptNumber: v.number().optional(),\n nodeType: nodeTypeSchema,\n node: v.string(),\n branchPattern: v.array(v.number()),\n downstreamChildSelectivity: v.number(),\n costEstimate: costEstimateJSONSchema,\n filters: conditionSchema.optional(),\n ordering: orderingSchema.optional(),\n joinType: joinTypeSchema.optional(),\n});\n\nconst nodeConstraintEventJSONSchema = v.object({\n type: v.literal('node-constraint'),\n attemptNumber: v.number().optional(),\n nodeType: nodeTypeSchema,\n node: v.string(),\n branchPattern: v.array(v.number()),\n constraint: v.union(plannerConstraintSchema, v.null()).optional(),\n from: v.string(),\n});\n\nconst planDebugEventJSONSchema = v.union(\n attemptStartEventJSONSchema,\n connectionCostsEventJSONSchema,\n connectionSelectedEventJSONSchema,\n constraintsPropagatedEventJSONSchema,\n planCompleteEventJSONSchema,\n planFailedEventJSONSchema,\n bestPlanSelectedEventJSONSchema,\n nodeCostEventJSONSchema,\n nodeConstraintEventJSONSchema,\n);\n\nexport type PlanDebugEventJSON = v.Infer<typeof planDebugEventJSONSchema>;\n\nexport {\n attemptStartEventJSONSchema,\n connectionSelectedEventJSONSchema,\n planFailedEventJSONSchema,\n bestPlanSelectedEventJSONSchema,\n nodeConstraintEventJSONSchema,\n};\n\nexport const analyzeQueryResultSchema = v.object({\n warnings: v.array(v.string()),\n syncedRows: v.record(v.array(rowSchema)).optional(),\n syncedRowCount: v.number(),\n start: v.number(),\n /** @deprecated Use start + elapsed instead */\n end: v.number(),\n elapsed: v.number().optional(),\n afterPermissions: v.string().optional(),\n /** @deprecated Use readRowCountsByQuery */\n vendedRowCounts: rowCountsBySourceSchema.optional(),\n /** @deprecated Use readRows */\n vendedRows: rowsBySourceSchema.optional(),\n sqlitePlans: v.record(v.array(v.string())).optional(),\n readRows: rowsBySourceSchema.optional(),\n readRowCountsByQuery: rowCountsBySourceSchema.optional(),\n readRowCount: v.number().optional(),\n dbScansByQuery: rowCountsBySourceSchema.optional(),\n joinPlans: v.array(planDebugEventJSONSchema).optional(),\n});\n\nexport type AnalyzeQueryResult = v.Infer<typeof analyzeQueryResultSchema>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analyze-query-result.js","names":[],"sources":["../../../../zero-protocol/src/analyze-query-result.ts"],"sourcesContent":["import * as v from '../../shared/src/valita.ts';\n\nimport {conditionSchema, orderingSchema} from './ast.ts';\nimport {rowSchema} from './data.ts';\n\nexport const rowCountsByQuerySchema = v.record(v.number());\nexport type RowCountsByQuery = v.Infer<typeof rowCountsByQuerySchema>;\n\nexport const rowCountsBySourceSchema = v.record(rowCountsByQuerySchema);\nexport type RowCountsBySource = v.Infer<typeof rowCountsBySourceSchema>;\n\nexport const rowsByQuerySchema = v.record(v.array(rowSchema));\nexport type RowsByQuery = v.Infer<typeof rowsByQuerySchema>;\n\nexport const rowsBySourceSchema = v.record(rowsByQuerySchema);\nexport type RowsBySource = v.Infer<typeof rowsBySourceSchema>;\n\n// Planner debug event schemas\n\nconst costEstimateJSONSchema = v.object({\n startupCost: v.number(),\n scanEst: v.number(),\n cost: v.number(),\n returnedRows: v.number(),\n selectivity: v.number(),\n limit: v.number().optional(),\n});\n\nconst plannerConstraintSchema = v.record(v.union(v.unknown(), v.null()));\n\nconst attemptStartEventJSONSchema = v.object({\n type: v.literal('attempt-start'),\n attemptNumber: v.number(),\n totalAttempts: v.number(),\n});\n\nconst connectionCostsEventJSONSchema = v.object({\n type: v.literal('connection-costs'),\n attemptNumber: v.number(),\n costs: v.array(\n v.object({\n connection: v.string(),\n cost: v.number(),\n costEstimate: costEstimateJSONSchema,\n pinned: v.boolean(),\n constraints: v.record(v.union(plannerConstraintSchema, v.null())),\n constraintCosts: v.record(costEstimateJSONSchema),\n }),\n ),\n});\n\nconst connectionSelectedEventJSONSchema = v.object({\n type: v.literal('connection-selected'),\n attemptNumber: v.number(),\n connection: v.string(),\n cost: v.number(),\n isRoot: v.boolean(),\n});\n\nconst constraintsPropagatedEventJSONSchema = v.object({\n type: v.literal('constraints-propagated'),\n attemptNumber: v.number(),\n connectionConstraints: v.array(\n v.object({\n connection: v.string(),\n constraints: v.record(v.union(plannerConstraintSchema, v.null())),\n constraintCosts: v.record(costEstimateJSONSchema),\n }),\n ),\n});\n\nconst joinTypeSchema = v.union(\n v.literal('semi'),\n v.literal('flipped'),\n v.literal('unflippable'),\n);\n\nconst planCompleteEventJSONSchema = v.object({\n type: v.literal('plan-complete'),\n attemptNumber: v.number(),\n totalCost: v.number(),\n flipPattern: v.number(),\n joinStates: v.array(\n v.object({\n join: v.string(),\n type: joinTypeSchema,\n }),\n ),\n});\n\nconst planFailedEventJSONSchema = v.object({\n type: v.literal('plan-failed'),\n attemptNumber: v.number(),\n reason: v.string(),\n});\n\nconst bestPlanSelectedEventJSONSchema = v.object({\n type: v.literal('best-plan-selected'),\n bestAttemptNumber: v.number(),\n totalCost: v.number(),\n flipPattern: v.number(),\n joinStates: v.array(\n v.object({\n join: v.string(),\n type: joinTypeSchema,\n }),\n ),\n});\n\nconst nodeTypeSchema = v.union(\n v.literal('connection'),\n v.literal('join'),\n v.literal('fan-out'),\n v.literal('fan-in'),\n v.literal('filter'),\n v.literal('terminus'),\n);\n\nconst nodeCostEventJSONSchema = v.object({\n type: v.literal('node-cost'),\n attemptNumber: v.number().optional(),\n nodeType: nodeTypeSchema,\n node: v.string(),\n branchPattern: v.array(v.number()),\n downstreamChildSelectivity: v.number(),\n costEstimate: costEstimateJSONSchema,\n filters: conditionSchema.optional(),\n ordering: orderingSchema.optional(),\n joinType: joinTypeSchema.optional(),\n});\n\nconst nodeConstraintEventJSONSchema = v.object({\n type: v.literal('node-constraint'),\n attemptNumber: v.number().optional(),\n nodeType: nodeTypeSchema,\n node: v.string(),\n branchPattern: v.array(v.number()),\n constraint: v.union(plannerConstraintSchema, v.null()).optional(),\n from: v.string(),\n});\n\nconst planDebugEventJSONSchema = v.union(\n attemptStartEventJSONSchema,\n connectionCostsEventJSONSchema,\n connectionSelectedEventJSONSchema,\n constraintsPropagatedEventJSONSchema,\n planCompleteEventJSONSchema,\n planFailedEventJSONSchema,\n bestPlanSelectedEventJSONSchema,\n nodeCostEventJSONSchema,\n nodeConstraintEventJSONSchema,\n);\n\nexport type PlanDebugEventJSON = v.Infer<typeof planDebugEventJSONSchema>;\n\nexport {\n attemptStartEventJSONSchema,\n connectionSelectedEventJSONSchema,\n planFailedEventJSONSchema,\n bestPlanSelectedEventJSONSchema,\n nodeConstraintEventJSONSchema,\n};\n\nexport const analyzeQueryResultSchema = v.object({\n warnings: v.array(v.string()),\n syncedRows: v.record(v.array(rowSchema)).optional(),\n syncedRowCount: v.number(),\n start: v.number(),\n /** @deprecated Use start + elapsed instead */\n end: v.number(),\n elapsed: v.number().optional(),\n afterPermissions: v.string().optional(),\n /** @deprecated Use readRowCountsByQuery */\n vendedRowCounts: rowCountsBySourceSchema.optional(),\n /** @deprecated Use readRows */\n vendedRows: rowsBySourceSchema.optional(),\n sqlitePlans: v.record(v.array(v.string())).optional(),\n readRows: rowsBySourceSchema.optional(),\n readRowCountsByQuery: rowCountsBySourceSchema.optional(),\n readRowCount: v.number().optional(),\n dbScansByQuery: rowCountsBySourceSchema.optional(),\n joinPlans: v.array(planDebugEventJSONSchema).optional(),\n});\n\nexport type AnalyzeQueryResult = v.Infer<typeof analyzeQueryResultSchema>;\n"],"mappings":"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"}
|
|
@@ -57,14 +57,14 @@ export declare const downstreamSchema: v.UnionType<[v.TupleType<[v.Type<"connect
|
|
|
57
57
|
clientID: string;
|
|
58
58
|
};
|
|
59
59
|
result: {
|
|
60
|
-
data?: import("../../shared/src/json.ts").ReadonlyJSONValue | undefined;
|
|
61
|
-
} | {
|
|
62
60
|
error: "app";
|
|
63
61
|
message?: string | undefined;
|
|
64
62
|
details?: import("../../shared/src/json.ts").ReadonlyJSONValue | undefined;
|
|
65
63
|
} | {
|
|
66
64
|
error: "alreadyProcessed" | "oooMutation";
|
|
67
65
|
details?: import("../../shared/src/json.ts").ReadonlyJSONValue | undefined;
|
|
66
|
+
} | {
|
|
67
|
+
data?: import("../../shared/src/json.ts").ReadonlyJSONValue | undefined;
|
|
68
68
|
};
|
|
69
69
|
};
|
|
70
70
|
} | {
|
|
@@ -213,7 +213,7 @@ export declare const downstreamSchema: v.UnionType<[v.TupleType<[v.Type<"connect
|
|
|
213
213
|
} | {
|
|
214
214
|
type: "node-constraint";
|
|
215
215
|
attemptNumber?: number | undefined;
|
|
216
|
-
nodeType: "connection" | "fan-in" | "fan-out" | "join" | "terminus";
|
|
216
|
+
nodeType: "connection" | "fan-in" | "fan-out" | "filter" | "join" | "terminus";
|
|
217
217
|
node: string;
|
|
218
218
|
branchPattern: number[];
|
|
219
219
|
constraint?: Record<string, unknown> | null | undefined;
|
|
@@ -270,7 +270,7 @@ export declare const downstreamSchema: v.UnionType<[v.TupleType<[v.Type<"connect
|
|
|
270
270
|
} | {
|
|
271
271
|
type: "node-cost";
|
|
272
272
|
attemptNumber?: number | undefined;
|
|
273
|
-
nodeType: "connection" | "fan-in" | "fan-out" | "join" | "terminus";
|
|
273
|
+
nodeType: "connection" | "fan-in" | "fan-out" | "filter" | "join" | "terminus";
|
|
274
274
|
node: string;
|
|
275
275
|
branchPattern: number[];
|
|
276
276
|
downstreamChildSelectivity: number;
|
|
@@ -122,7 +122,7 @@ export declare const inspectAnalyzeQueryDownSchema: v.ObjectType<Omit<{
|
|
|
122
122
|
} | {
|
|
123
123
|
type: "node-constraint";
|
|
124
124
|
attemptNumber?: number | undefined;
|
|
125
|
-
nodeType: "connection" | "fan-in" | "fan-out" | "join" | "terminus";
|
|
125
|
+
nodeType: "connection" | "fan-in" | "fan-out" | "filter" | "join" | "terminus";
|
|
126
126
|
node: string;
|
|
127
127
|
branchPattern: number[];
|
|
128
128
|
constraint?: Record<string, unknown> | null | undefined;
|
|
@@ -179,7 +179,7 @@ export declare const inspectAnalyzeQueryDownSchema: v.ObjectType<Omit<{
|
|
|
179
179
|
} | {
|
|
180
180
|
type: "node-cost";
|
|
181
181
|
attemptNumber?: number | undefined;
|
|
182
|
-
nodeType: "connection" | "fan-in" | "fan-out" | "join" | "terminus";
|
|
182
|
+
nodeType: "connection" | "fan-in" | "fan-out" | "filter" | "join" | "terminus";
|
|
183
183
|
node: string;
|
|
184
184
|
branchPattern: number[];
|
|
185
185
|
downstreamChildSelectivity: number;
|
|
@@ -288,7 +288,7 @@ export declare const inspectDownBodySchema: v.UnionType<[v.ObjectType<Omit<{
|
|
|
288
288
|
} | {
|
|
289
289
|
type: "node-constraint";
|
|
290
290
|
attemptNumber?: number | undefined;
|
|
291
|
-
nodeType: "connection" | "fan-in" | "fan-out" | "join" | "terminus";
|
|
291
|
+
nodeType: "connection" | "fan-in" | "fan-out" | "filter" | "join" | "terminus";
|
|
292
292
|
node: string;
|
|
293
293
|
branchPattern: number[];
|
|
294
294
|
constraint?: Record<string, unknown> | null | undefined;
|
|
@@ -345,7 +345,7 @@ export declare const inspectDownBodySchema: v.UnionType<[v.ObjectType<Omit<{
|
|
|
345
345
|
} | {
|
|
346
346
|
type: "node-cost";
|
|
347
347
|
attemptNumber?: number | undefined;
|
|
348
|
-
nodeType: "connection" | "fan-in" | "fan-out" | "join" | "terminus";
|
|
348
|
+
nodeType: "connection" | "fan-in" | "fan-out" | "filter" | "join" | "terminus";
|
|
349
349
|
node: string;
|
|
350
350
|
branchPattern: number[];
|
|
351
351
|
downstreamChildSelectivity: number;
|
|
@@ -451,7 +451,7 @@ export declare const inspectDownMessageSchema: v.TupleType<[v.Type<"inspect">, v
|
|
|
451
451
|
} | {
|
|
452
452
|
type: "node-constraint";
|
|
453
453
|
attemptNumber?: number | undefined;
|
|
454
|
-
nodeType: "connection" | "fan-in" | "fan-out" | "join" | "terminus";
|
|
454
|
+
nodeType: "connection" | "fan-in" | "fan-out" | "filter" | "join" | "terminus";
|
|
455
455
|
node: string;
|
|
456
456
|
branchPattern: number[];
|
|
457
457
|
constraint?: Record<string, unknown> | null | undefined;
|
|
@@ -508,7 +508,7 @@ export declare const inspectDownMessageSchema: v.TupleType<[v.Type<"inspect">, v
|
|
|
508
508
|
} | {
|
|
509
509
|
type: "node-cost";
|
|
510
510
|
attemptNumber?: number | undefined;
|
|
511
|
-
nodeType: "connection" | "fan-in" | "fan-out" | "join" | "terminus";
|
|
511
|
+
nodeType: "connection" | "fan-in" | "fan-out" | "filter" | "join" | "terminus";
|
|
512
512
|
node: string;
|
|
513
513
|
branchPattern: number[];
|
|
514
514
|
downstreamChildSelectivity: number;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* release. The server (`zero-cache`) must be deployed before clients start
|
|
11
11
|
* running the new code.
|
|
12
12
|
*/
|
|
13
|
-
export declare const PROTOCOL_VERSION =
|
|
13
|
+
export declare const PROTOCOL_VERSION = 53;
|
|
14
14
|
/**
|
|
15
15
|
* The minimum server-supported sync protocol version (i.e. the version
|
|
16
16
|
* declared in the "/sync/v{#}/connect" URL).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-version.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/protocol-version.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"protocol-version.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/protocol-version.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAiDH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kCAAkC,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-version.js","names":[],"sources":["../../../../zero-protocol/src/protocol-version.ts"],"sourcesContent":["import {assert} from '../../shared/src/asserts.ts';\n\n/**\n * The current `PROTOCOL_VERSION` of the code.\n *\n * The `PROTOCOL_VERSION` encompasses both the wire-protocol of the `/sync/...`\n * connection between the browser and `zero-cache`, as well as the format of\n * the `AST` objects stored in both components (i.e. IDB and CVR).\n *\n * A change in the `AST` schema (e.g. new functionality added) must be\n * accompanied by an increment of the `PROTOCOL_VERSION` and a new major\n * release. The server (`zero-cache`) must be deployed before clients start\n * running the new code.\n */\n// History:\n// -- Version 5 adds support for `pokeEnd.cookie`. (0.14)\n// -- Version 6 makes `pokeStart.cookie` optional. (0.16)\n// -- Version 7 introduces the initConnection.clientSchema field. (0.17)\n// -- Version 8 drops support for Version 5 (0.18).\n// -- Version 11 adds inspect queries. (0.18)\n// -- Version 12 adds 'timestamp' and 'date' types to the ClientSchema ValueType. (not shipped, reversed by version 14)\n// -- Version 14 removes 'timestamp' and 'date' types from the ClientSchema ValueType. (0.18)\n// -- Version 15 adds a `userPushParams` field to `initConnection` (0.19)\n// -- Version 16 adds a new error type (alreadyProcessed) to mutation responses (0.19)\n// -- Version 17 deprecates `AST` in downstream query puts. It was never used anyway. (0.21)\n// -- Version 18 adds `name` and `args` to the `queries-patch` protocol (0.21)\n// -- Version 19 adds `activeClients` to the `initConnection` protocol (0.22)\n// -- Version 20 changes inspector down message (0.22)\n// -- Version 21 removes `AST` in downstream query puts which was deprecated in Version 17, removes support for versions < 18 (0.22)\n// -- Version 22 adds an optional 'userQueryParams' field to `initConnection` (0.22)\n// -- Version 23 add `mutationResults` to poke (0.22)\n// -- Version 24 adds `ackMutationResults` to upstream (0.22).\n// -- version 25 modifies `mutationsResults` to include `del` patches (0.22)\n// -- version 26 adds inspect/metrics and adds metrics to inspect/query (0.23)\n// -- version 27 adds inspect/version (0.23)\n// -- version 28 adds more inspect/metrics (0.23)\n// -- version 29 adds error responses for custom queries (0.23)\n// -- version 30 adds an optional primaryKey to the ClientSchema (0.24)\n// -- version 31 adds admin password authentication to inspector RPC calls (0.24)\n// -- version 32 adds analyze-query to the inspector RPC calls (0.24)\n// -- version 33 adds `flip` to CorrelatedSubquery (0.25)\n// -- version 34 moves `flip` from CorrelatedSubquery to CorrelatedSubqueryCondition (0.25)\n// -- version 35 adds `readRows`, `readRowCountsByQuery` and `readRowCount` to analyze-query result (0.25)\n// -- version 36 changes inspector analyze-query and adds error response to RPC (0.25)\n// -- version 37 adds `elapsed` to AnalyzeQueryResult (0.25)\n// -- version 38 adds structured push/transform error responses (0.25)\n// -- version 39 removes per-transform error types and adds `message` to app error (0.25)\n// -- version 40 adds `dbRowScansByQuery` to AnalyzeQueryResult (0.25)\n// -- version 41 makes ClientSchema.primaryKey required (0.25)\n// -- version 42 adds planner events to AnalyzeQueryResult (0.25)\n// -- version 43 renames `plans` to `sqlitePlans`, `plannerEvents` to `joinPlans`, and `plannerDebug` option to `joinPlans` (0.25)\n// -- version 44 adds profileID to connection URL (0.25)\n// -- version 45 adds userPushHeaders and userQueryHeaders to initConnection (0.25)\n// -- version 46 adds scalarSubquery condition type to AST\n// -- version 47 adds optional auth token to push body\n// -- version 48 adds updateAuth\n// -- version 49 adds `scalar` to CorrelatedSubqueryCondition, removes scalarSubquery\n// -- version 50 adds OTEL headers to push and query messages\n// -- version 51 changes inspector metrics fields\n// -- version 52 replaces JSON pokePart messages with binary poke chunks for\n// clients using protocol version 52 or newer. Older clients retain pokePart.\nexport const PROTOCOL_VERSION =
|
|
1
|
+
{"version":3,"file":"protocol-version.js","names":[],"sources":["../../../../zero-protocol/src/protocol-version.ts"],"sourcesContent":["import {assert} from '../../shared/src/asserts.ts';\n\n/**\n * The current `PROTOCOL_VERSION` of the code.\n *\n * The `PROTOCOL_VERSION` encompasses both the wire-protocol of the `/sync/...`\n * connection between the browser and `zero-cache`, as well as the format of\n * the `AST` objects stored in both components (i.e. IDB and CVR).\n *\n * A change in the `AST` schema (e.g. new functionality added) must be\n * accompanied by an increment of the `PROTOCOL_VERSION` and a new major\n * release. The server (`zero-cache`) must be deployed before clients start\n * running the new code.\n */\n// History:\n// -- Version 5 adds support for `pokeEnd.cookie`. (0.14)\n// -- Version 6 makes `pokeStart.cookie` optional. (0.16)\n// -- Version 7 introduces the initConnection.clientSchema field. (0.17)\n// -- Version 8 drops support for Version 5 (0.18).\n// -- Version 11 adds inspect queries. (0.18)\n// -- Version 12 adds 'timestamp' and 'date' types to the ClientSchema ValueType. (not shipped, reversed by version 14)\n// -- Version 14 removes 'timestamp' and 'date' types from the ClientSchema ValueType. (0.18)\n// -- Version 15 adds a `userPushParams` field to `initConnection` (0.19)\n// -- Version 16 adds a new error type (alreadyProcessed) to mutation responses (0.19)\n// -- Version 17 deprecates `AST` in downstream query puts. It was never used anyway. (0.21)\n// -- Version 18 adds `name` and `args` to the `queries-patch` protocol (0.21)\n// -- Version 19 adds `activeClients` to the `initConnection` protocol (0.22)\n// -- Version 20 changes inspector down message (0.22)\n// -- Version 21 removes `AST` in downstream query puts which was deprecated in Version 17, removes support for versions < 18 (0.22)\n// -- Version 22 adds an optional 'userQueryParams' field to `initConnection` (0.22)\n// -- Version 23 add `mutationResults` to poke (0.22)\n// -- Version 24 adds `ackMutationResults` to upstream (0.22).\n// -- version 25 modifies `mutationsResults` to include `del` patches (0.22)\n// -- version 26 adds inspect/metrics and adds metrics to inspect/query (0.23)\n// -- version 27 adds inspect/version (0.23)\n// -- version 28 adds more inspect/metrics (0.23)\n// -- version 29 adds error responses for custom queries (0.23)\n// -- version 30 adds an optional primaryKey to the ClientSchema (0.24)\n// -- version 31 adds admin password authentication to inspector RPC calls (0.24)\n// -- version 32 adds analyze-query to the inspector RPC calls (0.24)\n// -- version 33 adds `flip` to CorrelatedSubquery (0.25)\n// -- version 34 moves `flip` from CorrelatedSubquery to CorrelatedSubqueryCondition (0.25)\n// -- version 35 adds `readRows`, `readRowCountsByQuery` and `readRowCount` to analyze-query result (0.25)\n// -- version 36 changes inspector analyze-query and adds error response to RPC (0.25)\n// -- version 37 adds `elapsed` to AnalyzeQueryResult (0.25)\n// -- version 38 adds structured push/transform error responses (0.25)\n// -- version 39 removes per-transform error types and adds `message` to app error (0.25)\n// -- version 40 adds `dbRowScansByQuery` to AnalyzeQueryResult (0.25)\n// -- version 41 makes ClientSchema.primaryKey required (0.25)\n// -- version 42 adds planner events to AnalyzeQueryResult (0.25)\n// -- version 43 renames `plans` to `sqlitePlans`, `plannerEvents` to `joinPlans`, and `plannerDebug` option to `joinPlans` (0.25)\n// -- version 44 adds profileID to connection URL (0.25)\n// -- version 45 adds userPushHeaders and userQueryHeaders to initConnection (0.25)\n// -- version 46 adds scalarSubquery condition type to AST\n// -- version 47 adds optional auth token to push body\n// -- version 48 adds updateAuth\n// -- version 49 adds `scalar` to CorrelatedSubqueryCondition, removes scalarSubquery\n// -- version 50 adds OTEL headers to push and query messages\n// -- version 51 changes inspector metrics fields\n// -- version 52 replaces JSON pokePart messages with binary poke chunks for\n// clients using protocol version 52 or newer. Older clients retain pokePart.\n// -- version 53 adds 'filter' node type to AnalyzeQueryResult\nexport const PROTOCOL_VERSION = 53;\n\n/**\n * The minimum server-supported sync protocol version (i.e. the version\n * declared in the \"/sync/v{#}/connect\" URL).\n *\n * CloudZero can serve applications running old client releases indefinitely.\n * Consequently, this value must never be increased: `zero-cache` must continue\n * to support every sync protocol from this version through `PROTOCOL_VERSION`.\n * A wire change that an old client cannot ignore must branch on the client's\n * protocol version and retain the old behavior. Keep each compatibility fork\n * isolated at the boundary that owns the changed behavior and test both sides\n * of its version cutoff.\n *\n * Client connections from protocol versions before this historical floor are\n * closed with a `VersionNotSupported` error.\n */\nexport const MIN_SERVER_SUPPORTED_SYNC_PROTOCOL = 30;\n\nassert(\n MIN_SERVER_SUPPORTED_SYNC_PROTOCOL < PROTOCOL_VERSION,\n 'MIN_SERVER_SUPPORTED_SYNC_PROTOCOL must be less than PROTOCOL_VERSION',\n);\n"],"mappings":";AAiFA,OAAA,MAEE,uEACF"}
|
|
@@ -25,10 +25,11 @@ export type UseSuspenseQueryOptions = UseQueryOptions & {
|
|
|
25
25
|
* Whether to suspend until:
|
|
26
26
|
* - 'partial': the query has partial results (partial array or defined
|
|
27
27
|
* value for singular results) which may be of result type 'unknown',
|
|
28
|
-
* or the query result type is 'complete' (in which case
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
28
|
+
* or the query result type is 'complete' or 'cached' (in which case
|
|
29
|
+
* results may be empty: a server-confirmed empty answer, from this
|
|
30
|
+
* connection or a previous one, is something to render). This is useful
|
|
31
|
+
* for suspending until there are partial optimistic local results, or
|
|
32
|
+
* the query has completed loading from the server.
|
|
32
33
|
* - 'complete': the query result type is 'complete'.
|
|
33
34
|
*
|
|
34
35
|
* Default is 'partial'.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-query.d.ts","sourceRoot":"","sources":["../../../../zero-react/src/use-query.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-query.d.ts","sourceRoot":"","sources":["../../../../zero-react/src/use-query.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,57 @@
|
|
|
1
|
+
import { deepEqual } from "../../shared/src/json.js";
|
|
1
2
|
import { asQueryInternals } from "../../zql/src/query/query-internals.js";
|
|
2
3
|
import { addContextToQuery } from "../../zql/src/query/query-registry.js";
|
|
3
4
|
import { DEFAULT_TTL_MS } from "../../zql/src/query/ttl.js";
|
|
4
5
|
import { useZero } from "./zero-provider.js";
|
|
5
6
|
import "./bindings.js";
|
|
6
7
|
import { resolver } from "@rocicorp/resolver";
|
|
7
|
-
import React, { useSyncExternalStore } from "react";
|
|
8
|
+
import React, { useRef, useSyncExternalStore } from "react";
|
|
8
9
|
//#region ../zero-react/src/use-query.tsx
|
|
10
|
+
/**
|
|
11
|
+
* Resolves a query request against the Zero context, reusing the previous
|
|
12
|
+
* result while the request means the same thing.
|
|
13
|
+
*
|
|
14
|
+
* Interning already makes an unchanged *plain* query come back as the same
|
|
15
|
+
* object, so this is aimed at the query-request form -- `queries.issue({id})`
|
|
16
|
+
* -- where every render allocates a fresh request and `addContextToQuery`
|
|
17
|
+
* re-runs the definition. That costs argument validation (a zod parse of
|
|
18
|
+
* byte-identical args) plus a walk of the builder chain, neither of which
|
|
19
|
+
* interning removes: it makes rebuilding the chain cheap and gives the same
|
|
20
|
+
* object back, but only after the work has been done again.
|
|
21
|
+
*
|
|
22
|
+
* A request resolves to the previous query when it names the same
|
|
23
|
+
* `CustomQuery`, the same context, and deep-equal args. Those are exactly the
|
|
24
|
+
* inputs the definition is allowed to depend on: a named query is re-derived
|
|
25
|
+
* on the server from its name and args, so it has to be a pure function of
|
|
26
|
+
* them, or client and server would build different queries.
|
|
27
|
+
*
|
|
28
|
+
* The ref is written during render. That is safe here because it is a pure
|
|
29
|
+
* cache: an entry is derived only from the inputs, so a StrictMode double
|
|
30
|
+
* render or a discarded concurrent render leaves it valid either way.
|
|
31
|
+
*/
|
|
32
|
+
function useStableQuery(query, zero) {
|
|
33
|
+
const cacheRef = useRef(void 0);
|
|
34
|
+
if (!query) return;
|
|
35
|
+
const cache = cacheRef.current;
|
|
36
|
+
if (cache && cache.zero === zero) {
|
|
37
|
+
if (cache.rawQuery === query) return cache.q;
|
|
38
|
+
if ("query" in query && cache.customQuery === query.query && cache.context === zero.context && deepEqual(cache.args, query.args)) {
|
|
39
|
+
cache.rawQuery = query;
|
|
40
|
+
return cache.q;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const q = addContextToQuery(query, zero.context);
|
|
44
|
+
const isRequest = "query" in query;
|
|
45
|
+
cacheRef.current = {
|
|
46
|
+
zero,
|
|
47
|
+
context: zero.context,
|
|
48
|
+
rawQuery: query,
|
|
49
|
+
customQuery: isRequest ? query.query : void 0,
|
|
50
|
+
args: isRequest ? query.args : void 0,
|
|
51
|
+
q
|
|
52
|
+
};
|
|
53
|
+
return q;
|
|
54
|
+
}
|
|
9
55
|
var reactUse = React.use;
|
|
10
56
|
var suspend = reactUse ? reactUse : (p) => {
|
|
11
57
|
throw p;
|
|
@@ -16,7 +62,7 @@ function useQuery(query, options) {
|
|
|
16
62
|
if (typeof options === "boolean") enabled = options;
|
|
17
63
|
else if (options) ({enabled = true, ttl = DEFAULT_TTL_MS} = options);
|
|
18
64
|
const zero = useZero();
|
|
19
|
-
const q =
|
|
65
|
+
const q = useStableQuery(query, zero);
|
|
20
66
|
const view = q ? viewStore.getView(zero, q, enabled, ttl) : void 0;
|
|
21
67
|
return useSyncExternalStore(view?.subscribeReactInternals ?? disabledSubscriber, view?.getSnapshot ?? getDisabledSnapshot, view?.getSnapshot ?? getDisabledSnapshot);
|
|
22
68
|
}
|
|
@@ -27,7 +73,7 @@ function useSuspenseQuery(query, options) {
|
|
|
27
73
|
if (typeof options === "boolean") enabled = options;
|
|
28
74
|
else if (options) ({enabled = true, ttl = DEFAULT_TTL_MS, suspendUntil = "complete"} = options);
|
|
29
75
|
const zero = useZero();
|
|
30
|
-
const q =
|
|
76
|
+
const q = useStableQuery(query, zero);
|
|
31
77
|
const view = q ? viewStore.getView(zero, q, enabled, ttl) : void 0;
|
|
32
78
|
const snapshot = useSyncExternalStore(view?.subscribeReactInternals ?? disabledSubscriber, view?.getSnapshot ?? getDisabledSnapshot, view?.getSnapshot ?? getDisabledSnapshot);
|
|
33
79
|
if (view && enabled) {
|
|
@@ -39,14 +85,17 @@ function useSuspenseQuery(query, options) {
|
|
|
39
85
|
var emptyArray = [];
|
|
40
86
|
var disabledSubscriber = () => () => {};
|
|
41
87
|
var resultTypeUnknown = { type: "unknown" };
|
|
88
|
+
var resultTypeCached = { type: "cached" };
|
|
42
89
|
var resultTypeComplete = { type: "complete" };
|
|
43
90
|
var resultTypeError = { type: "error" };
|
|
44
91
|
var disabledQuerySnapshot = [void 0, resultTypeUnknown];
|
|
45
92
|
var getDisabledSnapshot = () => disabledQuerySnapshot;
|
|
46
93
|
var emptySnapshotSingularUnknown = [void 0, resultTypeUnknown];
|
|
94
|
+
var emptySnapshotSingularCached = [void 0, resultTypeCached];
|
|
47
95
|
var emptySnapshotSingularComplete = [void 0, resultTypeComplete];
|
|
48
96
|
var emptySnapshotSingularErrorUnknown = [void 0, resultTypeError];
|
|
49
97
|
var emptySnapshotPluralUnknown = [emptyArray, resultTypeUnknown];
|
|
98
|
+
var emptySnapshotPluralCached = [emptyArray, resultTypeCached];
|
|
50
99
|
var emptySnapshotPluralComplete = [emptyArray, resultTypeComplete];
|
|
51
100
|
var emptySnapshotErrorUnknown = [emptyArray, resultTypeError];
|
|
52
101
|
function getDefaultSnapshot(singular) {
|
|
@@ -63,6 +112,7 @@ function getSnapshot(singular, data, resultType, retryFn, error) {
|
|
|
63
112
|
return emptySnapshotSingularErrorUnknown;
|
|
64
113
|
case "complete": return emptySnapshotSingularComplete;
|
|
65
114
|
case "unknown": return emptySnapshotSingularUnknown;
|
|
115
|
+
case "cached": return emptySnapshotSingularCached;
|
|
66
116
|
}
|
|
67
117
|
if (!singular && data.length === 0) switch (resultType) {
|
|
68
118
|
case "error":
|
|
@@ -70,6 +120,7 @@ function getSnapshot(singular, data, resultType, retryFn, error) {
|
|
|
70
120
|
return emptySnapshotErrorUnknown;
|
|
71
121
|
case "complete": return emptySnapshotPluralComplete;
|
|
72
122
|
case "unknown": return emptySnapshotPluralUnknown;
|
|
123
|
+
case "cached": return emptySnapshotPluralCached;
|
|
73
124
|
}
|
|
74
125
|
switch (resultType) {
|
|
75
126
|
case "error":
|
|
@@ -82,6 +133,7 @@ function getSnapshot(singular, data, resultType, retryFn, error) {
|
|
|
82
133
|
})];
|
|
83
134
|
case "complete": return [data, resultTypeComplete];
|
|
84
135
|
case "unknown": return [data, resultTypeUnknown];
|
|
136
|
+
case "cached": return [data, resultTypeCached];
|
|
85
137
|
}
|
|
86
138
|
}
|
|
87
139
|
function makeError(retry, error) {
|
|
@@ -146,6 +198,17 @@ function makeError(retry, error) {
|
|
|
146
198
|
* Swapping `useState` to `useRef` has similar problems.
|
|
147
199
|
*/
|
|
148
200
|
var ViewStore = class {
|
|
201
|
+
/**
|
|
202
|
+
* Client id, then query hash.
|
|
203
|
+
*
|
|
204
|
+
* Nested rather than keyed by the two joined together, because this is
|
|
205
|
+
* looked up on every render of every `useQuery`. Joining them builds a
|
|
206
|
+
* string that V8 has to hash from scratch, where both halves on their own
|
|
207
|
+
* are strings it has already hashed and cached -- `hash()` is memoized on an
|
|
208
|
+
* interned query, so the same string comes back each render. Measured over a
|
|
209
|
+
* rebuild-and-look-up of one chain, that is the difference between 202ns and
|
|
210
|
+
* 123ns; the join cost more than rebuilding and hashing the whole query.
|
|
211
|
+
*/
|
|
149
212
|
#views = /* @__PURE__ */ new Map();
|
|
150
213
|
constructor() {}
|
|
151
214
|
getView(zero, q, enabled, ttl) {
|
|
@@ -159,15 +222,23 @@ var ViewStore = class {
|
|
|
159
222
|
complete: false,
|
|
160
223
|
nonEmpty: false
|
|
161
224
|
};
|
|
162
|
-
const
|
|
163
|
-
|
|
225
|
+
const { clientID } = zero;
|
|
226
|
+
const hash = qi.hash();
|
|
227
|
+
let byHash = this.#views.get(clientID);
|
|
228
|
+
let existing = byHash?.get(hash);
|
|
164
229
|
if (!existing) {
|
|
165
230
|
existing = new ViewWrapper(q, zero, ttl, (view) => {
|
|
166
|
-
const
|
|
231
|
+
const views = this.#views.get(clientID);
|
|
232
|
+
const currentView = views?.get(hash);
|
|
167
233
|
if (currentView && currentView !== view) return;
|
|
168
|
-
|
|
234
|
+
views?.delete(hash);
|
|
235
|
+
if (views?.size === 0) this.#views.delete(clientID);
|
|
169
236
|
});
|
|
170
|
-
|
|
237
|
+
if (!byHash) {
|
|
238
|
+
byHash = /* @__PURE__ */ new Map();
|
|
239
|
+
this.#views.set(clientID, byHash);
|
|
240
|
+
}
|
|
241
|
+
byHash.set(hash, existing);
|
|
171
242
|
} else existing.updateTTL(ttl);
|
|
172
243
|
return existing;
|
|
173
244
|
}
|
|
@@ -224,6 +295,7 @@ var ViewWrapper = class {
|
|
|
224
295
|
}
|
|
225
296
|
#onData = (snap, resultType, error) => {
|
|
226
297
|
const data = snap;
|
|
298
|
+
const wasCached = this.#snapshot[1].type === "cached";
|
|
227
299
|
this.#snapshot = getSnapshot(this.#singular, data, resultType, this.#retry, error);
|
|
228
300
|
if (resultType === "complete" || resultType === "error") {
|
|
229
301
|
this.#complete = true;
|
|
@@ -231,9 +303,13 @@ var ViewWrapper = class {
|
|
|
231
303
|
this.#nonEmpty = true;
|
|
232
304
|
this.#nonEmptyResolver.resolve();
|
|
233
305
|
}
|
|
234
|
-
|
|
306
|
+
const hasData = this.#singular ? this.#snapshot[0] !== void 0 : this.#snapshot[0].length !== 0;
|
|
307
|
+
if (resultType === "cached" || hasData) {
|
|
235
308
|
this.#nonEmpty = true;
|
|
236
309
|
this.#nonEmptyResolver.resolve();
|
|
310
|
+
} else if (wasCached && resultType === "unknown") {
|
|
311
|
+
this.#nonEmpty = false;
|
|
312
|
+
this.#nonEmptyResolver = resolver();
|
|
237
313
|
}
|
|
238
314
|
for (const internals of this.#reactInternals) internals();
|
|
239
315
|
};
|
|
@@ -276,6 +352,7 @@ var ViewWrapper = class {
|
|
|
276
352
|
};
|
|
277
353
|
};
|
|
278
354
|
updateTTL(ttl) {
|
|
355
|
+
if (this.#ttl === ttl) return;
|
|
279
356
|
this.#ttl = ttl;
|
|
280
357
|
this.#view?.updateTTL(ttl);
|
|
281
358
|
}
|