@rocicorp/zero 0.23.2025101600 → 0.24.3000-canary.1
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-WFFZJYGV.js → chunk-SEHSOFU5.js} +4870 -442
- package/out/chunk-SEHSOFU5.js.map +7 -0
- package/out/{chunk-6N4NUSIN.js → chunk-SRKR7D4Q.js} +16 -9
- package/out/chunk-SRKR7D4Q.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 +19 -0
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +114 -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/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +1 -1
- package/out/zero-cache/src/server/change-streamer.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-http.d.ts +2 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +18 -2
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.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/types/websocket-handoff.d.ts +3 -3
- package/out/zero-cache/src/types/websocket-handoff.d.ts.map +1 -1
- package/out/zero-cache/src/types/websocket-handoff.js +6 -4
- package/out/zero-cache/src/types/websocket-handoff.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-cache/src/workers/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +19 -1
- package/out/zero-cache/src/workers/syncer.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../zero-schema/src/permissions.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,aAAa,EACb,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../zero-schema/src/permissions.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export type SchemaConfig = {
|
|
|
8
8
|
};
|
|
9
9
|
export declare const relationshipSchema: v.Type<Relationship>;
|
|
10
10
|
export declare const schemaValueSchema: v.ObjectType<Readonly<{
|
|
11
|
-
type: v.Type<import("
|
|
11
|
+
type: v.Type<import("../../zero-protocol/src/client-schema.ts").ValueType>;
|
|
12
12
|
serverName: v.Optional<string>;
|
|
13
13
|
optional: v.Optional<boolean>;
|
|
14
14
|
}>, undefined>;
|
|
@@ -27,9 +27,9 @@ export const schemaSchema = v.readonlyObject({
|
|
|
27
27
|
enableLegacyQueries: v.boolean().optional(),
|
|
28
28
|
enableLegacyMutators: v.boolean().optional(),
|
|
29
29
|
});
|
|
30
|
-
//
|
|
30
|
+
// oxlint-disable-next-line @typescript-eslint/no-explicit-any
|
|
31
31
|
export function isSchemaConfig(value) {
|
|
32
|
-
//
|
|
32
|
+
// oxlint-disable-next-line eqeqeq
|
|
33
33
|
return value != null && 'schema' in value && 'permissions' in value;
|
|
34
34
|
}
|
|
35
35
|
export async function stringifySchema(module) {
|
|
@@ -1,60 +1,8 @@
|
|
|
1
|
-
import type { ValueType } from '../../zero-
|
|
2
|
-
import type {
|
|
3
|
-
export type { ValueType }
|
|
4
|
-
/**
|
|
5
|
-
* `related` calls need to know what the available relationships are.
|
|
6
|
-
* The `schema` type encodes this information.
|
|
7
|
-
*/
|
|
8
|
-
export type SchemaValue<T = unknown> = {
|
|
9
|
-
type: ValueType;
|
|
10
|
-
serverName?: string | undefined;
|
|
11
|
-
optional?: boolean | undefined;
|
|
12
|
-
} | SchemaValueWithCustomType<T>;
|
|
13
|
-
export type SchemaValueWithCustomType<T> = {
|
|
14
|
-
type: ValueType;
|
|
15
|
-
serverName?: string | undefined;
|
|
16
|
-
optional?: boolean;
|
|
17
|
-
customType: T;
|
|
18
|
-
};
|
|
19
|
-
export type TableSchema = {
|
|
20
|
-
readonly name: string;
|
|
21
|
-
readonly serverName?: string | undefined;
|
|
22
|
-
readonly columns: Record<string, SchemaValue>;
|
|
23
|
-
readonly primaryKey: PrimaryKey;
|
|
24
|
-
};
|
|
25
|
-
export type RelationshipsSchema = {
|
|
26
|
-
readonly [name: string]: Relationship;
|
|
27
|
-
};
|
|
28
|
-
export type TypeNameToTypeMap = {
|
|
29
|
-
string: string;
|
|
30
|
-
number: number;
|
|
31
|
-
boolean: boolean;
|
|
32
|
-
null: null;
|
|
33
|
-
json: any;
|
|
34
|
-
};
|
|
35
|
-
export type ColumnTypeName<T extends SchemaValue | ValueType> = T extends SchemaValue ? T['type'] : T;
|
|
36
|
-
/**
|
|
37
|
-
* Given a schema value, return the TypeScript type.
|
|
38
|
-
*
|
|
39
|
-
* This allows us to create the correct return type for a
|
|
40
|
-
* query that has a selection.
|
|
41
|
-
*/
|
|
42
|
-
export type SchemaValueToTSType<T extends SchemaValue | ValueType> = T extends ValueType ? TypeNameToTypeMap[T] : T extends {
|
|
43
|
-
optional: true;
|
|
44
|
-
} ? (T extends SchemaValueWithCustomType<infer V> ? V : TypeNameToTypeMap[ColumnTypeName<T>]) | null : T extends SchemaValueWithCustomType<infer V> ? V : TypeNameToTypeMap[ColumnTypeName<T>];
|
|
45
|
-
type Connection = {
|
|
46
|
-
readonly sourceField: readonly string[];
|
|
47
|
-
readonly destField: readonly string[];
|
|
48
|
-
readonly destSchema: string;
|
|
49
|
-
readonly cardinality: Cardinality;
|
|
50
|
-
};
|
|
51
|
-
export type Cardinality = 'one' | 'many';
|
|
52
|
-
export type Relationship = readonly [Connection] | readonly [Connection, Connection];
|
|
53
|
-
export type LastInTuple<T extends Relationship> = T extends readonly [infer L] ? L : T extends readonly [unknown, infer L] ? L : T extends readonly [unknown, unknown, infer L] ? L : never;
|
|
1
|
+
import type { ColumnTypeName, SchemaValue, SchemaValueToTSType, SchemaValueWithCustomType, TypeNameToTypeMap, ValueType } from '../../zero-types/src/schema-value.ts';
|
|
2
|
+
import type { Cardinality, LastInTuple, Relationship, RelationshipsSchema, TableSchema } from '../../zero-types/src/schema.ts';
|
|
3
|
+
export type { Cardinality, ColumnTypeName, LastInTuple, Relationship, RelationshipsSchema, SchemaValue, SchemaValueToTSType, SchemaValueWithCustomType, TableSchema, TypeNameToTypeMap, ValueType, };
|
|
54
4
|
export type AtLeastOne<T> = readonly [T, ...T[]];
|
|
55
5
|
export declare function atLeastOne<T>(arr: readonly T[]): AtLeastOne<T>;
|
|
56
|
-
export declare function isOneHop(r: Relationship): r is readonly [Connection];
|
|
57
|
-
export declare function isTwoHop(r: Relationship): r is readonly [Connection, Connection];
|
|
58
6
|
export type Opaque<BaseType, BrandType = unknown> = BaseType & {
|
|
59
7
|
readonly [base]: BaseType;
|
|
60
8
|
readonly [brand]: BrandType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-schema.d.ts","sourceRoot":"","sources":["../../../../zero-schema/src/table-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"table-schema.d.ts","sourceRoot":"","sources":["../../../../zero-schema/src/table-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,SAAS,EACV,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACZ,MAAM,gCAAgC,CAAC;AAExC,YAAY,EACV,WAAW,EACX,cAAc,EACd,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,yBAAyB,EACzB,WAAW,EACX,iBAAiB,EACjB,SAAS,GACV,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAEjD,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAK9D;AAED,MAAM,MAAM,MAAM,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,IAAI,QAAQ,GAAG;IAC7D,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC7B,CAAC;AAEF,OAAO,CAAC,MAAM,IAAI,EAAE,OAAO,MAAM,CAAC;AAClC,OAAO,CAAC,MAAM,KAAK,EAAE,OAAO,MAAM,CAAC;AAEnC,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS;IAElC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC;CACvB,GACG,IAAI,GACJ,KAAK,CAAC;AAEV,MAAM,MAAM,yBAAyB,CAAC,CAAC,IACrC,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,GACpB,CAAC,GACD,CAAC,SAAS,MAAM,GACd,CAAC,SAAS,MAAM,CAAC,GACf;KAAE,CAAC,IAAI,MAAM,CAAC,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAC,GACjD,KAAK,GACP,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-schema.js","sourceRoot":"","sources":["../../../../zero-schema/src/table-schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table-schema.js","sourceRoot":"","sources":["../../../../zero-schema/src/table-schema.ts"],"names":[],"mappings":"AAgCA,MAAM,UAAU,UAAU,CAAI,GAAiB;IAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,GAAoB,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { type SQL } from 'drizzle-orm';
|
|
2
|
+
import type { PgDatabase, PgQueryResultHKT, PgTransaction } from 'drizzle-orm/pg-core';
|
|
3
|
+
import type { ExtractTablesWithRelations } from 'drizzle-orm/relations';
|
|
4
|
+
import type { Schema } from '../../../zero-schema/src/builder/schema-builder.ts';
|
|
5
|
+
import type { DBConnection, DBTransaction, Row } from '../../../zql/src/mutate/custom.ts';
|
|
6
|
+
import { ZQLDatabase } from '../zql-database.ts';
|
|
7
|
+
export type DrizzleDatabase<TQueryResult extends PgQueryResultHKT = PgQueryResultHKT, TSchema extends Record<string, unknown> = Record<string, unknown>, TClient = unknown> = PgDatabase<TQueryResult, TSchema> & {
|
|
8
|
+
$client: TClient;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Helper type for the wrapped transaction used by drizzle-orm.
|
|
12
|
+
*
|
|
13
|
+
* @remarks Use with `ServerTransaction` as `ServerTransaction<Schema, DrizzleTransaction<typeof drizzleDb>>`.
|
|
14
|
+
*/
|
|
15
|
+
export type DrizzleTransaction<TDbOrSchema extends DrizzleDatabase | Record<string, unknown>, TSchema extends Record<string, unknown> = TDbOrSchema extends PgDatabase<PgQueryResultHKT, infer TInferredSchema> ? TInferredSchema : TDbOrSchema> = PgTransaction<PgQueryResultHKT, TSchema, ExtractTablesWithRelations<TSchema>>;
|
|
16
|
+
export declare class DrizzleConnection<TDrizzle extends DrizzleDatabase, TTransaction extends DrizzleTransaction<TDrizzle> = DrizzleTransaction<TDrizzle>> implements DBConnection<TTransaction> {
|
|
17
|
+
#private;
|
|
18
|
+
constructor(drizzle: TDrizzle);
|
|
19
|
+
transaction<T>(fn: (tx: DBTransaction<TTransaction>) => Promise<T>): Promise<T>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Turn `$1, $2...` placeholders into a Drizzle SQL object with bound params.
|
|
23
|
+
*/
|
|
24
|
+
export declare function fromDollarParams(text: string, params: unknown[]): SQL;
|
|
25
|
+
export declare function toIterableRows(result: unknown): Iterable<Row>;
|
|
26
|
+
/**
|
|
27
|
+
* Wrap a `drizzle-orm` database for Zero ZQL.
|
|
28
|
+
*
|
|
29
|
+
* Provides ZQL querying plus access to the underlying drizzle transaction.
|
|
30
|
+
* Use {@link DrizzleTransaction} to type your server mutator transaction.
|
|
31
|
+
*
|
|
32
|
+
* @param schema - Zero schema.
|
|
33
|
+
* @param client - Drizzle database.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* import {Pool} from 'pg';
|
|
38
|
+
* import {drizzle} from 'drizzle-orm/node-postgres';
|
|
39
|
+
* import type {ServerTransaction} from '@rocicorp/zero';
|
|
40
|
+
*
|
|
41
|
+
* const pool = new Pool({connectionString: process.env.ZERO_UPSTREAM_DB!});
|
|
42
|
+
* const drizzleDb = drizzle(pool, {schema: drizzleSchema});
|
|
43
|
+
*
|
|
44
|
+
* const zql = zeroDrizzle(schema, drizzleDb);
|
|
45
|
+
*
|
|
46
|
+
* // Define the server mutator transaction type using the helper
|
|
47
|
+
* type ServerTx = ServerTransaction<Schema, DrizzleTransaction<typeof drizzleDb>>;
|
|
48
|
+
*
|
|
49
|
+
* async function createUser(
|
|
50
|
+
* tx: ServerTx,
|
|
51
|
+
* {id, name}: {id: string; name: string},
|
|
52
|
+
* ) {
|
|
53
|
+
* await tx.dbTransaction.wrappedTransaction
|
|
54
|
+
* .insert(drizzleSchema.user)
|
|
55
|
+
* .values({id, name})
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function zeroDrizzle<S extends Schema, TDrizzle extends DrizzleDatabase>(schema: S, client: TDrizzle): ZQLDatabase<S, DrizzleTransaction<TDrizzle>>;
|
|
60
|
+
//# sourceMappingURL=drizzle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drizzle.d.ts","sourceRoot":"","sources":["../../../../../zero-server/src/adapters/drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,GAAG,EAAC,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oDAAoD,CAAC;AAC/E,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,GAAG,EACJ,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAE/C,MAAM,MAAM,eAAe,CACzB,YAAY,SAAS,gBAAgB,GAAG,gBAAgB,EACxD,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,OAAO,GAAG,OAAO,IACf,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG;IACtC,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAC5B,WAAW,SAAS,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,SAAS,UAAU,CACtE,gBAAgB,EAChB,MAAM,eAAe,CACtB,GACG,eAAe,GACf,WAAW,IACb,aAAa,CACf,gBAAgB,EAChB,OAAO,EACP,0BAA0B,CAAC,OAAO,CAAC,CACpC,CAAC;AAEF,qBAAa,iBAAiB,CAC5B,QAAQ,SAAS,eAAe,EAChC,YAAY,SACV,kBAAkB,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAC7D,YAAW,YAAY,CAAC,YAAY,CAAC;;gBAIzB,OAAO,EAAE,QAAQ;IAI7B,WAAW,CAAC,CAAC,EACX,EAAE,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAClD,OAAO,CAAC,CAAC,CAAC;CASd;AAmBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAiBrE;AAUD,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAuB7D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,SAAS,eAAe,EAC5E,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,QAAQ,GACf,WAAW,CAAC,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAK9C"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { sql } from 'drizzle-orm';
|
|
2
|
+
import { ZQLDatabase } from "../zql-database.js";
|
|
3
|
+
export class DrizzleConnection {
|
|
4
|
+
#drizzle;
|
|
5
|
+
constructor(drizzle) {
|
|
6
|
+
this.#drizzle = drizzle;
|
|
7
|
+
}
|
|
8
|
+
transaction(fn) {
|
|
9
|
+
return this.#drizzle.transaction(drizzleTx => fn(new DrizzleInternalTransaction(drizzleTx)));
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
class DrizzleInternalTransaction {
|
|
13
|
+
wrappedTransaction;
|
|
14
|
+
constructor(drizzleTx) {
|
|
15
|
+
this.wrappedTransaction = drizzleTx;
|
|
16
|
+
}
|
|
17
|
+
async query(sql, params) {
|
|
18
|
+
const stmt = fromDollarParams(sql, params);
|
|
19
|
+
const result = await this.wrappedTransaction.execute(stmt);
|
|
20
|
+
return toIterableRows(result);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Turn `$1, $2...` placeholders into a Drizzle SQL object with bound params.
|
|
25
|
+
*/
|
|
26
|
+
export function fromDollarParams(text, params) {
|
|
27
|
+
const re = /\$(\d+)/g;
|
|
28
|
+
const s = sql.empty();
|
|
29
|
+
let last = 0;
|
|
30
|
+
let m;
|
|
31
|
+
while ((m = re.exec(text)) !== null) {
|
|
32
|
+
const idx = Number(m[1]) - 1;
|
|
33
|
+
if (idx < 0 || idx >= params.length) {
|
|
34
|
+
throw new Error(`Missing param for $${m[1]}`);
|
|
35
|
+
}
|
|
36
|
+
if (m.index > last)
|
|
37
|
+
s.append(sql.raw(text.slice(last, m.index)));
|
|
38
|
+
s.append(sql `${params[idx]}`); // parameterized value
|
|
39
|
+
last = m.index + m[0].length;
|
|
40
|
+
}
|
|
41
|
+
if (last < text.length)
|
|
42
|
+
s.append(sql.raw(text.slice(last)));
|
|
43
|
+
return s;
|
|
44
|
+
}
|
|
45
|
+
function isIterable(value) {
|
|
46
|
+
return (
|
|
47
|
+
// oxlint-disable-next-line eqeqeq
|
|
48
|
+
value != null &&
|
|
49
|
+
typeof value[Symbol.iterator] === 'function');
|
|
50
|
+
}
|
|
51
|
+
export function toIterableRows(result) {
|
|
52
|
+
if (result === null || result === undefined) {
|
|
53
|
+
return [];
|
|
54
|
+
}
|
|
55
|
+
if (Array.isArray(result)) {
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
if (isIterable(result)) {
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
if (typeof result === 'object') {
|
|
62
|
+
const rows = result.rows;
|
|
63
|
+
if (rows === null || rows === undefined) {
|
|
64
|
+
return [];
|
|
65
|
+
}
|
|
66
|
+
if (Array.isArray(rows)) {
|
|
67
|
+
return rows;
|
|
68
|
+
}
|
|
69
|
+
if (isIterable(rows)) {
|
|
70
|
+
return rows;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
throw new TypeError('Drizzle query result is not iterable');
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Wrap a `drizzle-orm` database for Zero ZQL.
|
|
77
|
+
*
|
|
78
|
+
* Provides ZQL querying plus access to the underlying drizzle transaction.
|
|
79
|
+
* Use {@link DrizzleTransaction} to type your server mutator transaction.
|
|
80
|
+
*
|
|
81
|
+
* @param schema - Zero schema.
|
|
82
|
+
* @param client - Drizzle database.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```ts
|
|
86
|
+
* import {Pool} from 'pg';
|
|
87
|
+
* import {drizzle} from 'drizzle-orm/node-postgres';
|
|
88
|
+
* import type {ServerTransaction} from '@rocicorp/zero';
|
|
89
|
+
*
|
|
90
|
+
* const pool = new Pool({connectionString: process.env.ZERO_UPSTREAM_DB!});
|
|
91
|
+
* const drizzleDb = drizzle(pool, {schema: drizzleSchema});
|
|
92
|
+
*
|
|
93
|
+
* const zql = zeroDrizzle(schema, drizzleDb);
|
|
94
|
+
*
|
|
95
|
+
* // Define the server mutator transaction type using the helper
|
|
96
|
+
* type ServerTx = ServerTransaction<Schema, DrizzleTransaction<typeof drizzleDb>>;
|
|
97
|
+
*
|
|
98
|
+
* async function createUser(
|
|
99
|
+
* tx: ServerTx,
|
|
100
|
+
* {id, name}: {id: string; name: string},
|
|
101
|
+
* ) {
|
|
102
|
+
* await tx.dbTransaction.wrappedTransaction
|
|
103
|
+
* .insert(drizzleSchema.user)
|
|
104
|
+
* .values({id, name})
|
|
105
|
+
* }
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
export function zeroDrizzle(schema, client) {
|
|
109
|
+
return new ZQLDatabase(new DrizzleConnection(client), schema);
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=drizzle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drizzle.js","sourceRoot":"","sources":["../../../../../zero-server/src/adapters/drizzle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { Schema } from '../../../zero-schema/src/builder/schema-builder.ts';
|
|
2
|
+
import type { DBConnection, DBTransaction, Row } from '../../../zql/src/mutate/custom.ts';
|
|
3
|
+
import { Client, Pool, type PoolClient } from 'pg';
|
|
4
|
+
import { ZQLDatabase } from '../zql-database.ts';
|
|
5
|
+
/**
|
|
6
|
+
* Helper type for the wrapped transaction used by node-postgres.
|
|
7
|
+
*
|
|
8
|
+
* @remarks Use with `ServerTransaction` as `ServerTransaction<Schema, NodePgTransaction>`.
|
|
9
|
+
*/
|
|
10
|
+
export type NodePgTransaction = Pool | PoolClient | Client;
|
|
11
|
+
export declare class NodePgConnection implements DBConnection<NodePgTransaction> {
|
|
12
|
+
#private;
|
|
13
|
+
constructor(pool: NodePgTransaction);
|
|
14
|
+
transaction<TRet>(fn: (tx: DBTransaction<NodePgTransaction>) => Promise<TRet>): Promise<TRet>;
|
|
15
|
+
}
|
|
16
|
+
export declare class NodePgTransactionInternal implements DBTransaction<NodePgTransaction> {
|
|
17
|
+
readonly wrappedTransaction: NodePgTransaction;
|
|
18
|
+
constructor(client: NodePgTransaction);
|
|
19
|
+
query(sql: string, params: unknown[]): Promise<Row[]>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Wrap a `pg` Pool for Zero ZQL.
|
|
23
|
+
*
|
|
24
|
+
* Provides ZQL querying plus access to the underlying node-postgres client.
|
|
25
|
+
* Use {@link NodePgTransaction} to type your server mutator transaction.
|
|
26
|
+
*
|
|
27
|
+
* @param schema - Zero schema.
|
|
28
|
+
* @param pg - `pg` Pool or connection string.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* import {Pool} from 'pg';
|
|
33
|
+
*
|
|
34
|
+
* const pool = new Pool({connectionString: process.env.ZERO_UPSTREAM_DB!});
|
|
35
|
+
* const zql = zeroNodePg(schema, pool);
|
|
36
|
+
*
|
|
37
|
+
* // Define the server mutator transaction type using the helper
|
|
38
|
+
* type ServerTx = ServerTransaction<
|
|
39
|
+
* Schema,
|
|
40
|
+
* NodePgTransaction
|
|
41
|
+
* >;
|
|
42
|
+
*
|
|
43
|
+
* async function createUser(
|
|
44
|
+
* tx: ServerTx,
|
|
45
|
+
* {id, name}: {id: string; name: string},
|
|
46
|
+
* ) {
|
|
47
|
+
* await tx.dbTransaction.wrappedTransaction
|
|
48
|
+
* .query('SELECT * FROM "user" WHERE id = $1', [id]);
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function zeroNodePg<S extends Schema>(schema: S, pg: NodePgTransaction | string): ZQLDatabase<S, NodePgTransaction>;
|
|
53
|
+
//# sourceMappingURL=pg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pg.d.ts","sourceRoot":"","sources":["../../../../../zero-server/src/adapters/pg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oDAAoD,CAAC;AAC/E,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,GAAG,EACJ,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,UAAU,EAAC,MAAM,IAAI,CAAC;AACjD,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,UAAU,GAAG,MAAM,CAAC;AAE3D,qBAAa,gBAAiB,YAAW,YAAY,CAAC,iBAAiB,CAAC;;gBAE1D,IAAI,EAAE,iBAAiB;IAI7B,WAAW,CAAC,IAAI,EACpB,EAAE,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAC1D,OAAO,CAAC,IAAI,CAAC;CAqBjB;AAED,qBAAa,yBACX,YAAW,aAAa,CAAC,iBAAiB,CAAC;IAE3C,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;gBACnC,MAAM,EAAE,iBAAiB;IAI/B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;CAI5D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EACzC,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,iBAAiB,GAAG,MAAM,qCAM/B"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Client, Pool } from 'pg';
|
|
2
|
+
import { ZQLDatabase } from "../zql-database.js";
|
|
3
|
+
export class NodePgConnection {
|
|
4
|
+
#pool;
|
|
5
|
+
constructor(pool) {
|
|
6
|
+
this.#pool = pool;
|
|
7
|
+
}
|
|
8
|
+
async transaction(fn) {
|
|
9
|
+
const client = this.#pool instanceof Pool ? await this.#pool.connect() : this.#pool;
|
|
10
|
+
try {
|
|
11
|
+
await client.query('BEGIN');
|
|
12
|
+
const result = await fn(new NodePgTransactionInternal(client));
|
|
13
|
+
await client.query('COMMIT');
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
try {
|
|
18
|
+
await client.query('ROLLBACK');
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// ignore rollback error; original error will be thrown
|
|
22
|
+
}
|
|
23
|
+
throw error;
|
|
24
|
+
}
|
|
25
|
+
finally {
|
|
26
|
+
if (this.#pool instanceof Pool && 'release' in client) {
|
|
27
|
+
client.release();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export class NodePgTransactionInternal {
|
|
33
|
+
wrappedTransaction;
|
|
34
|
+
constructor(client) {
|
|
35
|
+
this.wrappedTransaction = client;
|
|
36
|
+
}
|
|
37
|
+
async query(sql, params) {
|
|
38
|
+
const res = await this.wrappedTransaction.query(sql, params);
|
|
39
|
+
return res.rows;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Wrap a `pg` Pool for Zero ZQL.
|
|
44
|
+
*
|
|
45
|
+
* Provides ZQL querying plus access to the underlying node-postgres client.
|
|
46
|
+
* Use {@link NodePgTransaction} to type your server mutator transaction.
|
|
47
|
+
*
|
|
48
|
+
* @param schema - Zero schema.
|
|
49
|
+
* @param pg - `pg` Pool or connection string.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* import {Pool} from 'pg';
|
|
54
|
+
*
|
|
55
|
+
* const pool = new Pool({connectionString: process.env.ZERO_UPSTREAM_DB!});
|
|
56
|
+
* const zql = zeroNodePg(schema, pool);
|
|
57
|
+
*
|
|
58
|
+
* // Define the server mutator transaction type using the helper
|
|
59
|
+
* type ServerTx = ServerTransaction<
|
|
60
|
+
* Schema,
|
|
61
|
+
* NodePgTransaction
|
|
62
|
+
* >;
|
|
63
|
+
*
|
|
64
|
+
* async function createUser(
|
|
65
|
+
* tx: ServerTx,
|
|
66
|
+
* {id, name}: {id: string; name: string},
|
|
67
|
+
* ) {
|
|
68
|
+
* await tx.dbTransaction.wrappedTransaction
|
|
69
|
+
* .query('SELECT * FROM "user" WHERE id = $1', [id]);
|
|
70
|
+
* }
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export function zeroNodePg(schema, pg) {
|
|
74
|
+
if (typeof pg === 'string') {
|
|
75
|
+
pg = new Pool({ connectionString: pg });
|
|
76
|
+
}
|
|
77
|
+
return new ZQLDatabase(new NodePgConnection(pg), schema);
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=pg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pg.js","sourceRoot":"","sources":["../../../../../zero-server/src/adapters/pg.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAE,IAAI,EAAkB,MAAM,IAAI,CAAC;AACjD,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAS/C,MAAM,OAAO,gBAAgB;IAClB,KAAK,CAAoB;IAClC,YAAY,IAAuB;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,WAAW,CACf,EAA2D;QAE3D,MAAM,MAAM,GACV,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/D,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;YACzD,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,KAAK,YAAY,IAAI,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;gBACtD,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,yBAAyB;IAG3B,kBAAkB,CAAoB;IAC/C,YAAY,MAAyB;QACnC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,MAAiB;QACxC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAE,MAAmB,CAAC,CAAC;QAC1E,OAAO,GAAG,CAAC,IAAa,CAAC;IAC3B,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,UAAU,CACxB,MAAS,EACT,EAA8B;IAE9B,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,EAAE,GAAG,IAAI,IAAI,CAAC,EAAC,gBAAgB,EAAE,EAAE,EAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,WAAW,CAAC,IAAI,gBAAgB,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,25 +1,54 @@
|
|
|
1
1
|
import type { Schema } from '../../../zero-schema/src/builder/schema-builder.ts';
|
|
2
|
-
import type { DBConnection, DBTransaction } from '../../../zql/src/mutate/custom.ts';
|
|
2
|
+
import type { DBConnection, DBTransaction, Row } from '../../../zql/src/mutate/custom.ts';
|
|
3
3
|
import postgres from 'postgres';
|
|
4
4
|
import { ZQLDatabase } from '../zql-database.ts';
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Helper type for the wrapped transaction used by postgres.js.
|
|
7
|
+
*
|
|
8
|
+
* @typeParam T - The row-shape context bound to the postgres.js client.
|
|
9
|
+
* @remarks Use with `ServerTransaction` as `ServerTransaction<Schema, PostgresJsTransaction>`.
|
|
10
|
+
*/
|
|
11
|
+
export type PostgresJsTransaction<T extends Record<string, unknown> = Record<string, unknown>> = postgres.TransactionSql<T>;
|
|
12
|
+
export declare class PostgresJSConnection<T extends Record<string, unknown>> implements DBConnection<PostgresJsTransaction<T>> {
|
|
6
13
|
#private;
|
|
7
14
|
constructor(pg: postgres.Sql<T>);
|
|
8
|
-
transaction<TRet>(fn: (tx: DBTransaction<
|
|
15
|
+
transaction<TRet>(fn: (tx: DBTransaction<PostgresJsTransaction<T>>) => Promise<TRet>): Promise<TRet>;
|
|
16
|
+
}
|
|
17
|
+
export declare class PostgresJsTransactionInternal<T extends Record<string, unknown>> implements DBTransaction<PostgresJsTransaction<T>> {
|
|
18
|
+
readonly wrappedTransaction: PostgresJsTransaction<T>;
|
|
19
|
+
constructor(pgTx: PostgresJsTransaction<T>);
|
|
20
|
+
query(sql: string, params: unknown[]): Promise<Row[]>;
|
|
9
21
|
}
|
|
10
22
|
/**
|
|
11
|
-
*
|
|
23
|
+
* Wrap a `postgres` client for Zero ZQL.
|
|
24
|
+
*
|
|
25
|
+
* Provides ZQL querying plus access to the underlying postgres.js transaction.
|
|
26
|
+
* Use {@link PostgresJsTransaction} to type your server mutator transaction.
|
|
27
|
+
*
|
|
28
|
+
* @param schema - Zero schema.
|
|
29
|
+
* @param pg - `postgres` client or connection string.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
12
32
|
* ```ts
|
|
13
33
|
* import postgres from 'postgres';
|
|
14
|
-
* const processor = new PushProcessor(
|
|
15
|
-
* zeroPostgresJS(schema, postgres(process.env.ZERO_UPSTREAM_DB as string)),
|
|
16
|
-
* );
|
|
17
34
|
*
|
|
18
|
-
*
|
|
19
|
-
* const
|
|
20
|
-
*
|
|
21
|
-
* //
|
|
35
|
+
* const sql = postgres(process.env.ZERO_UPSTREAM_DB!);
|
|
36
|
+
* const zql = zeroPostgresJS(schema, sql);
|
|
37
|
+
*
|
|
38
|
+
* // Define the server mutator transaction type using the helper
|
|
39
|
+
* type ServerTx = ServerTransaction<
|
|
40
|
+
* Schema,
|
|
41
|
+
* PostgresJsTransaction
|
|
42
|
+
* >;
|
|
43
|
+
*
|
|
44
|
+
* async function createUser(
|
|
45
|
+
* tx: ServerTx,
|
|
46
|
+
* {id, name}: {id: string; name: string},
|
|
47
|
+
* ) {
|
|
48
|
+
* await tx.dbTransaction.wrappedTransaction
|
|
49
|
+
* .unsafe('INSERT INTO "user" (id, name) VALUES ($1, $2)', [id, name]);
|
|
50
|
+
* }
|
|
22
51
|
* ```
|
|
23
52
|
*/
|
|
24
|
-
export declare function zeroPostgresJS<S extends Schema, T extends Record<string, unknown> = Record<string, unknown>>(schema: S, pg: postgres.Sql<T> | string): ZQLDatabase<S,
|
|
53
|
+
export declare function zeroPostgresJS<S extends Schema, T extends Record<string, unknown> = Record<string, unknown>>(schema: S, pg: postgres.Sql<T> | string): ZQLDatabase<S, PostgresJsTransaction<T>>;
|
|
25
54
|
//# sourceMappingURL=postgresjs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresjs.d.ts","sourceRoot":"","sources":["../../../../../zero-server/src/adapters/postgresjs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oDAAoD,CAAC;AAC/E,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,
|
|
1
|
+
{"version":3,"file":"postgresjs.d.ts","sourceRoot":"","sources":["../../../../../zero-server/src/adapters/postgresjs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oDAAoD,CAAC;AAC/E,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,GAAG,EACJ,MAAM,mCAAmC,CAAC;AAC3C,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACzD,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAE/B,qBAAa,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACjE,YAAW,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;;gBAGrC,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAI/B,WAAW,CAAC,IAAI,EACd,EAAE,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GACjE,OAAO,CAAC,IAAI,CAAC;CAKjB;AAED,qBAAa,6BAA6B,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC1E,YAAW,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAElD,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAI1C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;CAGtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,cAAc,CAC5B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,4CAKxC"}
|
|
@@ -6,10 +6,10 @@ export class PostgresJSConnection {
|
|
|
6
6
|
this.#pg = pg;
|
|
7
7
|
}
|
|
8
8
|
transaction(fn) {
|
|
9
|
-
return this.#pg.begin(pgTx => fn(new
|
|
9
|
+
return this.#pg.begin(pgTx => fn(new PostgresJsTransactionInternal(pgTx)));
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
class
|
|
12
|
+
export class PostgresJsTransactionInternal {
|
|
13
13
|
wrappedTransaction;
|
|
14
14
|
constructor(pgTx) {
|
|
15
15
|
this.wrappedTransaction = pgTx;
|
|
@@ -19,17 +19,34 @@ class Transaction {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* Wrap a `postgres` client for Zero ZQL.
|
|
23
|
+
*
|
|
24
|
+
* Provides ZQL querying plus access to the underlying postgres.js transaction.
|
|
25
|
+
* Use {@link PostgresJsTransaction} to type your server mutator transaction.
|
|
26
|
+
*
|
|
27
|
+
* @param schema - Zero schema.
|
|
28
|
+
* @param pg - `postgres` client or connection string.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
23
31
|
* ```ts
|
|
24
32
|
* import postgres from 'postgres';
|
|
25
|
-
* const processor = new PushProcessor(
|
|
26
|
-
* zeroPostgresJS(schema, postgres(process.env.ZERO_UPSTREAM_DB as string)),
|
|
27
|
-
* );
|
|
28
33
|
*
|
|
29
|
-
*
|
|
30
|
-
* const
|
|
31
|
-
*
|
|
32
|
-
* //
|
|
34
|
+
* const sql = postgres(process.env.ZERO_UPSTREAM_DB!);
|
|
35
|
+
* const zql = zeroPostgresJS(schema, sql);
|
|
36
|
+
*
|
|
37
|
+
* // Define the server mutator transaction type using the helper
|
|
38
|
+
* type ServerTx = ServerTransaction<
|
|
39
|
+
* Schema,
|
|
40
|
+
* PostgresJsTransaction
|
|
41
|
+
* >;
|
|
42
|
+
*
|
|
43
|
+
* async function createUser(
|
|
44
|
+
* tx: ServerTx,
|
|
45
|
+
* {id, name}: {id: string; name: string},
|
|
46
|
+
* ) {
|
|
47
|
+
* await tx.dbTransaction.wrappedTransaction
|
|
48
|
+
* .unsafe('INSERT INTO "user" (id, name) VALUES ($1, $2)', [id, name]);
|
|
49
|
+
* }
|
|
33
50
|
* ```
|
|
34
51
|
*/
|
|
35
52
|
export function zeroPostgresJS(schema, pg) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresjs.js","sourceRoot":"","sources":["../../../../../zero-server/src/adapters/postgresjs.ts"],"names":[],"mappings":"AAOA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"postgresjs.js","sourceRoot":"","sources":["../../../../../zero-server/src/adapters/postgresjs.ts"],"names":[],"mappings":"AAOA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAY/C,MAAM,OAAO,oBAAoB;IAGtB,GAAG,CAAkB;IAC9B,YAAY,EAAmB;QAC7B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,WAAW,CACT,EAAkE;QAElE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAC3B,EAAE,CAAC,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAC3B,CAAC;IACrB,CAAC;CACF;AAED,MAAM,OAAO,6BAA6B;IAG/B,kBAAkB,CAA2B;IACtD,YAAY,IAA8B;QACxC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,MAAiB;QAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAqB,CAAC,CAAC;IACpE,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,cAAc,CAG5B,MAAS,EAAE,EAA4B;IACvC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAoB,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,WAAW,CAAC,IAAI,oBAAoB,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Schema } from '../../zero-schema/src/builder/schema-builder.ts';
|
|
2
|
-
import type { SchemaCRUD, SchemaQuery, TransactionBase, DBTransaction } from '../../zql/src/mutate/custom.ts';
|
|
3
2
|
import type { ServerSchema } from '../../zero-schema/src/server-schema.ts';
|
|
3
|
+
import type { DBTransaction, SchemaCRUD, SchemaQuery, TransactionBase } from '../../zql/src/mutate/custom.ts';
|
|
4
4
|
interface ServerTransaction<S extends Schema, TWrappedTransaction> extends TransactionBase<S> {
|
|
5
5
|
readonly location: 'server';
|
|
6
6
|
readonly reason: 'authoritative';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../zero-server/src/custom.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../zero-server/src/custom.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iDAAiD,CAAC;AAC5E,OAAO,KAAK,EAEV,YAAY,EAEb,MAAM,wCAAwC,CAAC;AAEhD,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,WAAW,EAEX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAGxC,UAAU,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,mBAAmB,CAC/D,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;CAC5D;AAED,MAAM,MAAM,iBAAiB,CAAC,cAAc,IAAI;IAC9C,CAAC,cAAc,EAAE,MAAM,GACnB;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;KAClD,GACD,iBAAiB,CAAC,cAAc,CAAC,CAAC;CACvC,CAAC;AAGF,MAAM,MAAM,iBAAiB,CAAC,cAAc,EAAE,KAAK,GAAG,GAAG,IAAI,CAC3D,EAAE,EAAE,cAAc,EAClB,IAAI,EAAE,KAAK,KACR,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,mBAAmB,CAChE,YAAW,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAEpD,QAAQ,CAAC,QAAQ,YAAY;IAC7B,QAAQ,CAAC,MAAM,mBAAmB;IAClC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;gBAG7B,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,EACjD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EACrB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;CAQxB;AASD,wBAAsB,qBAAqB,CACzC,CAAC,SAAS,MAAM,EAChB,mBAAmB,EAEnB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,EACjD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CACN,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,EACjD,YAAY,EAAE,YAAY,KACvB,UAAU,CAAC,CAAC,CAAC,EAClB,KAAK,EAAE,CACL,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,EACjD,YAAY,EAAE,YAAY,KACvB,WAAW,CAAC,CAAC,CAAC,oDAUpB;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,MAAM,EAAE,CAAC,GACR,CACD,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,EACrC,YAAY,EAAE,YAAY,KACvB,UAAU,CAAC,CAAC,CAAC,CAgDjB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { assert } from "../../shared/src/asserts.js";
|
|
1
2
|
import { formatPgInternalConvert, sql, sqlConvertColumnArg, } from "../../z2s/src/sql.js";
|
|
2
3
|
import { getServerSchema } from "./schema.js";
|
|
3
|
-
import { assert } from "../../shared/src/asserts.js";
|
|
4
4
|
export class TransactionImpl {
|
|
5
5
|
location = 'server';
|
|
6
6
|
reason = 'authoritative';
|