@rocicorp/zero 0.12.2025012601 → 0.12.2025012801
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/advanced.js +2 -2
- package/out/{chunk-F5QR3K72.js → chunk-424PT5DM.js} +1 -1
- package/out/{chunk-I5GSZARI.js → chunk-QAAJZ32T.js} +1 -1
- package/out/{chunk-I5GSZARI.js.map → chunk-QAAJZ32T.js.map} +1 -1
- package/out/{chunk-JZD6FXRT.js → chunk-TYCUDFUS.js} +37 -43
- package/out/{chunk-JZD6FXRT.js.map → chunk-TYCUDFUS.js.map} +3 -3
- package/out/datadog/src/mod.d.ts +1 -1
- package/out/react.js +1 -1
- package/out/react.js.map +1 -1
- package/out/replicache/src/btree/diff.d.ts +2 -2
- package/out/replicache/src/btree/node.d.ts +8 -8
- package/out/replicache/src/btree/read.d.ts +6 -6
- package/out/replicache/src/btree/write.d.ts +7 -7
- package/out/replicache/src/call-default-fetch.d.ts +1 -1
- package/out/replicache/src/config.d.ts +1 -1
- package/out/replicache/src/connection-loop-delegates.d.ts +2 -2
- package/out/replicache/src/connection-loop.d.ts +1 -1
- package/out/replicache/src/cookies.d.ts +2 -2
- package/out/replicache/src/dag/chunk.d.ts +1 -1
- package/out/replicache/src/dag/gc.d.ts +2 -2
- package/out/replicache/src/dag/key.d.ts +2 -2
- package/out/replicache/src/dag/lazy-store.d.ts +5 -5
- package/out/replicache/src/dag/store-impl.d.ts +5 -5
- package/out/replicache/src/dag/store.d.ts +3 -3
- package/out/replicache/src/dag/visitor.d.ts +3 -3
- package/out/replicache/src/db/commit.d.ts +8 -8
- package/out/replicache/src/db/index.d.ts +7 -7
- package/out/replicache/src/db/read.d.ts +8 -8
- package/out/replicache/src/db/rebase.d.ts +7 -7
- package/out/replicache/src/db/scan.d.ts +1 -1
- package/out/replicache/src/db/write.d.ts +14 -14
- package/out/replicache/src/filter-async-iterable.d.ts +1 -1
- package/out/replicache/src/format-version.d.ts +2 -2
- package/out/replicache/src/frozen-json.d.ts +2 -2
- package/out/replicache/src/get-default-puller.d.ts +1 -1
- package/out/replicache/src/get-default-pusher.d.ts +1 -1
- package/out/replicache/src/hash.d.ts +1 -1
- package/out/replicache/src/impl.d.ts +3 -3
- package/out/replicache/src/index-defs.d.ts +1 -1
- package/out/replicache/src/kv/idb-store-with-mem-fallback.d.ts +1 -1
- package/out/replicache/src/kv/idb-store.d.ts +1 -1
- package/out/replicache/src/kv/idb-store.d.ts.map +1 -1
- package/out/replicache/src/kv/mem-store.d.ts +1 -1
- package/out/replicache/src/kv/read-impl.d.ts +2 -2
- package/out/replicache/src/kv/store.d.ts +1 -1
- package/out/replicache/src/kv/write-impl-base.d.ts +3 -3
- package/out/replicache/src/kv/write-impl.d.ts +3 -3
- package/out/replicache/src/merge-async-iterables.d.ts +1 -1
- package/out/replicache/src/mod.d.ts +36 -36
- package/out/replicache/src/mutation-recovery.d.ts +8 -8
- package/out/replicache/src/new-client-channel.d.ts +1 -1
- package/out/replicache/src/on-persist-channel.d.ts +1 -1
- package/out/replicache/src/patch-operation.d.ts +1 -1
- package/out/replicache/src/pending-mutations.d.ts +3 -3
- package/out/replicache/src/persist/client-gc.d.ts +3 -3
- package/out/replicache/src/persist/client-group-gc.d.ts +2 -2
- package/out/replicache/src/persist/client-groups.d.ts +5 -5
- package/out/replicache/src/persist/clients.d.ts +9 -9
- package/out/replicache/src/persist/collect-idb-databases.d.ts +3 -3
- package/out/replicache/src/persist/gather-mem-only-visitor.d.ts +4 -4
- package/out/replicache/src/persist/gather-not-cached-visitor.d.ts +5 -5
- package/out/replicache/src/persist/heartbeat.d.ts +3 -3
- package/out/replicache/src/persist/idb-databases-store.d.ts +1 -1
- package/out/replicache/src/persist/persist.d.ts +6 -6
- package/out/replicache/src/persist/refresh.d.ts +7 -7
- package/out/replicache/src/process-scheduler.d.ts +1 -1
- package/out/replicache/src/puller.d.ts +6 -6
- package/out/replicache/src/pusher.d.ts +3 -3
- package/out/replicache/src/replicache-impl.d.ts +12 -12
- package/out/replicache/src/replicache-options.d.ts +5 -5
- package/out/replicache/src/replicache.d.ts +10 -10
- package/out/replicache/src/scan-iterator.d.ts +6 -6
- package/out/replicache/src/scan-options.d.ts +2 -2
- package/out/replicache/src/subscriptions.d.ts +7 -7
- package/out/replicache/src/subscriptions.d.ts.map +1 -1
- package/out/replicache/src/sync/diff.d.ts +6 -6
- package/out/replicache/src/sync/ids.d.ts +1 -1
- package/out/replicache/src/sync/patch.d.ts +2 -2
- package/out/replicache/src/sync/pull.d.ts +11 -11
- package/out/replicache/src/sync/push.d.ts +4 -4
- package/out/replicache/src/sync/request-id.d.ts +1 -1
- package/out/replicache/src/transactions.d.ts +9 -9
- package/out/replicache/src/types.d.ts +5 -5
- package/out/shared/src/btree-set.js +1 -1
- package/out/shared/src/deep-clone.d.ts +1 -1
- package/out/shared/src/iterables.js +1 -1
- package/out/shared/src/json-schema.d.ts +1 -1
- package/out/shared/src/json-schema.js +3 -3
- package/out/shared/src/json.js +3 -3
- package/out/shared/src/options.d.ts +1 -1
- package/out/shared/src/options.js +3 -3
- package/out/shared/src/queue.js +1 -1
- package/out/shared/src/random-values.d.ts +1 -1
- package/out/shared/src/random-values.d.ts.map +1 -1
- package/out/shared/src/sleep.js +1 -1
- package/out/solid.js +3 -3
- package/out/solid.js.map +1 -1
- package/out/zero/src/advanced.d.ts +1 -1
- package/out/zero/src/build-schema.d.ts +1 -1
- package/out/zero/src/build-schema.js +1 -1
- package/out/zero/src/change-protocol.d.ts +1 -1
- package/out/zero/src/change-protocol.js +1 -1
- package/out/zero/src/cli.d.ts +1 -1
- package/out/zero/src/cli.js +1 -1
- package/out/zero/src/react.d.ts +1 -1
- package/out/zero/src/server/change-streamer.d.ts +1 -1
- package/out/zero/src/server/change-streamer.js +1 -1
- package/out/zero/src/server/main.d.ts +1 -1
- package/out/zero/src/server/main.js +1 -1
- package/out/zero/src/server/multi/main.d.ts +1 -1
- package/out/zero/src/server/multi/main.js +1 -1
- package/out/zero/src/server/replicator.d.ts +1 -1
- package/out/zero/src/server/replicator.js +1 -1
- package/out/zero/src/server/syncer.d.ts +1 -1
- package/out/zero/src/server/syncer.js +1 -1
- package/out/zero/src/solid.d.ts +1 -1
- package/out/zero/src/zero-cache-dev.js +3 -3
- package/out/zero/src/zero.d.ts +1 -1
- package/out/zero-advanced/src/mod.d.ts +8 -8
- package/out/zero-advanced/src/mod.d.ts.map +1 -1
- package/out/zero-cache/src/auth/jwt.d.ts +1 -1
- package/out/zero-cache/src/auth/load-schema.d.ts +3 -3
- package/out/zero-cache/src/auth/load-schema.d.ts.map +1 -1
- package/out/zero-cache/src/auth/load-schema.js +3 -3
- package/out/zero-cache/src/auth/load-schema.js.map +1 -1
- package/out/zero-cache/src/auth/read-authorizer.d.ts +2 -2
- package/out/zero-cache/src/auth/read-authorizer.d.ts.map +1 -1
- package/out/zero-cache/src/auth/read-authorizer.js +3 -3
- package/out/zero-cache/src/auth/read-authorizer.js.map +1 -1
- package/out/zero-cache/src/auth/write-authorizer.d.ts +5 -5
- package/out/zero-cache/src/auth/write-authorizer.js +14 -14
- package/out/zero-cache/src/config/zero-config.d.ts +6 -2
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +12 -6
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/db/create.d.ts +1 -1
- package/out/zero-cache/src/db/create.js +1 -1
- package/out/zero-cache/src/db/lite-tables.d.ts +2 -2
- package/out/zero-cache/src/db/lite-tables.js +5 -5
- package/out/zero-cache/src/db/migration-lite.d.ts +2 -2
- package/out/zero-cache/src/db/migration-lite.js +4 -4
- package/out/zero-cache/src/db/migration.d.ts +2 -2
- package/out/zero-cache/src/db/migration.js +3 -3
- package/out/zero-cache/src/db/pg-to-lite.d.ts +2 -2
- package/out/zero-cache/src/db/pg-to-lite.js +5 -5
- package/out/zero-cache/src/db/short-lived-client.d.ts +1 -1
- package/out/zero-cache/src/db/short-lived-client.js +1 -1
- package/out/zero-cache/src/db/specs.d.ts +4 -4
- package/out/zero-cache/src/db/specs.js +3 -3
- package/out/zero-cache/src/db/statements.d.ts +2 -2
- package/out/zero-cache/src/db/statements.js +2 -2
- package/out/zero-cache/src/db/transaction-pool.d.ts +4 -4
- package/out/zero-cache/src/db/transaction-pool.js +3 -3
- package/out/zero-cache/src/server/change-streamer.d.ts +1 -1
- package/out/zero-cache/src/server/change-streamer.js +13 -13
- package/out/zero-cache/src/server/logging.d.ts +1 -1
- package/out/zero-cache/src/server/logging.js +2 -2
- package/out/zero-cache/src/server/main.d.ts +1 -1
- package/out/zero-cache/src/server/main.js +13 -13
- package/out/zero-cache/src/server/multi/config.d.ts +2 -2
- package/out/zero-cache/src/server/multi/config.js +3 -3
- package/out/zero-cache/src/server/multi/main.d.ts +1 -1
- package/out/zero-cache/src/server/multi/main.js +8 -8
- package/out/zero-cache/src/server/multi/runtime.js +1 -1
- package/out/zero-cache/src/server/multi/tenant-dispatcher.d.ts +2 -2
- package/out/zero-cache/src/server/multi/tenant-dispatcher.js +2 -2
- package/out/zero-cache/src/server/replicator.d.ts +1 -1
- package/out/zero-cache/src/server/replicator.js +10 -10
- package/out/zero-cache/src/server/syncer.d.ts +1 -1
- package/out/zero-cache/src/server/syncer.js +21 -21
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +8 -8
- package/out/zero-cache/src/services/change-source/pg/change-source.js +24 -24
- package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +2 -2
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js +15 -15
- package/out/zero-cache/src/services/change-source/pg/lsn.d.ts +2 -2
- package/out/zero-cache/src/services/change-source/pg/lsn.js +2 -2
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +3 -3
- package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts +2 -2
- package/out/zero-cache/src/services/change-source/pg/schema/init.js +3 -3
- package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/published.js +3 -3
- package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +4 -4
- package/out/zero-cache/src/services/change-source/pg/schema/shard.js +7 -7
- package/out/zero-cache/src/services/change-source/pg/schema/validation.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/validation.js +4 -4
- package/out/zero-cache/src/services/change-source/pg/sync-schema.d.ts +2 -2
- package/out/zero-cache/src/services/change-source/pg/sync-schema.js +3 -3
- package/out/zero-cache/src/services/change-source/protocol/current/control.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/control.js +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts +14 -14
- package/out/zero-cache/src/services/change-source/protocol/current/data.js +3 -3
- package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts +16 -16
- package/out/zero-cache/src/services/change-source/protocol/current/downstream.js +4 -4
- package/out/zero-cache/src/services/change-source/protocol/current/mod.d.ts +6 -6
- package/out/zero-cache/src/services/change-source/protocol/current/mod.js +6 -6
- package/out/zero-cache/src/services/change-source/protocol/current/status.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/status.js +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/upstream.js +2 -2
- package/out/zero-cache/src/services/change-source/protocol/mod.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/protocol/mod.js +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +4 -4
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +7 -7
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +6 -6
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +13 -13
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +10 -10
- package/out/zero-cache/src/services/change-streamer/change-streamer.js +3 -3
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +2 -2
- package/out/zero-cache/src/services/change-streamer/forwarder.js +2 -2
- package/out/zero-cache/src/services/change-streamer/schema/init.d.ts +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/init.js +2 -2
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +3 -3
- package/out/zero-cache/src/services/change-streamer/schema/tables.js +2 -2
- package/out/zero-cache/src/services/change-streamer/storer.d.ts +6 -6
- package/out/zero-cache/src/services/change-streamer/storer.js +9 -9
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +5 -5
- package/out/zero-cache/src/services/change-streamer/subscriber.js +5 -5
- package/out/zero-cache/src/services/dispatcher/connect-params.d.ts +1 -1
- package/out/zero-cache/src/services/dispatcher/connect-params.js +3 -3
- package/out/zero-cache/src/services/dispatcher/sync-dispatcher.d.ts +2 -2
- package/out/zero-cache/src/services/dispatcher/sync-dispatcher.js +4 -4
- package/out/zero-cache/src/services/dispatcher/websocket-handoff.d.ts +2 -2
- package/out/zero-cache/src/services/dispatcher/websocket-handoff.js +3 -3
- package/out/zero-cache/src/services/http-service.d.ts +1 -1
- package/out/zero-cache/src/services/http-service.js +2 -2
- package/out/zero-cache/src/services/life-cycle.d.ts +2 -2
- package/out/zero-cache/src/services/life-cycle.js +2 -2
- package/out/zero-cache/src/services/limiter/sliding-window-limiter.js +1 -1
- package/out/zero-cache/src/services/litestream/commands.d.ts +1 -1
- package/out/zero-cache/src/services/litestream/commands.js +2 -2
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +8 -8
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +14 -14
- package/out/zero-cache/src/services/replicator/change-processor.d.ts +23 -0
- package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -0
- package/out/zero-cache/src/services/replicator/change-processor.js +415 -0
- package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -0
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +5 -27
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.js +9 -421
- package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
- package/out/zero-cache/src/services/replicator/notifier.d.ts +2 -2
- package/out/zero-cache/src/services/replicator/notifier.js +1 -1
- package/out/zero-cache/src/services/replicator/replicator.d.ts +5 -5
- package/out/zero-cache/src/services/replicator/replicator.js +3 -3
- package/out/zero-cache/src/services/replicator/schema/change-log.d.ts +6 -6
- package/out/zero-cache/src/services/replicator/schema/change-log.js +4 -4
- package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts +3 -3
- package/out/zero-cache/src/services/replicator/schema/replication-state.js +3 -3
- package/out/zero-cache/src/services/runner.d.ts +1 -1
- package/out/zero-cache/src/services/running-state.d.ts +1 -1
- package/out/zero-cache/src/services/running-state.js +2 -2
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +7 -7
- package/out/zero-cache/src/services/view-syncer/client-handler.js +9 -9
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +6 -6
- package/out/zero-cache/src/services/view-syncer/cvr-store.js +17 -17
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts +6 -6
- package/out/zero-cache/src/services/view-syncer/cvr.js +8 -8
- package/out/zero-cache/src/services/view-syncer/database-storage.d.ts +2 -2
- package/out/zero-cache/src/services/view-syncer/database-storage.js +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +1 -1
- package/out/zero-cache/src/services/view-syncer/key-columns.d.ts +2 -2
- package/out/zero-cache/src/services/view-syncer/key-columns.js +3 -3
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +6 -6
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +8 -8
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +2 -2
- package/out/zero-cache/src/services/view-syncer/schema/cvr.js +4 -4
- package/out/zero-cache/src/services/view-syncer/schema/init.d.ts +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.js +2 -2
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +12 -12
- package/out/zero-cache/src/services/view-syncer/schema/types.js +4 -4
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +5 -5
- package/out/zero-cache/src/services/view-syncer/snapshotter.js +12 -12
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +9 -9
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +20 -20
- package/out/zero-cache/src/types/bigint-json.d.ts +1 -1
- package/out/zero-cache/src/types/bigint-json.js +1 -1
- package/out/zero-cache/src/types/error-for-client.d.ts +1 -1
- package/out/zero-cache/src/types/lexi-version.js +2 -2
- package/out/zero-cache/src/types/lite.d.ts +4 -4
- package/out/zero-cache/src/types/lite.js +2 -2
- package/out/zero-cache/src/types/pg.d.ts +3 -3
- package/out/zero-cache/src/types/pg.js +2 -2
- package/out/zero-cache/src/types/row-key.d.ts +1 -1
- package/out/zero-cache/src/types/row-key.js +3 -3
- package/out/zero-cache/src/types/schema-versions.d.ts +1 -1
- package/out/zero-cache/src/types/schema-versions.js +2 -2
- package/out/zero-cache/src/types/streams.d.ts +2 -2
- package/out/zero-cache/src/types/streams.js +4 -4
- package/out/zero-cache/src/types/subscription.d.ts +1 -1
- package/out/zero-cache/src/types/timeout.js +1 -1
- package/out/zero-cache/src/workers/connection.d.ts +5 -5
- package/out/zero-cache/src/workers/connection.js +9 -9
- package/out/zero-cache/src/workers/replicator.d.ts +5 -5
- package/out/zero-cache/src/workers/replicator.js +4 -4
- package/out/zero-cache/src/workers/syncer.d.ts +8 -8
- package/out/zero-cache/src/workers/syncer.js +10 -10
- package/out/zero-client/src/client/context.d.ts +6 -6
- package/out/zero-client/src/client/crud.d.ts +6 -6
- package/out/zero-client/src/client/crud.d.ts.map +1 -1
- package/out/zero-client/src/client/keys.d.ts +2 -2
- package/out/zero-client/src/client/log-options.d.ts +2 -2
- package/out/zero-client/src/client/log-options.d.ts.map +1 -1
- package/out/zero-client/src/client/metrics.d.ts +2 -2
- package/out/zero-client/src/client/options.d.ts +3 -3
- package/out/zero-client/src/client/query-manager.d.ts +6 -6
- package/out/zero-client/src/client/reload-error-handler.d.ts +1 -1
- package/out/zero-client/src/client/replicache-types.d.ts +1 -1
- package/out/zero-client/src/client/server-error.d.ts +2 -2
- package/out/zero-client/src/client/server-option.d.ts +1 -1
- package/out/zero-client/src/client/zero-poke-handler.d.ts +4 -4
- package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +12 -12
- package/out/zero-client/src/mod.d.ts +17 -17
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-client/src/util/socket.d.ts +1 -1
- package/out/zero-protocol/src/ast-hash.d.ts +1 -1
- package/out/zero-protocol/src/ast-hash.js +2 -2
- package/out/zero-protocol/src/ast.d.ts +2 -2
- package/out/zero-protocol/src/ast.js +5 -5
- package/out/zero-protocol/src/change-desired-queries.d.ts +3 -3
- package/out/zero-protocol/src/change-desired-queries.js +2 -2
- package/out/zero-protocol/src/clients-patch.d.ts +1 -1
- package/out/zero-protocol/src/clients-patch.js +1 -1
- package/out/zero-protocol/src/connect.d.ts +3 -3
- package/out/zero-protocol/src/connect.js +2 -2
- package/out/zero-protocol/src/data.d.ts +3 -3
- package/out/zero-protocol/src/data.js +2 -2
- package/out/zero-protocol/src/delete-clients.d.ts +1 -1
- package/out/zero-protocol/src/delete-clients.js +1 -1
- package/out/zero-protocol/src/down.d.ts +6 -6
- package/out/zero-protocol/src/down.js +7 -7
- package/out/zero-protocol/src/error.d.ts +1 -1
- package/out/zero-protocol/src/error.js +2 -2
- package/out/zero-protocol/src/mod.d.ts +14 -14
- package/out/zero-protocol/src/mod.js +14 -14
- package/out/zero-protocol/src/ping.d.ts +1 -1
- package/out/zero-protocol/src/ping.js +1 -1
- package/out/zero-protocol/src/poke.d.ts +9 -9
- package/out/zero-protocol/src/poke.js +5 -5
- package/out/zero-protocol/src/pong.d.ts +1 -1
- package/out/zero-protocol/src/pong.js +1 -1
- package/out/zero-protocol/src/primary-key.d.ts +1 -1
- package/out/zero-protocol/src/primary-key.js +1 -1
- package/out/zero-protocol/src/protocol-version.js +1 -1
- package/out/zero-protocol/src/pull.d.ts +1 -1
- package/out/zero-protocol/src/pull.js +2 -2
- package/out/zero-protocol/src/push.d.ts +26 -26
- package/out/zero-protocol/src/push.js +5 -5
- package/out/zero-protocol/src/queries-patch.d.ts +4 -4
- package/out/zero-protocol/src/queries-patch.js +2 -2
- package/out/zero-protocol/src/row-patch.d.ts +5 -5
- package/out/zero-protocol/src/row-patch.js +4 -4
- package/out/zero-protocol/src/up.d.ts +7 -7
- package/out/zero-protocol/src/up.js +7 -7
- package/out/zero-protocol/src/up.js.map +1 -1
- package/out/zero-protocol/src/version.d.ts +1 -1
- package/out/zero-protocol/src/version.js +1 -1
- package/out/zero-protocol/src/warm.d.ts +1 -1
- package/out/zero-protocol/src/warm.js +1 -1
- package/out/zero-react/src/mod.d.ts +8 -8
- package/out/zero-react/src/use-query.d.ts +4 -4
- package/out/zero-react/src/use-zero.d.ts +2 -2
- package/out/zero-schema/src/build-schema-options.d.ts +1 -1
- package/out/zero-schema/src/build-schema-options.js +1 -1
- package/out/zero-schema/src/build-schema.js +5 -5
- package/out/zero-schema/src/build-schema.js.map +1 -1
- package/out/zero-schema/src/builder/relationship-builder.d.ts +2 -2
- package/out/zero-schema/src/builder/schema-builder.d.ts +3 -3
- package/out/zero-schema/src/builder/schema-builder.js +1 -1
- package/out/zero-schema/src/builder/table-builder.d.ts +3 -3
- package/out/zero-schema/src/compiled-permissions.d.ts +18 -18
- package/out/zero-schema/src/compiled-permissions.js +2 -2
- package/out/zero-schema/src/mod.d.ts +4 -4
- package/out/zero-schema/src/mod.d.ts.map +1 -1
- package/out/zero-schema/src/permissions.d.ts +5 -5
- package/out/zero-schema/src/schema-config.d.ts +4 -4
- package/out/zero-schema/src/schema-config.d.ts.map +1 -1
- package/out/zero-schema/src/schema-config.js +4 -4
- package/out/zero-schema/src/schema-config.js.map +1 -1
- package/out/zero-schema/src/table-schema.d.ts +1 -1
- package/out/zero-solid/src/create-zero.d.ts +2 -2
- package/out/zero-solid/src/create-zero.d.ts.map +1 -1
- package/out/zero-solid/src/mod.d.ts +2 -2
- package/out/zero-solid/src/solid-view.d.ts +3 -3
- package/out/zero-solid/src/use-query.d.ts +3 -3
- package/out/zero-solid/src/use-query.d.ts.map +1 -1
- package/out/zero.js +3 -3
- package/out/zql/src/builder/builder.d.ts +7 -7
- package/out/zql/src/builder/builder.js +10 -10
- package/out/zql/src/builder/filter.d.ts +2 -2
- package/out/zql/src/builder/filter.js +2 -2
- package/out/zql/src/builder/like.d.ts +1 -1
- package/out/zql/src/builder/like.js +1 -1
- package/out/zql/src/ivm/array-view.d.ts +4 -4
- package/out/zql/src/ivm/array-view.js +2 -2
- package/out/zql/src/ivm/change.d.ts +2 -2
- package/out/zql/src/ivm/constraint.d.ts +2 -2
- package/out/zql/src/ivm/constraint.js +3 -3
- package/out/zql/src/ivm/data.d.ts +3 -3
- package/out/zql/src/ivm/data.js +1 -1
- package/out/zql/src/ivm/exists.d.ts +6 -6
- package/out/zql/src/ivm/exists.js +7 -7
- package/out/zql/src/ivm/fan-in.d.ts +6 -6
- package/out/zql/src/ivm/fan-in.js +4 -4
- package/out/zql/src/ivm/fan-out.d.ts +5 -5
- package/out/zql/src/ivm/filter-push.d.ts +3 -3
- package/out/zql/src/ivm/filter-push.d.ts.map +1 -1
- package/out/zql/src/ivm/filter-push.js +2 -2
- package/out/zql/src/ivm/filter-push.js.map +1 -1
- package/out/zql/src/ivm/filter.d.ts +5 -5
- package/out/zql/src/ivm/filter.js +2 -2
- package/out/zql/src/ivm/join.d.ts +7 -7
- package/out/zql/src/ivm/join.js +4 -4
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts +3 -3
- package/out/zql/src/ivm/memory-source.d.ts +11 -11
- package/out/zql/src/ivm/memory-source.js +9 -9
- package/out/zql/src/ivm/memory-storage.d.ts +3 -3
- package/out/zql/src/ivm/operator.d.ts +7 -7
- package/out/zql/src/ivm/operator.js +1 -1
- package/out/zql/src/ivm/schema.d.ts +4 -4
- package/out/zql/src/ivm/skip.d.ts +6 -6
- package/out/zql/src/ivm/skip.js +2 -2
- package/out/zql/src/ivm/source.d.ts +3 -3
- package/out/zql/src/ivm/take.d.ts +6 -6
- package/out/zql/src/ivm/take.js +8 -8
- package/out/zql/src/ivm/view-apply-change.d.ts +3 -3
- package/out/zql/src/ivm/view-apply-change.js +2 -2
- package/out/zql/src/ivm/view.d.ts +4 -4
- package/out/zql/src/query/auth-query.d.ts +7 -7
- package/out/zql/src/query/auth-query.js +2 -2
- package/out/zql/src/query/dnf.d.ts +1 -1
- package/out/zql/src/query/dnf.js +2 -2
- package/out/zql/src/query/expression.d.ts +3 -4
- package/out/zql/src/query/expression.d.ts.map +1 -1
- package/out/zql/src/query/expression.js +2 -2
- package/out/zql/src/query/query-impl.d.ts +8 -8
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +7 -7
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/query-internal.d.ts +4 -4
- package/out/zql/src/query/query.d.ts +7 -10
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zql/src/query/typed-view.d.ts +1 -1
- package/out/zqlite/src/db.js +2 -2
- package/out/zqlite/src/internal/statement-cache.d.ts +1 -1
- package/out/zqlite/src/internal/statement-cache.d.ts.map +1 -1
- package/out/zqlite/src/internal/statement-cache.js +1 -1
- package/out/zqlite/src/internal/statement-cache.js.map +1 -1
- package/out/zqlite/src/table-source.d.ts +6 -6
- package/out/zqlite/src/table-source.js +11 -11
- package/package.json +4 -4
- /package/out/{chunk-F5QR3K72.js.map → chunk-424PT5DM.js.map} +0 -0
package/out/advanced.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../shared/src/asserts.ts", "../../shared/src/must.ts", "../../zql/src/ivm/view-apply-change.ts"],
|
|
4
|
-
"sourcesContent": ["export function assert(\n b: unknown,\n msg: string | (() => string) = 'Assertion failed',\n): asserts b {\n if (!b) {\n const msgStr = typeof msg === 'string' ? msg : msg();\n throw new Error(msgStr);\n }\n}\n\nexport function assertString(v: unknown): asserts v is string {\n assertType(v, 'string');\n}\n\nexport function assertNumber(v: unknown): asserts v is number {\n assertType(v, 'number');\n}\n\nexport function assertBoolean(v: unknown): asserts v is boolean {\n assertType(v, 'boolean');\n}\n\nfunction assertType(v: unknown, t: string) {\n if (typeof v !== t) {\n throwInvalidType(v, t);\n }\n}\n\nexport function assertObject(v: unknown): asserts v is Record<string, unknown> {\n if (v === null) {\n throwInvalidType(v, 'object');\n }\n assertType(v, 'object');\n}\n\nexport function assertArray(v: unknown): asserts v is unknown[] {\n if (!Array.isArray(v)) {\n throwInvalidType(v, 'array');\n }\n}\n\nexport function invalidType(v: unknown, t: string): string {\n let s = 'Invalid type: ';\n if (v === null || v === undefined) {\n s += v;\n } else {\n s += `${typeof v} \\`${v}\\``;\n }\n return s + `, expected ${t}`;\n}\n\nexport function throwInvalidType(v: unknown, t: string): never {\n throw new Error(invalidType(v, t));\n}\n\nexport function assertNotNull<T>(v: T | null): asserts v is T {\n if (v === null) {\n throw new Error('Expected non-null value');\n }\n}\n\nexport function assertUndefined<T>(\n v: T | undefined,\n msg = 'Expected undefined value',\n): asserts v is T {\n if (v !== undefined) {\n throw new Error(msg);\n }\n}\n\nexport function assertNotUndefined<T>(\n v: T | undefined,\n msg = 'Expected non undefined value',\n): asserts v is T {\n if (v === undefined) {\n throw new Error(msg);\n }\n}\n\nexport function assertInstanceof<T>(\n v: unknown,\n t: new (...args: unknown[]) => T,\n): asserts v is T {\n if (!(v instanceof t)) {\n throw new Error(`Expected instanceof ${t.name}`);\n }\n}\n\nexport function assertUint8Array(v: unknown): asserts v is Uint8Array {\n assertInstanceof(v, Uint8Array);\n}\n\nexport function unreachable(): never;\nexport function unreachable(v: never): never;\nexport function unreachable(_?: never): never {\n throw new Error('Unreachable');\n}\n\nexport function notImplemented(): never {\n throw new Error('Not implemented');\n}\n", "export function must<T>(v: T | undefined | null, msg?: string): T {\n // eslint-disable-next-line eqeqeq\n if (v == null) {\n throw new Error(msg ?? `Unexpected ${v} value`);\n }\n return v;\n}\n", "import {\n assert,\n assertArray,\n assertObject,\n assertUndefined,\n unreachable,\n} from '../../../shared/src/asserts.js';\nimport {must} from '../../../shared/src/must.js';\nimport type {Row} from '../../../zero-protocol/src/data.js';\nimport type {Change} from './change.js';\nimport type {Comparator, Node} from './data.js';\nimport type {SourceSchema} from './schema.js';\nimport type {Entry, EntryList, Format} from './view.js';\n\nexport function applyChange(\n parentEntry: Entry,\n change: Change,\n schema: SourceSchema,\n relationship: string,\n format: Format,\n) {\n if (schema.isHidden) {\n switch (change.type) {\n case 'add':\n case 'remove':\n for (const [relationship, children] of Object.entries(\n change.node.relationships,\n )) {\n const childSchema = must(schema.relationships[relationship]);\n for (const node of children) {\n applyChange(\n parentEntry,\n {type: change.type, node},\n childSchema,\n relationship,\n format,\n );\n }\n }\n return;\n case 'edit':\n // If hidden at this level it means that the hidden row was changed. If\n // the row was changed in such a way that it would change the\n // relationships then the edit would have been split into remove and\n // add.\n return;\n case 'child': {\n const childSchema = must(\n schema.relationships[change.child.relationshipName],\n );\n applyChange(\n parentEntry,\n change.child.change,\n childSchema,\n relationship,\n format,\n );\n return;\n }\n default:\n unreachable(change);\n }\n }\n\n const {singular, relationships: childFormats} = format;\n switch (change.type) {\n case 'add': {\n // TODO: Only create a new entry if we need to mutate the existing one.\n const newEntry: Entry = {\n ...change.node.row,\n };\n if (singular) {\n assertUndefined(\n parentEntry[relationship],\n 'single output already exists',\n );\n parentEntry[relationship] = newEntry;\n } else {\n const view = getChildEntryList(parentEntry, relationship);\n const {pos, found} = binarySearch(view, newEntry, schema.compareRows);\n assert(!found, 'node already exists');\n // @ts-expect-error view is readonly\n view.splice(pos, 0, newEntry);\n }\n for (const [relationship, children] of Object.entries(\n change.node.relationships,\n )) {\n // TODO: Is there a flag to make TypeScript complain that dictionary access might be undefined?\n const childSchema = must(schema.relationships[relationship]);\n const childFormat = childFormats[relationship];\n if (childFormat === undefined) {\n continue;\n }\n\n const newView = childFormat.singular ? undefined : ([] as EntryList);\n newEntry[relationship] = newView;\n for (const node of children) {\n applyChange(\n newEntry,\n {type: 'add', node},\n childSchema,\n relationship,\n childFormat,\n );\n }\n }\n break;\n }\n case 'remove': {\n if (singular) {\n assertObject(parentEntry[relationship]);\n parentEntry[relationship] = undefined;\n } else {\n const view = getChildEntryList(parentEntry, relationship);\n const {pos, found} = binarySearch(\n view,\n change.node.row,\n schema.compareRows,\n );\n assert(found, 'node does not exist');\n // @ts-expect-error view is readonly\n view.splice(pos, 1);\n }\n // Needed to ensure cleanup of operator state is fully done.\n drainStreams(change.node);\n break;\n }\n case 'child': {\n let existing: Entry;\n if (singular) {\n assertObject(parentEntry[relationship]);\n existing = parentEntry[relationship];\n } else {\n const view = getChildEntryList(parentEntry, relationship);\n const {pos, found} = binarySearch(view, change.row, schema.compareRows);\n assert(found, 'node does not exist');\n existing = view[pos];\n }\n\n const childSchema = must(\n schema.relationships[change.child.relationshipName],\n );\n const childFormat = format.relationships[change.child.relationshipName];\n if (childFormat !== undefined) {\n applyChange(\n existing,\n change.child.change,\n childSchema,\n change.child.relationshipName,\n childFormat,\n );\n }\n break;\n }\n case 'edit': {\n if (singular) {\n assertObject(parentEntry[relationship]);\n parentEntry[relationship] = {\n ...parentEntry[relationship],\n ...change.node.row,\n };\n } else {\n const view = parentEntry[relationship] as EntryList | undefined;\n assertArray(view);\n // If the order changed due to the edit, we need to remove and reinsert.\n if (schema.compareRows(change.oldNode.row, change.node.row) === 0) {\n const {pos, found} = binarySearch(\n view,\n change.oldNode.row,\n schema.compareRows,\n );\n assert(found, 'node does not exists');\n view[pos] = makeEntryPreserveRelationships(\n change.node.row,\n view[pos],\n schema.relationships,\n );\n } else {\n // Remove\n const {pos, found} = binarySearch(\n view,\n change.oldNode.row,\n schema.compareRows,\n );\n assert(found, 'node does not exists');\n const oldEntry = view[pos];\n view.splice(pos, 1);\n\n // Insert\n {\n const {pos, found} = binarySearch(\n view,\n change.node.row,\n schema.compareRows,\n );\n assert(!found, 'node already exists');\n view.splice(\n pos,\n 0,\n makeEntryPreserveRelationships(\n change.node.row,\n oldEntry,\n schema.relationships,\n ),\n );\n }\n }\n }\n break;\n }\n default:\n unreachable(change);\n }\n}\n\n// TODO: Do not return an object. It puts unnecessary pressure on the GC.\nfunction binarySearch(view: EntryList, target: Entry, comparator: Comparator) {\n let low = 0;\n let high = view.length - 1;\n while (low <= high) {\n const mid = (low + high) >>> 1;\n const comparison = comparator(view[mid] as Row, target as Row);\n if (comparison < 0) {\n low = mid + 1;\n } else if (comparison > 0) {\n high = mid - 1;\n } else {\n return {pos: mid, found: true};\n }\n }\n return {pos: low, found: false};\n}\n\nfunction makeEntryPreserveRelationships(\n row: Row,\n entry: Entry,\n relationships: {[key: string]: SourceSchema},\n): Entry {\n const result: Entry = {...row};\n for (const relationship in relationships) {\n assert(!(relationship in row), 'Relationship already exists');\n result[relationship] = entry[relationship];\n }\n return result;\n}\n\nfunction drainStreams(node: Node) {\n for (const stream of Object.values(node.relationships)) {\n for (const node of stream) {\n drainStreams(node);\n }\n }\n}\n\nfunction getChildEntryList(\n parentEntry: Entry,\n relationship: string,\n): EntryList {\n const view = parentEntry[relationship] as unknown;\n assertArray(view);\n return view as EntryList;\n}\n"],
|
|
4
|
+
"sourcesContent": ["export function assert(\n b: unknown,\n msg: string | (() => string) = 'Assertion failed',\n): asserts b {\n if (!b) {\n const msgStr = typeof msg === 'string' ? msg : msg();\n throw new Error(msgStr);\n }\n}\n\nexport function assertString(v: unknown): asserts v is string {\n assertType(v, 'string');\n}\n\nexport function assertNumber(v: unknown): asserts v is number {\n assertType(v, 'number');\n}\n\nexport function assertBoolean(v: unknown): asserts v is boolean {\n assertType(v, 'boolean');\n}\n\nfunction assertType(v: unknown, t: string) {\n if (typeof v !== t) {\n throwInvalidType(v, t);\n }\n}\n\nexport function assertObject(v: unknown): asserts v is Record<string, unknown> {\n if (v === null) {\n throwInvalidType(v, 'object');\n }\n assertType(v, 'object');\n}\n\nexport function assertArray(v: unknown): asserts v is unknown[] {\n if (!Array.isArray(v)) {\n throwInvalidType(v, 'array');\n }\n}\n\nexport function invalidType(v: unknown, t: string): string {\n let s = 'Invalid type: ';\n if (v === null || v === undefined) {\n s += v;\n } else {\n s += `${typeof v} \\`${v}\\``;\n }\n return s + `, expected ${t}`;\n}\n\nexport function throwInvalidType(v: unknown, t: string): never {\n throw new Error(invalidType(v, t));\n}\n\nexport function assertNotNull<T>(v: T | null): asserts v is T {\n if (v === null) {\n throw new Error('Expected non-null value');\n }\n}\n\nexport function assertUndefined<T>(\n v: T | undefined,\n msg = 'Expected undefined value',\n): asserts v is T {\n if (v !== undefined) {\n throw new Error(msg);\n }\n}\n\nexport function assertNotUndefined<T>(\n v: T | undefined,\n msg = 'Expected non undefined value',\n): asserts v is T {\n if (v === undefined) {\n throw new Error(msg);\n }\n}\n\nexport function assertInstanceof<T>(\n v: unknown,\n t: new (...args: unknown[]) => T,\n): asserts v is T {\n if (!(v instanceof t)) {\n throw new Error(`Expected instanceof ${t.name}`);\n }\n}\n\nexport function assertUint8Array(v: unknown): asserts v is Uint8Array {\n assertInstanceof(v, Uint8Array);\n}\n\nexport function unreachable(): never;\nexport function unreachable(v: never): never;\nexport function unreachable(_?: never): never {\n throw new Error('Unreachable');\n}\n\nexport function notImplemented(): never {\n throw new Error('Not implemented');\n}\n", "export function must<T>(v: T | undefined | null, msg?: string): T {\n // eslint-disable-next-line eqeqeq\n if (v == null) {\n throw new Error(msg ?? `Unexpected ${v} value`);\n }\n return v;\n}\n", "import {\n assert,\n assertArray,\n assertObject,\n assertUndefined,\n unreachable,\n} from '../../../shared/src/asserts.ts';\nimport {must} from '../../../shared/src/must.ts';\nimport type {Row} from '../../../zero-protocol/src/data.ts';\nimport type {Change} from './change.ts';\nimport type {Comparator, Node} from './data.ts';\nimport type {SourceSchema} from './schema.ts';\nimport type {Entry, EntryList, Format} from './view.ts';\n\nexport function applyChange(\n parentEntry: Entry,\n change: Change,\n schema: SourceSchema,\n relationship: string,\n format: Format,\n) {\n if (schema.isHidden) {\n switch (change.type) {\n case 'add':\n case 'remove':\n for (const [relationship, children] of Object.entries(\n change.node.relationships,\n )) {\n const childSchema = must(schema.relationships[relationship]);\n for (const node of children) {\n applyChange(\n parentEntry,\n {type: change.type, node},\n childSchema,\n relationship,\n format,\n );\n }\n }\n return;\n case 'edit':\n // If hidden at this level it means that the hidden row was changed. If\n // the row was changed in such a way that it would change the\n // relationships then the edit would have been split into remove and\n // add.\n return;\n case 'child': {\n const childSchema = must(\n schema.relationships[change.child.relationshipName],\n );\n applyChange(\n parentEntry,\n change.child.change,\n childSchema,\n relationship,\n format,\n );\n return;\n }\n default:\n unreachable(change);\n }\n }\n\n const {singular, relationships: childFormats} = format;\n switch (change.type) {\n case 'add': {\n // TODO: Only create a new entry if we need to mutate the existing one.\n const newEntry: Entry = {\n ...change.node.row,\n };\n if (singular) {\n assertUndefined(\n parentEntry[relationship],\n 'single output already exists',\n );\n parentEntry[relationship] = newEntry;\n } else {\n const view = getChildEntryList(parentEntry, relationship);\n const {pos, found} = binarySearch(view, newEntry, schema.compareRows);\n assert(!found, 'node already exists');\n // @ts-expect-error view is readonly\n view.splice(pos, 0, newEntry);\n }\n for (const [relationship, children] of Object.entries(\n change.node.relationships,\n )) {\n // TODO: Is there a flag to make TypeScript complain that dictionary access might be undefined?\n const childSchema = must(schema.relationships[relationship]);\n const childFormat = childFormats[relationship];\n if (childFormat === undefined) {\n continue;\n }\n\n const newView = childFormat.singular ? undefined : ([] as EntryList);\n newEntry[relationship] = newView;\n for (const node of children) {\n applyChange(\n newEntry,\n {type: 'add', node},\n childSchema,\n relationship,\n childFormat,\n );\n }\n }\n break;\n }\n case 'remove': {\n if (singular) {\n assertObject(parentEntry[relationship]);\n parentEntry[relationship] = undefined;\n } else {\n const view = getChildEntryList(parentEntry, relationship);\n const {pos, found} = binarySearch(\n view,\n change.node.row,\n schema.compareRows,\n );\n assert(found, 'node does not exist');\n // @ts-expect-error view is readonly\n view.splice(pos, 1);\n }\n // Needed to ensure cleanup of operator state is fully done.\n drainStreams(change.node);\n break;\n }\n case 'child': {\n let existing: Entry;\n if (singular) {\n assertObject(parentEntry[relationship]);\n existing = parentEntry[relationship];\n } else {\n const view = getChildEntryList(parentEntry, relationship);\n const {pos, found} = binarySearch(view, change.row, schema.compareRows);\n assert(found, 'node does not exist');\n existing = view[pos];\n }\n\n const childSchema = must(\n schema.relationships[change.child.relationshipName],\n );\n const childFormat = format.relationships[change.child.relationshipName];\n if (childFormat !== undefined) {\n applyChange(\n existing,\n change.child.change,\n childSchema,\n change.child.relationshipName,\n childFormat,\n );\n }\n break;\n }\n case 'edit': {\n if (singular) {\n assertObject(parentEntry[relationship]);\n parentEntry[relationship] = {\n ...parentEntry[relationship],\n ...change.node.row,\n };\n } else {\n const view = parentEntry[relationship] as EntryList | undefined;\n assertArray(view);\n // If the order changed due to the edit, we need to remove and reinsert.\n if (schema.compareRows(change.oldNode.row, change.node.row) === 0) {\n const {pos, found} = binarySearch(\n view,\n change.oldNode.row,\n schema.compareRows,\n );\n assert(found, 'node does not exists');\n view[pos] = makeEntryPreserveRelationships(\n change.node.row,\n view[pos],\n schema.relationships,\n );\n } else {\n // Remove\n const {pos, found} = binarySearch(\n view,\n change.oldNode.row,\n schema.compareRows,\n );\n assert(found, 'node does not exists');\n const oldEntry = view[pos];\n view.splice(pos, 1);\n\n // Insert\n {\n const {pos, found} = binarySearch(\n view,\n change.node.row,\n schema.compareRows,\n );\n assert(!found, 'node already exists');\n view.splice(\n pos,\n 0,\n makeEntryPreserveRelationships(\n change.node.row,\n oldEntry,\n schema.relationships,\n ),\n );\n }\n }\n }\n break;\n }\n default:\n unreachable(change);\n }\n}\n\n// TODO: Do not return an object. It puts unnecessary pressure on the GC.\nfunction binarySearch(view: EntryList, target: Entry, comparator: Comparator) {\n let low = 0;\n let high = view.length - 1;\n while (low <= high) {\n const mid = (low + high) >>> 1;\n const comparison = comparator(view[mid] as Row, target as Row);\n if (comparison < 0) {\n low = mid + 1;\n } else if (comparison > 0) {\n high = mid - 1;\n } else {\n return {pos: mid, found: true};\n }\n }\n return {pos: low, found: false};\n}\n\nfunction makeEntryPreserveRelationships(\n row: Row,\n entry: Entry,\n relationships: {[key: string]: SourceSchema},\n): Entry {\n const result: Entry = {...row};\n for (const relationship in relationships) {\n assert(!(relationship in row), 'Relationship already exists');\n result[relationship] = entry[relationship];\n }\n return result;\n}\n\nfunction drainStreams(node: Node) {\n for (const stream of Object.values(node.relationships)) {\n for (const node of stream) {\n drainStreams(node);\n }\n }\n}\n\nfunction getChildEntryList(\n parentEntry: Entry,\n relationship: string,\n): EntryList {\n const view = parentEntry[relationship] as unknown;\n assertArray(view);\n return view as EntryList;\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["relationship", "pos", "found", "node"]
|
|
7
7
|
}
|
|
@@ -13,11 +13,11 @@ import {
|
|
|
13
13
|
must,
|
|
14
14
|
throwInvalidType,
|
|
15
15
|
unreachable
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-QAAJZ32T.js";
|
|
17
17
|
import {
|
|
18
18
|
__export,
|
|
19
19
|
__reExport
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-424PT5DM.js";
|
|
21
21
|
|
|
22
22
|
// ../replicache/src/call-default-fetch.ts
|
|
23
23
|
async function callDefaultFetch(url, auth, requestID, requestBody) {
|
|
@@ -370,6 +370,23 @@ function assertPullerResultV1(v2) {
|
|
|
370
370
|
// ../replicache/src/kv/idb-store.ts
|
|
371
371
|
import { resolver } from "@rocicorp/resolver";
|
|
372
372
|
|
|
373
|
+
// ../shared/src/browser-env.ts
|
|
374
|
+
function getBrowserGlobal(name) {
|
|
375
|
+
return globalThis[name];
|
|
376
|
+
}
|
|
377
|
+
function getBrowserGlobalMethod(name) {
|
|
378
|
+
return globalThis[name]?.bind(globalThis);
|
|
379
|
+
}
|
|
380
|
+
function mustGetBrowserGlobal(name) {
|
|
381
|
+
const r = getBrowserGlobal(name);
|
|
382
|
+
if (r === void 0) {
|
|
383
|
+
throw new Error(
|
|
384
|
+
`Unsupported JavaScript environment: Could not find ${name}.`
|
|
385
|
+
);
|
|
386
|
+
}
|
|
387
|
+
return r;
|
|
388
|
+
}
|
|
389
|
+
|
|
373
390
|
// ../shared/src/resolved-promises.ts
|
|
374
391
|
var promiseTrue = Promise.resolve(true);
|
|
375
392
|
var promiseFalse = Promise.resolve(false);
|
|
@@ -540,23 +557,6 @@ var WriteImplBase = class {
|
|
|
540
557
|
}
|
|
541
558
|
};
|
|
542
559
|
|
|
543
|
-
// ../shared/src/browser-env.ts
|
|
544
|
-
function getBrowserGlobal(name) {
|
|
545
|
-
return globalThis[name];
|
|
546
|
-
}
|
|
547
|
-
function getBrowserGlobalMethod(name) {
|
|
548
|
-
return globalThis[name]?.bind(globalThis);
|
|
549
|
-
}
|
|
550
|
-
function mustGetBrowserGlobal(name) {
|
|
551
|
-
const r = getBrowserGlobal(name);
|
|
552
|
-
if (r === void 0) {
|
|
553
|
-
throw new Error(
|
|
554
|
-
`Unsupported JavaScript environment: Could not find ${name}.`
|
|
555
|
-
);
|
|
556
|
-
}
|
|
557
|
-
return r;
|
|
558
|
-
}
|
|
559
|
-
|
|
560
560
|
// ../replicache/src/kv/idb-store.ts
|
|
561
561
|
var RELAXED = { durability: "relaxed" };
|
|
562
562
|
var OBJECT_STORE = "chunks";
|
|
@@ -1164,19 +1164,16 @@ var ConnectionLoop = class {
|
|
|
1164
1164
|
races.push(sleep(t2));
|
|
1165
1165
|
}
|
|
1166
1166
|
await Promise.race(races);
|
|
1167
|
-
if (this.#closed)
|
|
1168
|
-
break;
|
|
1167
|
+
if (this.#closed) break;
|
|
1169
1168
|
debug?.("Waiting for debounce");
|
|
1170
1169
|
await sleepMaybeSkip(delegate.debounceDelay);
|
|
1171
|
-
if (this.#closed)
|
|
1172
|
-
break;
|
|
1170
|
+
if (this.#closed) break;
|
|
1173
1171
|
debug?.("debounced");
|
|
1174
1172
|
this.#pendingResolver = resolver4();
|
|
1175
1173
|
if (counter >= delegate.maxConnections) {
|
|
1176
1174
|
debug?.("Too many request in flight. Waiting until one finishes...");
|
|
1177
1175
|
await this.#waitUntilAvailableConnection();
|
|
1178
|
-
if (this.#closed)
|
|
1179
|
-
break;
|
|
1176
|
+
if (this.#closed) break;
|
|
1180
1177
|
debug?.("...finished");
|
|
1181
1178
|
}
|
|
1182
1179
|
if (counter > 0 || didLastSendRequestFail(sendRecords)) {
|
|
@@ -1200,8 +1197,7 @@ var ConnectionLoop = class {
|
|
|
1200
1197
|
sleepMaybeSkip(clampedDelay - timeSinceLastSend),
|
|
1201
1198
|
recoverResolver.promise
|
|
1202
1199
|
]);
|
|
1203
|
-
if (this.#closed)
|
|
1204
|
-
break;
|
|
1200
|
+
if (this.#closed) break;
|
|
1205
1201
|
}
|
|
1206
1202
|
}
|
|
1207
1203
|
counter++;
|
|
@@ -6966,9 +6962,9 @@ var SubscriptionsManagerImpl = class {
|
|
|
6966
6962
|
}
|
|
6967
6963
|
this.#subscriptions.clear();
|
|
6968
6964
|
}
|
|
6969
|
-
|
|
6965
|
+
fire(diffs) {
|
|
6970
6966
|
const subscriptions = subscriptionsForDiffs(this.#subscriptions, diffs);
|
|
6971
|
-
|
|
6967
|
+
return this.#fireSubscriptions(subscriptions, Regular, diffs);
|
|
6972
6968
|
}
|
|
6973
6969
|
async #fireSubscriptions(subscriptions, kind, diffs) {
|
|
6974
6970
|
if (this.#signal.aborted) {
|
|
@@ -9075,6 +9071,8 @@ var Exists = class {
|
|
|
9075
9071
|
}
|
|
9076
9072
|
push(change) {
|
|
9077
9073
|
switch (change.type) {
|
|
9074
|
+
// add, remove and edit cannot change the size of the
|
|
9075
|
+
// this.#relationshipName relationship, so simply #pushWithFilter
|
|
9078
9076
|
case "add":
|
|
9079
9077
|
case "edit": {
|
|
9080
9078
|
this.#pushWithFilter(change);
|
|
@@ -10293,12 +10291,14 @@ function patternToRegExp(source, flags = "") {
|
|
|
10293
10291
|
case "_":
|
|
10294
10292
|
pattern += ".";
|
|
10295
10293
|
break;
|
|
10294
|
+
// @ts-expect-error fallthrough
|
|
10296
10295
|
case "\\":
|
|
10297
10296
|
if (i === source.length - 1) {
|
|
10298
10297
|
throw new Error("LIKE pattern must not end with escape character");
|
|
10299
10298
|
}
|
|
10300
10299
|
i++;
|
|
10301
10300
|
c = source[i];
|
|
10301
|
+
// fall through
|
|
10302
10302
|
default:
|
|
10303
10303
|
if (specialCharsRe.test(c)) {
|
|
10304
10304
|
pattern += "\\";
|
|
@@ -11894,11 +11894,9 @@ var BTreeSet = class {
|
|
|
11894
11894
|
return this.#root.get(key, this);
|
|
11895
11895
|
}
|
|
11896
11896
|
add(key) {
|
|
11897
|
-
if (this.#root.isShared)
|
|
11898
|
-
this.#root = this.#root.clone();
|
|
11897
|
+
if (this.#root.isShared) this.#root = this.#root.clone();
|
|
11899
11898
|
const result = this.#root.set(key, this);
|
|
11900
|
-
if (result === null)
|
|
11901
|
-
return this;
|
|
11899
|
+
if (result === null) return this;
|
|
11902
11900
|
this.#root = new BNodeInternal([this.#root, result]);
|
|
11903
11901
|
return this;
|
|
11904
11902
|
}
|
|
@@ -12051,8 +12049,7 @@ function findPath(key, root, comparator2) {
|
|
|
12051
12049
|
for (let d = 0; nextNode.isInternal(); d++) {
|
|
12052
12050
|
nodeQueue[d] = nextNode.children;
|
|
12053
12051
|
nodeIndex[d] = key === void 0 ? 0 : indexOf(key, nextNode.keys, 0, comparator2);
|
|
12054
|
-
if (nodeIndex[d] >= nodeQueue[d].length)
|
|
12055
|
-
return;
|
|
12052
|
+
if (nodeIndex[d] >= nodeQueue[d].length) return;
|
|
12056
12053
|
nextNode = nodeQueue[d][nodeIndex[d]];
|
|
12057
12054
|
}
|
|
12058
12055
|
nodeQueue.reverse();
|
|
@@ -12214,16 +12211,14 @@ var BNodeInternal = class _BNodeInternal extends BNode {
|
|
|
12214
12211
|
other.takeFromRight(child);
|
|
12215
12212
|
this.keys[i - 1] = other.maxKey();
|
|
12216
12213
|
} else if ((other = c[i + 1]) !== void 0 && other.keys.length < MAX_NODE_SIZE && cmp2(child.maxKey(), key) < 0) {
|
|
12217
|
-
if (other.isShared)
|
|
12218
|
-
c[i + 1] = other = other.clone();
|
|
12214
|
+
if (other.isShared) c[i + 1] = other = other.clone();
|
|
12219
12215
|
other.takeFromLeft(child);
|
|
12220
12216
|
this.keys[i] = c[i].maxKey();
|
|
12221
12217
|
}
|
|
12222
12218
|
}
|
|
12223
12219
|
const result = child.set(key, tree);
|
|
12224
12220
|
this.keys[i] = child.maxKey();
|
|
12225
|
-
if (result === null)
|
|
12226
|
-
return null;
|
|
12221
|
+
if (result === null) return null;
|
|
12227
12222
|
if (this.keys.length < MAX_NODE_SIZE) {
|
|
12228
12223
|
this.insert(i + 1, result);
|
|
12229
12224
|
return null;
|
|
@@ -12282,8 +12277,7 @@ var BNodeInternal = class _BNodeInternal extends BNode {
|
|
|
12282
12277
|
return result;
|
|
12283
12278
|
} finally {
|
|
12284
12279
|
const half = MAX_NODE_SIZE >> 1;
|
|
12285
|
-
if (iLow > 0)
|
|
12286
|
-
iLow--;
|
|
12280
|
+
if (iLow > 0) iLow--;
|
|
12287
12281
|
for (i = iHigh; i >= iLow; i--) {
|
|
12288
12282
|
if (children[i].keys.length <= half) {
|
|
12289
12283
|
if (children[i].keys.length !== 0) {
|
|
@@ -13424,7 +13418,7 @@ function makeMessage(message, context, logLevel) {
|
|
|
13424
13418
|
}
|
|
13425
13419
|
|
|
13426
13420
|
// ../zero-client/src/client/version.ts
|
|
13427
|
-
var version2 = "0.12.
|
|
13421
|
+
var version2 = "0.12.2025012801";
|
|
13428
13422
|
|
|
13429
13423
|
// ../zero-client/src/client/log-options.ts
|
|
13430
13424
|
var LevelFilterLogSink = class {
|
|
@@ -15491,4 +15485,4 @@ export {
|
|
|
15491
15485
|
escapeLike,
|
|
15492
15486
|
Zero
|
|
15493
15487
|
};
|
|
15494
|
-
//# sourceMappingURL=chunk-
|
|
15488
|
+
//# sourceMappingURL=chunk-TYCUDFUS.js.map
|