@rocicorp/zero 0.23.2025101600 → 0.24.3000-canary.0
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.d.ts.map +1 -1
- package/out/analyze-query/src/bin-analyze.js +12 -12
- package/out/analyze-query/src/bin-analyze.js.map +1 -1
- package/out/analyze-query/src/bin-transform.d.ts.map +1 -1
- package/out/analyze-query/src/bin-transform.js +3 -2
- package/out/analyze-query/src/bin-transform.js.map +1 -1
- package/out/analyze-query/src/explain-queries.d.ts +1 -1
- package/out/analyze-query/src/explain-queries.d.ts.map +1 -1
- package/out/analyze-query/src/run-ast.d.ts +13 -23
- package/out/analyze-query/src/run-ast.d.ts.map +1 -1
- package/out/analyze-query/src/run-ast.js +41 -20
- package/out/analyze-query/src/run-ast.js.map +1 -1
- package/out/ast-to-zql/src/ast-to-zql.js +6 -5
- package/out/ast-to-zql/src/ast-to-zql.js.map +1 -1
- package/out/ast-to-zql/src/bin.js +1 -1
- package/out/ast-to-zql/src/format.js +1 -1
- package/out/chunk-AFADJQ2O.js +1 -0
- package/out/chunk-AFADJQ2O.js.map +7 -0
- package/out/chunk-ASRS2LFV.js +35 -0
- package/out/chunk-ASRS2LFV.js.map +7 -0
- package/out/chunk-ECUMGQGC.js +220 -0
- package/out/chunk-ECUMGQGC.js.map +7 -0
- package/out/{chunk-SGW2EIVJ.js → chunk-EZM3XBAB.js} +1 -1
- package/out/{chunk-SGW2EIVJ.js.map → chunk-EZM3XBAB.js.map} +2 -2
- package/out/{chunk-6N4NUSIN.js → chunk-KKQHE37F.js} +16 -9
- package/out/chunk-KKQHE37F.js.map +7 -0
- package/out/{chunk-WFFZJYGV.js → chunk-O26W3FL4.js} +4870 -442
- package/out/chunk-O26W3FL4.js.map +7 -0
- package/out/{chunk-G442PJSB.js → chunk-VHLCXJ6Q.js} +1801 -5008
- package/out/chunk-VHLCXJ6Q.js.map +7 -0
- package/out/{chunk-O7W55FT4.js → chunk-VZOYWIRW.js} +1 -1
- package/out/chunk-VZOYWIRW.js.map +7 -0
- package/out/chunk-ZZXMKAAG.js +64 -0
- package/out/chunk-ZZXMKAAG.js.map +7 -0
- package/out/expo-sqlite.js +11 -0
- package/out/expo-sqlite.js.map +7 -0
- package/out/{inspector-YIRP3TTL.js → inspector-IU2HG74I.js} +2 -2
- package/out/lazy-inspector-NCBESZMS.js +574 -0
- package/out/lazy-inspector-NCBESZMS.js.map +7 -0
- package/out/op-sqlite.js +80 -0
- package/out/op-sqlite.js.map +7 -0
- package/out/react-native.js +18 -334
- package/out/react-native.js.map +4 -4
- package/out/react.js +104 -41
- package/out/react.js.map +2 -2
- package/out/replicache/src/btree/read.d.ts.map +1 -1
- package/out/replicache/src/btree/write.d.ts.map +1 -1
- package/out/replicache/src/call-default-fetch.d.ts.map +1 -1
- package/out/replicache/src/connection-loop.d.ts.map +1 -1
- package/out/replicache/src/dag/key-type-enum.d.ts.map +1 -1
- package/out/replicache/src/dag/lazy-store.d.ts.map +1 -1
- package/out/replicache/src/db/index-operation-enum.d.ts.map +1 -1
- package/out/replicache/src/db/meta-type-enum.d.ts.map +1 -1
- package/out/replicache/src/deleted-clients.d.ts +17 -10
- package/out/replicache/src/deleted-clients.d.ts.map +1 -1
- package/out/replicache/src/expo-sqlite.d.ts +2 -0
- package/out/replicache/src/expo-sqlite.d.ts.map +1 -0
- package/out/replicache/src/format-version-enum.d.ts.map +1 -1
- package/out/replicache/src/get-default-puller.d.ts.map +1 -1
- package/out/replicache/src/invoke-kind-enum.d.ts.map +1 -1
- package/out/replicache/src/kv/expo-sqlite/store.d.ts +11 -0
- package/out/replicache/src/kv/expo-sqlite/store.d.ts.map +1 -0
- package/out/replicache/src/kv/idb-store.d.ts.map +1 -1
- package/out/replicache/src/kv/mem-store.d.ts.map +1 -1
- package/out/replicache/src/kv/op-sqlite/store.d.ts +14 -0
- package/out/replicache/src/kv/op-sqlite/store.d.ts.map +1 -0
- package/out/replicache/src/kv/op-sqlite/types.d.ts +13 -0
- package/out/replicache/src/kv/op-sqlite/types.d.ts.map +1 -0
- package/out/replicache/src/kv/read-impl.d.ts.map +1 -1
- package/out/replicache/src/kv/sqlite-store.d.ts +37 -63
- package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
- package/out/replicache/src/kv/throw-if-closed.d.ts +12 -0
- package/out/replicache/src/kv/throw-if-closed.d.ts.map +1 -0
- package/out/replicache/src/kv/write-impl-base.d.ts.map +1 -1
- package/out/replicache/src/kv/write-impl.d.ts.map +1 -1
- package/out/replicache/src/op-sqlite.d.ts +2 -0
- package/out/replicache/src/op-sqlite.d.ts.map +1 -0
- package/out/replicache/src/persist/client-gc.d.ts.map +1 -1
- package/out/replicache/src/persist/client-group-gc.d.ts +2 -3
- package/out/replicache/src/persist/client-group-gc.d.ts.map +1 -1
- package/out/replicache/src/persist/clients.d.ts +2 -1
- package/out/replicache/src/persist/clients.d.ts.map +1 -1
- package/out/replicache/src/persist/collect-idb-databases.d.ts.map +1 -1
- package/out/replicache/src/persist/gather-not-cached-visitor.d.ts.map +1 -1
- package/out/replicache/src/process-scheduler.d.ts.map +1 -1
- package/out/replicache/src/replicache-impl.d.ts.map +1 -1
- package/out/replicache/src/sqlite.d.ts +3 -0
- package/out/replicache/src/sqlite.d.ts.map +1 -0
- package/out/replicache/src/sync/handle-pull-response-result-type-enum.d.ts.map +1 -1
- package/out/replicache/src/sync/pull.d.ts.map +1 -1
- package/out/replicache/src/transactions.d.ts +1 -1
- package/out/replicache/src/transactions.d.ts.map +1 -1
- package/out/shared/src/bigint-json.d.ts.map +1 -1
- package/out/shared/src/bigint-json.js +1 -2
- package/out/shared/src/bigint-json.js.map +1 -1
- package/out/shared/src/btree-set.js +3 -5
- package/out/shared/src/btree-set.js.map +1 -1
- package/out/shared/src/config.d.ts.map +1 -1
- package/out/shared/src/config.js.map +1 -1
- package/out/shared/src/custom-key-map.js +1 -1
- package/out/shared/src/custom-key-set.js +1 -1
- package/out/shared/src/deep-merge.d.ts +1 -1
- package/out/shared/src/deep-merge.d.ts.map +1 -1
- package/out/shared/src/json.js +1 -1
- package/out/shared/src/logging.d.ts +1 -1
- package/out/shared/src/logging.d.ts.map +1 -1
- package/out/shared/src/logging.js +2 -2
- package/out/shared/src/logging.js.map +1 -1
- package/out/shared/src/must.js +1 -1
- package/out/shared/src/options.js +1 -1
- package/out/shared/src/sentinels.d.ts +2 -0
- package/out/shared/src/sentinels.d.ts.map +1 -1
- package/out/shared/src/sentinels.js +7 -0
- package/out/shared/src/sentinels.js.map +1 -0
- package/out/shared/src/size-of-value.d.ts.map +1 -0
- package/out/shared/src/valita.d.ts.map +1 -1
- package/out/shared/src/valita.js +2 -3
- package/out/shared/src/valita.js.map +1 -1
- package/out/solid.js +69 -24
- package/out/solid.js.map +3 -3
- package/out/sqlite.js +15 -0
- package/out/sqlite.js.map +7 -0
- package/out/z2s/src/compiler.d.ts +1 -1
- package/out/z2s/src/compiler.d.ts.map +1 -1
- package/out/z2s/src/compiler.js +2 -2
- package/out/z2s/src/compiler.js.map +1 -1
- package/out/zero/package.json +63 -36
- package/out/zero/src/adapters/drizzle.d.ts +2 -0
- package/out/zero/src/adapters/drizzle.d.ts.map +1 -0
- package/out/zero/src/adapters/drizzle.js +2 -0
- package/out/zero/src/adapters/drizzle.js.map +1 -0
- package/out/zero/src/adapters/pg.d.ts +2 -0
- package/out/zero/src/adapters/pg.d.ts.map +1 -0
- package/out/zero/src/adapters/pg.js +2 -0
- package/out/zero/src/adapters/pg.js.map +1 -0
- package/out/zero/src/build-schema.js +1 -1
- package/out/zero/src/change-protocol/v0.js +1 -1
- package/out/zero/src/expo-sqlite.d.ts +2 -0
- package/out/zero/src/expo-sqlite.d.ts.map +1 -0
- package/out/zero/src/op-sqlite.d.ts +2 -0
- package/out/zero/src/op-sqlite.d.ts.map +1 -0
- package/out/zero/src/pg.js +1 -1
- package/out/zero/src/react-native.d.ts +30 -1
- package/out/zero/src/react-native.d.ts.map +1 -1
- package/out/zero/src/server.js +1 -1
- package/out/zero/src/sqlite.d.ts +2 -0
- package/out/zero/src/sqlite.d.ts.map +1 -0
- package/out/zero/src/zero-cache-dev.d.ts.map +1 -1
- package/out/zero/src/zero-cache-dev.js +14 -6
- package/out/zero/src/zero-cache-dev.js.map +1 -1
- package/out/zero/src/zqlite.js +1 -1
- package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
- package/out/zero-cache/src/auth/write-authorizer.js +3 -3
- package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
- package/out/zero-cache/src/config/network.d.ts.map +1 -1
- package/out/zero-cache/src/config/network.js +1 -2
- package/out/zero-cache/src/config/network.js.map +1 -1
- package/out/zero-cache/src/config/normalize.d.ts +1 -0
- package/out/zero-cache/src/config/normalize.d.ts.map +1 -1
- package/out/zero-cache/src/config/normalize.js +6 -0
- package/out/zero-cache/src/config/normalize.js.map +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts +11 -0
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +91 -5
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/custom/fetch.d.ts +24 -11
- package/out/zero-cache/src/custom/fetch.d.ts.map +1 -1
- package/out/zero-cache/src/custom/fetch.js +39 -51
- package/out/zero-cache/src/custom/fetch.js.map +1 -1
- package/out/zero-cache/src/custom-queries/transform-query.d.ts +3 -2
- package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +1 -1
- package/out/zero-cache/src/custom-queries/transform-query.js +9 -4
- package/out/zero-cache/src/custom-queries/transform-query.js.map +1 -1
- package/out/zero-cache/src/db/create.d.ts +4 -4
- package/out/zero-cache/src/db/create.d.ts.map +1 -1
- package/out/zero-cache/src/db/create.js +14 -11
- package/out/zero-cache/src/db/create.js.map +1 -1
- package/out/zero-cache/src/db/migration.d.ts +1 -1
- package/out/zero-cache/src/db/migration.d.ts.map +1 -1
- package/out/zero-cache/src/db/migration.js +2 -0
- package/out/zero-cache/src/db/migration.js.map +1 -1
- package/out/zero-cache/src/db/pg-copy.d.ts.map +1 -1
- package/out/zero-cache/src/db/pg-copy.js +0 -1
- package/out/zero-cache/src/db/pg-copy.js.map +1 -1
- package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
- package/out/zero-cache/src/db/pg-to-lite.js +5 -2
- package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
- package/out/zero-cache/src/db/postgres-replica-identity-enum.d.ts.map +1 -1
- package/out/zero-cache/src/db/postgres-replica-identity-enum.js +0 -1
- package/out/zero-cache/src/db/postgres-replica-identity-enum.js.map +1 -1
- package/out/zero-cache/src/db/postgres-type-class-enum.d.ts.map +1 -1
- package/out/zero-cache/src/db/postgres-type-class-enum.js +0 -1
- package/out/zero-cache/src/db/postgres-type-class-enum.js.map +1 -1
- package/out/zero-cache/src/db/statements.js +2 -2
- package/out/zero-cache/src/db/transaction-pool.d.ts +1 -1
- package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -1
- package/out/zero-cache/src/db/transaction-pool.js +3 -1
- package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
- package/out/zero-cache/src/scripts/deploy-permissions.d.ts.map +1 -1
- package/out/zero-cache/src/scripts/deploy-permissions.js +2 -2
- package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -1
- package/out/zero-cache/src/server/anonymous-otel-start.d.ts +2 -0
- package/out/zero-cache/src/server/anonymous-otel-start.d.ts.map +1 -1
- package/out/zero-cache/src/server/anonymous-otel-start.js +59 -2
- package/out/zero-cache/src/server/anonymous-otel-start.js.map +1 -1
- package/out/zero-cache/src/server/inspector-delegate.d.ts +19 -0
- package/out/zero-cache/src/server/inspector-delegate.d.ts.map +1 -1
- package/out/zero-cache/src/server/inspector-delegate.js +52 -0
- package/out/zero-cache/src/server/inspector-delegate.js.map +1 -1
- package/out/zero-cache/src/server/otel-diag-logger.d.ts +16 -0
- package/out/zero-cache/src/server/otel-diag-logger.d.ts.map +1 -0
- package/out/zero-cache/src/server/otel-diag-logger.js +76 -0
- package/out/zero-cache/src/server/otel-diag-logger.js.map +1 -0
- package/out/zero-cache/src/server/otel-start.d.ts.map +1 -1
- package/out/zero-cache/src/server/otel-start.js +13 -13
- package/out/zero-cache/src/server/otel-start.js.map +1 -1
- package/out/zero-cache/src/server/reaper.d.ts.map +1 -1
- package/out/zero-cache/src/server/reaper.js +13 -1
- package/out/zero-cache/src/server/reaper.js.map +1 -1
- package/out/zero-cache/src/server/runner/main.d.ts.map +1 -1
- package/out/zero-cache/src/server/runner/main.js.map +1 -1
- package/out/zero-cache/src/server/runner/run-worker.d.ts.map +1 -1
- package/out/zero-cache/src/server/runner/run-worker.js +1 -1
- package/out/zero-cache/src/server/runner/run-worker.js.map +1 -1
- package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/server/syncer.js +8 -3
- package/out/zero-cache/src/server/syncer.js.map +1 -1
- package/out/zero-cache/src/services/analyze.d.ts +9 -1
- package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
- package/out/zero-cache/src/services/analyze.js +110 -40
- package/out/zero-cache/src/services/analyze.js.map +1 -1
- 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 +2 -2
- 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.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js +6 -5
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js +0 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js +1 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.js +1 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js +25 -17
- package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +1 -1
- 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 +5 -1
- package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/validation.js +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/data.js +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/data.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +6 -5
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/error-type-enum.js +0 -1
- package/out/zero-cache/src/services/change-streamer/error-type-enum.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/init.js +1 -0
- package/out/zero-cache/src/services/change-streamer/schema/init.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 +2 -0
- package/out/zero-cache/src/services/change-streamer/schema/tables.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 +28 -22
- package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
- package/out/zero-cache/src/services/heapz.d.ts +1 -1
- package/out/zero-cache/src/services/heapz.d.ts.map +1 -1
- package/out/zero-cache/src/services/heapz.js +2 -2
- package/out/zero-cache/src/services/heapz.js.map +1 -1
- package/out/zero-cache/src/services/life-cycle.js +2 -2
- package/out/zero-cache/src/services/mutagen/error.d.ts +4 -0
- package/out/zero-cache/src/services/mutagen/error.d.ts.map +1 -0
- package/out/zero-cache/src/services/mutagen/error.js +8 -0
- package/out/zero-cache/src/services/mutagen/error.js.map +1 -0
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +0 -3
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +1 -6
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.d.ts +90 -39
- package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.js +29 -8
- package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
- package/out/zero-cache/src/services/replicator/change-processor.js +7 -7
- package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.js +2 -2
- package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -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 +10 -8
- package/out/zero-cache/src/services/replicator/replication-status.js.map +1 -1
- package/out/zero-cache/src/services/replicator/schema/constants.d.ts +7 -0
- package/out/zero-cache/src/services/replicator/schema/constants.d.ts.map +1 -0
- package/out/zero-cache/src/services/replicator/schema/constants.js +7 -0
- package/out/zero-cache/src/services/replicator/schema/constants.js.map +1 -0
- package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts +2 -2
- package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/schema/replication-state.js +2 -1
- package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
- package/out/zero-cache/src/services/run-ast.d.ts +21 -0
- package/out/zero-cache/src/services/run-ast.d.ts.map +1 -0
- package/out/zero-cache/src/services/run-ast.js +93 -0
- package/out/zero-cache/src/services/run-ast.js.map +1 -0
- package/out/zero-cache/src/services/statz.d.ts +1 -1
- package/out/zero-cache/src/services/statz.d.ts.map +1 -1
- package/out/zero-cache/src/services/statz.js +3 -3
- package/out/zero-cache/src/services/statz.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts +16 -0
- package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/active-users-gauge.js +50 -0
- package/out/zero-cache/src/services/view-syncer/active-users-gauge.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/client-schema.js +2 -2
- package/out/zero-cache/src/services/view-syncer/client-schema.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts +8 -2
- package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-purger.js +40 -13
- package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +0 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.js +6 -19
- package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts +0 -1
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.js +19 -8
- package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +10 -0
- package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/inspect-handler.js +95 -0
- package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +1 -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 +1 -0
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +1 -1
- package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/row-record-cache.js +3 -1
- package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +1 -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 +4 -4
- 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 +4 -3
- 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 +36 -64
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/lite.d.ts +11 -5
- package/out/zero-cache/src/types/lite.d.ts.map +1 -1
- package/out/zero-cache/src/types/lite.js +2 -5
- package/out/zero-cache/src/types/lite.js.map +1 -1
- package/out/zero-cache/src/types/pg.d.ts +12 -0
- package/out/zero-cache/src/types/pg.d.ts.map +1 -1
- package/out/zero-cache/src/types/pg.js +15 -13
- package/out/zero-cache/src/types/pg.js.map +1 -1
- package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/workers/replicator.js +0 -2
- package/out/zero-cache/src/workers/replicator.js.map +1 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js +1 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
- package/out/zero-client/src/client/active-clients-manager.d.ts +2 -1
- package/out/zero-client/src/client/active-clients-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/connection-state-enum.d.ts.map +1 -1
- package/out/zero-client/src/client/crud.d.ts +1 -1
- package/out/zero-client/src/client/crud.d.ts.map +1 -1
- package/out/zero-client/src/client/custom.d.ts.map +1 -1
- package/out/zero-client/src/client/delete-clients-manager.d.ts +3 -3
- package/out/zero-client/src/client/delete-clients-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/client-group.d.ts +12 -0
- package/out/zero-client/src/client/inspector/client-group.d.ts.map +1 -0
- package/out/zero-client/src/client/inspector/client.d.ts +15 -0
- package/out/zero-client/src/client/inspector/client.d.ts.map +1 -0
- package/out/zero-client/src/client/inspector/html-dialog-prompt.d.ts +5 -0
- package/out/zero-client/src/client/inspector/html-dialog-prompt.d.ts.map +1 -0
- package/out/zero-client/src/client/inspector/inspector.d.ts +18 -18
- package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/lazy-inspector.d.ts +52 -0
- package/out/zero-client/src/client/inspector/lazy-inspector.d.ts.map +1 -0
- package/out/zero-client/src/client/inspector/query.d.ts +31 -0
- package/out/zero-client/src/client/inspector/query.d.ts.map +1 -0
- package/out/zero-client/src/client/metric-name-enum.d.ts.map +1 -1
- package/out/zero-client/src/client/options.d.ts +16 -16
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/ping-result-enum.d.ts.map +1 -1
- package/out/zero-client/src/client/query-manager.d.ts +2 -0
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/update-needed-reason-type-enum.d.ts.map +1 -1
- package/out/zero-client/src/client/zero-log-context.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +10 -11
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/mod.d.ts +5 -2
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-events/src/index.d.ts +4 -6
- package/out/zero-events/src/index.d.ts.map +1 -1
- package/out/zero-events/src/index.js +1 -27
- package/out/zero-events/src/index.js.map +1 -1
- package/out/zero-events/src/json.d.ts +20 -0
- package/out/zero-events/src/json.d.ts.map +1 -0
- package/out/zero-events/src/json.js +2 -0
- package/out/zero-events/src/json.js.map +1 -0
- package/out/zero-events/src/status.d.ts +45 -87
- package/out/zero-events/src/status.d.ts.map +1 -1
- package/out/zero-events/src/status.js +2 -68
- package/out/zero-events/src/status.js.map +1 -1
- package/out/zero-pg/src/mod.d.ts.map +1 -1
- package/out/zero-pg/src/mod.js +1 -1
- package/out/zero-pg/src/mod.js.map +1 -1
- package/out/zero-protocol/src/analyze-query-result.d.ts +29 -0
- package/out/zero-protocol/src/analyze-query-result.d.ts.map +1 -0
- package/out/zero-protocol/src/analyze-query-result.js +25 -0
- package/out/zero-protocol/src/analyze-query-result.js.map +1 -0
- package/out/zero-protocol/src/ast.d.ts +3 -1
- package/out/zero-protocol/src/ast.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.js +2 -0
- package/out/zero-protocol/src/ast.js.map +1 -1
- package/out/zero-protocol/src/connect.d.ts +4 -32
- package/out/zero-protocol/src/connect.d.ts.map +1 -1
- package/out/zero-protocol/src/connect.js +2 -17
- package/out/zero-protocol/src/connect.js.map +1 -1
- package/out/zero-protocol/src/down.d.ts +29 -0
- package/out/zero-protocol/src/down.d.ts.map +1 -1
- package/out/zero-protocol/src/error-kind-enum.d.ts.map +1 -1
- package/out/zero-protocol/src/error-kind-enum.js +0 -1
- package/out/zero-protocol/src/error-kind-enum.js.map +1 -1
- package/out/zero-protocol/src/inspect-down.d.ts +93 -0
- package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
- package/out/zero-protocol/src/inspect-down.js +14 -1
- package/out/zero-protocol/src/inspect-down.js.map +1 -1
- package/out/zero-protocol/src/inspect-up.d.ts +85 -10
- package/out/zero-protocol/src/inspect-up.d.ts.map +1 -1
- package/out/zero-protocol/src/inspect-up.js +25 -3
- package/out/zero-protocol/src/inspect-up.js.map +1 -1
- package/out/zero-protocol/src/mutation-type-enum.d.ts.map +1 -1
- package/out/zero-protocol/src/mutation-type-enum.js +0 -1
- package/out/zero-protocol/src/mutation-type-enum.js.map +1 -1
- 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 +8 -1
- package/out/zero-protocol/src/protocol-version.js.map +1 -1
- package/out/zero-protocol/src/push.d.ts +1 -1
- package/out/zero-protocol/src/push.d.ts.map +1 -1
- package/out/zero-protocol/src/up.d.ts +24 -9
- package/out/zero-protocol/src/up.d.ts.map +1 -1
- package/out/zero-react/src/components/mark-icon.d.ts.map +1 -1
- package/out/zero-react/src/components/zero-inspector.d.ts.map +1 -1
- package/out/zero-react/src/use-query.d.ts +20 -3
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-react/src/zero-provider.d.ts +2 -2
- package/out/zero-react/src/zero-provider.d.ts.map +1 -1
- package/out/zero-schema/src/builder/schema-builder.d.ts +3 -25
- package/out/zero-schema/src/builder/schema-builder.d.ts.map +1 -1
- package/out/zero-schema/src/builder/schema-builder.js +1 -1
- package/out/zero-schema/src/builder/schema-builder.js.map +1 -1
- package/out/zero-schema/src/builder/table-builder.js +1 -1
- package/out/zero-schema/src/name-mapper.d.ts +2 -19
- package/out/zero-schema/src/name-mapper.d.ts.map +1 -1
- package/out/zero-schema/src/name-mapper.js +2 -44
- package/out/zero-schema/src/name-mapper.js.map +1 -1
- package/out/zero-schema/src/permissions.d.ts +1 -0
- package/out/zero-schema/src/permissions.d.ts.map +1 -1
- package/out/zero-schema/src/schema-config.d.ts +1 -1
- package/out/zero-schema/src/schema-config.js +2 -2
- package/out/zero-schema/src/table-schema.d.ts +3 -55
- package/out/zero-schema/src/table-schema.d.ts.map +1 -1
- package/out/zero-schema/src/table-schema.js +0 -6
- package/out/zero-schema/src/table-schema.js.map +1 -1
- package/out/zero-server/src/adapters/drizzle.d.ts +60 -0
- package/out/zero-server/src/adapters/drizzle.d.ts.map +1 -0
- package/out/zero-server/src/adapters/drizzle.js +111 -0
- package/out/zero-server/src/adapters/drizzle.js.map +1 -0
- package/out/zero-server/src/adapters/pg.d.ts +53 -0
- package/out/zero-server/src/adapters/pg.d.ts.map +1 -0
- package/out/zero-server/src/adapters/pg.js +79 -0
- package/out/zero-server/src/adapters/pg.js.map +1 -0
- package/out/zero-server/src/adapters/postgresjs.d.ts +41 -12
- package/out/zero-server/src/adapters/postgresjs.d.ts.map +1 -1
- package/out/zero-server/src/adapters/postgresjs.js +27 -10
- package/out/zero-server/src/adapters/postgresjs.js.map +1 -1
- package/out/zero-server/src/custom.d.ts +1 -1
- package/out/zero-server/src/custom.d.ts.map +1 -1
- package/out/zero-server/src/custom.js +1 -1
- package/out/zero-server/src/custom.js.map +1 -1
- package/out/zero-server/src/process-mutations.d.ts +3 -3
- package/out/zero-server/src/process-mutations.d.ts.map +1 -1
- package/out/zero-server/src/process-mutations.js +5 -5
- package/out/zero-server/src/process-mutations.js.map +1 -1
- package/out/zero-server/src/query.d.ts +2 -2
- package/out/zero-server/src/query.d.ts.map +1 -1
- package/out/zero-server/src/query.js +2 -1
- package/out/zero-server/src/query.js.map +1 -1
- package/out/zero-server/src/zql-database.d.ts +1 -1
- package/out/zero-server/src/zql-database.d.ts.map +1 -1
- package/out/zero-server/src/zql-database.js +10 -0
- package/out/zero-server/src/zql-database.js.map +1 -1
- package/out/zero-solid/src/solid-view.d.ts +24 -5
- package/out/zero-solid/src/solid-view.d.ts.map +1 -1
- package/out/zero-solid/src/use-query.d.ts +3 -1
- package/out/zero-solid/src/use-query.d.ts.map +1 -1
- package/out/zero-solid/src/use-zero.d.ts +4 -1
- package/out/zero-solid/src/use-zero.d.ts.map +1 -1
- package/out/zero-types/src/format.d.ts +11 -0
- package/out/zero-types/src/format.d.ts.map +1 -0
- package/out/zero-types/src/format.js +5 -0
- package/out/zero-types/src/format.js.map +1 -0
- package/out/zero-types/src/name-mapper.d.ts +19 -0
- package/out/zero-types/src/name-mapper.d.ts.map +1 -0
- package/out/zero-types/src/name-mapper.js +45 -0
- package/out/zero-types/src/name-mapper.js.map +1 -0
- package/out/zero-types/src/schema-value.d.ts +36 -0
- package/out/zero-types/src/schema-value.d.ts.map +1 -0
- package/out/zero-types/src/schema-value.js +2 -0
- package/out/zero-types/src/schema-value.js.map +1 -0
- package/out/zero-types/src/schema.d.ts +54 -0
- package/out/zero-types/src/schema.d.ts.map +1 -0
- package/out/zero-types/src/schema.js +2 -0
- package/out/zero-types/src/schema.js.map +1 -0
- package/out/zero.js +6 -7
- package/out/zql/src/builder/builder.d.ts +14 -0
- package/out/zql/src/builder/builder.d.ts.map +1 -1
- package/out/zql/src/builder/builder.js +143 -23
- package/out/zql/src/builder/builder.js.map +1 -1
- package/out/zql/src/builder/debug-delegate.d.ts +2 -5
- package/out/zql/src/builder/debug-delegate.d.ts.map +1 -1
- package/out/zql/src/builder/debug-delegate.js +1 -0
- package/out/zql/src/builder/debug-delegate.js.map +1 -1
- package/out/zql/src/ivm/array-view.d.ts +2 -1
- package/out/zql/src/ivm/array-view.d.ts.map +1 -1
- package/out/zql/src/ivm/array-view.js +16 -5
- package/out/zql/src/ivm/array-view.js.map +1 -1
- package/out/zql/src/ivm/constraint.d.ts +7 -0
- package/out/zql/src/ivm/constraint.d.ts.map +1 -1
- package/out/zql/src/ivm/constraint.js +18 -2
- package/out/zql/src/ivm/constraint.js.map +1 -1
- package/out/zql/src/ivm/data.js +1 -1
- package/out/zql/src/ivm/default-format.d.ts +2 -0
- package/out/zql/src/ivm/default-format.d.ts.map +1 -0
- package/out/zql/src/ivm/default-format.js +2 -0
- package/out/zql/src/ivm/default-format.js.map +1 -0
- package/out/zql/src/ivm/exists.d.ts.map +1 -1
- package/out/zql/src/ivm/exists.js +5 -5
- package/out/zql/src/ivm/exists.js.map +1 -1
- package/out/zql/src/ivm/fan-in.d.ts.map +1 -1
- package/out/zql/src/ivm/fan-in.js +3 -92
- package/out/zql/src/ivm/fan-in.js.map +1 -1
- package/out/zql/src/ivm/fan-out.js +3 -3
- package/out/zql/src/ivm/fan-out.js.map +1 -1
- package/out/zql/src/ivm/filter-operators.js +2 -2
- package/out/zql/src/ivm/filter-operators.js.map +1 -1
- package/out/zql/src/ivm/filter-push.d.ts +2 -2
- package/out/zql/src/ivm/filter-push.d.ts.map +1 -1
- package/out/zql/src/ivm/filter-push.js +5 -5
- package/out/zql/src/ivm/filter-push.js.map +1 -1
- package/out/zql/src/ivm/filter.js +1 -1
- package/out/zql/src/ivm/filter.js.map +1 -1
- package/out/zql/src/ivm/flipped-join.d.ts +33 -0
- package/out/zql/src/ivm/flipped-join.d.ts.map +1 -0
- package/out/zql/src/ivm/flipped-join.js +349 -0
- package/out/zql/src/ivm/flipped-join.js.map +1 -0
- package/out/zql/src/ivm/join-utils.d.ts +14 -0
- package/out/zql/src/ivm/join-utils.d.ts.map +1 -0
- package/out/zql/src/ivm/join-utils.js +94 -0
- package/out/zql/src/ivm/join-utils.js.map +1 -0
- package/out/zql/src/ivm/join.d.ts +1 -1
- package/out/zql/src/ivm/join.d.ts.map +1 -1
- package/out/zql/src/ivm/join.js +8 -106
- package/out/zql/src/ivm/join.js.map +1 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts +2 -2
- 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 +4 -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 +4 -4
- package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
- package/out/zql/src/ivm/memory-source.js +71 -71
- package/out/zql/src/ivm/memory-source.js.map +1 -1
- package/out/zql/src/ivm/operator.d.ts +1 -1
- package/out/zql/src/ivm/operator.d.ts.map +1 -1
- package/out/zql/src/ivm/push-accumulated.d.ts +88 -0
- package/out/zql/src/ivm/push-accumulated.d.ts.map +1 -0
- package/out/zql/src/ivm/push-accumulated.js +326 -0
- package/out/zql/src/ivm/push-accumulated.js.map +1 -0
- package/out/zql/src/ivm/schema.d.ts +1 -1
- package/out/zql/src/ivm/schema.d.ts.map +1 -1
- package/out/zql/src/ivm/skip.js +2 -2
- package/out/zql/src/ivm/skip.js.map +1 -1
- package/out/zql/src/ivm/take.d.ts.map +1 -1
- package/out/zql/src/ivm/take.js +27 -27
- package/out/zql/src/ivm/take.js.map +1 -1
- package/out/zql/src/ivm/union-fan-in.d.ts +19 -0
- package/out/zql/src/ivm/union-fan-in.d.ts.map +1 -0
- package/out/zql/src/ivm/union-fan-in.js +146 -0
- package/out/zql/src/ivm/union-fan-in.js.map +1 -0
- package/out/zql/src/ivm/union-fan-out.d.ts +18 -0
- package/out/zql/src/ivm/union-fan-out.d.ts.map +1 -0
- package/out/zql/src/ivm/union-fan-out.js +48 -0
- package/out/zql/src/ivm/union-fan-out.js.map +1 -0
- package/out/zql/src/ivm/view.d.ts +5 -6
- package/out/zql/src/ivm/view.d.ts.map +1 -1
- package/out/zql/src/mutate/custom.d.ts +2 -2
- 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/query/expression.d.ts +4 -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/expression.js.map +1 -1
- package/out/zql/src/query/measure-push-operator.js +1 -1
- package/out/zql/src/query/measure-push-operator.js.map +1 -1
- package/out/zql/src/query/named.d.ts +1 -1
- package/out/zql/src/query/named.d.ts.map +1 -1
- package/out/zql/src/query/query-delegate.d.ts +3 -2
- package/out/zql/src/query/query-delegate.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +6 -13
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +43 -38
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/query.d.ts +14 -9
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zql/src/query/query.js.map +1 -1
- package/out/zql/src/query/static-query.d.ts +1 -1
- package/out/zql/src/query/static-query.d.ts.map +1 -1
- package/out/zql/src/query/static-query.js +2 -1
- package/out/zql/src/query/static-query.js.map +1 -1
- package/out/zql/src/query/typed-view.d.ts +3 -2
- package/out/zql/src/query/typed-view.d.ts.map +1 -1
- package/out/{zero-cache/src/services/view-syncer → zqlite/src}/database-storage.d.ts +2 -2
- package/out/zqlite/src/database-storage.d.ts.map +1 -0
- package/out/{zero-cache/src/services/view-syncer → zqlite/src}/database-storage.js +1 -1
- package/out/zqlite/src/database-storage.js.map +1 -0
- package/out/zqlite/src/db.d.ts +2 -1
- package/out/zqlite/src/db.d.ts.map +1 -1
- package/out/zqlite/src/db.js +12 -20
- package/out/zqlite/src/db.js.map +1 -1
- package/out/zqlite/src/explain-queries.d.ts +4 -0
- package/out/zqlite/src/explain-queries.d.ts.map +1 -0
- package/out/zqlite/src/explain-queries.js +18 -0
- package/out/zqlite/src/explain-queries.js.map +1 -0
- package/out/zqlite/src/mod.d.ts +2 -1
- package/out/zqlite/src/mod.d.ts.map +1 -1
- package/out/zqlite/src/mod.js +2 -1
- package/out/zqlite/src/mod.js.map +1 -1
- package/out/zqlite/src/query-builder.d.ts +22 -0
- package/out/zqlite/src/query-builder.d.ts.map +1 -0
- package/out/zqlite/src/query-builder.js +162 -0
- package/out/zqlite/src/query-builder.js.map +1 -0
- package/out/zqlite/src/table-source.d.ts +2 -16
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +26 -177
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +63 -36
- package/out/chunk-6N4NUSIN.js.map +0 -7
- package/out/chunk-G442PJSB.js.map +0 -7
- package/out/chunk-MKB4RXL3.js +0 -15
- package/out/chunk-MKB4RXL3.js.map +0 -7
- package/out/chunk-O7W55FT4.js.map +0 -7
- package/out/chunk-WFFZJYGV.js.map +0 -7
- package/out/inspector-4ALIZXAU.js +0 -488
- package/out/inspector-4ALIZXAU.js.map +0 -7
- package/out/replicache/src/expo/store.d.ts +0 -4
- package/out/replicache/src/expo/store.d.ts.map +0 -1
- package/out/replicache/src/size-of-value.d.ts.map +0 -1
- package/out/zero/src/adapters/drizzle-pg.d.ts +0 -2
- package/out/zero/src/adapters/drizzle-pg.d.ts.map +0 -1
- package/out/zero/src/adapters/drizzle-pg.js +0 -2
- package/out/zero/src/adapters/drizzle-pg.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/database-storage.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/database-storage.js.map +0 -1
- package/out/zero-client/src/client/inspector/types.d.ts +0 -50
- package/out/zero-client/src/client/inspector/types.d.ts.map +0 -1
- package/out/zero-react-native/src/mod.d.ts +0 -3
- package/out/zero-react-native/src/mod.d.ts.map +0 -1
- package/out/zero-server/src/adapters/drizzle-pg.d.ts +0 -22
- package/out/zero-server/src/adapters/drizzle-pg.d.ts.map +0 -1
- package/out/zero-server/src/adapters/drizzle-pg.js +0 -39
- package/out/zero-server/src/adapters/drizzle-pg.js.map +0 -1
- package/out/zql/src/query/assert-no-not-exists.d.ts +0 -17
- package/out/zql/src/query/assert-no-not-exists.d.ts.map +0 -1
- package/out/zql/src/query/assert-no-not-exists.js +0 -40
- package/out/zql/src/query/assert-no-not-exists.js.map +0 -1
- /package/out/{inspector-YIRP3TTL.js.map → inspector-IU2HG74I.js.map} +0 -0
- /package/out/{replicache → shared}/src/size-of-value.d.ts +0 -0
package/out/react.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MarkIcon
|
|
3
|
+
} from "./chunk-VZOYWIRW.js";
|
|
1
4
|
import {
|
|
2
5
|
Zero
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-O26W3FL4.js";
|
|
7
|
+
import "./chunk-ASRS2LFV.js";
|
|
5
8
|
import {
|
|
6
9
|
DEFAULT_TTL_MS
|
|
7
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-VHLCXJ6Q.js";
|
|
8
11
|
import {
|
|
9
12
|
hasOwn
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import {
|
|
12
|
-
MarkIcon
|
|
13
|
-
} from "./chunk-O7W55FT4.js";
|
|
13
|
+
} from "./chunk-EZM3XBAB.js";
|
|
14
14
|
import "./chunk-424PT5DM.js";
|
|
15
15
|
|
|
16
16
|
// ../zero-react/src/components/zero-inspector.tsx
|
|
17
17
|
import { lazy, Suspense, useState } from "react";
|
|
18
18
|
import { jsx } from "react/jsx-runtime";
|
|
19
|
-
var Inspector = lazy(() => import("./inspector-
|
|
19
|
+
var Inspector = lazy(() => import("./inspector-IU2HG74I.js"));
|
|
20
20
|
function ZeroInspector({ zero }) {
|
|
21
21
|
const [show, setShow] = useState(false);
|
|
22
22
|
return show ? /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx("div", { children: "Loading Inspector..." }), children: /* @__PURE__ */ jsx(
|
|
@@ -55,8 +55,8 @@ function ZeroInspector({ zero }) {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
// ../zero-react/src/use-query.tsx
|
|
58
|
-
import React, { useSyncExternalStore } from "react";
|
|
59
58
|
import { resolver } from "@rocicorp/resolver";
|
|
59
|
+
import React, { useSyncExternalStore } from "react";
|
|
60
60
|
|
|
61
61
|
// ../shared/src/deep-clone.ts
|
|
62
62
|
function deepClone(value) {
|
|
@@ -203,24 +203,84 @@ var disabledSubscriber = () => () => {
|
|
|
203
203
|
};
|
|
204
204
|
var resultTypeUnknown = { type: "unknown" };
|
|
205
205
|
var resultTypeComplete = { type: "complete" };
|
|
206
|
+
var resultTypeError = { type: "error" };
|
|
206
207
|
var emptySnapshotSingularUnknown = [void 0, resultTypeUnknown];
|
|
207
208
|
var emptySnapshotSingularComplete = [void 0, resultTypeComplete];
|
|
209
|
+
var emptySnapshotSingularErrorUnknown = [void 0, resultTypeError];
|
|
208
210
|
var emptySnapshotPluralUnknown = [emptyArray, resultTypeUnknown];
|
|
209
211
|
var emptySnapshotPluralComplete = [emptyArray, resultTypeComplete];
|
|
212
|
+
var emptySnapshotErrorUnknown = [emptyArray, resultTypeError];
|
|
210
213
|
function getDefaultSnapshot(singular) {
|
|
211
214
|
return singular ? emptySnapshotSingularUnknown : emptySnapshotPluralUnknown;
|
|
212
215
|
}
|
|
213
|
-
function getSnapshot(singular, data, resultType) {
|
|
216
|
+
function getSnapshot(singular, data, resultType, refetchFn, error) {
|
|
214
217
|
if (singular && data === void 0) {
|
|
215
|
-
|
|
218
|
+
switch (resultType) {
|
|
219
|
+
case "error":
|
|
220
|
+
if (error) {
|
|
221
|
+
return [
|
|
222
|
+
void 0,
|
|
223
|
+
makeError(refetchFn, error)
|
|
224
|
+
];
|
|
225
|
+
}
|
|
226
|
+
return emptySnapshotSingularErrorUnknown;
|
|
227
|
+
case "complete":
|
|
228
|
+
return emptySnapshotSingularComplete;
|
|
229
|
+
case "unknown":
|
|
230
|
+
return emptySnapshotSingularUnknown;
|
|
231
|
+
}
|
|
216
232
|
}
|
|
217
233
|
if (!singular && data.length === 0) {
|
|
218
|
-
|
|
234
|
+
switch (resultType) {
|
|
235
|
+
case "error":
|
|
236
|
+
if (error) {
|
|
237
|
+
return [
|
|
238
|
+
emptyArray,
|
|
239
|
+
makeError(refetchFn, error)
|
|
240
|
+
];
|
|
241
|
+
}
|
|
242
|
+
return emptySnapshotErrorUnknown;
|
|
243
|
+
case "complete":
|
|
244
|
+
return emptySnapshotPluralComplete;
|
|
245
|
+
case "unknown":
|
|
246
|
+
return emptySnapshotPluralUnknown;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
switch (resultType) {
|
|
250
|
+
case "error":
|
|
251
|
+
if (error) {
|
|
252
|
+
return [data, makeError(refetchFn, error)];
|
|
253
|
+
}
|
|
254
|
+
return [
|
|
255
|
+
data,
|
|
256
|
+
makeError(refetchFn, {
|
|
257
|
+
error: "app",
|
|
258
|
+
id: "unknown",
|
|
259
|
+
name: "unknown",
|
|
260
|
+
details: "An unknown error occurred"
|
|
261
|
+
})
|
|
262
|
+
];
|
|
263
|
+
case "complete":
|
|
264
|
+
return [data, resultTypeComplete];
|
|
265
|
+
case "unknown":
|
|
266
|
+
return [data, resultTypeUnknown];
|
|
219
267
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
268
|
+
}
|
|
269
|
+
function makeError(refetch, error) {
|
|
270
|
+
return {
|
|
271
|
+
type: "error",
|
|
272
|
+
refetch,
|
|
273
|
+
error: error.error === "app" || error.error === "zero" ? {
|
|
274
|
+
type: "app",
|
|
275
|
+
queryName: error.name,
|
|
276
|
+
details: error.details
|
|
277
|
+
} : {
|
|
278
|
+
type: "http",
|
|
279
|
+
queryName: error.name,
|
|
280
|
+
status: error.status,
|
|
281
|
+
details: error.details
|
|
282
|
+
}
|
|
283
|
+
};
|
|
224
284
|
}
|
|
225
285
|
var ViewStore = class {
|
|
226
286
|
#views = /* @__PURE__ */ new Map();
|
|
@@ -246,22 +306,13 @@ var ViewStore = class {
|
|
|
246
306
|
const hash = query.hash() + zero.clientID;
|
|
247
307
|
let existing = this.#views.get(hash);
|
|
248
308
|
if (!existing) {
|
|
249
|
-
existing = new ViewWrapper(
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
ttl,
|
|
254
|
-
(view) => {
|
|
255
|
-
const lastView = this.#views.get(hash);
|
|
256
|
-
if (lastView && lastView !== view) {
|
|
257
|
-
throw new Error("View already exists");
|
|
258
|
-
}
|
|
259
|
-
this.#views.set(hash, view);
|
|
260
|
-
},
|
|
261
|
-
() => {
|
|
262
|
-
this.#views.delete(hash);
|
|
309
|
+
existing = new ViewWrapper(zero, query, format, ttl, (view) => {
|
|
310
|
+
const currentView = this.#views.get(hash);
|
|
311
|
+
if (currentView && currentView !== view) {
|
|
312
|
+
return;
|
|
263
313
|
}
|
|
264
|
-
|
|
314
|
+
this.#views.delete(hash);
|
|
315
|
+
});
|
|
265
316
|
this.#views.set(hash, existing);
|
|
266
317
|
} else {
|
|
267
318
|
existing.updateTTL(ttl);
|
|
@@ -274,7 +325,6 @@ var ViewWrapper = class {
|
|
|
274
325
|
#zero;
|
|
275
326
|
#view;
|
|
276
327
|
#onDematerialized;
|
|
277
|
-
#onMaterialized;
|
|
278
328
|
#query;
|
|
279
329
|
#format;
|
|
280
330
|
#snapshot;
|
|
@@ -284,21 +334,26 @@ var ViewWrapper = class {
|
|
|
284
334
|
#completeResolver = resolver();
|
|
285
335
|
#nonEmpty = false;
|
|
286
336
|
#nonEmptyResolver = resolver();
|
|
287
|
-
constructor(zero, query, format, ttl,
|
|
337
|
+
constructor(zero, query, format, ttl, onDematerialized) {
|
|
288
338
|
this.#zero = zero;
|
|
289
339
|
this.#query = query;
|
|
290
340
|
this.#format = format;
|
|
291
341
|
this.#ttl = ttl;
|
|
292
|
-
this.#onMaterialized = onMaterialized;
|
|
293
342
|
this.#onDematerialized = onDematerialized;
|
|
294
343
|
this.#snapshot = getDefaultSnapshot(format.singular);
|
|
295
344
|
this.#reactInternals = /* @__PURE__ */ new Set();
|
|
296
345
|
this.#materializeIfNeeded();
|
|
297
346
|
}
|
|
298
|
-
#onData = (snap, resultType) => {
|
|
347
|
+
#onData = (snap, resultType, error) => {
|
|
299
348
|
const data = snap === void 0 ? snap : deepClone(snap);
|
|
300
|
-
this.#snapshot = getSnapshot(
|
|
301
|
-
|
|
349
|
+
this.#snapshot = getSnapshot(
|
|
350
|
+
this.#format.singular,
|
|
351
|
+
data,
|
|
352
|
+
resultType,
|
|
353
|
+
this.#refetch,
|
|
354
|
+
error
|
|
355
|
+
);
|
|
356
|
+
if (resultType === "complete" || resultType === "error") {
|
|
302
357
|
this.#complete = true;
|
|
303
358
|
this.#completeResolver.resolve();
|
|
304
359
|
this.#nonEmpty = true;
|
|
@@ -312,13 +367,21 @@ var ViewWrapper = class {
|
|
|
312
367
|
internals();
|
|
313
368
|
}
|
|
314
369
|
};
|
|
370
|
+
/**
|
|
371
|
+
* Called by the user to force a refetch of the query
|
|
372
|
+
* in the case the query errored.
|
|
373
|
+
*/
|
|
374
|
+
#refetch = () => {
|
|
375
|
+
this.#view?.destroy();
|
|
376
|
+
this.#view = void 0;
|
|
377
|
+
this.#materializeIfNeeded();
|
|
378
|
+
};
|
|
315
379
|
#materializeIfNeeded = () => {
|
|
316
380
|
if (this.#view) {
|
|
317
381
|
return;
|
|
318
382
|
}
|
|
319
383
|
this.#view = this.#zero.materialize(this.#query, { ttl: this.#ttl });
|
|
320
384
|
this.#view.addListener(this.#onData);
|
|
321
|
-
this.#onMaterialized(this);
|
|
322
385
|
};
|
|
323
386
|
getSnapshot = () => this.#snapshot;
|
|
324
387
|
subscribeReactInternals = (internals) => {
|
|
@@ -328,10 +391,10 @@ var ViewWrapper = class {
|
|
|
328
391
|
this.#reactInternals.delete(internals);
|
|
329
392
|
if (this.#reactInternals.size === 0) {
|
|
330
393
|
setTimeout(() => {
|
|
331
|
-
if (this.#
|
|
394
|
+
if (this.#view === void 0) {
|
|
332
395
|
return;
|
|
333
396
|
}
|
|
334
|
-
if (this.#
|
|
397
|
+
if (this.#reactInternals.size > 0) {
|
|
335
398
|
return;
|
|
336
399
|
}
|
|
337
400
|
this.#view.destroy();
|
|
@@ -340,7 +403,7 @@ var ViewWrapper = class {
|
|
|
340
403
|
this.#completeResolver = resolver();
|
|
341
404
|
this.#nonEmpty = false;
|
|
342
405
|
this.#nonEmptyResolver = resolver();
|
|
343
|
-
this.#onDematerialized();
|
|
406
|
+
this.#onDematerialized(this);
|
|
344
407
|
}, 10);
|
|
345
408
|
}
|
|
346
409
|
};
|
package/out/react.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../zero-react/src/components/zero-inspector.tsx", "../../zero-react/src/use-query.tsx", "../../shared/src/deep-clone.ts", "../../zero-react/src/zero-provider.tsx", "../../zero-react/src/use-zero-online.tsx"],
|
|
4
|
-
"sourcesContent": ["import {lazy, Suspense, useState} from 'react';\nimport type {CustomMutatorDefs} from '../../../zero-client/src/client/custom.ts';\nimport type {Zero} from '../../../zero-client/src/client/zero.ts';\nimport type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts';\nimport {MarkIcon} from './mark-icon.tsx';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst Inspector = lazy(() => import('./inspector.tsx'));\n\nexport function ZeroInspector<\n S extends Schema,\n MD extends CustomMutatorDefs | undefined = undefined,\n>({zero}: {zero: Zero<S, MD>}): JSX.Element {\n const [show, setShow] = useState(false);\n return show ? (\n <Suspense fallback={<div>Loading Inspector...</div>}>\n <Inspector\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n zero={zero as any}\n onClose={() => setShow(false)}\n />\n </Suspense>\n ) : (\n <button\n onClick={() => setShow(!show)}\n style={{\n position: 'fixed',\n bottom: 0,\n right: 0,\n zIndex: 1000,\n padding: '5px',\n color: 'white',\n backgroundColor: '#333',\n borderTopLeftRadius: '8px',\n opacity: 0.95,\n }}\n >\n <MarkIcon\n style={{\n width: '20px',\n height: '20px',\n fill: 'currentColor',\n }}\n />\n </button>\n );\n}\n", "import React, {useSyncExternalStore} from 'react';\nimport {resolver} from '@rocicorp/resolver';\nimport {deepClone} from '../../shared/src/deep-clone.ts';\nimport type {Immutable} from '../../shared/src/immutable.ts';\nimport type {ReadonlyJSONValue} from '../../shared/src/json.ts';\nimport {Zero} from '../../zero-client/src/client/zero.ts';\nimport type {Schema} from '../../zero-schema/src/builder/schema-builder.ts';\nimport type {Format} from '../../zql/src/ivm/view.ts';\nimport {AbstractQuery} from '../../zql/src/query/query-impl.ts';\nimport {type HumanReadable, type Query} from '../../zql/src/query/query.ts';\nimport {DEFAULT_TTL_MS, type TTL} from '../../zql/src/query/ttl.ts';\nimport type {ResultType, TypedView} from '../../zql/src/query/typed-view.ts';\nimport {useZero} from './zero-provider.tsx';\n\nexport type QueryResultDetails = Readonly<{\n type: ResultType;\n}>;\n\nexport type QueryResult<TReturn> = readonly [\n HumanReadable<TReturn>,\n QueryResultDetails,\n];\n\nexport type UseQueryOptions = {\n enabled?: boolean | undefined;\n /**\n * Time to live (TTL) in seconds. Controls how long query results are cached\n * after the query is removed. During this time, Zero continues to sync the query.\n * Default is 'never'.\n */\n ttl?: TTL | undefined;\n};\n\nexport type UseSuspenseQueryOptions = UseQueryOptions & {\n /**\n * Whether to suspend until:\n * - 'partial': the query has partial results (partial array or defined\n * value for singular results) which may be of result type 'unknown',\n * or the query result type is 'complete' (in which case results may be\n * empty). This is useful for suspending until there are partial\n * optimistic local results, or the query has completed loading from the\n * server.\n * - 'complete': the query result type is 'complete'.\n *\n * Default is 'partial'.\n */\n suspendUntil?: 'complete' | 'partial';\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\nconst reactUse = (React as unknown as {use?: (p: Promise<unknown>) => void})\n .use;\nconst suspend: (p: Promise<unknown>) => void = reactUse\n ? reactUse\n : p => {\n throw p;\n };\n\nexport function useQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n>(\n query: Query<TSchema, TTable, TReturn>,\n options?: UseQueryOptions | boolean,\n): QueryResult<TReturn> {\n let enabled = true;\n let ttl: TTL = DEFAULT_TTL_MS;\n if (typeof options === 'boolean') {\n enabled = options;\n } else if (options) {\n ({enabled = true, ttl = DEFAULT_TTL_MS} = options);\n }\n\n const view = viewStore.getView(\n useZero(),\n query as AbstractQuery<TSchema, TTable, TReturn>,\n enabled,\n ttl,\n );\n // https://react.dev/reference/react/useSyncExternalStore\n return useSyncExternalStore(\n view.subscribeReactInternals,\n view.getSnapshot,\n view.getSnapshot,\n );\n}\n\nexport function useSuspenseQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n>(\n query: Query<TSchema, TTable, TReturn>,\n options?: UseSuspenseQueryOptions | boolean,\n): QueryResult<TReturn> {\n let enabled = true;\n let ttl: TTL = DEFAULT_TTL_MS;\n let suspendUntil: 'complete' | 'partial' = 'partial';\n if (typeof options === 'boolean') {\n enabled = options;\n } else if (options) {\n ({\n enabled = true,\n ttl = DEFAULT_TTL_MS,\n suspendUntil = 'complete',\n } = options);\n }\n\n const view = viewStore.getView(\n useZero(),\n query as AbstractQuery<TSchema, TTable, TReturn>,\n enabled,\n ttl,\n );\n // https://react.dev/reference/react/useSyncExternalStore\n const snapshot = useSyncExternalStore(\n view.subscribeReactInternals,\n view.getSnapshot,\n view.getSnapshot,\n );\n\n if (enabled) {\n if (suspendUntil === 'complete' && !view.complete) {\n suspend(view.waitForComplete());\n }\n\n if (suspendUntil === 'partial' && !view.nonEmpty) {\n suspend(view.waitForNonEmpty());\n }\n }\n\n return snapshot;\n}\n\nconst emptyArray: unknown[] = [];\nconst disabledSubscriber = () => () => {};\n\nconst resultTypeUnknown = {type: 'unknown'} as const;\nconst resultTypeComplete = {type: 'complete'} as const;\n\nconst emptySnapshotSingularUnknown = [undefined, resultTypeUnknown] as const;\nconst emptySnapshotSingularComplete = [undefined, resultTypeComplete] as const;\nconst emptySnapshotPluralUnknown = [emptyArray, resultTypeUnknown] as const;\nconst emptySnapshotPluralComplete = [emptyArray, resultTypeComplete] as const;\n\nfunction getDefaultSnapshot<TReturn>(singular: boolean): QueryResult<TReturn> {\n return (\n singular ? emptySnapshotSingularUnknown : emptySnapshotPluralUnknown\n ) as QueryResult<TReturn>;\n}\n\n/**\n * Returns a new snapshot or one of the empty predefined ones. Returning the\n * predefined ones is important to prevent unnecessary re-renders in React.\n */\nfunction getSnapshot<TReturn>(\n singular: boolean,\n data: HumanReadable<TReturn>,\n resultType: string,\n): QueryResult<TReturn> {\n if (singular && data === undefined) {\n return (resultType === 'complete'\n ? emptySnapshotSingularComplete\n : emptySnapshotSingularUnknown) as unknown as QueryResult<TReturn>;\n }\n\n if (!singular && (data as unknown[]).length === 0) {\n return (\n resultType === 'complete'\n ? emptySnapshotPluralComplete\n : emptySnapshotPluralUnknown\n ) as QueryResult<TReturn>;\n }\n\n return [\n data,\n resultType === 'complete' ? resultTypeComplete : resultTypeUnknown,\n ];\n}\n\ndeclare const TESTING: boolean;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype ViewWrapperAny = ViewWrapper<any, any, any>;\n\nconst allViews = new WeakMap<ViewStore, Map<string, ViewWrapperAny>>();\n\nexport function getAllViewsSizeForTesting(store: ViewStore): number {\n if (TESTING) {\n return allViews.get(store)?.size ?? 0;\n }\n return 0;\n}\n\n/**\n * A global store of all active views.\n *\n * React subscribes and unsubscribes to these views\n * via `useSyncExternalStore`.\n *\n * Managing views through `useEffect` or `useLayoutEffect` causes\n * inconsistencies because effects run after render.\n *\n * For example, if useQuery used use*Effect in the component below:\n * ```ts\n * function Foo({issueID}) {\n * const issue = useQuery(z.query.issue.where('id', issueID).one());\n * if (issue?.id !== undefined && issue.id !== issueID) {\n * console.log('MISMATCH!', issue.id, issueID);\n * }\n * }\n * ```\n *\n * `MISMATCH` will be printed whenever the `issueID` prop changes.\n *\n * This is because the component will render once with\n * the old state returned from `useQuery`. Then the effect inside\n * `useQuery` will run. The component will render again with the new\n * state. This inconsistent transition can cause unexpected results.\n *\n * Emulating `useEffect` via `useState` and `if` causes resource leaks.\n * That is:\n *\n * ```ts\n * function useQuery(q) {\n * const [oldHash, setOldHash] = useState();\n * if (hash(q) !== oldHash) {\n * // make new view\n * }\n *\n * useEffect(() => {\n * return () => view.destroy();\n * }, []);\n * }\n * ```\n *\n * I'm not sure why but in strict mode the cleanup function\n * fails to be called for the first instance of the view and only\n * cleans up later instances.\n *\n * Swapping `useState` to `useRef` has similar problems.\n */\nexport class ViewStore {\n #views = new Map<string, ViewWrapperAny>();\n\n constructor() {\n if (TESTING) {\n allViews.set(this, this.#views);\n }\n }\n\n getView<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n >(\n zero: Zero<TSchema>,\n query: Query<TSchema, TTable, TReturn>,\n enabled: boolean,\n ttl: TTL,\n ): {\n getSnapshot: () => QueryResult<TReturn>;\n subscribeReactInternals: (internals: () => void) => () => void;\n updateTTL: (ttl: TTL) => void;\n waitForComplete: () => Promise<void>;\n waitForNonEmpty: () => Promise<void>;\n complete: boolean;\n nonEmpty: boolean;\n } {\n const {format} = query;\n if (!enabled) {\n return {\n getSnapshot: () => getDefaultSnapshot(format.singular),\n subscribeReactInternals: disabledSubscriber,\n updateTTL: () => {},\n waitForComplete: () => Promise.resolve(),\n waitForNonEmpty: () => Promise.resolve(),\n complete: false,\n nonEmpty: false,\n };\n }\n\n const hash = query.hash() + zero.clientID;\n let existing = this.#views.get(hash);\n if (!existing) {\n existing = new ViewWrapper(\n zero,\n query,\n format,\n ttl,\n view => {\n const lastView = this.#views.get(hash);\n // I don't think this can happen\n // but lets guard against it so we don't\n // leak resources.\n if (lastView && lastView !== view) {\n throw new Error('View already exists');\n }\n this.#views.set(hash, view);\n },\n () => {\n this.#views.delete(hash);\n },\n );\n this.#views.set(hash, existing);\n } else {\n existing.updateTTL(ttl);\n }\n return existing as ViewWrapper<TSchema, TTable, TReturn>;\n }\n}\n\nconst viewStore = new ViewStore();\n\n/**\n * This wraps and ref counts a view.\n *\n * The only signal we have from React as to whether or not it is\n * done with a view is when it calls `unsubscribe`.\n *\n * In non-strict-mode we can clean up the view as soon\n * as the listener count goes to 0.\n *\n * In strict-mode, the listener count will go to 0 then a\n * new listener for the same view is immediately added back.\n *\n * This is why the `onMaterialized` and `onDematerialized` callbacks exist --\n * they allow a view which React is still referencing to be added\n * back into the store when React re-subscribes to it.\n *\n * This wrapper also exists to deal with the various\n * `useSyncExternalStore` caveats that cause excessive\n * re-renders and materializations.\n *\n * See: https://react.dev/reference/react/useSyncExternalStore#caveats\n * Especially:\n * 1. The store snapshot returned by getSnapshot must be immutable. If the underlying store has mutable data, return a new immutable snapshot if the data has changed. Otherwise, return a cached last snapshot.\n * 2. If a different subscribe function is passed during a re-render, React will re-subscribe to the store using the newly passed subscribe function. You can prevent this by declaring subscribe outside the component.\n */\nclass ViewWrapper<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n> {\n #zero: Zero<TSchema>;\n #view: TypedView<HumanReadable<TReturn>> | undefined;\n readonly #onDematerialized;\n readonly #onMaterialized;\n readonly #query: Query<TSchema, TTable, TReturn>;\n readonly #format: Format;\n #snapshot: QueryResult<TReturn>;\n #reactInternals: Set<() => void>;\n #ttl: TTL;\n #complete = false;\n #completeResolver = resolver<void>();\n #nonEmpty = false;\n #nonEmptyResolver = resolver<void>();\n\n constructor(\n zero: Zero<TSchema>,\n query: Query<TSchema, TTable, TReturn>,\n format: Format,\n ttl: TTL,\n onMaterialized: (view: ViewWrapper<TSchema, TTable, TReturn>) => void,\n onDematerialized: () => void,\n ) {\n this.#zero = zero;\n this.#query = query;\n this.#format = format;\n this.#ttl = ttl;\n this.#onMaterialized = onMaterialized;\n this.#onDematerialized = onDematerialized;\n this.#snapshot = getDefaultSnapshot(format.singular);\n this.#reactInternals = new Set();\n this.#materializeIfNeeded();\n }\n\n #onData = (\n snap: Immutable<HumanReadable<TReturn>>,\n resultType: ResultType,\n ) => {\n const data =\n snap === undefined\n ? snap\n : (deepClone(snap as ReadonlyJSONValue) as HumanReadable<TReturn>);\n this.#snapshot = getSnapshot(this.#format.singular, data, resultType);\n if (resultType === 'complete') {\n this.#complete = true;\n this.#completeResolver.resolve();\n this.#nonEmpty = true;\n this.#nonEmptyResolver.resolve();\n }\n\n if (\n this.#format.singular\n ? this.#snapshot[0] !== undefined\n : (this.#snapshot[0] as unknown[]).length !== 0\n ) {\n this.#nonEmpty = true;\n this.#nonEmptyResolver.resolve();\n }\n\n for (const internals of this.#reactInternals) {\n internals();\n }\n };\n\n #materializeIfNeeded = () => {\n if (this.#view) {\n return;\n }\n\n this.#view = this.#zero.materialize(this.#query, {ttl: this.#ttl});\n this.#view.addListener(this.#onData);\n\n this.#onMaterialized(this);\n };\n\n getSnapshot = () => this.#snapshot;\n\n subscribeReactInternals = (internals: () => void): (() => void) => {\n this.#reactInternals.add(internals);\n this.#materializeIfNeeded();\n return () => {\n this.#reactInternals.delete(internals);\n\n // only schedule a cleanup task if we have no listeners left\n if (this.#reactInternals.size === 0) {\n setTimeout(() => {\n // Someone re-registered a listener on this view before the timeout elapsed.\n // This happens often in strict-mode which forces a component\n // to mount, unmount, remount.\n if (this.#reactInternals.size > 0) {\n return;\n }\n // We already destroyed the view\n if (this.#view === undefined) {\n return;\n }\n this.#view.destroy();\n this.#view = undefined;\n this.#complete = false;\n this.#completeResolver = resolver();\n this.#nonEmpty = false;\n this.#nonEmptyResolver = resolver();\n this.#onDematerialized();\n }, 10);\n }\n };\n };\n\n updateTTL(ttl: TTL): void {\n this.#ttl = ttl;\n this.#view?.updateTTL(ttl);\n }\n\n get complete() {\n return this.#complete;\n }\n\n waitForComplete(): Promise<void> {\n return this.#completeResolver.promise;\n }\n\n get nonEmpty() {\n return this.#nonEmpty;\n }\n\n waitForNonEmpty(): Promise<void> {\n return this.#nonEmptyResolver.promise;\n }\n}\n", "import {hasOwn} from './has-own.ts';\nimport type {JSONValue, ReadonlyJSONValue} from './json.ts';\n\nexport function deepClone(value: ReadonlyJSONValue): JSONValue {\n const seen: Array<ReadonlyJSONValue> = [];\n return internalDeepClone(value, seen);\n}\n\nexport function internalDeepClone(\n value: ReadonlyJSONValue,\n seen: Array<ReadonlyJSONValue>,\n): JSONValue {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'undefined':\n return value;\n case 'object': {\n if (value === null) {\n return null;\n }\n if (seen.includes(value)) {\n throw new Error('Cyclic object');\n }\n seen.push(value);\n if (Array.isArray(value)) {\n const rv = value.map(v => internalDeepClone(v, seen));\n seen.pop();\n return rv;\n }\n\n const obj: JSONValue = {};\n\n for (const k in value) {\n if (hasOwn(value, k)) {\n const v = (value as Record<string, ReadonlyJSONValue>)[k];\n if (v !== undefined) {\n obj[k] = internalDeepClone(v, seen);\n }\n }\n }\n seen.pop();\n return obj;\n }\n\n default:\n throw new Error(`Invalid type: ${typeof value}`);\n }\n}\n", "import {\n createContext,\n useContext,\n useEffect,\n useState,\n type ReactNode,\n} from 'react';\nimport {Zero} from '../../zero-client/src/client/zero.ts';\nimport type {Schema} from '../../zero-schema/src/builder/schema-builder.ts';\nimport type {CustomMutatorDefs} from '../../zero-client/src/client/custom.ts';\nimport type {ZeroOptions} from '../../zero-client/src/client/options.ts';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst ZeroContext = createContext<unknown | undefined>(undefined);\n\nexport function useZero<\n S extends Schema,\n MD extends CustomMutatorDefs | undefined = undefined,\n>(): Zero<S, MD> {\n const zero = useContext(ZeroContext);\n if (zero === undefined) {\n throw new Error('useZero must be used within a ZeroProvider');\n }\n return zero as Zero<S, MD>;\n}\n\nexport function createUseZero<\n S extends Schema,\n MD extends CustomMutatorDefs | undefined = undefined,\n>() {\n return () => useZero<S, MD>();\n}\n\nexport type ZeroProviderProps<\n S extends Schema,\n MD extends CustomMutatorDefs | undefined = undefined,\n> = (ZeroOptions<S, MD> | {zero: Zero<S, MD>}) & {\n init?: (zero: Zero<S, MD>) => void;\n children: ReactNode;\n};\n\nexport function ZeroProvider<\n S extends Schema,\n MD extends CustomMutatorDefs | undefined = undefined,\n>({children, init, ...props}: ZeroProviderProps<S, MD>) {\n const [zero, setZero] = useState<Zero<S, MD> | undefined>(\n 'zero' in props ? props.zero : undefined,\n );\n\n // If Zero is not passed in, we construct it, but only client-side.\n // Zero doesn't really work SSR today so this is usually the right thing.\n // When we support Zero SSR this will either become a breaking change or\n // more likely server support will be opt-in with a new prop on this\n // component.\n useEffect(() => {\n if ('zero' in props) {\n setZero(props.zero);\n return;\n }\n\n const z = new Zero(props);\n init?.(z);\n setZero(z);\n\n return () => {\n void z.close();\n setZero(undefined);\n };\n }, [init, ...Object.values(props)]);\n\n return (\n zero && <ZeroContext.Provider value={zero}>{children}</ZeroContext.Provider>\n );\n}\n", "import {useSyncExternalStore} from 'react';\nimport {useZero} from './zero-provider.tsx';\n\n/**\n * Hook to subscribe to the online status of the Zero instance.\n *\n * This is useful when you want to update state based on the online status.\n *\n * @returns The online status of the Zero instance.\n */\nexport function useZeroOnline(): boolean {\n const zero = useZero();\n return useSyncExternalStore(\n zero.onOnline,\n () => zero.online,\n () => zero.online,\n );\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;AAAA,SAAQ,MAAM,UAAU,gBAAe;
|
|
4
|
+
"sourcesContent": ["import {lazy, Suspense, useState} from 'react';\nimport type {CustomMutatorDefs} from '../../../zero-client/src/client/custom.ts';\nimport type {Zero} from '../../../zero-client/src/client/zero.ts';\nimport type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts';\nimport {MarkIcon} from './mark-icon.tsx';\n\nconst Inspector = lazy(() => import('./inspector.tsx'));\n\nexport function ZeroInspector<\n S extends Schema,\n MD extends CustomMutatorDefs | undefined = undefined,\n>({zero}: {zero: Zero<S, MD>}): JSX.Element {\n const [show, setShow] = useState(false);\n return show ? (\n <Suspense fallback={<div>Loading Inspector...</div>}>\n <Inspector\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n zero={zero as any}\n onClose={() => setShow(false)}\n />\n </Suspense>\n ) : (\n <button\n onClick={() => setShow(!show)}\n style={{\n position: 'fixed',\n bottom: 0,\n right: 0,\n zIndex: 1000,\n padding: '5px',\n color: 'white',\n backgroundColor: '#333',\n borderTopLeftRadius: '8px',\n opacity: 0.95,\n }}\n >\n <MarkIcon\n style={{\n width: '20px',\n height: '20px',\n fill: 'currentColor',\n }}\n />\n </button>\n );\n}\n", "import {resolver} from '@rocicorp/resolver';\nimport React, {useSyncExternalStore} from 'react';\nimport {deepClone} from '../../shared/src/deep-clone.ts';\nimport type {Immutable} from '../../shared/src/immutable.ts';\nimport type {ReadonlyJSONValue} from '../../shared/src/json.ts';\nimport {Zero} from '../../zero-client/src/client/zero.ts';\nimport type {ErroredQuery} from '../../zero-protocol/src/custom-queries.ts';\nimport type {Schema} from '../../zero-schema/src/builder/schema-builder.ts';\nimport type {Format} from '../../zql/src/ivm/view.ts';\nimport {AbstractQuery} from '../../zql/src/query/query-impl.ts';\nimport {type HumanReadable, type Query} from '../../zql/src/query/query.ts';\nimport {DEFAULT_TTL_MS, type TTL} from '../../zql/src/query/ttl.ts';\nimport type {ResultType, TypedView} from '../../zql/src/query/typed-view.ts';\nimport {useZero} from './zero-provider.tsx';\n\nexport type QueryResultDetails = Readonly<\n | {\n type: 'complete';\n }\n | {\n type: 'unknown';\n }\n | QueryErrorDetails\n>;\n\ntype QueryErrorDetails = {\n type: 'error';\n refetch: () => void;\n error:\n | {\n type: 'app';\n queryName: string;\n details: ReadonlyJSONValue;\n }\n | {\n type: 'http';\n queryName: string;\n status: number;\n details: ReadonlyJSONValue;\n };\n};\n\nexport type QueryResult<TReturn> = readonly [\n HumanReadable<TReturn>,\n QueryResultDetails,\n];\n\nexport type UseQueryOptions = {\n enabled?: boolean | undefined;\n /**\n * Time to live (TTL) in seconds. Controls how long query results are cached\n * after the query is removed. During this time, Zero continues to sync the query.\n * Default is 'never'.\n */\n ttl?: TTL | undefined;\n};\n\nexport type UseSuspenseQueryOptions = UseQueryOptions & {\n /**\n * Whether to suspend until:\n * - 'partial': the query has partial results (partial array or defined\n * value for singular results) which may be of result type 'unknown',\n * or the query result type is 'complete' (in which case results may be\n * empty). This is useful for suspending until there are partial\n * optimistic local results, or the query has completed loading from the\n * server.\n * - 'complete': the query result type is 'complete'.\n *\n * Default is 'partial'.\n */\n suspendUntil?: 'complete' | 'partial';\n};\n\nconst reactUse = (React as {use?: (p: Promise<unknown>) => void}).use;\nconst suspend: (p: Promise<unknown>) => void = reactUse\n ? reactUse\n : p => {\n throw p;\n };\n\nexport function useQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n>(\n query: Query<TSchema, TTable, TReturn>,\n options?: UseQueryOptions | boolean,\n): QueryResult<TReturn> {\n let enabled = true;\n let ttl: TTL = DEFAULT_TTL_MS;\n if (typeof options === 'boolean') {\n enabled = options;\n } else if (options) {\n ({enabled = true, ttl = DEFAULT_TTL_MS} = options);\n }\n\n const view = viewStore.getView(\n useZero(),\n query as AbstractQuery<TSchema, TTable, TReturn>,\n enabled,\n ttl,\n );\n // https://react.dev/reference/react/useSyncExternalStore\n return useSyncExternalStore(\n view.subscribeReactInternals,\n view.getSnapshot,\n view.getSnapshot,\n );\n}\n\nexport function useSuspenseQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n>(\n query: Query<TSchema, TTable, TReturn>,\n options?: UseSuspenseQueryOptions | boolean,\n): QueryResult<TReturn> {\n let enabled = true;\n let ttl: TTL = DEFAULT_TTL_MS;\n let suspendUntil: 'complete' | 'partial' = 'partial';\n if (typeof options === 'boolean') {\n enabled = options;\n } else if (options) {\n ({\n enabled = true,\n ttl = DEFAULT_TTL_MS,\n suspendUntil = 'complete',\n } = options);\n }\n\n const view = viewStore.getView(\n useZero(),\n query as AbstractQuery<TSchema, TTable, TReturn>,\n enabled,\n ttl,\n );\n // https://react.dev/reference/react/useSyncExternalStore\n const snapshot = useSyncExternalStore(\n view.subscribeReactInternals,\n view.getSnapshot,\n view.getSnapshot,\n );\n\n if (enabled) {\n if (suspendUntil === 'complete' && !view.complete) {\n suspend(view.waitForComplete());\n }\n\n if (suspendUntil === 'partial' && !view.nonEmpty) {\n suspend(view.waitForNonEmpty());\n }\n }\n\n return snapshot;\n}\n\nconst emptyArray: unknown[] = [];\nconst disabledSubscriber = () => () => {};\n\nconst resultTypeUnknown = {type: 'unknown'} as const;\nconst resultTypeComplete = {type: 'complete'} as const;\nconst resultTypeError = {type: 'error'} as const;\n\nconst emptySnapshotSingularUnknown = [undefined, resultTypeUnknown] as const;\nconst emptySnapshotSingularComplete = [undefined, resultTypeComplete] as const;\nconst emptySnapshotSingularErrorUnknown = [undefined, resultTypeError] as const;\nconst emptySnapshotPluralUnknown = [emptyArray, resultTypeUnknown] as const;\nconst emptySnapshotPluralComplete = [emptyArray, resultTypeComplete] as const;\nconst emptySnapshotErrorUnknown = [emptyArray, resultTypeError] as const;\n\nfunction getDefaultSnapshot<TReturn>(singular: boolean): QueryResult<TReturn> {\n return (\n singular ? emptySnapshotSingularUnknown : emptySnapshotPluralUnknown\n ) as QueryResult<TReturn>;\n}\n\n/**\n * Returns a new snapshot or one of the empty predefined ones. Returning the\n * predefined ones is important to prevent unnecessary re-renders in React.\n */\nfunction getSnapshot<TReturn>(\n singular: boolean,\n data: HumanReadable<TReturn>,\n resultType: ResultType,\n refetchFn: () => void,\n error?: ErroredQuery | undefined,\n): QueryResult<TReturn> {\n if (singular && data === undefined) {\n switch (resultType) {\n case 'error':\n if (error) {\n return [\n undefined,\n makeError(refetchFn, error),\n ] as unknown as QueryResult<TReturn>;\n }\n return emptySnapshotSingularErrorUnknown as unknown as QueryResult<TReturn>;\n case 'complete':\n return emptySnapshotSingularComplete as unknown as QueryResult<TReturn>;\n case 'unknown':\n return emptySnapshotSingularUnknown as unknown as QueryResult<TReturn>;\n }\n }\n\n if (!singular && (data as unknown[]).length === 0) {\n switch (resultType) {\n case 'error':\n if (error) {\n return [\n emptyArray,\n makeError(refetchFn, error),\n ] as unknown as QueryResult<TReturn>;\n }\n return emptySnapshotErrorUnknown as unknown as QueryResult<TReturn>;\n case 'complete':\n return emptySnapshotPluralComplete as unknown as QueryResult<TReturn>;\n case 'unknown':\n return emptySnapshotPluralUnknown as unknown as QueryResult<TReturn>;\n }\n }\n\n switch (resultType) {\n case 'error':\n if (error) {\n return [data, makeError(refetchFn, error)];\n }\n return [\n data,\n makeError(refetchFn, {\n error: 'app',\n id: 'unknown',\n name: 'unknown',\n details: 'An unknown error occurred',\n }),\n ];\n case 'complete':\n return [data, resultTypeComplete];\n case 'unknown':\n return [data, resultTypeUnknown];\n }\n}\n\nfunction makeError(\n refetch: () => void,\n error: ErroredQuery,\n): QueryErrorDetails {\n return {\n type: 'error',\n refetch,\n error:\n error.error === 'app' || error.error === 'zero'\n ? {\n type: 'app',\n queryName: error.name,\n details: error.details,\n }\n : {\n type: 'http',\n queryName: error.name,\n status: error.status,\n details: error.details,\n },\n };\n}\n\ndeclare const TESTING: boolean;\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype ViewWrapperAny = ViewWrapper<any, any, any>;\n\nconst allViews = new WeakMap<ViewStore, Map<string, ViewWrapperAny>>();\n\nexport function getAllViewsSizeForTesting(store: ViewStore): number {\n if (TESTING) {\n return allViews.get(store)?.size ?? 0;\n }\n return 0;\n}\n\n/**\n * A global store of all active views.\n *\n * React subscribes and unsubscribes to these views\n * via `useSyncExternalStore`.\n *\n * Managing views through `useEffect` or `useLayoutEffect` causes\n * inconsistencies because effects run after render.\n *\n * For example, if useQuery used use*Effect in the component below:\n * ```ts\n * function Foo({issueID}) {\n * const issue = useQuery(z.query.issue.where('id', issueID).one());\n * if (issue?.id !== undefined && issue.id !== issueID) {\n * console.log('MISMATCH!', issue.id, issueID);\n * }\n * }\n * ```\n *\n * `MISMATCH` will be printed whenever the `issueID` prop changes.\n *\n * This is because the component will render once with\n * the old state returned from `useQuery`. Then the effect inside\n * `useQuery` will run. The component will render again with the new\n * state. This inconsistent transition can cause unexpected results.\n *\n * Emulating `useEffect` via `useState` and `if` causes resource leaks.\n * That is:\n *\n * ```ts\n * function useQuery(q) {\n * const [oldHash, setOldHash] = useState();\n * if (hash(q) !== oldHash) {\n * // make new view\n * }\n *\n * useEffect(() => {\n * return () => view.destroy();\n * }, []);\n * }\n * ```\n *\n * I'm not sure why but in strict mode the cleanup function\n * fails to be called for the first instance of the view and only\n * cleans up later instances.\n *\n * Swapping `useState` to `useRef` has similar problems.\n */\nexport class ViewStore {\n #views = new Map<string, ViewWrapperAny>();\n\n constructor() {\n if (TESTING) {\n allViews.set(this, this.#views);\n }\n }\n\n getView<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n >(\n zero: Zero<TSchema>,\n query: Query<TSchema, TTable, TReturn>,\n enabled: boolean,\n ttl: TTL,\n ): {\n getSnapshot: () => QueryResult<TReturn>;\n subscribeReactInternals: (internals: () => void) => () => void;\n updateTTL: (ttl: TTL) => void;\n waitForComplete: () => Promise<void>;\n waitForNonEmpty: () => Promise<void>;\n complete: boolean;\n nonEmpty: boolean;\n } {\n const {format} = query;\n if (!enabled) {\n return {\n getSnapshot: () => getDefaultSnapshot(format.singular),\n subscribeReactInternals: disabledSubscriber,\n updateTTL: () => {},\n waitForComplete: () => Promise.resolve(),\n waitForNonEmpty: () => Promise.resolve(),\n complete: false,\n nonEmpty: false,\n };\n }\n\n const hash = query.hash() + zero.clientID;\n let existing = this.#views.get(hash);\n if (!existing) {\n existing = new ViewWrapper(zero, query, format, ttl, view => {\n const currentView = this.#views.get(hash);\n if (currentView && currentView !== view) {\n // we replaced the view with a new one already.\n return;\n }\n this.#views.delete(hash);\n });\n this.#views.set(hash, existing);\n } else {\n existing.updateTTL(ttl);\n }\n return existing as ViewWrapper<TSchema, TTable, TReturn>;\n }\n}\n\nconst viewStore = new ViewStore();\n\n/**\n * This wraps and ref counts a view.\n *\n * The only signal we have from React as to whether or not it is\n * done with a view is when it calls `unsubscribe`.\n *\n * In non-strict-mode we can clean up the view as soon\n * as the listener count goes to 0.\n *\n * In strict-mode, the listener count will go to 0 then a\n * new listener for the same view is immediately added back.\n *\n * This is why the `onMaterialized` and `onDematerialized` callbacks exist --\n * they allow a view which React is still referencing to be added\n * back into the store when React re-subscribes to it.\n *\n * This wrapper also exists to deal with the various\n * `useSyncExternalStore` caveats that cause excessive\n * re-renders and materializations.\n *\n * See: https://react.dev/reference/react/useSyncExternalStore#caveats\n * Especially:\n * 1. The store snapshot returned by getSnapshot must be immutable. If the underlying store has mutable data, return a new immutable snapshot if the data has changed. Otherwise, return a cached last snapshot.\n * 2. If a different subscribe function is passed during a re-render, React will re-subscribe to the store using the newly passed subscribe function. You can prevent this by declaring subscribe outside the component.\n */\nclass ViewWrapper<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n> {\n #zero: Zero<TSchema>;\n #view: TypedView<HumanReadable<TReturn>> | undefined;\n readonly #onDematerialized;\n readonly #query: Query<TSchema, TTable, TReturn>;\n readonly #format: Format;\n #snapshot: QueryResult<TReturn>;\n #reactInternals: Set<() => void>;\n #ttl: TTL;\n #complete = false;\n #completeResolver = resolver<void>();\n #nonEmpty = false;\n #nonEmptyResolver = resolver<void>();\n\n constructor(\n zero: Zero<TSchema>,\n query: Query<TSchema, TTable, TReturn>,\n format: Format,\n ttl: TTL,\n onDematerialized: (view: ViewWrapper<TSchema, TTable, TReturn>) => void,\n ) {\n this.#zero = zero;\n this.#query = query;\n this.#format = format;\n this.#ttl = ttl;\n this.#onDematerialized = onDematerialized;\n this.#snapshot = getDefaultSnapshot(format.singular);\n this.#reactInternals = new Set();\n this.#materializeIfNeeded();\n }\n\n #onData = (\n snap: Immutable<HumanReadable<TReturn>>,\n resultType: ResultType,\n error?: ErroredQuery | undefined,\n ) => {\n const data =\n snap === undefined\n ? snap\n : (deepClone(snap as ReadonlyJSONValue) as HumanReadable<TReturn>);\n this.#snapshot = getSnapshot(\n this.#format.singular,\n data,\n resultType,\n this.#refetch,\n error,\n );\n if (resultType === 'complete' || resultType === 'error') {\n this.#complete = true;\n this.#completeResolver.resolve();\n this.#nonEmpty = true;\n this.#nonEmptyResolver.resolve();\n }\n\n if (\n this.#format.singular\n ? this.#snapshot[0] !== undefined\n : (this.#snapshot[0] as unknown[]).length !== 0\n ) {\n this.#nonEmpty = true;\n this.#nonEmptyResolver.resolve();\n }\n\n for (const internals of this.#reactInternals) {\n internals();\n }\n };\n\n /**\n * Called by the user to force a refetch of the query\n * in the case the query errored.\n */\n #refetch = () => {\n this.#view?.destroy();\n this.#view = undefined;\n this.#materializeIfNeeded();\n };\n\n #materializeIfNeeded = () => {\n if (this.#view) {\n return;\n }\n\n this.#view = this.#zero.materialize(this.#query, {ttl: this.#ttl});\n this.#view.addListener(this.#onData);\n };\n\n getSnapshot = () => this.#snapshot;\n\n subscribeReactInternals = (internals: () => void): (() => void) => {\n this.#reactInternals.add(internals);\n this.#materializeIfNeeded();\n return () => {\n this.#reactInternals.delete(internals);\n\n // only schedule a cleanup task if we have no listeners left\n if (this.#reactInternals.size === 0) {\n setTimeout(() => {\n // We already destroyed the view\n if (this.#view === undefined) {\n return;\n }\n\n // Someone re-registered a listener on this view before the timeout elapsed.\n // This happens often in strict-mode which forces a component\n // to mount, unmount, remount.\n if (this.#reactInternals.size > 0) {\n return;\n }\n\n this.#view.destroy();\n this.#view = undefined;\n this.#complete = false;\n this.#completeResolver = resolver();\n this.#nonEmpty = false;\n this.#nonEmptyResolver = resolver();\n this.#onDematerialized(this);\n }, 10);\n }\n };\n };\n\n updateTTL(ttl: TTL): void {\n this.#ttl = ttl;\n this.#view?.updateTTL(ttl);\n }\n\n get complete() {\n return this.#complete;\n }\n\n waitForComplete(): Promise<void> {\n return this.#completeResolver.promise;\n }\n\n get nonEmpty() {\n return this.#nonEmpty;\n }\n\n waitForNonEmpty(): Promise<void> {\n return this.#nonEmptyResolver.promise;\n }\n}\n", "import {hasOwn} from './has-own.ts';\nimport type {JSONValue, ReadonlyJSONValue} from './json.ts';\n\nexport function deepClone(value: ReadonlyJSONValue): JSONValue {\n const seen: Array<ReadonlyJSONValue> = [];\n return internalDeepClone(value, seen);\n}\n\nexport function internalDeepClone(\n value: ReadonlyJSONValue,\n seen: Array<ReadonlyJSONValue>,\n): JSONValue {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'undefined':\n return value;\n case 'object': {\n if (value === null) {\n return null;\n }\n if (seen.includes(value)) {\n throw new Error('Cyclic object');\n }\n seen.push(value);\n if (Array.isArray(value)) {\n const rv = value.map(v => internalDeepClone(v, seen));\n seen.pop();\n return rv;\n }\n\n const obj: JSONValue = {};\n\n for (const k in value) {\n if (hasOwn(value, k)) {\n const v = (value as Record<string, ReadonlyJSONValue>)[k];\n if (v !== undefined) {\n obj[k] = internalDeepClone(v, seen);\n }\n }\n }\n seen.pop();\n return obj;\n }\n\n default:\n throw new Error(`Invalid type: ${typeof value}`);\n }\n}\n", "import {\n createContext,\n useContext,\n useEffect,\n useState,\n type ReactNode,\n} from 'react';\nimport type {CustomMutatorDefs} from '../../zero-client/src/client/custom.ts';\nimport type {ZeroOptions} from '../../zero-client/src/client/options.ts';\nimport {Zero} from '../../zero-client/src/client/zero.ts';\nimport type {Schema} from '../../zero-schema/src/builder/schema-builder.ts';\n\nconst ZeroContext = createContext<unknown | undefined>(undefined);\n\nexport function useZero<\n S extends Schema,\n MD extends CustomMutatorDefs | undefined = undefined,\n>(): Zero<S, MD> {\n const zero = useContext(ZeroContext);\n if (zero === undefined) {\n throw new Error('useZero must be used within a ZeroProvider');\n }\n return zero as Zero<S, MD>;\n}\n\nexport function createUseZero<\n S extends Schema,\n MD extends CustomMutatorDefs | undefined = undefined,\n>() {\n return () => useZero<S, MD>();\n}\n\nexport type ZeroProviderProps<\n S extends Schema,\n MD extends CustomMutatorDefs | undefined = undefined,\n> = (ZeroOptions<S, MD> | {zero: Zero<S, MD>}) & {\n init?: (zero: Zero<S, MD>) => void;\n children: ReactNode;\n};\n\nexport function ZeroProvider<\n S extends Schema,\n MD extends CustomMutatorDefs | undefined = undefined,\n>({children, init, ...props}: ZeroProviderProps<S, MD>) {\n const [zero, setZero] = useState<Zero<S, MD> | undefined>(\n 'zero' in props ? props.zero : undefined,\n );\n\n // If Zero is not passed in, we construct it, but only client-side.\n // Zero doesn't really work SSR today so this is usually the right thing.\n // When we support Zero SSR this will either become a breaking change or\n // more likely server support will be opt-in with a new prop on this\n // component.\n useEffect(() => {\n if ('zero' in props) {\n setZero(props.zero);\n return;\n }\n\n const z = new Zero(props);\n init?.(z);\n setZero(z);\n\n return () => {\n void z.close();\n setZero(undefined);\n };\n }, [init, ...Object.values(props)]);\n\n return (\n zero && <ZeroContext.Provider value={zero}>{children}</ZeroContext.Provider>\n );\n}\n", "import {useSyncExternalStore} from 'react';\nimport {useZero} from './zero-provider.tsx';\n\n/**\n * Hook to subscribe to the online status of the Zero instance.\n *\n * This is useful when you want to update state based on the online status.\n *\n * @returns The online status of the Zero instance.\n */\nexport function useZeroOnline(): boolean {\n const zero = useZero();\n return useSyncExternalStore(\n zero.onOnline,\n () => zero.online,\n () => zero.online,\n );\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["useState", "jsx", "useState", "useSyncExternalStore", "useSyncExternalStore"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/btree/read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/btree/read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AAGtD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAC,KAAK,IAAI,EAAY,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,gBAAgB,EAUjB,MAAM,WAAW,CAAC;AASnB,KAAK,aAAa,GAAG,IAAI,CAAC,OAAO,aAAa,CAAC,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,qBAAa,SAAU,YAAW,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACrE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,gBAAgB,CAAC,CACzD;IAEZ,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;IACjD,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;IACpD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;gBAG/B,OAAO,EAAE,IAAI,EACb,aAAa,EAAE,aAAa,EAC5B,IAAI,GAAE,IAAgB,EACtB,YAAY,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAuB,EAC3D,eAAe,SAAmB;IAS9B,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAC;IA0B7D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAStD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMlC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAcjC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAwB7D,IAAI,IAAI,qBAAqB,CAAC,MAAM,CAAC;IAKrC,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAK/D,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAIhE,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,qBAAqB,CAAC,qBAAqB,CAAC;CAO3E;AA8KD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,SAAS,EACd,EAAE,EAAE,KAAK,GAAG,KAAK,GAChB,OAAO,CAAC,YAAY,CAAC,CAmBvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/btree/write.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/btree/write.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AAItD,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAC,KAAK,IAAI,EAA2B,MAAM,YAAY,CAAC;AAC/D,OAAO,EACL,YAAY,EACZ,KAAK,KAAK,EACV,gBAAgB,EAOjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAC;AAEpC,KAAK,aAAa,GAAG,IAAI,CAAC,OAAO,aAAa,CAAC,CAAC;AAEhD,qBAAa,UAAW,SAAQ,SAAS;;IAoBvC,UAAkB,QAAQ,EAAE,KAAK,CAAC;IAElC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAGvB,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,aAAa,EAC5B,IAAI,GAAE,IAAgB,EACtB,OAAO,SAAW,EAClB,OAAO,SAAY,EACnB,YAAY,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAuB,EAC3D,eAAe,CAAC,EAAE,MAAM;IAc1B,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,gBAAgB,GAAG,IAAI;IAOvD,mBAAmB,CACjB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC3B,KAAK,EAAE,MAAM,GACZ,gBAAgB;IAMnB,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,GAAG,YAAY;IAMhE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY;IAC3E,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB;IACpE,WAAW,CACT,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,EAAE,EACjD,KAAK,EAAE,MAAM,GACZ,gBAAgB,GAAG,YAAY;IAUlC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BvD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAyBvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-default-fetch.d.ts","sourceRoot":"","sources":["../../../../replicache/src/call-default-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAE5D;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EACzC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,IAAI,GAChB,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,EAAE,eAAe,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"call-default-fetch.d.ts","sourceRoot":"","sources":["../../../../replicache/src/call-default-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAE5D;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EACzC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,IAAI,GAChB,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,EAAE,eAAe,CAAC,CAAC,CA6B3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-loop.d.ts","sourceRoot":"","sources":["../../../../replicache/src/connection-loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAGpF,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,YAAY,QAAS,CAAC;AAInC,MAAM,WAAW,sBAAsB;IACrC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IAEtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAc;;
|
|
1
|
+
{"version":3,"file":"connection-loop.d.ts","sourceRoot":"","sources":["../../../../replicache/src/connection-loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAGpF,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,YAAY,QAAS,CAAC;AAInC,MAAM,WAAW,sBAAsB;IACrC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IAEtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAc;;gBA2DvB,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,sBAAsB,EAChC,iBAAiB,CAAC,EAAE,yBAAyB;IAQ/C,KAAK,IAAI,IAAI;IAQb;;;;OAIG;IACG,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,GAAG;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC,CAAC;IAmBzD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+I3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-type-enum.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/dag/key-type-enum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"key-type-enum.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/dag/key-type-enum.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,IAAI,IAAI,CAAC;AAEtB,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AACzC,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AACzC,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC;AACjD,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy-store.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/dag/lazy-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lazy-store.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/dag/lazy-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-operation-enum.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/db/index-operation-enum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index-operation-enum.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/db/index-operation-enum.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG,IAAI,CAAC;AACrB,eAAO,MAAM,MAAM,IAAI,CAAC;AAExB,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC;AAC7B,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta-type-enum.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/db/meta-type-enum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"meta-type-enum.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/db/meta-type-enum.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AACzC,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC"}
|
|
@@ -1,26 +1,33 @@
|
|
|
1
1
|
import * as v from '../../shared/src/valita.ts';
|
|
2
2
|
import type { Read, Write } from './dag/store.ts';
|
|
3
|
-
import type
|
|
3
|
+
import { type ClientGroupID, type ClientID } from './sync/ids.ts';
|
|
4
4
|
/**
|
|
5
5
|
* We keep track of deleted clients in the {@linkcode DELETED_CLIENTS_HEAD_NAME}
|
|
6
6
|
* head.
|
|
7
7
|
*/
|
|
8
|
-
export declare const DELETED_CLIENTS_HEAD_NAME = "deleted-clients";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
export type DeletedClients =
|
|
14
|
-
export
|
|
8
|
+
export declare const DELETED_CLIENTS_HEAD_NAME = "deleted-clients-v2";
|
|
9
|
+
type ClientIDPair = {
|
|
10
|
+
clientGroupID: ClientGroupID;
|
|
11
|
+
clientID: ClientID;
|
|
12
|
+
};
|
|
13
|
+
export type DeletedClients = readonly Readonly<ClientIDPair>[];
|
|
14
|
+
export type WritableDeletedClients = ClientIDPair[];
|
|
15
|
+
export declare const deletedClientsSchema: v.Type<DeletedClients>;
|
|
16
|
+
export declare function normalizeDeletedClients(deletedClients: DeletedClients): DeletedClients;
|
|
17
|
+
export declare function mergeDeletedClients(a: DeletedClients, b: DeletedClients): DeletedClients;
|
|
18
|
+
export declare function removeFromDeletedClients(old: DeletedClients, toRemove: DeletedClients): DeletedClients;
|
|
19
|
+
export declare function setDeletedClients(dagWrite: Write, deletedClients: DeletedClients): Promise<DeletedClients>;
|
|
15
20
|
export declare function getDeletedClients(dagRead: Read): Promise<DeletedClients>;
|
|
16
21
|
/**
|
|
17
22
|
* Adds deleted clients to the {@linkcode DELETED_CLIENTS_HEAD_NAME} head.
|
|
18
23
|
* @returns the new list of deleted clients (sorted and deduped).
|
|
19
24
|
*/
|
|
20
|
-
export declare function addDeletedClients(dagWrite: Write,
|
|
21
|
-
export declare function removeDeletedClients(dagWrite: Write,
|
|
25
|
+
export declare function addDeletedClients(dagWrite: Write, deletedClientsToAdd: DeletedClients): Promise<DeletedClients>;
|
|
26
|
+
export declare function removeDeletedClients(dagWrite: Write, deletedClientsToRemove: DeletedClients): Promise<DeletedClients>;
|
|
27
|
+
export declare function confirmDeletedClients(dagWrite: Write, deletedClientIds: readonly ClientID[], deletedClientGroupIds: readonly ClientGroupID[]): Promise<DeletedClients>;
|
|
22
28
|
/**
|
|
23
29
|
* Sorts and dedupes the given array.
|
|
24
30
|
*/
|
|
25
31
|
export declare function normalize<T>(arr: readonly T[]): T[];
|
|
32
|
+
export {};
|
|
26
33
|
//# sourceMappingURL=deleted-clients.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleted-clients.d.ts","sourceRoot":"","sources":["../../../../replicache/src/deleted-clients.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deleted-clients.d.ts","sourceRoot":"","sources":["../../../../replicache/src/deleted-clients.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,KAAK,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAE9D,KAAK,YAAY,GAAG;IAClB,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;AAE/D,MAAM,MAAM,sBAAsB,GAAG,YAAY,EAAE,CAAC;AAEpD,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAKvD,CAAC;AAUF,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,cAAc,GAC7B,cAAc,CAShB;AAED,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,cAAc,EACjB,CAAC,EAAE,cAAc,GAChB,cAAc,CAmBhB;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,cAAc,GACvB,cAAc,CAkBhB;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,KAAK,EACf,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,cAAc,CAAC,CAUzB;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,IAAI,GACZ,OAAO,CAAC,cAAc,CAAC,CAezB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,KAAK,EACf,mBAAmB,EAAE,cAAc,GAClC,OAAO,CAAC,cAAc,CAAC,CAOzB;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,KAAK,EACf,sBAAsB,EAAE,cAAc,GACrC,OAAO,CAAC,cAAc,CAAC,CAMzB;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,KAAK,EACf,gBAAgB,EAAE,SAAS,QAAQ,EAAE,EACrC,qBAAqB,EAAE,SAAS,aAAa,EAAE,GAC9C,OAAO,CAAC,cAAc,CAAC,CA0BzB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAEnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expo-sqlite.d.ts","sourceRoot":"","sources":["../../../../replicache/src/expo-sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,KAAK,sBAAsB,GAC5B,MAAM,2BAA2B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-version-enum.d.ts","sourceRoot":"","sources":["../../../../replicache/src/format-version-enum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"format-version-enum.d.ts","sourceRoot":"","sources":["../../../../replicache/src/format-version-enum.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG,IAAI,CAAC;AACrB,eAAO,MAAM,IAAI,IAAI,CAAC;AAEtB,eAAO,MAAM,EAAE,IAAI,CAAC;AAEpB,eAAO,MAAM,EAAE,IAAI,CAAC;AACpB,eAAO,MAAM,MAAM,IAAK,CAAC;AAEzB,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC;AAC7B,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC;AAC/B,MAAM,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;AAC3B,MAAM,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;AAC3B,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-default-puller.d.ts","sourceRoot":"","sources":["../../../../replicache/src/get-default-puller.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EAEN,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAuB7E;AAID,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI,cAAc,
|
|
1
|
+
{"version":3,"file":"get-default-puller.d.ts","sourceRoot":"","sources":["../../../../replicache/src/get-default-puller.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EAEN,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAuB7E;AAID,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI,cAAc,CAU5E;AAYD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI,cAAc,CAM5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke-kind-enum.d.ts","sourceRoot":"","sources":["../../../../replicache/src/invoke-kind-enum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invoke-kind-enum.d.ts","sourceRoot":"","sources":["../../../../replicache/src/invoke-kind-enum.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,OAAO,IAAI,CAAC;AAEzB,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC;AAC3C,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SQLiteStoreOptions } from '../sqlite-store.ts';
|
|
2
|
+
import type { StoreProvider } from '../store.ts';
|
|
3
|
+
export type ExpoSQLiteStoreOptions = SQLiteStoreOptions;
|
|
4
|
+
export declare function dropExpoSQLiteStore(name: string): Promise<void>;
|
|
5
|
+
/**
|
|
6
|
+
* Creates a StoreProvider for SQLite-based stores using expo-sqlite.
|
|
7
|
+
* Supports shared connections between multiple store instances with the same name,
|
|
8
|
+
* providing efficient resource utilization and proper transaction isolation.
|
|
9
|
+
*/
|
|
10
|
+
export declare function expoSQLiteStoreProvider(opts?: ExpoSQLiteStoreOptions): StoreProvider;
|
|
11
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../../../replicache/src/kv/expo-sqlite/store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAExD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,CAAC,EAAE,sBAAsB,GAC5B,aAAa,CAMf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idb-store.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/kv/idb-store.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"idb-store.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/kv/idb-store.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,YAAY,CAAC;AAUnD,qBAAa,QAAS,YAAW,KAAK;;gBAKxB,IAAI,EAAE,MAAM;IAIxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAOjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,IAAI,MAAM,IAAI,OAAO,CAEpB;CA4DF;AAoHD;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,IAAI,SAAsB;CAC3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mem-store.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/kv/mem-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"mem-store.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/kv/mem-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,YAAY,CAAC;AAUnD,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGxD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;;;;;;;;GASG;AACH,qBAAa,QAAS,YAAW,KAAK;;gBAKxB,IAAI,EAAE,MAAM;IAelB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAM7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SQLiteStoreOptions } from '../sqlite-store.ts';
|
|
2
|
+
import type { StoreProvider } from '../store.ts';
|
|
3
|
+
export type OpSQLiteStoreOptions = SQLiteStoreOptions & {
|
|
4
|
+
location?: 'default' | 'Library' | 'Documents' | 'Temporary';
|
|
5
|
+
encryptionKey?: string;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Creates a StoreProvider for SQLite-based stores using @op-engineering/op-sqlite.
|
|
9
|
+
* Supports shared connections between multiple store instances with the same name,
|
|
10
|
+
* providing efficient resource utilization and proper transaction isolation.
|
|
11
|
+
* Uses parameterized queries for safety and performance.
|
|
12
|
+
*/
|
|
13
|
+
export declare function opSQLiteStoreProvider(opts?: OpSQLiteStoreOptions): StoreProvider;
|
|
14
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../../../replicache/src/kv/op-sqlite/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAG/C,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IAEtD,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,CAAC,EAAE,oBAAoB,GAC1B,aAAa,CAUf"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface DB {
|
|
2
|
+
close: () => void;
|
|
3
|
+
delete: (location?: string) => void;
|
|
4
|
+
executeRaw: (query: string, params?: string[]) => Promise<string[][]>;
|
|
5
|
+
executeRawSync: (query: string, params?: string[]) => string[][];
|
|
6
|
+
}
|
|
7
|
+
export type OpenFunction = (params: {
|
|
8
|
+
name: string;
|
|
9
|
+
location?: string;
|
|
10
|
+
encryptionKey?: string;
|
|
11
|
+
}) => DB;
|
|
12
|
+
export declare const open: OpenFunction;
|
|
13
|
+
//# sourceMappingURL=types.d.ts.map
|