@rocicorp/zero 1.6.0-canary.1 → 1.6.0-canary.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -3
- package/out/_virtual/_@oxc-project_runtime@0.130.0/helpers/usingCtx.js +57 -0
- package/out/_virtual/__vite-optional-peer-dep_pg-native_pg.js +13 -0
- package/out/_virtual/__vite-optional-peer-dep_pg-native_pg.js.map +1 -0
- package/out/_virtual/_rolldown/runtime.js +12 -1
- package/out/node_modules/.pnpm/@opentelemetry_semantic-conventions@1.41.1/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js +12 -0
- package/out/node_modules/.pnpm/@opentelemetry_semantic-conventions@1.41.1/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js.map +1 -0
- package/out/node_modules/.pnpm/pg-cloudflare@1.3.0/node_modules/pg-cloudflare/dist/empty.js +11 -0
- package/out/node_modules/.pnpm/pg-cloudflare@1.3.0/node_modules/pg-cloudflare/dist/empty.js.map +1 -0
- package/out/node_modules/.pnpm/pg-connection-string@2.12.0/node_modules/pg-connection-string/index.js +130 -0
- package/out/node_modules/.pnpm/pg-connection-string@2.12.0/node_modules/pg-connection-string/index.js.map +1 -0
- package/out/node_modules/.pnpm/pg-int8@1.0.1/node_modules/pg-int8/index.js +62 -0
- package/out/node_modules/.pnpm/pg-int8@1.0.1/node_modules/pg-int8/index.js.map +1 -0
- package/out/node_modules/.pnpm/pg-pool@3.13.0_pg@8.20.0/node_modules/pg-pool/index.js +353 -0
- package/out/node_modules/.pnpm/pg-pool@3.13.0_pg@8.20.0/node_modules/pg-pool/index.js.map +1 -0
- package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/buffer-reader.js +60 -0
- package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/buffer-reader.js.map +1 -0
- package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/buffer-writer.js +81 -0
- package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/buffer-writer.js.map +1 -0
- package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.js +35 -0
- package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.js.map +1 -0
- package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.js +167 -0
- package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.js.map +1 -0
- package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.js +288 -0
- package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.js.map +1 -0
- package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.js +177 -0
- package/out/node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.js.map +1 -0
- package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.js +46 -0
- package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.js.map +1 -0
- package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/arrayParser.js +16 -0
- package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/arrayParser.js.map +1 -0
- package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/binaryParsers.js +165 -0
- package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/binaryParsers.js.map +1 -0
- package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/builtins.js +81 -0
- package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/builtins.js.map +1 -0
- package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/textParsers.js +167 -0
- package/out/node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/textParsers.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/esm/index.js +19 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/esm/index.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/client.js +508 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/client.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/connection-parameters.js +104 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/connection-parameters.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/connection.js +160 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/connection.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/cert-signatures.js +97 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/cert-signatures.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/sasl.js +131 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/sasl.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils-legacy.js +39 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils-legacy.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils-webcrypto.js +89 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils-webcrypto.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils.js +13 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/crypto/utils.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/defaults.js +46 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/defaults.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/index.js +71 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/index.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/client.js +226 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/client.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/index.js +11 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/index.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/query.js +117 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/native/query.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/query.js +151 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/query.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/result.js +76 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/result.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/stream.js +73 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/stream.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/type-overrides.js +35 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/type-overrides.js.map +1 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/utils.js +118 -0
- package/out/node_modules/.pnpm/pg@8.20.0/node_modules/pg/lib/utils.js.map +1 -0
- package/out/node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/helper.js +147 -0
- package/out/node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/helper.js.map +1 -0
- package/out/node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/index.js +21 -0
- package/out/node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/index.js.map +1 -0
- package/out/node_modules/.pnpm/postgres-array@2.0.0/node_modules/postgres-array/index.js +84 -0
- package/out/node_modules/.pnpm/postgres-array@2.0.0/node_modules/postgres-array/index.js.map +1 -0
- package/out/node_modules/.pnpm/postgres-bytea@1.0.1/node_modules/postgres-bytea/index.js +28 -0
- package/out/node_modules/.pnpm/postgres-bytea@1.0.1/node_modules/postgres-bytea/index.js.map +1 -0
- package/out/node_modules/.pnpm/postgres-date@1.0.7/node_modules/postgres-date/index.js +65 -0
- package/out/node_modules/.pnpm/postgres-date@1.0.7/node_modules/postgres-date/index.js.map +1 -0
- package/out/node_modules/.pnpm/postgres-interval@1.2.0/node_modules/postgres-interval/index.js +107 -0
- package/out/node_modules/.pnpm/postgres-interval@1.2.0/node_modules/postgres-interval/index.js.map +1 -0
- package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js +696 -0
- package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -0
- package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js +44 -0
- package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +1 -0
- package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js +1585 -0
- package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js.map +1 -0
- package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js +329 -0
- package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js.map +1 -0
- package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/index.js +13 -0
- package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/index.js.map +1 -0
- package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js +13 -0
- package/out/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js.map +1 -0
- package/out/node_modules/.pnpm/solid-js@1.9.13/node_modules/solid-js/dist/server.js +131 -0
- package/out/node_modules/.pnpm/solid-js@1.9.13/node_modules/solid-js/dist/server.js.map +1 -0
- package/out/node_modules/.pnpm/solid-js@1.9.13/node_modules/solid-js/store/dist/server.js +96 -0
- package/out/node_modules/.pnpm/solid-js@1.9.13/node_modules/solid-js/store/dist/server.js.map +1 -0
- package/out/node_modules/.pnpm/split2@4.2.0/node_modules/split2/index.js +95 -0
- package/out/node_modules/.pnpm/split2@4.2.0/node_modules/split2/index.js.map +1 -0
- package/out/node_modules/.pnpm/xtend@4.0.2/node_modules/xtend/mutable.js +18 -0
- package/out/node_modules/.pnpm/xtend@4.0.2/node_modules/xtend/mutable.js.map +1 -0
- package/out/packages/analyze-query/src/analyze-cli.js.map +1 -0
- package/out/packages/analyze-query/src/bin-analyze.js +282 -0
- package/out/packages/analyze-query/src/bin-analyze.js.map +1 -0
- package/out/packages/analyze-query/src/bin-transform.js.map +1 -0
- package/out/packages/ast-to-zql/src/ast-to-zql.js.map +1 -0
- package/out/packages/ast-to-zql/src/bin.js.map +1 -0
- package/out/packages/ast-to-zql/src/format.js.map +1 -0
- package/out/packages/datadog/src/datadog-log-sink.js.map +1 -0
- package/out/packages/otel/src/enabled.js.map +1 -0
- package/out/packages/otel/src/log-options.js.map +1 -0
- package/out/packages/otel/src/maybe-time.js.map +1 -0
- package/out/packages/otel/src/span.js.map +1 -0
- package/out/packages/otel/src/version.js.map +1 -0
- package/out/packages/replicache/src/async-iterable-to-array.js.map +1 -0
- package/out/packages/replicache/src/bg-interval.js.map +1 -0
- package/out/packages/replicache/src/btree/diff.js.map +1 -0
- package/out/packages/replicache/src/btree/node.js.map +1 -0
- package/out/packages/replicache/src/btree/read.js.map +1 -0
- package/out/packages/replicache/src/btree/splice.js.map +1 -0
- package/out/packages/replicache/src/btree/write.js +191 -0
- package/out/packages/replicache/src/btree/write.js.map +1 -0
- package/out/packages/replicache/src/call-default-fetch.js.map +1 -0
- package/out/packages/replicache/src/connection-loop-delegates.js.map +1 -0
- package/out/packages/replicache/src/connection-loop.js.map +1 -0
- package/out/packages/replicache/src/cookies.js.map +1 -0
- package/out/packages/replicache/src/dag/chunk.js.map +1 -0
- package/out/packages/replicache/src/dag/gc.js.map +1 -0
- package/out/packages/replicache/src/dag/key.js.map +1 -0
- package/out/packages/replicache/src/dag/lazy-store.js.map +1 -0
- package/out/packages/replicache/src/dag/store-impl.js +157 -0
- package/out/packages/replicache/src/dag/store-impl.js.map +1 -0
- package/out/packages/replicache/src/dag/store.js.map +1 -0
- package/out/packages/replicache/src/dag/visitor.js.map +1 -0
- package/out/packages/replicache/src/db/commit.js.map +1 -0
- package/out/packages/replicache/src/db/index.js.map +1 -0
- package/out/packages/replicache/src/db/read.js.map +1 -0
- package/out/packages/replicache/src/db/rebase.js.map +1 -0
- package/out/packages/replicache/src/db/write.js.map +1 -0
- package/out/packages/replicache/src/deleted-clients.js.map +1 -0
- package/out/packages/replicache/src/error-responses.js.map +1 -0
- package/out/packages/replicache/src/frozen-json.js.map +1 -0
- package/out/packages/replicache/src/get-default-puller.js.map +1 -0
- package/out/packages/replicache/src/get-default-pusher.js.map +1 -0
- package/out/packages/replicache/src/get-kv-store-provider.js.map +1 -0
- package/out/packages/replicache/src/hash.js.map +1 -0
- package/out/packages/replicache/src/http-request-info.js.map +1 -0
- package/out/packages/replicache/src/index-defs.js.map +1 -0
- package/out/packages/replicache/src/kv/expo-sqlite/store.js +57 -0
- package/out/packages/replicache/src/kv/expo-sqlite/store.js.map +1 -0
- package/out/packages/replicache/src/kv/idb-store-with-mem-fallback.js.map +1 -0
- package/out/packages/replicache/src/kv/idb-store.js.map +1 -0
- package/out/packages/replicache/src/kv/mem-store.js.map +1 -0
- package/out/packages/replicache/src/kv/op-sqlite/store.js +63 -0
- package/out/packages/replicache/src/kv/op-sqlite/store.js.map +1 -0
- package/out/packages/replicache/src/kv/op-sqlite/types.js.map +1 -0
- package/out/packages/replicache/src/kv/read-impl.js.map +1 -0
- package/out/packages/replicache/src/kv/sqlite-store.js +301 -0
- package/out/packages/replicache/src/kv/sqlite-store.js.map +1 -0
- package/out/packages/replicache/src/kv/throw-if-closed.js +23 -0
- package/out/packages/replicache/src/kv/throw-if-closed.js.map +1 -0
- package/out/packages/replicache/src/kv/write-impl-base.js.map +1 -0
- package/out/packages/replicache/src/kv/write-impl.js.map +1 -0
- package/out/packages/replicache/src/lazy.js.map +1 -0
- package/out/packages/replicache/src/log-options.js.map +1 -0
- package/out/packages/replicache/src/make-idb-name.js.map +1 -0
- package/out/packages/replicache/src/new-client-channel.js.map +1 -0
- package/out/packages/replicache/src/on-persist-channel.js.map +1 -0
- package/out/packages/replicache/src/patch-operation.js.map +1 -0
- package/out/packages/replicache/src/pending-mutations.js.map +1 -0
- package/out/packages/replicache/src/persist/client-gc.js.map +1 -0
- package/out/packages/replicache/src/persist/client-group-gc.js.map +1 -0
- package/out/packages/replicache/src/persist/client-groups.js +150 -0
- package/out/packages/replicache/src/persist/client-groups.js.map +1 -0
- package/out/packages/replicache/src/persist/clients.js +289 -0
- package/out/packages/replicache/src/persist/clients.js.map +1 -0
- package/out/packages/replicache/src/persist/collect-idb-databases.js.map +1 -0
- package/out/packages/replicache/src/persist/gather-mem-only-visitor.js.map +1 -0
- package/out/packages/replicache/src/persist/gather-not-cached-visitor.js.map +1 -0
- package/out/packages/replicache/src/persist/heartbeat.js.map +1 -0
- package/out/packages/replicache/src/persist/idb-databases-store-db-name.js.map +1 -0
- package/out/packages/replicache/src/persist/idb-databases-store.js.map +1 -0
- package/out/packages/replicache/src/persist/make-client-id.js.map +1 -0
- package/out/packages/replicache/src/persist/persist.js +124 -0
- package/out/packages/replicache/src/persist/persist.js.map +1 -0
- package/out/packages/replicache/src/persist/refresh.js.map +1 -0
- package/out/packages/replicache/src/process-scheduler.js.map +1 -0
- package/out/packages/replicache/src/pusher.js.map +1 -0
- package/out/packages/replicache/src/replicache-impl.js.map +1 -0
- package/out/packages/replicache/src/report-error.js.map +1 -0
- package/out/packages/replicache/src/request-idle.js.map +1 -0
- package/out/packages/replicache/src/scan-iterator.js.map +1 -0
- package/out/packages/replicache/src/scan-options.js.map +1 -0
- package/out/packages/replicache/src/set-interval-with-signal.js.map +1 -0
- package/out/packages/replicache/src/subscriptions.js.map +1 -0
- package/out/packages/replicache/src/sync/diff.js.map +1 -0
- package/out/packages/replicache/src/sync/ids.js.map +1 -0
- package/out/packages/replicache/src/sync/patch.js.map +1 -0
- package/out/packages/replicache/src/sync/pull-error.js.map +1 -0
- package/out/packages/replicache/src/sync/pull.js +169 -0
- package/out/packages/replicache/src/sync/pull.js.map +1 -0
- package/out/packages/replicache/src/sync/push.js.map +1 -0
- package/out/packages/replicache/src/sync/request-id.js.map +1 -0
- package/out/packages/replicache/src/sync/sync-head-name.js.map +1 -0
- package/out/packages/replicache/src/to-error.js.map +1 -0
- package/out/packages/replicache/src/transaction-closed-error.js.map +1 -0
- package/out/packages/replicache/src/transactions.js.map +1 -0
- package/out/packages/replicache/src/version.js.map +1 -0
- package/out/packages/replicache/src/with-transactions.js.map +1 -0
- package/out/packages/shared/src/abort-error.js.map +1 -0
- package/out/packages/shared/src/arrays.js.map +1 -0
- package/out/packages/shared/src/asserts.js.map +1 -0
- package/out/packages/shared/src/bigint-json.js.map +1 -0
- package/out/packages/shared/src/binary-search.js.map +1 -0
- package/out/packages/shared/src/broadcast-channel.js.map +1 -0
- package/out/packages/shared/src/browser-env.js.map +1 -0
- package/out/packages/shared/src/btree-set.js.map +1 -0
- package/out/packages/shared/src/cache.js.map +1 -0
- package/out/packages/shared/src/centroid.js.map +1 -0
- package/out/packages/shared/src/config.js.map +1 -0
- package/out/packages/shared/src/custom-key-map.js.map +1 -0
- package/out/packages/shared/src/custom-key-set.js.map +1 -0
- package/out/packages/shared/src/deep-clone.js.map +1 -0
- package/out/packages/shared/src/deep-merge.js.map +1 -0
- package/out/packages/shared/src/document-visible.js.map +1 -0
- package/out/packages/shared/src/dotenv.js.map +1 -0
- package/out/packages/shared/src/error.js.map +1 -0
- package/out/packages/shared/src/has-own.js.map +1 -0
- package/out/packages/shared/src/hash.js.map +1 -0
- package/out/packages/shared/src/iterables.js.map +1 -0
- package/out/packages/shared/src/json-schema.js.map +1 -0
- package/out/packages/shared/src/json.js.map +1 -0
- package/out/packages/shared/src/logging-test-utils.js.map +1 -0
- package/out/packages/shared/src/logging.js.map +1 -0
- package/out/packages/shared/src/map.js +39 -0
- package/out/packages/shared/src/map.js.map +1 -0
- package/out/packages/shared/src/must.js.map +1 -0
- package/out/packages/shared/src/navigator.js.map +1 -0
- package/out/packages/shared/src/object-traversal.js.map +1 -0
- package/out/packages/shared/src/objects.js.map +1 -0
- package/out/packages/shared/src/options.js.map +1 -0
- package/out/packages/shared/src/parse-big-int.js.map +1 -0
- package/out/packages/shared/src/promise-race.js.map +1 -0
- package/out/packages/shared/src/queue.js +120 -0
- package/out/packages/shared/src/queue.js.map +1 -0
- package/out/packages/shared/src/rand.js.map +1 -0
- package/out/packages/shared/src/random-uint64.js.map +1 -0
- package/out/packages/shared/src/random-values.js.map +1 -0
- package/out/packages/shared/src/record-proxy.js.map +1 -0
- package/out/packages/shared/src/resolved-promises.js.map +1 -0
- package/out/packages/shared/src/ring-buffer.js +109 -0
- package/out/packages/shared/src/ring-buffer.js.map +1 -0
- package/out/packages/shared/src/sentinels.js.map +1 -0
- package/out/packages/shared/src/set-utils.js.map +1 -0
- package/out/packages/shared/src/size-of-value.js.map +1 -0
- package/out/packages/shared/src/sleep.js.map +1 -0
- package/out/packages/shared/src/sorted-entries.js.map +1 -0
- package/out/packages/shared/src/string-compare.js.map +1 -0
- package/out/packages/shared/src/subscribable.js.map +1 -0
- package/out/packages/shared/src/tdigest-schema.js.map +1 -0
- package/out/packages/shared/src/tdigest.js.map +1 -0
- package/out/packages/shared/src/valita.js +172 -0
- package/out/packages/shared/src/valita.js.map +1 -0
- package/out/packages/z2s/src/compiler.js.map +1 -0
- package/out/packages/z2s/src/sql.js.map +1 -0
- package/out/packages/zero/package.js +205 -0
- package/out/packages/zero/package.js.map +1 -0
- package/out/packages/zero-cache/src/auth/auth.js.map +1 -0
- package/out/packages/zero-cache/src/auth/jwt.js.map +1 -0
- package/out/packages/zero-cache/src/auth/load-permissions.js.map +1 -0
- package/out/packages/zero-cache/src/auth/read-authorizer.js.map +1 -0
- package/out/packages/zero-cache/src/auth/write-authorizer.js.map +1 -0
- package/out/packages/zero-cache/src/config/network.js.map +1 -0
- package/out/packages/zero-cache/src/config/normalize.js.map +1 -0
- package/out/packages/zero-cache/src/config/server-context.js.map +1 -0
- package/out/packages/zero-cache/src/config/zero-config.js +921 -0
- package/out/packages/zero-cache/src/config/zero-config.js.map +1 -0
- package/out/packages/zero-cache/src/custom/fetch.js.map +1 -0
- package/out/packages/zero-cache/src/custom-queries/transform-query.js.map +1 -0
- package/out/packages/zero-cache/src/db/create.js.map +1 -0
- package/out/packages/zero-cache/src/db/delete-lite-db.js.map +1 -0
- package/out/packages/zero-cache/src/db/lite-tables.js.map +1 -0
- package/out/packages/zero-cache/src/db/migration-lite.js +166 -0
- package/out/packages/zero-cache/src/db/migration-lite.js.map +1 -0
- package/out/packages/zero-cache/src/db/migration.js +139 -0
- package/out/packages/zero-cache/src/db/migration.js.map +1 -0
- package/out/packages/zero-cache/src/db/mode-enum.js.map +1 -0
- package/out/packages/zero-cache/src/db/pg-copy-binary.js.map +1 -0
- package/out/packages/zero-cache/src/db/pg-copy.js.map +1 -0
- package/out/packages/zero-cache/src/db/pg-to-lite.js.map +1 -0
- package/out/packages/zero-cache/src/db/pg-type-parser.js.map +1 -0
- package/out/packages/zero-cache/src/db/run-transaction.js.map +1 -0
- package/out/packages/zero-cache/src/db/specs.js.map +1 -0
- package/out/packages/zero-cache/src/db/statements.js.map +1 -0
- package/out/packages/zero-cache/src/db/transaction-pool.js.map +1 -0
- package/out/packages/zero-cache/src/db/warmup.js.map +1 -0
- package/out/packages/zero-cache/src/observability/events.js.map +1 -0
- package/out/packages/zero-cache/src/observability/metrics.js.map +1 -0
- package/out/packages/zero-cache/src/scripts/decommission.js.map +1 -0
- package/out/packages/zero-cache/src/scripts/deploy-permissions.js.map +1 -0
- package/out/packages/zero-cache/src/scripts/permissions.js.map +1 -0
- package/out/packages/zero-cache/src/server/anonymous-otel-start.js +306 -0
- package/out/packages/zero-cache/src/server/anonymous-otel-start.js.map +1 -0
- package/out/packages/zero-cache/src/server/inspector-delegate.js.map +1 -0
- package/out/packages/zero-cache/src/server/logging.js.map +1 -0
- package/out/packages/zero-cache/src/server/otel-diag-logger.js.map +1 -0
- package/out/packages/zero-cache/src/server/otel-log-sink.js.map +1 -0
- package/out/packages/zero-cache/src/server/otel-start.js +53 -0
- package/out/packages/zero-cache/src/server/otel-start.js.map +1 -0
- package/out/packages/zero-cache/src/server/priority-op.js.map +1 -0
- package/out/packages/zero-cache/src/server/runner/main.js +11 -0
- package/out/packages/zero-cache/src/server/runner/main.js.map +1 -0
- package/out/packages/zero-cache/src/server/runner/run-worker.js.map +1 -0
- package/out/packages/zero-cache/src/server/runner/runtime.js.map +1 -0
- package/out/packages/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -0
- package/out/packages/zero-cache/src/server/worker-dispatcher.js.map +1 -0
- package/out/packages/zero-cache/src/server/worker-urls.js.map +1 -0
- package/out/packages/zero-cache/src/services/analyze.js +72 -0
- package/out/packages/zero-cache/src/services/analyze.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/common/backfill-manager.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/common/change-stream-multiplexer.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/common/replica-schema.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/custom/change-source.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/backfill-metadata.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/backfill-stream.js +197 -0
- package/out/packages/zero-cache/src/services/change-source/pg/backfill-stream.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/change-source.js +929 -0
- package/out/packages/zero-cache/src/services/change-source/pg/change-source.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/decommission.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/initial-sync.js +553 -0
- package/out/packages/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/lsn.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/replication-slots.js +162 -0
- package/out/packages/zero-cache/src/services/change-source/pg/replication-slots.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/schema/shard.js +330 -0
- package/out/packages/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/protocol/current/control.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/protocol/current/data.js +194 -0
- package/out/packages/zero-cache/src/services/change-source/protocol/current/data.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/protocol/current/downstream.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/protocol/current/json.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/protocol/current/path.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/protocol/current/status.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/protocol/current/upstream.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-source/protocol/current.js +56 -0
- package/out/packages/zero-cache/src/services/change-source/protocol/current.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-streamer/backup-monitor.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-streamer/broadcast.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-streamer/forwarder.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-streamer/replica-monitor.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-streamer/schema/init.js +70 -0
- package/out/packages/zero-cache/src/services/change-streamer/schema/init.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-streamer/schema/tables.js +191 -0
- package/out/packages/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-streamer/snapshot.js +42 -0
- package/out/packages/zero-cache/src/services/change-streamer/snapshot.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-streamer/storer.js.map +1 -0
- package/out/packages/zero-cache/src/services/change-streamer/subscriber.js.map +1 -0
- package/out/packages/zero-cache/src/services/heapz.js.map +1 -0
- package/out/packages/zero-cache/src/services/http-service.js.map +1 -0
- package/out/packages/zero-cache/src/services/life-cycle.js +200 -0
- package/out/packages/zero-cache/src/services/life-cycle.js.map +1 -0
- package/out/packages/zero-cache/src/services/limiter/sliding-window-limiter.js.map +1 -0
- package/out/packages/zero-cache/src/services/litestream/commands.js.map +1 -0
- package/out/packages/zero-cache/src/services/mutagen/error.js.map +1 -0
- package/out/packages/zero-cache/src/services/mutagen/mutagen.js.map +1 -0
- package/out/packages/zero-cache/src/services/mutagen/pusher.js.map +1 -0
- package/out/packages/zero-cache/src/services/replicator/change-processor.js.map +1 -0
- package/out/packages/zero-cache/src/services/replicator/incremental-sync.js.map +1 -0
- package/out/packages/zero-cache/src/services/replicator/notifier.js.map +1 -0
- package/out/packages/zero-cache/src/services/replicator/replication-status.js.map +1 -0
- package/out/packages/zero-cache/src/services/replicator/replicator.js.map +1 -0
- package/out/packages/zero-cache/src/services/replicator/reporter/recorder.js.map +1 -0
- package/out/packages/zero-cache/src/services/replicator/reporter/report-schema.js.map +1 -0
- package/out/packages/zero-cache/src/services/replicator/schema/change-log.js.map +1 -0
- package/out/packages/zero-cache/src/services/replicator/schema/column-metadata.js.map +1 -0
- package/out/packages/zero-cache/src/services/replicator/schema/constants.js.map +1 -0
- package/out/packages/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -0
- package/out/packages/zero-cache/src/services/replicator/schema/table-metadata.js.map +1 -0
- package/out/packages/zero-cache/src/services/replicator/write-worker-client.js.map +1 -0
- package/out/packages/zero-cache/src/services/replicator/write-worker.js.map +1 -0
- package/out/packages/zero-cache/src/services/run-ast.js +88 -0
- package/out/packages/zero-cache/src/services/run-ast.js.map +1 -0
- package/out/packages/zero-cache/src/services/runner.js.map +1 -0
- package/out/packages/zero-cache/src/services/running-state.js +139 -0
- package/out/packages/zero-cache/src/services/running-state.js.map +1 -0
- package/out/packages/zero-cache/src/services/shadow-sync/shadow-sync-service.js.map +1 -0
- package/out/packages/zero-cache/src/services/statz.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/active-users-gauge.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/client-handler.js +270 -0
- package/out/packages/zero-cache/src/services/view-syncer/client-handler.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/client-schema.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/connection-context-manager.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/cvr-purger.js +110 -0
- package/out/packages/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/cvr.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/inspect-handler.js +102 -0
- package/out/packages/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/pipeline-driver.js +628 -0
- package/out/packages/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/row-set-signature.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/schema/init.js +142 -0
- package/out/packages/zero-cache/src/services/view-syncer/schema/init.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/schema/types.js +278 -0
- package/out/packages/zero-cache/src/services/view-syncer/schema/types.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/tracer.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/ttl-clock.js.map +1 -0
- package/out/packages/zero-cache/src/services/view-syncer/view-syncer.js +1245 -0
- package/out/packages/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -0
- package/out/packages/zero-cache/src/types/configuration-error.js +11 -0
- package/out/packages/zero-cache/src/types/configuration-error.js.map +1 -0
- package/out/packages/zero-cache/src/types/error-with-level.js.map +1 -0
- package/out/packages/zero-cache/src/types/http.js.map +1 -0
- package/out/packages/zero-cache/src/types/lexi-version.js.map +1 -0
- package/out/packages/zero-cache/src/types/lite.js.map +1 -0
- package/out/packages/zero-cache/src/types/names.js.map +1 -0
- package/out/packages/zero-cache/src/types/pg-data-type.js.map +1 -0
- package/out/packages/zero-cache/src/types/pg-types.js.map +1 -0
- package/out/packages/zero-cache/src/types/pg-versions.js.map +1 -0
- package/out/packages/zero-cache/src/types/pg.js +222 -0
- package/out/packages/zero-cache/src/types/pg.js.map +1 -0
- package/out/packages/zero-cache/src/types/processes.js.map +1 -0
- package/out/packages/zero-cache/src/types/profiler.js.map +1 -0
- package/out/packages/zero-cache/src/types/row-key.js.map +1 -0
- package/out/packages/zero-cache/src/types/shards.js.map +1 -0
- package/out/packages/zero-cache/src/types/sql.js.map +1 -0
- package/out/packages/zero-cache/src/types/state-version.js.map +1 -0
- package/out/packages/zero-cache/src/types/streams.js.map +1 -0
- package/out/packages/zero-cache/src/types/strings.js.map +1 -0
- package/out/packages/zero-cache/src/types/subscription.js.map +1 -0
- package/out/packages/zero-cache/src/types/timeout.js.map +1 -0
- package/out/packages/zero-cache/src/types/url-params.js.map +1 -0
- package/out/packages/zero-cache/src/types/websocket-handoff.js.map +1 -0
- package/out/packages/zero-cache/src/types/ws.js.map +1 -0
- package/out/packages/zero-cache/src/workers/connect-params.js.map +1 -0
- package/out/packages/zero-cache/src/workers/connection.js.map +1 -0
- package/out/packages/zero-cache/src/workers/mutator.js.map +1 -0
- package/out/packages/zero-cache/src/workers/replicator.js.map +1 -0
- package/out/packages/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -0
- package/out/packages/zero-cache/src/workers/syncer.js.map +1 -0
- package/out/packages/zero-client/src/client/active-clients-manager.js.map +1 -0
- package/out/packages/zero-client/src/client/client-error-kind-enum.js.map +1 -0
- package/out/packages/zero-client/src/client/connection-manager.js +296 -0
- package/out/packages/zero-client/src/client/connection-manager.js.map +1 -0
- package/out/packages/zero-client/src/client/connection-status-enum.js +20 -0
- package/out/packages/zero-client/src/client/connection-status-enum.js.map +1 -0
- package/out/packages/zero-client/src/client/connection.js.map +1 -0
- package/out/packages/zero-client/src/client/context.js.map +1 -0
- package/out/packages/zero-client/src/client/crud-impl.js +61 -0
- package/out/packages/zero-client/src/client/crud-impl.js.map +1 -0
- package/out/packages/zero-client/src/client/crud.js.map +1 -0
- package/out/packages/zero-client/src/client/custom.js +64 -0
- package/out/packages/zero-client/src/client/custom.js.map +1 -0
- package/out/packages/zero-client/src/client/delete-clients-manager.js.map +1 -0
- package/out/packages/zero-client/src/client/enable-analytics.js.map +1 -0
- package/out/packages/zero-client/src/client/error.js.map +1 -0
- package/out/packages/zero-client/src/client/http-string.js.map +1 -0
- package/out/packages/zero-client/src/client/inspector/client-group.js.map +1 -0
- package/out/packages/zero-client/src/client/inspector/client.js.map +1 -0
- package/out/packages/zero-client/src/client/inspector/html-dialog-prompt.js.map +1 -0
- package/out/packages/zero-client/src/client/inspector/inspector.js.map +1 -0
- package/out/packages/zero-client/src/client/inspector/lazy-inspector.js.map +1 -0
- package/out/packages/zero-client/src/client/inspector/query.js.map +1 -0
- package/out/packages/zero-client/src/client/ivm-branch.js.map +1 -0
- package/out/packages/zero-client/src/client/keys.js.map +1 -0
- package/out/packages/zero-client/src/client/log-options.js.map +1 -0
- package/out/packages/zero-client/src/client/make-mutate-property.js.map +1 -0
- package/out/packages/zero-client/src/client/make-replicache-mutators.js.map +1 -0
- package/out/packages/zero-client/src/client/metric-name-enum.js.map +1 -0
- package/out/packages/zero-client/src/client/metrics.js.map +1 -0
- package/out/packages/zero-client/src/client/mutation-tracker.js.map +1 -0
- package/out/packages/zero-client/src/client/mutator-proxy.js.map +1 -0
- package/out/packages/zero-client/src/client/options.js.map +1 -0
- package/out/packages/zero-client/src/client/query-manager.js.map +1 -0
- package/out/packages/zero-client/src/client/reload-error-handler.js.map +1 -0
- package/out/packages/zero-client/src/client/server-option.js.map +1 -0
- package/out/packages/zero-client/src/client/update-needed-reason-type-enum.js +27 -0
- package/out/packages/zero-client/src/client/update-needed-reason-type-enum.js.map +1 -0
- package/out/packages/zero-client/src/client/version.js +9 -0
- package/out/packages/zero-client/src/client/version.js.map +1 -0
- package/out/packages/zero-client/src/client/zero-poke-handler.js.map +1 -0
- package/out/packages/zero-client/src/client/zero-rep.js.map +1 -0
- package/out/packages/zero-client/src/client/zero.js +1469 -0
- package/out/packages/zero-client/src/client/zero.js.map +1 -0
- package/out/packages/zero-client/src/util/nanoid.js.map +1 -0
- package/out/packages/zero-protocol/src/analyze-query-result.js +123 -0
- package/out/packages/zero-protocol/src/analyze-query-result.js.map +1 -0
- package/out/packages/zero-protocol/src/application-error.js.map +1 -0
- package/out/packages/zero-protocol/src/ast.js.map +1 -0
- package/out/packages/zero-protocol/src/change-desired-queries.js +13 -0
- package/out/packages/zero-protocol/src/change-desired-queries.js.map +1 -0
- package/out/packages/zero-protocol/src/client-schema.js.map +1 -0
- package/out/packages/zero-protocol/src/close-connection.js.map +1 -0
- package/out/packages/zero-protocol/src/connect.js +54 -0
- package/out/packages/zero-protocol/src/connect.js.map +1 -0
- package/out/packages/zero-protocol/src/custom-queries.js.map +1 -0
- package/out/packages/zero-protocol/src/data.js.map +1 -0
- package/out/packages/zero-protocol/src/delete-clients.js.map +1 -0
- package/out/packages/zero-protocol/src/down.js.map +1 -0
- package/out/packages/zero-protocol/src/error-kind-enum.js.map +1 -0
- package/out/packages/zero-protocol/src/error-origin-enum.js.map +1 -0
- package/out/packages/zero-protocol/src/error-reason-enum.js.map +1 -0
- package/out/packages/zero-protocol/src/error.js +91 -0
- package/out/packages/zero-protocol/src/error.js.map +1 -0
- package/out/packages/zero-protocol/src/inspect-down.js.map +1 -0
- package/out/packages/zero-protocol/src/inspect-up.js +35 -0
- package/out/packages/zero-protocol/src/inspect-up.js.map +1 -0
- package/out/packages/zero-protocol/src/mutate-server.js.map +1 -0
- package/out/packages/zero-protocol/src/mutation-id.js.map +1 -0
- package/out/packages/zero-protocol/src/mutation-type-enum.js.map +1 -0
- package/out/packages/zero-protocol/src/mutation.js.map +1 -0
- package/out/packages/zero-protocol/src/mutations-patch.js.map +1 -0
- package/out/packages/zero-protocol/src/ping.js.map +1 -0
- package/out/packages/zero-protocol/src/poke.js +63 -0
- package/out/packages/zero-protocol/src/poke.js.map +1 -0
- package/out/packages/zero-protocol/src/pong.js.map +1 -0
- package/out/packages/zero-protocol/src/primary-key.js.map +1 -0
- package/out/packages/zero-protocol/src/protocol-version.js.map +1 -0
- package/out/packages/zero-protocol/src/pull.js.map +1 -0
- package/out/packages/zero-protocol/src/push.js +76 -0
- package/out/packages/zero-protocol/src/push.js.map +1 -0
- package/out/packages/zero-protocol/src/queries-patch.js.map +1 -0
- package/out/packages/zero-protocol/src/query-hash.js.map +1 -0
- package/out/packages/zero-protocol/src/query-server.js.map +1 -0
- package/out/packages/zero-protocol/src/row-patch.js.map +1 -0
- package/out/packages/zero-protocol/src/up.js.map +1 -0
- package/out/packages/zero-protocol/src/update-auth.js.map +1 -0
- package/out/packages/zero-protocol/src/version.js.map +1 -0
- package/out/packages/zero-react/src/use-connection-state.js +19 -0
- package/out/packages/zero-react/src/use-connection-state.js.map +1 -0
- package/out/packages/zero-react/src/use-query.js +301 -0
- package/out/packages/zero-react/src/use-query.js.map +1 -0
- package/out/packages/zero-react/src/use-zero-online.js +22 -0
- package/out/packages/zero-react/src/use-zero-online.js.map +1 -0
- package/out/packages/zero-react/src/zero-provider.js +90 -0
- package/out/packages/zero-react/src/zero-provider.js.map +1 -0
- package/out/packages/zero-schema/src/builder/relationship-builder.js.map +1 -0
- package/out/packages/zero-schema/src/builder/schema-builder.js.map +1 -0
- package/out/packages/zero-schema/src/builder/table-builder.js.map +1 -0
- package/out/packages/zero-schema/src/compiled-permissions.js.map +1 -0
- package/out/packages/zero-schema/src/name-mapper.js.map +1 -0
- package/out/packages/zero-schema/src/permissions.js.map +1 -0
- package/out/packages/zero-schema/src/schema-config.js.map +1 -0
- package/out/packages/zero-server/src/adapters/drizzle.js.map +1 -0
- package/out/packages/zero-server/src/adapters/kysely.js.map +1 -0
- package/out/packages/zero-server/src/adapters/pg.js +83 -0
- package/out/packages/zero-server/src/adapters/pg.js.map +1 -0
- package/out/packages/zero-server/src/adapters/postgresjs.js.map +1 -0
- package/out/packages/zero-server/src/adapters/prisma.js.map +1 -0
- package/out/packages/zero-server/src/custom.js +215 -0
- package/out/packages/zero-server/src/custom.js.map +1 -0
- package/out/packages/zero-server/src/logging.js.map +1 -0
- package/out/packages/zero-server/src/pg-query-executor.js.map +1 -0
- package/out/packages/zero-server/src/process-mutations.js.map +1 -0
- package/out/packages/zero-server/src/push-processor.js.map +1 -0
- package/out/packages/zero-server/src/queries/process-queries.js.map +1 -0
- package/out/packages/zero-server/src/schema.js.map +1 -0
- package/out/packages/zero-server/src/zql-database.js.map +1 -0
- package/out/packages/zero-solid/src/solid-view.js +145 -0
- package/out/packages/zero-solid/src/solid-view.js.map +1 -0
- package/out/packages/zero-solid/src/use-connection-state.js +21 -0
- package/out/packages/zero-solid/src/use-connection-state.js.map +1 -0
- package/out/packages/zero-solid/src/use-query.js +64 -0
- package/out/packages/zero-solid/src/use-query.js.map +1 -0
- package/out/packages/zero-solid/src/use-zero-online.js +21 -0
- package/out/packages/zero-solid/src/use-zero-online.js.map +1 -0
- package/out/packages/zero-solid/src/use-zero.js +93 -0
- package/out/packages/zero-solid/src/use-zero.js.map +1 -0
- package/out/packages/zero-types/src/format.js.map +1 -0
- package/out/packages/zero-types/src/name-mapper.js.map +1 -0
- package/out/packages/zql/src/builder/builder.js +381 -0
- package/out/packages/zql/src/builder/builder.js.map +1 -0
- package/out/packages/zql/src/builder/debug-delegate.js +81 -0
- package/out/packages/zql/src/builder/debug-delegate.js.map +1 -0
- package/out/packages/zql/src/builder/filter.js.map +1 -0
- package/out/packages/zql/src/builder/like.js.map +1 -0
- package/out/packages/zql/src/error.js.map +1 -0
- package/out/packages/zql/src/ivm/array-view.js.map +1 -0
- package/out/packages/zql/src/ivm/cap.js +205 -0
- package/out/packages/zql/src/ivm/cap.js.map +1 -0
- package/out/packages/zql/src/ivm/change.js.map +1 -0
- package/out/packages/zql/src/ivm/constraint.js +82 -0
- package/out/packages/zql/src/ivm/constraint.js.map +1 -0
- package/out/packages/zql/src/ivm/data.js.map +1 -0
- package/out/packages/zql/src/ivm/exists.js.map +1 -0
- package/out/packages/zql/src/ivm/fan-in.js.map +1 -0
- package/out/packages/zql/src/ivm/fan-out.js.map +1 -0
- package/out/packages/zql/src/ivm/filter-operators.js.map +1 -0
- package/out/packages/zql/src/ivm/filter-push.js.map +1 -0
- package/out/packages/zql/src/ivm/filter.js.map +1 -0
- package/out/packages/zql/src/ivm/flipped-join.js +307 -0
- package/out/packages/zql/src/ivm/flipped-join.js.map +1 -0
- package/out/packages/zql/src/ivm/join-utils.js.map +1 -0
- package/out/packages/zql/src/ivm/join.js.map +1 -0
- package/out/packages/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -0
- package/out/packages/zql/src/ivm/memory-source.js +612 -0
- package/out/packages/zql/src/ivm/memory-source.js.map +1 -0
- package/out/packages/zql/src/ivm/memory-storage.js.map +1 -0
- package/out/packages/zql/src/ivm/operator.js.map +1 -0
- package/out/packages/zql/src/ivm/push-accumulated.js.map +1 -0
- package/out/packages/zql/src/ivm/skip-yields.js.map +1 -0
- package/out/packages/zql/src/ivm/skip.js.map +1 -0
- package/out/packages/zql/src/ivm/source.js.map +1 -0
- package/out/packages/zql/src/ivm/stream.js.map +1 -0
- package/out/packages/zql/src/ivm/take.js +410 -0
- package/out/packages/zql/src/ivm/take.js.map +1 -0
- package/out/packages/zql/src/ivm/union-fan-in.js +165 -0
- package/out/packages/zql/src/ivm/union-fan-in.js.map +1 -0
- package/out/packages/zql/src/ivm/union-fan-out.js.map +1 -0
- package/out/packages/zql/src/ivm/view-apply-change.js.map +1 -0
- package/out/packages/zql/src/mutate/crud.js.map +1 -0
- package/out/packages/zql/src/mutate/custom.js.map +1 -0
- package/out/packages/zql/src/mutate/mutator-registry.js.map +1 -0
- package/out/packages/zql/src/mutate/mutator.js.map +1 -0
- package/out/packages/zql/src/planner/planner-builder.js.map +1 -0
- package/out/packages/zql/src/planner/planner-connection.js.map +1 -0
- package/out/packages/zql/src/planner/planner-constraint.js.map +1 -0
- package/out/packages/zql/src/planner/planner-debug.js.map +1 -0
- package/out/packages/zql/src/planner/planner-fan-in.js.map +1 -0
- package/out/packages/zql/src/planner/planner-fan-out.js.map +1 -0
- package/out/packages/zql/src/planner/planner-graph.js.map +1 -0
- package/out/packages/zql/src/planner/planner-join.js +262 -0
- package/out/packages/zql/src/planner/planner-join.js.map +1 -0
- package/out/packages/zql/src/planner/planner-node.js.map +1 -0
- package/out/packages/zql/src/planner/planner-source.js.map +1 -0
- package/out/packages/zql/src/planner/planner-terminus.js.map +1 -0
- package/out/packages/zql/src/query/complete-ordering.js.map +1 -0
- package/out/packages/zql/src/query/create-builder.js.map +1 -0
- package/out/packages/zql/src/query/error.js.map +1 -0
- package/out/packages/zql/src/query/escape-like.js.map +1 -0
- package/out/packages/zql/src/query/expression.js.map +1 -0
- package/out/packages/zql/src/query/measure-push-operator.js.map +1 -0
- package/out/packages/zql/src/query/metrics-delegate.js.map +1 -0
- package/out/packages/zql/src/query/named.js.map +1 -0
- package/out/packages/zql/src/query/query-delegate-base.js.map +1 -0
- package/out/packages/zql/src/query/query-impl.js +290 -0
- package/out/packages/zql/src/query/query-impl.js.map +1 -0
- package/out/packages/zql/src/query/query-internals.js.map +1 -0
- package/out/packages/zql/src/query/query-registry.js.map +1 -0
- package/out/packages/zql/src/query/runnable-query-impl.js.map +1 -0
- package/out/packages/zql/src/query/static-query.js.map +1 -0
- package/out/packages/zql/src/query/ttl.js.map +1 -0
- package/out/packages/zql/src/query/validate-input.js.map +1 -0
- package/out/packages/zqlite/src/database-storage.js.map +1 -0
- package/out/packages/zqlite/src/db.js.map +1 -0
- package/out/packages/zqlite/src/explain-queries.js.map +1 -0
- package/out/packages/zqlite/src/internal/sql-inline.js.map +1 -0
- package/out/packages/zqlite/src/internal/sql.js.map +1 -0
- package/out/packages/zqlite/src/internal/statement-cache.js.map +1 -0
- package/out/packages/zqlite/src/query-builder.js.map +1 -0
- package/out/packages/zqlite/src/query-delegate.js.map +1 -0
- package/out/packages/zqlite/src/resolve-scalar-subqueries.js.map +1 -0
- package/out/packages/zqlite/src/sqlite-cost-model.js.map +1 -0
- package/out/packages/zqlite/src/sqlite-stat-fanout.js.map +1 -0
- package/out/packages/zqlite/src/table-source.js +313 -0
- package/out/packages/zqlite/src/table-source.js.map +1 -0
- package/out/replicache/src/dag/store-impl.d.ts.map +1 -1
- package/out/replicache/src/kv/expo-sqlite/store.d.ts +1 -1
- package/out/replicache/src/kv/expo-sqlite/store.d.ts.map +1 -1
- package/out/replicache/src/kv/op-sqlite/store.d.ts.map +1 -1
- package/out/replicache/src/kv/sqlite-store.d.ts +6 -6
- package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
- package/out/replicache/src/kv/throw-if-closed.d.ts +1 -0
- package/out/replicache/src/kv/throw-if-closed.d.ts.map +1 -1
- package/out/replicache/src/persist/persist.d.ts.map +1 -1
- package/out/replicache/src/sync/pull.d.ts.map +1 -1
- package/out/shared/src/map.d.ts +6 -0
- package/out/shared/src/map.d.ts.map +1 -0
- package/out/shared/src/queue.d.ts.map +1 -1
- package/out/shared/src/ring-buffer.d.ts +32 -0
- package/out/shared/src/ring-buffer.d.ts.map +1 -0
- package/out/zero/src/adapters/drizzle.js +1 -1
- package/out/zero/src/adapters/kysely.js +1 -1
- package/out/zero/src/adapters/pg.js +1 -1
- package/out/zero/src/adapters/postgresjs.js +1 -1
- package/out/zero/src/adapters/prisma.js +1 -1
- package/out/zero/src/analyze-query.js +1 -1
- package/out/zero/src/analyze.js +1 -1
- package/out/zero/src/ast-to-zql.js +1 -1
- package/out/zero/src/bindings.js +11 -11
- package/out/zero/src/build-schema.js.map +1 -1
- package/out/zero/src/change-protocol/v0.js +2 -2
- package/out/zero/src/cli.js +1 -1
- package/out/zero/src/deploy-permissions.js +1 -1
- package/out/zero/src/expo-sqlite.js +2 -2
- package/out/zero/src/op-sqlite.js +2 -2
- package/out/zero/src/pg.js +9 -9
- package/out/zero/src/react-native.js +2 -2
- package/out/zero/src/react.js +5 -5
- package/out/zero/src/server.js +8 -8
- package/out/zero/src/solid.js +5 -5
- package/out/zero/src/sqlite.js +2 -2
- package/out/zero/src/transform-query.js +1 -1
- package/out/zero/src/zero-cache-dev.js +6 -6
- package/out/zero/src/zero-cache-dev.js.map +1 -1
- package/out/zero/src/zero-out.js +5 -5
- package/out/zero/src/zero-out.js.map +1 -1
- package/out/zero/src/zero.js +22 -22
- package/out/zero/src/zqlite.js +5 -5
- package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +38 -32
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/server/main.d.ts.map +1 -1
- package/out/zero-cache/src/server/main.js +15 -13
- package/out/zero-cache/src/server/main.js.map +1 -1
- package/out/zero-cache/src/server/mutator.js +12 -10
- package/out/zero-cache/src/server/mutator.js.map +1 -1
- package/out/zero-cache/src/server/reaper.d.ts.map +1 -1
- package/out/zero-cache/src/server/reaper.js +18 -16
- package/out/zero-cache/src/server/reaper.js.map +1 -1
- package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/server/replicator.js +20 -18
- package/out/zero-cache/src/server/replicator.js.map +1 -1
- package/out/zero-cache/src/server/runner/main.d.ts.map +1 -1
- package/out/zero-cache/src/server/shadow-syncer.js +16 -13
- package/out/zero-cache/src/server/shadow-syncer.js.map +1 -1
- package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/server/syncer.js +36 -34
- package/out/zero-cache/src/server/syncer.js.map +1 -1
- package/out/zero-cache/src/server/write-worker.js +1 -1
- package/out/zero-cache/src/services/analyze.d.ts.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/initial-sync.d.ts +8 -2
- package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
- package/out/zero-cache/src/services/life-cycle.d.ts +1 -1
- package/out/zero-cache/src/services/life-cycle.d.ts.map +1 -1
- package/out/zero-cache/src/services/run-ast.d.ts.map +1 -1
- package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
- package/out/zero-cache/src/types/configuration-error.d.ts +4 -0
- package/out/zero-cache/src/types/configuration-error.d.ts.map +1 -0
- package/out/zero-cache/src/types/pg.d.ts +2 -0
- package/out/zero-cache/src/types/pg.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zql/src/builder/builder.d.ts.map +1 -1
- package/out/zql/src/builder/debug-delegate.d.ts +5 -0
- package/out/zql/src/builder/debug-delegate.d.ts.map +1 -1
- package/out/zql/src/ivm/cap.d.ts +32 -0
- package/out/zql/src/ivm/cap.d.ts.map +1 -0
- package/out/zql/src/ivm/flipped-join.d.ts +4 -8
- package/out/zql/src/ivm/flipped-join.d.ts.map +1 -1
- package/out/zql/src/ivm/operator.d.ts +1 -1
- package/out/zql/src/ivm/schema.d.ts +0 -8
- package/out/zql/src/ivm/schema.d.ts.map +1 -1
- package/out/zql/src/ivm/union-fan-in.d.ts.map +1 -1
- package/out/zql/src/mutate/mutator.d.ts +12 -3
- package/out/zql/src/mutate/mutator.d.ts.map +1 -1
- package/out/zql/src/planner/planner-join.d.ts.map +1 -1
- package/out/zql/src/query/query-registry.d.ts +10 -3
- package/out/zql/src/query/query-registry.d.ts.map +1 -1
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/package.json +23 -23
- package/out/_virtual/_@oxc-project_runtime@0.122.0/helpers/usingCtx.js +0 -57
- package/out/analyze-query/src/analyze-cli.js.map +0 -1
- package/out/analyze-query/src/bin-analyze.js +0 -277
- package/out/analyze-query/src/bin-analyze.js.map +0 -1
- package/out/analyze-query/src/bin-transform.js.map +0 -1
- package/out/ast-to-zql/src/ast-to-zql.js.map +0 -1
- package/out/ast-to-zql/src/bin.js.map +0 -1
- package/out/ast-to-zql/src/format.js.map +0 -1
- package/out/datadog/src/datadog-log-sink.js.map +0 -1
- package/out/otel/src/enabled.js.map +0 -1
- package/out/otel/src/log-options.js.map +0 -1
- package/out/otel/src/maybe-time.js.map +0 -1
- package/out/otel/src/span.js.map +0 -1
- package/out/otel/src/version.js.map +0 -1
- package/out/replicache/src/async-iterable-to-array.js.map +0 -1
- package/out/replicache/src/bg-interval.js.map +0 -1
- package/out/replicache/src/btree/diff.js.map +0 -1
- package/out/replicache/src/btree/node.js.map +0 -1
- package/out/replicache/src/btree/read.js.map +0 -1
- package/out/replicache/src/btree/splice.js.map +0 -1
- package/out/replicache/src/btree/write.js +0 -188
- package/out/replicache/src/btree/write.js.map +0 -1
- package/out/replicache/src/call-default-fetch.js.map +0 -1
- package/out/replicache/src/connection-loop-delegates.js.map +0 -1
- package/out/replicache/src/connection-loop.js.map +0 -1
- package/out/replicache/src/cookies.js.map +0 -1
- package/out/replicache/src/dag/chunk.js.map +0 -1
- package/out/replicache/src/dag/gc.js.map +0 -1
- package/out/replicache/src/dag/key.js.map +0 -1
- package/out/replicache/src/dag/lazy-store.js.map +0 -1
- package/out/replicache/src/dag/store-impl.js +0 -152
- package/out/replicache/src/dag/store-impl.js.map +0 -1
- package/out/replicache/src/dag/store.js.map +0 -1
- package/out/replicache/src/dag/visitor.js.map +0 -1
- package/out/replicache/src/db/commit.js.map +0 -1
- package/out/replicache/src/db/index.js.map +0 -1
- package/out/replicache/src/db/read.js.map +0 -1
- package/out/replicache/src/db/rebase.js.map +0 -1
- package/out/replicache/src/db/write.js.map +0 -1
- package/out/replicache/src/deleted-clients.js.map +0 -1
- package/out/replicache/src/error-responses.js.map +0 -1
- package/out/replicache/src/frozen-json.js.map +0 -1
- package/out/replicache/src/get-default-puller.js.map +0 -1
- package/out/replicache/src/get-default-pusher.js.map +0 -1
- package/out/replicache/src/get-kv-store-provider.js.map +0 -1
- package/out/replicache/src/hash.js.map +0 -1
- package/out/replicache/src/http-request-info.js.map +0 -1
- package/out/replicache/src/index-defs.js.map +0 -1
- package/out/replicache/src/kv/expo-sqlite/store.js +0 -58
- package/out/replicache/src/kv/expo-sqlite/store.js.map +0 -1
- package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +0 -1
- package/out/replicache/src/kv/idb-store.js.map +0 -1
- package/out/replicache/src/kv/mem-store.js.map +0 -1
- package/out/replicache/src/kv/op-sqlite/store.js +0 -63
- package/out/replicache/src/kv/op-sqlite/store.js.map +0 -1
- package/out/replicache/src/kv/op-sqlite/types.js.map +0 -1
- package/out/replicache/src/kv/read-impl.js.map +0 -1
- package/out/replicache/src/kv/sqlite-store.js +0 -216
- package/out/replicache/src/kv/sqlite-store.js.map +0 -1
- package/out/replicache/src/kv/throw-if-closed.js +0 -26
- package/out/replicache/src/kv/throw-if-closed.js.map +0 -1
- package/out/replicache/src/kv/write-impl-base.js.map +0 -1
- package/out/replicache/src/kv/write-impl.js.map +0 -1
- package/out/replicache/src/lazy.js.map +0 -1
- package/out/replicache/src/log-options.js.map +0 -1
- package/out/replicache/src/make-idb-name.js.map +0 -1
- package/out/replicache/src/new-client-channel.js.map +0 -1
- package/out/replicache/src/on-persist-channel.js.map +0 -1
- package/out/replicache/src/patch-operation.js.map +0 -1
- package/out/replicache/src/pending-mutations.js.map +0 -1
- package/out/replicache/src/persist/client-gc.js.map +0 -1
- package/out/replicache/src/persist/client-group-gc.js.map +0 -1
- package/out/replicache/src/persist/client-groups.js +0 -110
- package/out/replicache/src/persist/client-groups.js.map +0 -1
- package/out/replicache/src/persist/clients.js +0 -261
- package/out/replicache/src/persist/clients.js.map +0 -1
- package/out/replicache/src/persist/collect-idb-databases.js.map +0 -1
- package/out/replicache/src/persist/gather-mem-only-visitor.js.map +0 -1
- package/out/replicache/src/persist/gather-not-cached-visitor.js.map +0 -1
- package/out/replicache/src/persist/heartbeat.js.map +0 -1
- package/out/replicache/src/persist/idb-databases-store-db-name.js.map +0 -1
- package/out/replicache/src/persist/idb-databases-store.js.map +0 -1
- package/out/replicache/src/persist/make-client-id.js.map +0 -1
- package/out/replicache/src/persist/persist.js +0 -122
- package/out/replicache/src/persist/persist.js.map +0 -1
- package/out/replicache/src/persist/refresh.js.map +0 -1
- package/out/replicache/src/process-scheduler.js.map +0 -1
- package/out/replicache/src/pusher.js.map +0 -1
- package/out/replicache/src/replicache-impl.js.map +0 -1
- package/out/replicache/src/report-error.js.map +0 -1
- package/out/replicache/src/request-idle.js.map +0 -1
- package/out/replicache/src/scan-iterator.js.map +0 -1
- package/out/replicache/src/scan-options.js.map +0 -1
- package/out/replicache/src/set-interval-with-signal.js.map +0 -1
- package/out/replicache/src/subscriptions.js.map +0 -1
- package/out/replicache/src/sync/diff.js.map +0 -1
- package/out/replicache/src/sync/ids.js.map +0 -1
- package/out/replicache/src/sync/patch.js.map +0 -1
- package/out/replicache/src/sync/pull-error.js.map +0 -1
- package/out/replicache/src/sync/pull.js +0 -166
- package/out/replicache/src/sync/pull.js.map +0 -1
- package/out/replicache/src/sync/push.js.map +0 -1
- package/out/replicache/src/sync/request-id.js.map +0 -1
- package/out/replicache/src/sync/sync-head-name.js.map +0 -1
- package/out/replicache/src/to-error.js.map +0 -1
- package/out/replicache/src/transaction-closed-error.js.map +0 -1
- package/out/replicache/src/transactions.js.map +0 -1
- package/out/replicache/src/version.js.map +0 -1
- package/out/replicache/src/with-transactions.js.map +0 -1
- package/out/shared/src/abort-error.js.map +0 -1
- package/out/shared/src/arrays.js.map +0 -1
- package/out/shared/src/asserts.js.map +0 -1
- package/out/shared/src/bigint-json.js.map +0 -1
- package/out/shared/src/binary-search.js.map +0 -1
- package/out/shared/src/broadcast-channel.js.map +0 -1
- package/out/shared/src/browser-env.js.map +0 -1
- package/out/shared/src/btree-set.js.map +0 -1
- package/out/shared/src/cache.js.map +0 -1
- package/out/shared/src/centroid.js.map +0 -1
- package/out/shared/src/config.js.map +0 -1
- package/out/shared/src/custom-key-map.js.map +0 -1
- package/out/shared/src/custom-key-set.js.map +0 -1
- package/out/shared/src/deep-clone.js.map +0 -1
- package/out/shared/src/deep-merge.js.map +0 -1
- package/out/shared/src/document-visible.js.map +0 -1
- package/out/shared/src/dotenv.js.map +0 -1
- package/out/shared/src/error.js.map +0 -1
- package/out/shared/src/has-own.js.map +0 -1
- package/out/shared/src/hash.js.map +0 -1
- package/out/shared/src/iterables.js.map +0 -1
- package/out/shared/src/json-schema.js.map +0 -1
- package/out/shared/src/json.js.map +0 -1
- package/out/shared/src/logging-test-utils.js.map +0 -1
- package/out/shared/src/logging.js.map +0 -1
- package/out/shared/src/must.js.map +0 -1
- package/out/shared/src/navigator.js.map +0 -1
- package/out/shared/src/object-traversal.js.map +0 -1
- package/out/shared/src/objects.js.map +0 -1
- package/out/shared/src/options.js.map +0 -1
- package/out/shared/src/parse-big-int.js.map +0 -1
- package/out/shared/src/promise-race.js.map +0 -1
- package/out/shared/src/queue.js +0 -126
- package/out/shared/src/queue.js.map +0 -1
- package/out/shared/src/rand.js.map +0 -1
- package/out/shared/src/random-uint64.js.map +0 -1
- package/out/shared/src/random-values.js.map +0 -1
- package/out/shared/src/record-proxy.js.map +0 -1
- package/out/shared/src/resolved-promises.js.map +0 -1
- package/out/shared/src/sentinels.js.map +0 -1
- package/out/shared/src/set-utils.js.map +0 -1
- package/out/shared/src/size-of-value.js.map +0 -1
- package/out/shared/src/sleep.js.map +0 -1
- package/out/shared/src/sorted-entries.js.map +0 -1
- package/out/shared/src/string-compare.js.map +0 -1
- package/out/shared/src/subscribable.js.map +0 -1
- package/out/shared/src/tdigest-schema.js.map +0 -1
- package/out/shared/src/tdigest.js.map +0 -1
- package/out/shared/src/valita.js +0 -172
- package/out/shared/src/valita.js.map +0 -1
- package/out/z2s/src/compiler.js.map +0 -1
- package/out/z2s/src/sql.js.map +0 -1
- package/out/zero/package.js +0 -205
- package/out/zero/package.js.map +0 -1
- package/out/zero-cache/src/auth/auth.js.map +0 -1
- package/out/zero-cache/src/auth/jwt.js.map +0 -1
- package/out/zero-cache/src/auth/load-permissions.js.map +0 -1
- package/out/zero-cache/src/auth/read-authorizer.js.map +0 -1
- package/out/zero-cache/src/auth/write-authorizer.js.map +0 -1
- package/out/zero-cache/src/config/network.js.map +0 -1
- package/out/zero-cache/src/config/normalize.js.map +0 -1
- package/out/zero-cache/src/config/server-context.js.map +0 -1
- package/out/zero-cache/src/config/zero-config.js +0 -916
- package/out/zero-cache/src/config/zero-config.js.map +0 -1
- package/out/zero-cache/src/custom/fetch.js.map +0 -1
- package/out/zero-cache/src/custom-queries/transform-query.js.map +0 -1
- package/out/zero-cache/src/db/create.js.map +0 -1
- package/out/zero-cache/src/db/delete-lite-db.js.map +0 -1
- package/out/zero-cache/src/db/lite-tables.js.map +0 -1
- package/out/zero-cache/src/db/migration-lite.js +0 -147
- package/out/zero-cache/src/db/migration-lite.js.map +0 -1
- package/out/zero-cache/src/db/migration.js +0 -120
- package/out/zero-cache/src/db/migration.js.map +0 -1
- package/out/zero-cache/src/db/mode-enum.js.map +0 -1
- package/out/zero-cache/src/db/pg-copy-binary.js.map +0 -1
- package/out/zero-cache/src/db/pg-copy.js.map +0 -1
- package/out/zero-cache/src/db/pg-to-lite.js.map +0 -1
- package/out/zero-cache/src/db/pg-type-parser.js.map +0 -1
- package/out/zero-cache/src/db/run-transaction.js.map +0 -1
- package/out/zero-cache/src/db/specs.js.map +0 -1
- package/out/zero-cache/src/db/statements.js.map +0 -1
- package/out/zero-cache/src/db/transaction-pool.js.map +0 -1
- package/out/zero-cache/src/db/warmup.js.map +0 -1
- package/out/zero-cache/src/observability/events.js.map +0 -1
- package/out/zero-cache/src/observability/metrics.js.map +0 -1
- package/out/zero-cache/src/scripts/decommission.js.map +0 -1
- package/out/zero-cache/src/scripts/deploy-permissions.js.map +0 -1
- package/out/zero-cache/src/scripts/permissions.js.map +0 -1
- package/out/zero-cache/src/server/anonymous-otel-start.js +0 -305
- package/out/zero-cache/src/server/anonymous-otel-start.js.map +0 -1
- package/out/zero-cache/src/server/inspector-delegate.js.map +0 -1
- package/out/zero-cache/src/server/logging.js.map +0 -1
- package/out/zero-cache/src/server/otel-diag-logger.js.map +0 -1
- package/out/zero-cache/src/server/otel-log-sink.js.map +0 -1
- package/out/zero-cache/src/server/otel-start.js +0 -53
- package/out/zero-cache/src/server/otel-start.js.map +0 -1
- package/out/zero-cache/src/server/priority-op.js.map +0 -1
- package/out/zero-cache/src/server/runner/main.js +0 -10
- package/out/zero-cache/src/server/runner/main.js.map +0 -1
- package/out/zero-cache/src/server/runner/run-worker.js.map +0 -1
- package/out/zero-cache/src/server/runner/runtime.js.map +0 -1
- package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +0 -1
- package/out/zero-cache/src/server/worker-dispatcher.js.map +0 -1
- package/out/zero-cache/src/server/worker-urls.js.map +0 -1
- package/out/zero-cache/src/services/analyze.js +0 -69
- package/out/zero-cache/src/services/analyze.js.map +0 -1
- package/out/zero-cache/src/services/change-source/common/backfill-manager.js.map +0 -1
- package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.js.map +0 -1
- package/out/zero-cache/src/services/change-source/common/replica-schema.js.map +0 -1
- package/out/zero-cache/src/services/change-source/custom/change-source.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/backfill-metadata.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/backfill-stream.js +0 -197
- package/out/zero-cache/src/services/change-source/pg/backfill-stream.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.js +0 -929
- package/out/zero-cache/src/services/change-source/pg/change-source.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/decommission.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js +0 -552
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/lsn.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/replication-slots.js +0 -162
- package/out/zero-cache/src/services/change-source/pg/replication-slots.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/schema/shard.js +0 -330
- package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +0 -1
- package/out/zero-cache/src/services/change-source/protocol/current/control.js.map +0 -1
- package/out/zero-cache/src/services/change-source/protocol/current/data.js +0 -192
- package/out/zero-cache/src/services/change-source/protocol/current/data.js.map +0 -1
- package/out/zero-cache/src/services/change-source/protocol/current/downstream.js.map +0 -1
- package/out/zero-cache/src/services/change-source/protocol/current/json.js.map +0 -1
- package/out/zero-cache/src/services/change-source/protocol/current/path.js.map +0 -1
- package/out/zero-cache/src/services/change-source/protocol/current/status.js.map +0 -1
- package/out/zero-cache/src/services/change-source/protocol/current/upstream.js.map +0 -1
- package/out/zero-cache/src/services/change-source/protocol/current.js +0 -56
- package/out/zero-cache/src/services/change-source/protocol/current.js.map +0 -1
- package/out/zero-cache/src/services/change-streamer/backup-monitor.js.map +0 -1
- package/out/zero-cache/src/services/change-streamer/broadcast.js.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +0 -1
- package/out/zero-cache/src/services/change-streamer/forwarder.js.map +0 -1
- package/out/zero-cache/src/services/change-streamer/replica-monitor.js.map +0 -1
- package/out/zero-cache/src/services/change-streamer/schema/init.js +0 -74
- package/out/zero-cache/src/services/change-streamer/schema/init.js.map +0 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.js +0 -191
- package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +0 -1
- package/out/zero-cache/src/services/change-streamer/snapshot.js +0 -27
- package/out/zero-cache/src/services/change-streamer/snapshot.js.map +0 -1
- package/out/zero-cache/src/services/change-streamer/storer.js.map +0 -1
- package/out/zero-cache/src/services/change-streamer/subscriber.js.map +0 -1
- package/out/zero-cache/src/services/heapz.js.map +0 -1
- package/out/zero-cache/src/services/http-service.js.map +0 -1
- package/out/zero-cache/src/services/life-cycle.js +0 -195
- package/out/zero-cache/src/services/life-cycle.js.map +0 -1
- package/out/zero-cache/src/services/limiter/sliding-window-limiter.js.map +0 -1
- package/out/zero-cache/src/services/litestream/commands.js.map +0 -1
- package/out/zero-cache/src/services/mutagen/error.js.map +0 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +0 -1
- package/out/zero-cache/src/services/mutagen/pusher.js.map +0 -1
- package/out/zero-cache/src/services/replicator/change-processor.js.map +0 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.js.map +0 -1
- package/out/zero-cache/src/services/replicator/notifier.js.map +0 -1
- package/out/zero-cache/src/services/replicator/replication-status.js.map +0 -1
- package/out/zero-cache/src/services/replicator/replicator.js.map +0 -1
- package/out/zero-cache/src/services/replicator/reporter/recorder.js.map +0 -1
- package/out/zero-cache/src/services/replicator/reporter/report-schema.js.map +0 -1
- package/out/zero-cache/src/services/replicator/schema/change-log.js.map +0 -1
- package/out/zero-cache/src/services/replicator/schema/column-metadata.js.map +0 -1
- package/out/zero-cache/src/services/replicator/schema/constants.js.map +0 -1
- package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +0 -1
- package/out/zero-cache/src/services/replicator/schema/table-metadata.js.map +0 -1
- package/out/zero-cache/src/services/replicator/write-worker-client.js.map +0 -1
- package/out/zero-cache/src/services/replicator/write-worker.js.map +0 -1
- package/out/zero-cache/src/services/run-ast.js +0 -87
- package/out/zero-cache/src/services/run-ast.js.map +0 -1
- package/out/zero-cache/src/services/runner.js.map +0 -1
- package/out/zero-cache/src/services/running-state.js +0 -136
- package/out/zero-cache/src/services/running-state.js.map +0 -1
- package/out/zero-cache/src/services/shadow-sync/shadow-sync-service.js.map +0 -1
- package/out/zero-cache/src/services/statz.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/active-users-gauge.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.js +0 -270
- package/out/zero-cache/src/services/view-syncer/client-handler.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/client-schema.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/connection-context-manager.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/cvr-purger.js +0 -109
- package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/cvr.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.js +0 -102
- package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +0 -628
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/row-set-signature.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.js +0 -158
- package/out/zero-cache/src/services/view-syncer/schema/init.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/schema/types.js +0 -176
- package/out/zero-cache/src/services/view-syncer/schema/types.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/tracer.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/ttl-clock.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +0 -1235
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +0 -1
- package/out/zero-cache/src/types/error-with-level.js.map +0 -1
- package/out/zero-cache/src/types/http.js.map +0 -1
- package/out/zero-cache/src/types/lexi-version.js.map +0 -1
- package/out/zero-cache/src/types/lite.js.map +0 -1
- package/out/zero-cache/src/types/names.js.map +0 -1
- package/out/zero-cache/src/types/pg-data-type.js.map +0 -1
- package/out/zero-cache/src/types/pg-types.js.map +0 -1
- package/out/zero-cache/src/types/pg-versions.js.map +0 -1
- package/out/zero-cache/src/types/pg.js +0 -189
- package/out/zero-cache/src/types/pg.js.map +0 -1
- package/out/zero-cache/src/types/processes.js.map +0 -1
- package/out/zero-cache/src/types/profiler.js.map +0 -1
- package/out/zero-cache/src/types/row-key.js.map +0 -1
- package/out/zero-cache/src/types/shards.js.map +0 -1
- package/out/zero-cache/src/types/sql.js.map +0 -1
- package/out/zero-cache/src/types/state-version.js.map +0 -1
- package/out/zero-cache/src/types/streams.js.map +0 -1
- package/out/zero-cache/src/types/strings.js.map +0 -1
- package/out/zero-cache/src/types/subscription.js.map +0 -1
- package/out/zero-cache/src/types/timeout.js.map +0 -1
- package/out/zero-cache/src/types/url-params.js.map +0 -1
- package/out/zero-cache/src/types/websocket-handoff.js.map +0 -1
- package/out/zero-cache/src/types/ws.js.map +0 -1
- package/out/zero-cache/src/workers/connect-params.js.map +0 -1
- package/out/zero-cache/src/workers/connection.js.map +0 -1
- package/out/zero-cache/src/workers/mutator.js.map +0 -1
- package/out/zero-cache/src/workers/replicator.js.map +0 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +0 -1
- package/out/zero-cache/src/workers/syncer.js.map +0 -1
- package/out/zero-client/src/client/active-clients-manager.js.map +0 -1
- package/out/zero-client/src/client/client-error-kind-enum.js.map +0 -1
- package/out/zero-client/src/client/connection-manager.js +0 -295
- package/out/zero-client/src/client/connection-manager.js.map +0 -1
- package/out/zero-client/src/client/connection-status-enum.js +0 -20
- package/out/zero-client/src/client/connection-status-enum.js.map +0 -1
- package/out/zero-client/src/client/connection.js.map +0 -1
- package/out/zero-client/src/client/context.js.map +0 -1
- package/out/zero-client/src/client/crud-impl.js +0 -61
- package/out/zero-client/src/client/crud-impl.js.map +0 -1
- package/out/zero-client/src/client/crud.js.map +0 -1
- package/out/zero-client/src/client/custom.js +0 -63
- package/out/zero-client/src/client/custom.js.map +0 -1
- package/out/zero-client/src/client/delete-clients-manager.js.map +0 -1
- package/out/zero-client/src/client/enable-analytics.js.map +0 -1
- package/out/zero-client/src/client/error.js.map +0 -1
- package/out/zero-client/src/client/http-string.js.map +0 -1
- package/out/zero-client/src/client/inspector/client-group.js.map +0 -1
- package/out/zero-client/src/client/inspector/client.js.map +0 -1
- package/out/zero-client/src/client/inspector/html-dialog-prompt.js.map +0 -1
- package/out/zero-client/src/client/inspector/inspector.js.map +0 -1
- package/out/zero-client/src/client/inspector/lazy-inspector.js.map +0 -1
- package/out/zero-client/src/client/inspector/query.js.map +0 -1
- package/out/zero-client/src/client/ivm-branch.js.map +0 -1
- package/out/zero-client/src/client/keys.js.map +0 -1
- package/out/zero-client/src/client/log-options.js.map +0 -1
- package/out/zero-client/src/client/make-mutate-property.js.map +0 -1
- package/out/zero-client/src/client/make-replicache-mutators.js.map +0 -1
- package/out/zero-client/src/client/metric-name-enum.js.map +0 -1
- package/out/zero-client/src/client/metrics.js.map +0 -1
- package/out/zero-client/src/client/mutation-tracker.js.map +0 -1
- package/out/zero-client/src/client/mutator-proxy.js.map +0 -1
- package/out/zero-client/src/client/options.js.map +0 -1
- package/out/zero-client/src/client/query-manager.js.map +0 -1
- package/out/zero-client/src/client/reload-error-handler.js.map +0 -1
- package/out/zero-client/src/client/server-option.js.map +0 -1
- package/out/zero-client/src/client/update-needed-reason-type-enum.js +0 -27
- package/out/zero-client/src/client/update-needed-reason-type-enum.js.map +0 -1
- package/out/zero-client/src/client/version.js +0 -9
- package/out/zero-client/src/client/version.js.map +0 -1
- package/out/zero-client/src/client/zero-poke-handler.js.map +0 -1
- package/out/zero-client/src/client/zero-rep.js.map +0 -1
- package/out/zero-client/src/client/zero.js +0 -1443
- package/out/zero-client/src/client/zero.js.map +0 -1
- package/out/zero-client/src/util/nanoid.js.map +0 -1
- package/out/zero-client/src/util/socket.d.ts +0 -3
- package/out/zero-client/src/util/socket.d.ts.map +0 -1
- package/out/zero-client/src/util/socket.js +0 -8
- package/out/zero-client/src/util/socket.js.map +0 -1
- package/out/zero-protocol/src/analyze-query-result.js +0 -120
- package/out/zero-protocol/src/analyze-query-result.js.map +0 -1
- package/out/zero-protocol/src/application-error.js.map +0 -1
- package/out/zero-protocol/src/ast.js.map +0 -1
- package/out/zero-protocol/src/change-desired-queries.js +0 -12
- package/out/zero-protocol/src/change-desired-queries.js.map +0 -1
- package/out/zero-protocol/src/client-schema.js.map +0 -1
- package/out/zero-protocol/src/close-connection.js.map +0 -1
- package/out/zero-protocol/src/connect.js +0 -47
- package/out/zero-protocol/src/connect.js.map +0 -1
- package/out/zero-protocol/src/custom-queries.js.map +0 -1
- package/out/zero-protocol/src/data.js.map +0 -1
- package/out/zero-protocol/src/delete-clients.js.map +0 -1
- package/out/zero-protocol/src/down.js.map +0 -1
- package/out/zero-protocol/src/error-kind-enum.js.map +0 -1
- package/out/zero-protocol/src/error-origin-enum.js.map +0 -1
- package/out/zero-protocol/src/error-reason-enum.js.map +0 -1
- package/out/zero-protocol/src/error.js +0 -84
- package/out/zero-protocol/src/error.js.map +0 -1
- package/out/zero-protocol/src/inspect-down.js.map +0 -1
- package/out/zero-protocol/src/inspect-up.js +0 -34
- package/out/zero-protocol/src/inspect-up.js.map +0 -1
- package/out/zero-protocol/src/mutate-server.js.map +0 -1
- package/out/zero-protocol/src/mutation-id.js.map +0 -1
- package/out/zero-protocol/src/mutation-type-enum.js.map +0 -1
- package/out/zero-protocol/src/mutation.js.map +0 -1
- package/out/zero-protocol/src/mutations-patch.js.map +0 -1
- package/out/zero-protocol/src/ping.js.map +0 -1
- package/out/zero-protocol/src/poke.js +0 -59
- package/out/zero-protocol/src/poke.js.map +0 -1
- package/out/zero-protocol/src/pong.js.map +0 -1
- package/out/zero-protocol/src/primary-key.js.map +0 -1
- package/out/zero-protocol/src/protocol-version.js.map +0 -1
- package/out/zero-protocol/src/pull.js.map +0 -1
- package/out/zero-protocol/src/push.js +0 -60
- package/out/zero-protocol/src/push.js.map +0 -1
- package/out/zero-protocol/src/queries-patch.js.map +0 -1
- package/out/zero-protocol/src/query-hash.js.map +0 -1
- package/out/zero-protocol/src/query-server.js.map +0 -1
- package/out/zero-protocol/src/row-patch.js.map +0 -1
- package/out/zero-protocol/src/up.js.map +0 -1
- package/out/zero-protocol/src/update-auth.js.map +0 -1
- package/out/zero-protocol/src/version.js.map +0 -1
- package/out/zero-react/src/use-connection-state.js +0 -17
- package/out/zero-react/src/use-connection-state.js.map +0 -1
- package/out/zero-react/src/use-query.js +0 -299
- package/out/zero-react/src/use-query.js.map +0 -1
- package/out/zero-react/src/use-zero-online.js +0 -20
- package/out/zero-react/src/use-zero-online.js.map +0 -1
- package/out/zero-react/src/zero-provider.js +0 -87
- package/out/zero-react/src/zero-provider.js.map +0 -1
- package/out/zero-schema/src/builder/relationship-builder.js.map +0 -1
- package/out/zero-schema/src/builder/schema-builder.js.map +0 -1
- package/out/zero-schema/src/builder/table-builder.js.map +0 -1
- package/out/zero-schema/src/compiled-permissions.js.map +0 -1
- package/out/zero-schema/src/name-mapper.js.map +0 -1
- package/out/zero-schema/src/permissions.js.map +0 -1
- package/out/zero-schema/src/schema-config.js.map +0 -1
- package/out/zero-server/src/adapters/drizzle.js.map +0 -1
- package/out/zero-server/src/adapters/kysely.js.map +0 -1
- package/out/zero-server/src/adapters/pg.js +0 -83
- package/out/zero-server/src/adapters/pg.js.map +0 -1
- package/out/zero-server/src/adapters/postgresjs.js.map +0 -1
- package/out/zero-server/src/adapters/prisma.js.map +0 -1
- package/out/zero-server/src/custom.js +0 -214
- package/out/zero-server/src/custom.js.map +0 -1
- package/out/zero-server/src/logging.js.map +0 -1
- package/out/zero-server/src/pg-query-executor.js.map +0 -1
- package/out/zero-server/src/process-mutations.js.map +0 -1
- package/out/zero-server/src/push-processor.js.map +0 -1
- package/out/zero-server/src/queries/process-queries.js.map +0 -1
- package/out/zero-server/src/schema.js.map +0 -1
- package/out/zero-server/src/zql-database.js.map +0 -1
- package/out/zero-solid/src/solid-view.js +0 -145
- package/out/zero-solid/src/solid-view.js.map +0 -1
- package/out/zero-solid/src/use-connection-state.js +0 -21
- package/out/zero-solid/src/use-connection-state.js.map +0 -1
- package/out/zero-solid/src/use-query.js +0 -64
- package/out/zero-solid/src/use-query.js.map +0 -1
- package/out/zero-solid/src/use-zero-online.js +0 -21
- package/out/zero-solid/src/use-zero-online.js.map +0 -1
- package/out/zero-solid/src/use-zero.js +0 -93
- package/out/zero-solid/src/use-zero.js.map +0 -1
- package/out/zero-types/src/format.js.map +0 -1
- package/out/zero-types/src/name-mapper.js.map +0 -1
- package/out/zql/src/builder/builder.js +0 -370
- package/out/zql/src/builder/builder.js.map +0 -1
- package/out/zql/src/builder/debug-delegate.js +0 -72
- package/out/zql/src/builder/debug-delegate.js.map +0 -1
- package/out/zql/src/builder/filter.js.map +0 -1
- package/out/zql/src/builder/like.js.map +0 -1
- package/out/zql/src/error.js.map +0 -1
- package/out/zql/src/ivm/array-view.js.map +0 -1
- package/out/zql/src/ivm/change.js.map +0 -1
- package/out/zql/src/ivm/constraint.js +0 -82
- package/out/zql/src/ivm/constraint.js.map +0 -1
- package/out/zql/src/ivm/data.js.map +0 -1
- package/out/zql/src/ivm/exists.js.map +0 -1
- package/out/zql/src/ivm/fan-in.js.map +0 -1
- package/out/zql/src/ivm/fan-out.js.map +0 -1
- package/out/zql/src/ivm/filter-operators.js.map +0 -1
- package/out/zql/src/ivm/filter-push.js.map +0 -1
- package/out/zql/src/ivm/filter.js.map +0 -1
- package/out/zql/src/ivm/flipped-join.js +0 -311
- package/out/zql/src/ivm/flipped-join.js.map +0 -1
- package/out/zql/src/ivm/join-utils.js.map +0 -1
- package/out/zql/src/ivm/join.js.map +0 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +0 -1
- package/out/zql/src/ivm/memory-source.js +0 -612
- package/out/zql/src/ivm/memory-source.js.map +0 -1
- package/out/zql/src/ivm/memory-storage.js.map +0 -1
- package/out/zql/src/ivm/operator.js.map +0 -1
- package/out/zql/src/ivm/push-accumulated.js.map +0 -1
- package/out/zql/src/ivm/skip-yields.js.map +0 -1
- package/out/zql/src/ivm/skip.js.map +0 -1
- package/out/zql/src/ivm/source.js.map +0 -1
- package/out/zql/src/ivm/stream.js.map +0 -1
- package/out/zql/src/ivm/take.js +0 -410
- package/out/zql/src/ivm/take.js.map +0 -1
- package/out/zql/src/ivm/union-fan-in.js +0 -163
- package/out/zql/src/ivm/union-fan-in.js.map +0 -1
- package/out/zql/src/ivm/union-fan-out.js.map +0 -1
- package/out/zql/src/ivm/view-apply-change.js.map +0 -1
- package/out/zql/src/mutate/crud.js.map +0 -1
- package/out/zql/src/mutate/custom.js.map +0 -1
- package/out/zql/src/mutate/mutator-registry.js.map +0 -1
- package/out/zql/src/mutate/mutator.js.map +0 -1
- package/out/zql/src/planner/planner-builder.js.map +0 -1
- package/out/zql/src/planner/planner-connection.js.map +0 -1
- package/out/zql/src/planner/planner-constraint.js.map +0 -1
- package/out/zql/src/planner/planner-debug.js.map +0 -1
- package/out/zql/src/planner/planner-fan-in.js.map +0 -1
- package/out/zql/src/planner/planner-fan-out.js.map +0 -1
- package/out/zql/src/planner/planner-graph.js.map +0 -1
- package/out/zql/src/planner/planner-join.js +0 -261
- package/out/zql/src/planner/planner-join.js.map +0 -1
- package/out/zql/src/planner/planner-node.js.map +0 -1
- package/out/zql/src/planner/planner-source.js.map +0 -1
- package/out/zql/src/planner/planner-terminus.js.map +0 -1
- package/out/zql/src/query/complete-ordering.js.map +0 -1
- package/out/zql/src/query/create-builder.js.map +0 -1
- package/out/zql/src/query/error.js.map +0 -1
- package/out/zql/src/query/escape-like.js.map +0 -1
- package/out/zql/src/query/expression.js.map +0 -1
- package/out/zql/src/query/measure-push-operator.js.map +0 -1
- package/out/zql/src/query/metrics-delegate.js.map +0 -1
- package/out/zql/src/query/named.js.map +0 -1
- package/out/zql/src/query/query-delegate-base.js.map +0 -1
- package/out/zql/src/query/query-impl.js +0 -290
- package/out/zql/src/query/query-impl.js.map +0 -1
- package/out/zql/src/query/query-internals.js.map +0 -1
- package/out/zql/src/query/query-registry.js.map +0 -1
- package/out/zql/src/query/runnable-query-impl.js.map +0 -1
- package/out/zql/src/query/static-query.js.map +0 -1
- package/out/zql/src/query/ttl.js.map +0 -1
- package/out/zql/src/query/validate-input.js.map +0 -1
- package/out/zqlite/src/database-storage.js.map +0 -1
- package/out/zqlite/src/db.js.map +0 -1
- package/out/zqlite/src/explain-queries.js.map +0 -1
- package/out/zqlite/src/internal/sql-inline.js.map +0 -1
- package/out/zqlite/src/internal/sql.js.map +0 -1
- package/out/zqlite/src/internal/statement-cache.js.map +0 -1
- package/out/zqlite/src/query-builder.js.map +0 -1
- package/out/zqlite/src/query-delegate.js.map +0 -1
- package/out/zqlite/src/resolve-scalar-subqueries.js.map +0 -1
- package/out/zqlite/src/sqlite-cost-model.js.map +0 -1
- package/out/zqlite/src/sqlite-stat-fanout.js.map +0 -1
- package/out/zqlite/src/table-source.js +0 -313
- package/out/zqlite/src/table-source.js.map +0 -1
- /package/out/{analyze-query → packages/analyze-query}/src/analyze-cli.js +0 -0
- /package/out/{analyze-query → packages/analyze-query}/src/bin-transform.js +0 -0
- /package/out/{ast-to-zql → packages/ast-to-zql}/src/ast-to-zql.js +0 -0
- /package/out/{ast-to-zql → packages/ast-to-zql}/src/bin.js +0 -0
- /package/out/{ast-to-zql → packages/ast-to-zql}/src/format.js +0 -0
- /package/out/{datadog → packages/datadog}/src/datadog-log-sink.js +0 -0
- /package/out/{otel → packages/otel}/src/enabled.js +0 -0
- /package/out/{otel → packages/otel}/src/log-options.js +0 -0
- /package/out/{otel → packages/otel}/src/maybe-time.js +0 -0
- /package/out/{otel → packages/otel}/src/span.js +0 -0
- /package/out/{otel → packages/otel}/src/version.js +0 -0
- /package/out/{replicache → packages/replicache}/src/async-iterable-to-array.js +0 -0
- /package/out/{replicache → packages/replicache}/src/bg-interval.js +0 -0
- /package/out/{replicache → packages/replicache}/src/btree/diff.js +0 -0
- /package/out/{replicache → packages/replicache}/src/btree/node.js +0 -0
- /package/out/{replicache → packages/replicache}/src/btree/read.js +0 -0
- /package/out/{replicache → packages/replicache}/src/btree/splice.js +0 -0
- /package/out/{replicache → packages/replicache}/src/call-default-fetch.js +0 -0
- /package/out/{replicache → packages/replicache}/src/config.js +0 -0
- /package/out/{replicache → packages/replicache}/src/connection-loop-delegates.js +0 -0
- /package/out/{replicache → packages/replicache}/src/connection-loop.js +0 -0
- /package/out/{replicache → packages/replicache}/src/cookies.js +0 -0
- /package/out/{replicache → packages/replicache}/src/dag/chunk.js +0 -0
- /package/out/{replicache → packages/replicache}/src/dag/gc.js +0 -0
- /package/out/{replicache → packages/replicache}/src/dag/key.js +0 -0
- /package/out/{replicache → packages/replicache}/src/dag/lazy-store.js +0 -0
- /package/out/{replicache → packages/replicache}/src/dag/store.js +0 -0
- /package/out/{replicache → packages/replicache}/src/dag/visitor.js +0 -0
- /package/out/{replicache → packages/replicache}/src/db/commit.js +0 -0
- /package/out/{replicache → packages/replicache}/src/db/index.js +0 -0
- /package/out/{replicache → packages/replicache}/src/db/read.js +0 -0
- /package/out/{replicache → packages/replicache}/src/db/rebase.js +0 -0
- /package/out/{replicache → packages/replicache}/src/db/write.js +0 -0
- /package/out/{replicache → packages/replicache}/src/deleted-clients.js +0 -0
- /package/out/{replicache → packages/replicache}/src/error-responses.js +0 -0
- /package/out/{replicache → packages/replicache}/src/expo-sqlite.js +0 -0
- /package/out/{replicache → packages/replicache}/src/frozen-json.js +0 -0
- /package/out/{replicache → packages/replicache}/src/get-default-puller.js +0 -0
- /package/out/{replicache → packages/replicache}/src/get-default-pusher.js +0 -0
- /package/out/{replicache → packages/replicache}/src/get-kv-store-provider.js +0 -0
- /package/out/{replicache → packages/replicache}/src/hash.js +0 -0
- /package/out/{replicache → packages/replicache}/src/http-request-info.js +0 -0
- /package/out/{replicache → packages/replicache}/src/impl.js +0 -0
- /package/out/{replicache → packages/replicache}/src/index-defs.js +0 -0
- /package/out/{replicache → packages/replicache}/src/kv/idb-store-with-mem-fallback.js +0 -0
- /package/out/{replicache → packages/replicache}/src/kv/idb-store.js +0 -0
- /package/out/{replicache → packages/replicache}/src/kv/mem-store.js +0 -0
- /package/out/{replicache → packages/replicache}/src/kv/op-sqlite/types.js +0 -0
- /package/out/{replicache → packages/replicache}/src/kv/read-impl.js +0 -0
- /package/out/{replicache → packages/replicache}/src/kv/write-impl-base.js +0 -0
- /package/out/{replicache → packages/replicache}/src/kv/write-impl.js +0 -0
- /package/out/{replicache → packages/replicache}/src/lazy.js +0 -0
- /package/out/{replicache → packages/replicache}/src/log-options.js +0 -0
- /package/out/{replicache → packages/replicache}/src/make-idb-name.js +0 -0
- /package/out/{replicache → packages/replicache}/src/mutation-recovery.js +0 -0
- /package/out/{replicache → packages/replicache}/src/new-client-channel.js +0 -0
- /package/out/{replicache → packages/replicache}/src/on-persist-channel.js +0 -0
- /package/out/{replicache → packages/replicache}/src/op-sqlite.js +0 -0
- /package/out/{replicache → packages/replicache}/src/patch-operation.js +0 -0
- /package/out/{replicache → packages/replicache}/src/pending-mutations.js +0 -0
- /package/out/{replicache → packages/replicache}/src/persist/client-gc.js +0 -0
- /package/out/{replicache → packages/replicache}/src/persist/client-group-gc.js +0 -0
- /package/out/{replicache → packages/replicache}/src/persist/collect-idb-databases.js +0 -0
- /package/out/{replicache → packages/replicache}/src/persist/gather-mem-only-visitor.js +0 -0
- /package/out/{replicache → packages/replicache}/src/persist/gather-not-cached-visitor.js +0 -0
- /package/out/{replicache → packages/replicache}/src/persist/heartbeat.js +0 -0
- /package/out/{replicache → packages/replicache}/src/persist/idb-databases-store-db-name.js +0 -0
- /package/out/{replicache → packages/replicache}/src/persist/idb-databases-store.js +0 -0
- /package/out/{replicache → packages/replicache}/src/persist/make-client-id.js +0 -0
- /package/out/{replicache → packages/replicache}/src/persist/refresh.js +0 -0
- /package/out/{replicache → packages/replicache}/src/process-scheduler.js +0 -0
- /package/out/{replicache → packages/replicache}/src/pusher.js +0 -0
- /package/out/{replicache → packages/replicache}/src/replicache-impl.js +0 -0
- /package/out/{replicache → packages/replicache}/src/report-error.js +0 -0
- /package/out/{replicache → packages/replicache}/src/request-idle.js +0 -0
- /package/out/{replicache → packages/replicache}/src/scan-iterator.js +0 -0
- /package/out/{replicache → packages/replicache}/src/scan-options.js +0 -0
- /package/out/{replicache → packages/replicache}/src/set-interval-with-signal.js +0 -0
- /package/out/{replicache → packages/replicache}/src/sqlite.js +0 -0
- /package/out/{replicache → packages/replicache}/src/subscriptions.js +0 -0
- /package/out/{replicache → packages/replicache}/src/sync/diff.js +0 -0
- /package/out/{replicache → packages/replicache}/src/sync/ids.js +0 -0
- /package/out/{replicache → packages/replicache}/src/sync/patch.js +0 -0
- /package/out/{replicache → packages/replicache}/src/sync/pull-error.js +0 -0
- /package/out/{replicache → packages/replicache}/src/sync/push.js +0 -0
- /package/out/{replicache → packages/replicache}/src/sync/request-id.js +0 -0
- /package/out/{replicache → packages/replicache}/src/sync/sync-head-name.js +0 -0
- /package/out/{replicache → packages/replicache}/src/to-error.js +0 -0
- /package/out/{replicache → packages/replicache}/src/transaction-closed-error.js +0 -0
- /package/out/{replicache → packages/replicache}/src/transactions.js +0 -0
- /package/out/{replicache → packages/replicache}/src/version.js +0 -0
- /package/out/{replicache → packages/replicache}/src/with-transactions.js +0 -0
- /package/out/{shared → packages/shared}/src/abort-error.js +0 -0
- /package/out/{shared → packages/shared}/src/arrays.js +0 -0
- /package/out/{shared → packages/shared}/src/asserts.js +0 -0
- /package/out/{shared → packages/shared}/src/bigint-json.js +0 -0
- /package/out/{shared → packages/shared}/src/binary-search.js +0 -0
- /package/out/{shared → packages/shared}/src/broadcast-channel.js +0 -0
- /package/out/{shared → packages/shared}/src/browser-env.js +0 -0
- /package/out/{shared → packages/shared}/src/btree-set.js +0 -0
- /package/out/{shared → packages/shared}/src/cache.js +0 -0
- /package/out/{shared → packages/shared}/src/centroid.js +0 -0
- /package/out/{shared → packages/shared}/src/config.js +0 -0
- /package/out/{shared → packages/shared}/src/custom-key-map.js +0 -0
- /package/out/{shared → packages/shared}/src/custom-key-set.js +0 -0
- /package/out/{shared → packages/shared}/src/deep-clone.js +0 -0
- /package/out/{shared → packages/shared}/src/deep-merge.js +0 -0
- /package/out/{shared → packages/shared}/src/document-visible.js +0 -0
- /package/out/{shared → packages/shared}/src/dotenv.js +0 -0
- /package/out/{shared → packages/shared}/src/error.js +0 -0
- /package/out/{shared → packages/shared}/src/has-own.js +0 -0
- /package/out/{shared → packages/shared}/src/hash.js +0 -0
- /package/out/{shared → packages/shared}/src/iterables.js +0 -0
- /package/out/{shared → packages/shared}/src/json-schema.js +0 -0
- /package/out/{shared → packages/shared}/src/json.js +0 -0
- /package/out/{shared → packages/shared}/src/logging-test-utils.js +0 -0
- /package/out/{shared → packages/shared}/src/logging.js +0 -0
- /package/out/{shared → packages/shared}/src/must.js +0 -0
- /package/out/{shared → packages/shared}/src/navigator.js +0 -0
- /package/out/{shared → packages/shared}/src/object-traversal.js +0 -0
- /package/out/{shared → packages/shared}/src/objects.js +0 -0
- /package/out/{shared → packages/shared}/src/options.js +0 -0
- /package/out/{shared → packages/shared}/src/parse-big-int.js +0 -0
- /package/out/{shared → packages/shared}/src/promise-race.js +0 -0
- /package/out/{shared → packages/shared}/src/rand.js +0 -0
- /package/out/{shared → packages/shared}/src/random-uint64.js +0 -0
- /package/out/{shared → packages/shared}/src/random-values.js +0 -0
- /package/out/{shared → packages/shared}/src/record-proxy.js +0 -0
- /package/out/{shared → packages/shared}/src/resolved-promises.js +0 -0
- /package/out/{shared → packages/shared}/src/sentinels.js +0 -0
- /package/out/{shared → packages/shared}/src/set-utils.js +0 -0
- /package/out/{shared → packages/shared}/src/size-of-value.js +0 -0
- /package/out/{shared → packages/shared}/src/sleep.js +0 -0
- /package/out/{shared → packages/shared}/src/sorted-entries.js +0 -0
- /package/out/{shared → packages/shared}/src/string-compare.js +0 -0
- /package/out/{shared → packages/shared}/src/subscribable.js +0 -0
- /package/out/{shared → packages/shared}/src/tdigest-schema.js +0 -0
- /package/out/{shared → packages/shared}/src/tdigest.js +0 -0
- /package/out/{z2s → packages/z2s}/src/compiler.js +0 -0
- /package/out/{z2s → packages/z2s}/src/sql.js +0 -0
- /package/out/{zero → packages/zero}/src/server/runner/main.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/auth/auth.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/auth/jwt.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/auth/load-permissions.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/auth/read-authorizer.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/auth/write-authorizer.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/config/network.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/config/normalize.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/config/server-context.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/custom/fetch.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/custom-queries/transform-query.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/db/create.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/db/delete-lite-db.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/db/lite-tables.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/db/mode-enum.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/db/pg-copy-binary.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/db/pg-copy.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/db/pg-to-lite.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/db/pg-type-parser.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/db/run-transaction.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/db/specs.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/db/statements.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/db/transaction-pool.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/db/warmup.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/observability/events.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/observability/metrics.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/scripts/decommission.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/scripts/deploy-permissions.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/scripts/permissions.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/server/inspector-delegate.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/server/logging.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/server/otel-diag-logger.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/server/otel-log-sink.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/server/priority-op.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/server/runner/run-worker.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/server/runner/runtime.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/server/runner/zero-dispatcher.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/server/worker-dispatcher.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/server/worker-urls.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/common/backfill-manager.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/common/change-stream-multiplexer.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/common/replica-schema.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/custom/change-source.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/backfill-metadata.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/decommission.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/logical-replication/binary-reader.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/logical-replication/pgoutput-parser.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/logical-replication/stream.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/lsn.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/schema/ddl.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/schema/init.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/schema/published.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/pg/schema/validation.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/control.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/downstream.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/json.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/path.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/status.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/current/upstream.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-source/protocol/mod.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/backup-monitor.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/broadcast.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/change-streamer-http.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/change-streamer-service.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/change-streamer.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/forwarder.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/replica-monitor.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/storer.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/change-streamer/subscriber.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/heapz.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/http-service.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/limiter/sliding-window-limiter.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/litestream/commands.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/mutagen/error.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/mutagen/mutagen.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/mutagen/pusher.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/change-processor.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/incremental-sync.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/notifier.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/replication-status.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/replicator.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/reporter/recorder.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/reporter/report-schema.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/change-log.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/column-metadata.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/constants.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/replication-state.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/schema/table-metadata.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/write-worker-client.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/replicator/write-worker.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/runner.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/shadow-sync/shadow-sync-service.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/statz.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/active-users-gauge.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/client-schema.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/connection-context-manager.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/cvr-store.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/cvr.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/drain-coordinator.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/row-record-cache.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/row-set-signature.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/schema/cvr.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/snapshotter.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/tracer.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/services/view-syncer/ttl-clock.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/error-with-level.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/http.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/lexi-version.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/lite.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/names.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/pg-data-type.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/pg-types.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/pg-versions.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/processes.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/profiler.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/row-key.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/shards.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/sql.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/state-version.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/streams.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/strings.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/subscription.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/timeout.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/url-params.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/websocket-handoff.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/types/ws.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/workers/connect-params.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/workers/connection.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/workers/mutator.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/workers/replicator.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/workers/syncer-ws-message-handler.js +0 -0
- /package/out/{zero-cache → packages/zero-cache}/src/workers/syncer.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/active-clients-manager.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/bindings.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/client-error-kind-enum.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/connection.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/context.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/crud.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/delete-clients-manager.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/enable-analytics.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/error.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/http-string.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/inspector/client-group.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/inspector/client.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/inspector/html-dialog-prompt.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/inspector/inspector.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/inspector/lazy-inspector.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/inspector/query.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/ivm-branch.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/keys.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/log-options.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/make-mutate-property.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/make-replicache-mutators.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/metric-name-enum.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/metrics.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/mutation-tracker.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/mutator-proxy.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/options.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/query-manager.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/reload-error-handler.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/server-option.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/zero-poke-handler.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/client/zero-rep.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/mod.js +0 -0
- /package/out/{zero-client → packages/zero-client}/src/util/nanoid.js +0 -0
- /package/out/{zero-pg → packages/zero-pg}/src/mod.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/application-error.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/ast.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/client-schema.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/close-connection.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/custom-queries.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/data.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/delete-clients.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/down.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/error-kind-enum.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/error-origin-enum.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/error-reason-enum.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/inspect-down.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/mutate-server.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/mutation-id.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/mutation-type-enum.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/mutation.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/mutations-patch.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/ping.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/pong.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/primary-key.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/protocol-version.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/pull.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/queries-patch.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/query-hash.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/query-server.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/row-patch.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/up.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/update-auth.js +0 -0
- /package/out/{zero-protocol → packages/zero-protocol}/src/version.js +0 -0
- /package/out/{zero-react → packages/zero-react}/src/bindings.js +0 -0
- /package/out/{zero-react → packages/zero-react}/src/mod.js +0 -0
- /package/out/{zero-react → packages/zero-react}/src/zero.js +0 -0
- /package/out/{zero-schema → packages/zero-schema}/src/builder/relationship-builder.js +0 -0
- /package/out/{zero-schema → packages/zero-schema}/src/builder/schema-builder.js +0 -0
- /package/out/{zero-schema → packages/zero-schema}/src/builder/table-builder.js +0 -0
- /package/out/{zero-schema → packages/zero-schema}/src/compiled-permissions.js +0 -0
- /package/out/{zero-schema → packages/zero-schema}/src/name-mapper.js +0 -0
- /package/out/{zero-schema → packages/zero-schema}/src/permissions.js +0 -0
- /package/out/{zero-schema → packages/zero-schema}/src/schema-config.js +0 -0
- /package/out/{zero-server → packages/zero-server}/src/adapters/drizzle.js +0 -0
- /package/out/{zero-server → packages/zero-server}/src/adapters/kysely.js +0 -0
- /package/out/{zero-server → packages/zero-server}/src/adapters/postgresjs.js +0 -0
- /package/out/{zero-server → packages/zero-server}/src/adapters/prisma.js +0 -0
- /package/out/{zero-server → packages/zero-server}/src/logging.js +0 -0
- /package/out/{zero-server → packages/zero-server}/src/mod.js +0 -0
- /package/out/{zero-server → packages/zero-server}/src/pg-query-executor.js +0 -0
- /package/out/{zero-server → packages/zero-server}/src/process-mutations.js +0 -0
- /package/out/{zero-server → packages/zero-server}/src/push-processor.js +0 -0
- /package/out/{zero-server → packages/zero-server}/src/queries/process-queries.js +0 -0
- /package/out/{zero-server → packages/zero-server}/src/schema.js +0 -0
- /package/out/{zero-server → packages/zero-server}/src/zql-database.js +0 -0
- /package/out/{zero-solid → packages/zero-solid}/src/bindings.js +0 -0
- /package/out/{zero-solid → packages/zero-solid}/src/mod.js +0 -0
- /package/out/{zero-solid → packages/zero-solid}/src/zero.js +0 -0
- /package/out/{zero-types → packages/zero-types}/src/format.js +0 -0
- /package/out/{zero-types → packages/zero-types}/src/name-mapper.js +0 -0
- /package/out/{zql → packages/zql}/src/builder/filter.js +0 -0
- /package/out/{zql → packages/zql}/src/builder/like.js +0 -0
- /package/out/{zql → packages/zql}/src/error.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/array-view.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/change.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/data.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/exists.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/fan-in.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/fan-out.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/filter-operators.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/filter-push.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/filter.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/join-utils.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/join.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/maybe-split-and-push-edit-change.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/memory-storage.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/operator.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/push-accumulated.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/skip-yields.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/skip.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/source.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/stream.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/union-fan-out.js +0 -0
- /package/out/{zql → packages/zql}/src/ivm/view-apply-change.js +0 -0
- /package/out/{zql → packages/zql}/src/mutate/crud.js +0 -0
- /package/out/{zql → packages/zql}/src/mutate/custom.js +0 -0
- /package/out/{zql → packages/zql}/src/mutate/mutator-registry.js +0 -0
- /package/out/{zql → packages/zql}/src/mutate/mutator.js +0 -0
- /package/out/{zql → packages/zql}/src/planner/planner-builder.js +0 -0
- /package/out/{zql → packages/zql}/src/planner/planner-connection.js +0 -0
- /package/out/{zql → packages/zql}/src/planner/planner-constraint.js +0 -0
- /package/out/{zql → packages/zql}/src/planner/planner-debug.js +0 -0
- /package/out/{zql → packages/zql}/src/planner/planner-fan-in.js +0 -0
- /package/out/{zql → packages/zql}/src/planner/planner-fan-out.js +0 -0
- /package/out/{zql → packages/zql}/src/planner/planner-graph.js +0 -0
- /package/out/{zql → packages/zql}/src/planner/planner-node.js +0 -0
- /package/out/{zql → packages/zql}/src/planner/planner-source.js +0 -0
- /package/out/{zql → packages/zql}/src/planner/planner-terminus.js +0 -0
- /package/out/{zql → packages/zql}/src/query/complete-ordering.js +0 -0
- /package/out/{zql → packages/zql}/src/query/create-builder.js +0 -0
- /package/out/{zql → packages/zql}/src/query/error.js +0 -0
- /package/out/{zql → packages/zql}/src/query/escape-like.js +0 -0
- /package/out/{zql → packages/zql}/src/query/expression.js +0 -0
- /package/out/{zql → packages/zql}/src/query/measure-push-operator.js +0 -0
- /package/out/{zql → packages/zql}/src/query/metrics-delegate.js +0 -0
- /package/out/{zql → packages/zql}/src/query/named.js +0 -0
- /package/out/{zql → packages/zql}/src/query/query-delegate-base.js +0 -0
- /package/out/{zql → packages/zql}/src/query/query-internals.js +0 -0
- /package/out/{zql → packages/zql}/src/query/query-registry.js +0 -0
- /package/out/{zql → packages/zql}/src/query/query.js +0 -0
- /package/out/{zql → packages/zql}/src/query/runnable-query-impl.js +0 -0
- /package/out/{zql → packages/zql}/src/query/static-query.js +0 -0
- /package/out/{zql → packages/zql}/src/query/ttl.js +0 -0
- /package/out/{zql → packages/zql}/src/query/validate-input.js +0 -0
- /package/out/{zqlite → packages/zqlite}/src/database-storage.js +0 -0
- /package/out/{zqlite → packages/zqlite}/src/db.js +0 -0
- /package/out/{zqlite → packages/zqlite}/src/explain-queries.js +0 -0
- /package/out/{zqlite → packages/zqlite}/src/internal/sql-inline.js +0 -0
- /package/out/{zqlite → packages/zqlite}/src/internal/sql.js +0 -0
- /package/out/{zqlite → packages/zqlite}/src/internal/statement-cache.js +0 -0
- /package/out/{zqlite → packages/zqlite}/src/mod.js +0 -0
- /package/out/{zqlite → packages/zqlite}/src/query-builder.js +0 -0
- /package/out/{zqlite → packages/zqlite}/src/query-delegate.js +0 -0
- /package/out/{zqlite → packages/zqlite}/src/resolve-scalar-subqueries.js +0 -0
- /package/out/{zqlite → packages/zqlite}/src/sqlite-cost-model.js +0 -0
- /package/out/{zqlite → packages/zqlite}/src/sqlite-stat-fanout.js +0 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { assert } from "./asserts.js";
|
|
2
|
+
import { RingBuffer } from "./ring-buffer.js";
|
|
3
|
+
import { resolver } from "@rocicorp/resolver";
|
|
4
|
+
//#region ../shared/src/queue.ts
|
|
5
|
+
/**
|
|
6
|
+
* A Queue allows the consumers to await (possibly future) values,
|
|
7
|
+
* and producers to await the consumption of their values.
|
|
8
|
+
*/
|
|
9
|
+
var Queue = class {
|
|
10
|
+
#consumers = new RingBuffer();
|
|
11
|
+
#produced = new RingBuffer();
|
|
12
|
+
enqueue(value) {
|
|
13
|
+
const consumer = this.#consumers.shift();
|
|
14
|
+
if (consumer) {
|
|
15
|
+
consumer.resolver.resolve(value);
|
|
16
|
+
clearTimeout(consumer.timeoutID);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
this.#produced.push({ value });
|
|
20
|
+
}
|
|
21
|
+
enqueueRejection(reason) {
|
|
22
|
+
const consumer = this.#consumers.shift();
|
|
23
|
+
if (consumer) {
|
|
24
|
+
consumer.resolver.reject(reason);
|
|
25
|
+
clearTimeout(consumer.timeoutID);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
this.#produced.push({ rejection: reason });
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Deletes all unconsumed entries matching the specified `value` based on identity equality.
|
|
32
|
+
* The consumed callback(s) are resolved as if the values were dequeued.
|
|
33
|
+
*
|
|
34
|
+
* Note: deletion of `undefined` values is not supported. This method will assert
|
|
35
|
+
* if `value` is undefined.
|
|
36
|
+
*
|
|
37
|
+
* @returns The number of entries deleted.
|
|
38
|
+
*/
|
|
39
|
+
delete(value) {
|
|
40
|
+
assert(value !== void 0, "Queue delete value must not be undefined");
|
|
41
|
+
const items = this.#produced.drain();
|
|
42
|
+
let count = 0;
|
|
43
|
+
for (const p of items) if (p.value === value) count++;
|
|
44
|
+
else this.#produced.push(p);
|
|
45
|
+
return count;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @param timeoutValue An optional value to resolve if `timeoutMs` is reached.
|
|
49
|
+
* @param timeoutMs The milliseconds after which the `timeoutValue` is resolved
|
|
50
|
+
* if nothing is produced for the consumer.
|
|
51
|
+
* @returns A Promise that resolves to the next enqueued value.
|
|
52
|
+
*/
|
|
53
|
+
dequeue(timeoutValue, timeoutMs = 0) {
|
|
54
|
+
const produced = this.#produced.shift();
|
|
55
|
+
if (produced) return produced.value ?? Promise.reject(produced.rejection);
|
|
56
|
+
const r = resolver();
|
|
57
|
+
const consumer = {
|
|
58
|
+
resolver: r,
|
|
59
|
+
timeoutID: void 0
|
|
60
|
+
};
|
|
61
|
+
consumer.timeoutID = timeoutValue === void 0 ? void 0 : setTimeout(() => {
|
|
62
|
+
if (this.#consumers.delete(consumer) > 0) consumer.resolver.resolve(timeoutValue);
|
|
63
|
+
}, timeoutMs);
|
|
64
|
+
this.#consumers.push(consumer);
|
|
65
|
+
return r.promise;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Drains the entire queue.
|
|
69
|
+
*
|
|
70
|
+
* Usage example:
|
|
71
|
+
* ```ts
|
|
72
|
+
* // A consumer that, when awoken, drains
|
|
73
|
+
* // all entries in the queue in order to
|
|
74
|
+
* // process them in a batch.
|
|
75
|
+
* for (;;) {
|
|
76
|
+
* const value = await queue.dequeue();
|
|
77
|
+
* const rest = queue.drain();
|
|
78
|
+
* }
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
drain() {
|
|
82
|
+
return this.#produced.drain().map((p) => p.value);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* @returns The instantaneous number of outstanding values waiting to be
|
|
86
|
+
* dequeued. Note that if a value was enqueued while a consumer
|
|
87
|
+
* was waiting (with `await dequeue()`), the value is immediately
|
|
88
|
+
* handed to the consumer and the Queue's size remains 0.
|
|
89
|
+
*/
|
|
90
|
+
size() {
|
|
91
|
+
return this.#produced.size;
|
|
92
|
+
}
|
|
93
|
+
asAsyncIterable(cleanup = NOOP) {
|
|
94
|
+
return { [Symbol.asyncIterator]: () => this.asAsyncIterator(cleanup) };
|
|
95
|
+
}
|
|
96
|
+
asAsyncIterator(cleanup = NOOP) {
|
|
97
|
+
return {
|
|
98
|
+
next: async () => {
|
|
99
|
+
try {
|
|
100
|
+
return { value: await this.dequeue() };
|
|
101
|
+
} catch (e) {
|
|
102
|
+
cleanup();
|
|
103
|
+
throw e;
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
return: (value) => {
|
|
107
|
+
cleanup();
|
|
108
|
+
return Promise.resolve({
|
|
109
|
+
value,
|
|
110
|
+
done: true
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
var NOOP = () => {};
|
|
117
|
+
//#endregion
|
|
118
|
+
export { Queue };
|
|
119
|
+
|
|
120
|
+
//# sourceMappingURL=queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.js","names":["#consumers","#produced"],"sources":["../../../../../shared/src/queue.ts"],"sourcesContent":["import {resolver, type Resolver} from '@rocicorp/resolver';\nimport {assert} from './asserts.ts';\nimport {RingBuffer} from './ring-buffer.ts';\n\n/**\n * A Queue allows the consumers to await (possibly future) values,\n * and producers to await the consumption of their values.\n */\nexport class Queue<T> {\n // Consumers waiting for entries to be produced.\n readonly #consumers = new RingBuffer<Consumer<T>>();\n // Produced entries waiting to be consumed.\n readonly #produced = new RingBuffer<Produced<T>>();\n\n enqueue(value: T): void {\n const consumer = this.#consumers.shift();\n if (consumer) {\n consumer.resolver.resolve(value);\n clearTimeout(consumer.timeoutID);\n return;\n }\n this.#produced.push({value});\n }\n\n enqueueRejection(reason?: unknown): void {\n const consumer = this.#consumers.shift();\n if (consumer) {\n consumer.resolver.reject(reason);\n clearTimeout(consumer.timeoutID);\n return;\n }\n this.#produced.push({rejection: reason});\n }\n\n /**\n * Deletes all unconsumed entries matching the specified `value` based on identity equality.\n * The consumed callback(s) are resolved as if the values were dequeued.\n *\n * Note: deletion of `undefined` values is not supported. This method will assert\n * if `value` is undefined.\n *\n * @returns The number of entries deleted.\n */\n delete(value: T): number {\n assert(value !== undefined, 'Queue delete value must not be undefined');\n\n // Drain, filter, and re-push. This is O(n) but delete() is rare.\n const items = this.#produced.drain();\n let count = 0;\n for (const p of items) {\n if (p.value === value) {\n count++;\n } else {\n this.#produced.push(p);\n }\n }\n return count;\n }\n\n /**\n * @param timeoutValue An optional value to resolve if `timeoutMs` is reached.\n * @param timeoutMs The milliseconds after which the `timeoutValue` is resolved\n * if nothing is produced for the consumer.\n * @returns A Promise that resolves to the next enqueued value.\n */\n dequeue(timeoutValue?: T, timeoutMs: number = 0): Promise<T> | T {\n const produced = this.#produced.shift();\n if (produced) {\n return produced.value ?? Promise.reject(produced.rejection);\n }\n const r = resolver<T>();\n const consumer: Consumer<T> = {resolver: r, timeoutID: undefined};\n const timeoutID =\n timeoutValue === undefined\n ? undefined\n : setTimeout(() => {\n if (this.#consumers.delete(consumer) > 0) {\n consumer.resolver.resolve(timeoutValue);\n }\n }, timeoutMs);\n consumer.timeoutID = timeoutID;\n this.#consumers.push(consumer);\n return r.promise;\n }\n\n /**\n * Drains the entire queue.\n *\n * Usage example:\n * ```ts\n * // A consumer that, when awoken, drains\n * // all entries in the queue in order to\n * // process them in a batch.\n * for (;;) {\n * const value = await queue.dequeue();\n * const rest = queue.drain();\n * }\n * ```\n */\n drain(): (T | undefined)[] {\n return this.#produced.drain().map(p => p.value);\n }\n\n /**\n * @returns The instantaneous number of outstanding values waiting to be\n * dequeued. Note that if a value was enqueued while a consumer\n * was waiting (with `await dequeue()`), the value is immediately\n * handed to the consumer and the Queue's size remains 0.\n */\n size(): number {\n return this.#produced.size;\n }\n\n asAsyncIterable(cleanup = NOOP): AsyncIterable<T> {\n return {[Symbol.asyncIterator]: () => this.asAsyncIterator(cleanup)};\n }\n\n asAsyncIterator(cleanup = NOOP): AsyncIterator<T> {\n return {\n next: async () => {\n try {\n const value = await this.dequeue();\n return {value};\n } catch (e) {\n cleanup();\n throw e;\n }\n },\n return: value => {\n cleanup();\n return Promise.resolve({value, done: true});\n },\n };\n }\n}\n\nconst NOOP = () => {};\n\ntype Consumer<T> = {\n resolver: Resolver<T>;\n timeoutID: ReturnType<typeof setTimeout> | undefined;\n};\n\ntype Produced<T> =\n | {value: T; rejection?: undefined}\n | {value?: undefined; rejection: unknown};\n"],"mappings":";;;;;;;;AAQA,IAAa,QAAb,MAAsB;CAEpB,aAAsB,IAAI,WAAwB;CAElD,YAAqB,IAAI,WAAwB;CAEjD,QAAQ,OAAgB;EACtB,MAAM,WAAW,KAAKA,WAAW,MAAM;EACvC,IAAI,UAAU;GACZ,SAAS,SAAS,QAAQ,KAAK;GAC/B,aAAa,SAAS,SAAS;GAC/B;EACF;EACA,KAAKC,UAAU,KAAK,EAAC,MAAK,CAAC;CAC7B;CAEA,iBAAiB,QAAwB;EACvC,MAAM,WAAW,KAAKD,WAAW,MAAM;EACvC,IAAI,UAAU;GACZ,SAAS,SAAS,OAAO,MAAM;GAC/B,aAAa,SAAS,SAAS;GAC/B;EACF;EACA,KAAKC,UAAU,KAAK,EAAC,WAAW,OAAM,CAAC;CACzC;;;;;;;;;;CAWA,OAAO,OAAkB;EACvB,OAAO,UAAU,KAAA,GAAW,0CAA0C;EAGtE,MAAM,QAAQ,KAAKA,UAAU,MAAM;EACnC,IAAI,QAAQ;EACZ,KAAK,MAAM,KAAK,OACd,IAAI,EAAE,UAAU,OACd;OAEA,KAAKA,UAAU,KAAK,CAAC;EAGzB,OAAO;CACT;;;;;;;CAQA,QAAQ,cAAkB,YAAoB,GAAmB;EAC/D,MAAM,WAAW,KAAKA,UAAU,MAAM;EACtC,IAAI,UACF,OAAO,SAAS,SAAS,QAAQ,OAAO,SAAS,SAAS;EAE5D,MAAM,IAAI,SAAY;EACtB,MAAM,WAAwB;GAAC,UAAU;GAAG,WAAW,KAAA;EAAS;EAShE,SAAS,YAPP,iBAAiB,KAAA,IACb,KAAA,IACA,iBAAiB;GACf,IAAI,KAAKD,WAAW,OAAO,QAAQ,IAAI,GACrC,SAAS,SAAS,QAAQ,YAAY;EAE1C,GAAG,SAAS;EAElB,KAAKA,WAAW,KAAK,QAAQ;EAC7B,OAAO,EAAE;CACX;;;;;;;;;;;;;;;CAgBA,QAA2B;EACzB,OAAO,KAAKC,UAAU,MAAM,EAAE,KAAI,MAAK,EAAE,KAAK;CAChD;;;;;;;CAQA,OAAe;EACb,OAAO,KAAKA,UAAU;CACxB;CAEA,gBAAgB,UAAU,MAAwB;EAChD,OAAO,GAAE,OAAO,sBAAsB,KAAK,gBAAgB,OAAO,EAAC;CACrE;CAEA,gBAAgB,UAAU,MAAwB;EAChD,OAAO;GACL,MAAM,YAAY;IAChB,IAAI;KAEF,OAAO,EAAC,OAAA,MADY,KAAK,QAAQ,EACpB;IACf,SAAS,GAAG;KACV,QAAQ;KACR,MAAM;IACR;GACF;GACA,SAAQ,UAAS;IACf,QAAQ;IACR,OAAO,QAAQ,QAAQ;KAAC;KAAO,MAAM;IAAI,CAAC;GAC5C;EACF;CACF;AACF;AAEA,IAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rand.js","names":[],"sources":["../../../../../shared/src/rand.ts"],"sourcesContent":["/**\n * @param min Inclusive minimum of the result.\n * @param max Inclusive maximum of the result.\n * @returns A random integer in the (inclusive) range of [`min`, `max`].\n */\nexport function randInt(min: number, max: number) {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1) + min);\n}\n"],"mappings":";;;;;;AAKA,SAAgB,QAAQ,KAAa,KAAa;CAChD,MAAM,KAAK,KAAK,GAAG;CACnB,MAAM,KAAK,MAAM,GAAG;CACpB,OAAO,KAAK,MAAM,KAAK,OAAO,KAAK,MAAM,MAAM,KAAK,GAAG;AACzD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random-uint64.js","names":[],"sources":["../../../../../shared/src/random-uint64.ts"],"sourcesContent":["export function randomUint64(): bigint {\n // Generate two random 32-bit unsigned integers using Math.random()\n const high = Math.floor(Math.random() * 0xffffffff); // High 32 bits\n const low = Math.floor(Math.random() * 0xffffffff); // Low 32 bits\n\n // Combine the high and low parts to form a 64-bit unsigned integer\n return (BigInt(high) << 32n) | BigInt(low);\n}\n"],"mappings":";AAAA,SAAgB,eAAuB;CAErC,MAAM,OAAO,KAAK,MAAM,KAAK,OAAO,IAAI,UAAU;CAClD,MAAM,MAAM,KAAK,MAAM,KAAK,OAAO,IAAI,UAAU;CAGjD,OAAQ,OAAO,IAAI,KAAK,MAAO,OAAO,GAAG;AAC3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random-values.js","names":[],"sources":["../../../../../shared/src/random-values.ts"],"sourcesContent":["export function getNonCryptoRandomValues(array: Uint8Array) {\n if (array === null) {\n throw new TypeError('array cannot be null');\n }\n\n // Fill the array with random values\n for (let i = 0; i < array.length; i++) {\n array[i] = Math.floor(Math.random() * 256); // Random byte (0-255)\n }\n\n return array;\n}\n\nexport function randomCharacters(length: number) {\n let result = '';\n const characters =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const charactersLength = characters.length;\n let counter = 0;\n while (counter < length) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n counter += 1;\n }\n return result;\n}\n"],"mappings":";AAAA,SAAgB,yBAAyB,OAAmB;CAC1D,IAAI,UAAU,MACZ,MAAM,IAAI,UAAU,sBAAsB;CAI5C,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAChC,MAAM,KAAK,KAAK,MAAM,KAAK,OAAO,IAAI,GAAG;CAG3C,OAAO;AACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-proxy.js","names":["#toValue","#onMissing","#cache","#getOwnValue"],"sources":["../../../../../shared/src/record-proxy.ts"],"sourcesContent":["const missing = Symbol();\n\n/**\n * A proxy handler that lazily transforms and caches record values.\n *\n * When a property is accessed, the handler transforms the source value using\n * the provided `toValue` function and caches the result. Subsequent accesses\n * return the cached value without re-transforming.\n *\n * @template Source - The type of values in the source record\n * @template Dest - The type of transformed values\n */\nclass RecordProxyHandler<Source, Dest> implements ProxyHandler<\n Record<string, Source>\n> {\n readonly #toValue: (source: Source, prop: string) => Dest;\n readonly #onMissing: ((prop: string) => void) | undefined;\n readonly #cache: Map<string, Dest | typeof missing> = new Map();\n\n /**\n * @param toValue - Function to transform source values to destination values\n * @param onMissing - Optional function called when accessing a non-existent\n * property. Can throw an error if desired.\n */\n constructor(\n toValue: (source: Source, prop: string) => Dest,\n onMissing?: (prop: string) => void,\n ) {\n this.#toValue = toValue;\n this.#onMissing = onMissing;\n }\n\n #getOwnValue(\n target: Record<string, Source>,\n prop: string,\n ): Dest | typeof missing {\n const v = this.#cache.get(prop);\n if (v !== undefined) {\n return v;\n }\n\n if (Object.hasOwn(target, prop)) {\n const value = this.#toValue(target[prop], prop);\n this.#cache.set(prop, value);\n return value;\n }\n return missing;\n }\n\n get(target: Record<string, Source>, prop: string | symbol) {\n if (typeof prop !== 'string') {\n return undefined;\n }\n // Only transform own properties; return inherited properties as-is\n const ownValue = this.#getOwnValue(target, prop);\n if (ownValue !== missing) {\n return ownValue;\n }\n this.#onMissing?.(prop);\n\n // Inherited property - return without transformation\n return target[prop];\n }\n\n getOwnPropertyDescriptor(\n target: Record<string, Source>,\n p: string | symbol,\n ): PropertyDescriptor | undefined {\n if (typeof p !== 'string') {\n return undefined;\n }\n\n const value = this.#getOwnValue(target, p);\n if (value === missing) {\n return undefined;\n }\n const desc = Reflect.getOwnPropertyDescriptor(target, p);\n return {...desc, value};\n }\n}\n\n/**\n * Creates a proxy that lazily transforms and caches record values.\n *\n * @template Source - The type of values in the source record\n * @template Dest - The type of transformed values\n * @param target - The source record to proxy\n * @param toValue - Function to transform source values to destination values\n * @param onMissing - Optional function called when accessing a non-existent\n * property. Can throw an error if desired.\n * @returns A proxy that presents transformed values\n */\nexport function recordProxy<Source, Dest>(\n target: Record<string, Source>,\n toValue: (source: Source, prop: string) => Dest,\n onMissing?: (prop: string) => void,\n): Record<string, Dest> {\n return new Proxy(\n target,\n new RecordProxyHandler(toValue, onMissing),\n ) as unknown as Record<string, Dest>;\n}\n"],"mappings":";AAAA,IAAM,UAAU,OAAO;;;;;;;;;;;AAYvB,IAAM,qBAAN,MAEE;CACA;CACA;CACA,yBAAsD,IAAI,IAAI;;;;;;CAO9D,YACE,SACA,WACA;EACA,KAAKA,WAAW;EAChB,KAAKC,aAAa;CACpB;CAEA,aACE,QACA,MACuB;EACvB,MAAM,IAAI,KAAKC,OAAO,IAAI,IAAI;EAC9B,IAAI,MAAM,KAAA,GACR,OAAO;EAGT,IAAI,OAAO,OAAO,QAAQ,IAAI,GAAG;GAC/B,MAAM,QAAQ,KAAKF,SAAS,OAAO,OAAO,IAAI;GAC9C,KAAKE,OAAO,IAAI,MAAM,KAAK;GAC3B,OAAO;EACT;EACA,OAAO;CACT;CAEA,IAAI,QAAgC,MAAuB;EACzD,IAAI,OAAO,SAAS,UAClB;EAGF,MAAM,WAAW,KAAKC,aAAa,QAAQ,IAAI;EAC/C,IAAI,aAAa,SACf,OAAO;EAET,KAAKF,aAAa,IAAI;EAGtB,OAAO,OAAO;CAChB;CAEA,yBACE,QACA,GACgC;EAChC,IAAI,OAAO,MAAM,UACf;EAGF,MAAM,QAAQ,KAAKE,aAAa,QAAQ,CAAC;EACzC,IAAI,UAAU,SACZ;EAGF,OAAO;GAAC,GADK,QAAQ,yBAAyB,QAAQ,CAC3C;GAAM;EAAK;CACxB;AACF;;;;;;;;;;;;AAaA,SAAgB,YACd,QACA,SACA,WACsB;CACtB,OAAO,IAAI,MACT,QACA,IAAI,mBAAmB,SAAS,SAAS,CAC3C;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolved-promises.js","names":[],"sources":["../../../../../shared/src/resolved-promises.ts"],"sourcesContent":["export const promiseTrue = Promise.resolve(true as const);\nexport const promiseFalse = Promise.resolve(false as const);\nexport const promiseUndefined = Promise.resolve(undefined);\nexport const promiseVoid = Promise.resolve();\n\n/**\n * A promise that never resolves.\n */\nexport const promiseNever = new Promise<never>(() => {});\n"],"mappings":";AAAA,IAAa,cAAc,QAAQ,QAAQ,IAAa;AACxD,IAAa,eAAe,QAAQ,QAAQ,KAAc;AAC1B,QAAQ,QAAQ,KAAA,CAAS;AACzD,IAAa,cAAc,QAAQ,QAAQ;AAKf,IAAI,cAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
//#region ../shared/src/ring-buffer.ts
|
|
2
|
+
var DEFAULT_INITIAL_CAPACITY = 16;
|
|
3
|
+
var MIN_CAPACITY = 16;
|
|
4
|
+
/**
|
|
5
|
+
* A FIFO ring buffer backed by a circular array. Provides:
|
|
6
|
+
*
|
|
7
|
+
* - `push()` — O(1) amortized (O(n) on resize)
|
|
8
|
+
* - `shift()` — O(1)
|
|
9
|
+
* - `size` — O(1)
|
|
10
|
+
* - `drain()` — O(n)
|
|
11
|
+
*
|
|
12
|
+
* The buffer grows (doubles) when full and shrinks (halves) when
|
|
13
|
+
* utilization drops below 25%, bounded by {@link MIN_CAPACITY}.
|
|
14
|
+
*/
|
|
15
|
+
var RingBuffer = class {
|
|
16
|
+
#buffer;
|
|
17
|
+
#head = 0;
|
|
18
|
+
#size = 0;
|
|
19
|
+
#capacity;
|
|
20
|
+
constructor(initialCapacity = DEFAULT_INITIAL_CAPACITY) {
|
|
21
|
+
this.#capacity = Math.max(MIN_CAPACITY, initialCapacity);
|
|
22
|
+
this.#buffer = Array.from({ length: initialCapacity });
|
|
23
|
+
}
|
|
24
|
+
get size() {
|
|
25
|
+
return this.#size;
|
|
26
|
+
}
|
|
27
|
+
push(value) {
|
|
28
|
+
if (this.#size === this.#capacity) this.#grow();
|
|
29
|
+
this.#buffer[(this.#head + this.#size) % this.#capacity] = value;
|
|
30
|
+
this.#size++;
|
|
31
|
+
}
|
|
32
|
+
/** Removes and returns the front element, or `undefined` if empty. */
|
|
33
|
+
shift() {
|
|
34
|
+
if (this.#size === 0) return;
|
|
35
|
+
const value = this.#buffer[this.#head];
|
|
36
|
+
this.#buffer[this.#head] = void 0;
|
|
37
|
+
this.#head = (this.#head + 1) % this.#capacity;
|
|
38
|
+
this.#size--;
|
|
39
|
+
if (this.#size > 0 && this.#size < this.#capacity >> 2 && this.#capacity > MIN_CAPACITY) this.#shrink();
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Removes all elements matching `value` (by identity `===`).
|
|
44
|
+
*
|
|
45
|
+
* This is O(n) — suitable for rare operations like cancellation.
|
|
46
|
+
*
|
|
47
|
+
* @returns The number of elements removed.
|
|
48
|
+
*/
|
|
49
|
+
delete(value) {
|
|
50
|
+
if (this.#size === 0) return 0;
|
|
51
|
+
const newBuffer = Array.from({ length: this.#capacity });
|
|
52
|
+
let newSize = 0;
|
|
53
|
+
let count = 0;
|
|
54
|
+
for (let i = 0; i < this.#size; i++) {
|
|
55
|
+
const item = this.#buffer[(this.#head + i) % this.#capacity];
|
|
56
|
+
if (item === value) count++;
|
|
57
|
+
else newBuffer[newSize++] = item;
|
|
58
|
+
}
|
|
59
|
+
this.#buffer = newBuffer;
|
|
60
|
+
this.#head = 0;
|
|
61
|
+
this.#size = newSize;
|
|
62
|
+
return count;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Removes and returns all elements in FIFO order, resetting the buffer.
|
|
66
|
+
*/
|
|
67
|
+
drain() {
|
|
68
|
+
const result = Array.from({ length: this.#size });
|
|
69
|
+
for (let i = 0; i < this.#size; i++) result[i] = this.#buffer[(this.#head + i) % this.#capacity];
|
|
70
|
+
this.#head = 0;
|
|
71
|
+
this.#size = 0;
|
|
72
|
+
this.#buffer = Array.from({ length: this.#capacity });
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Grows the buffer in place by doubling its length and relocating
|
|
77
|
+
* only the wrapped-around elements (those before #head) into the
|
|
78
|
+
* newly available space. No new array is allocated.
|
|
79
|
+
*/
|
|
80
|
+
#grow() {
|
|
81
|
+
const oldLen = this.#buffer.length;
|
|
82
|
+
const newLen = oldLen * 2;
|
|
83
|
+
this.#buffer.length = newLen;
|
|
84
|
+
this.#capacity = newLen;
|
|
85
|
+
for (let i = 0; i < this.#head; i++) {
|
|
86
|
+
this.#buffer[oldLen + i] = this.#buffer[i];
|
|
87
|
+
this.#buffer[i] = void 0;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Shrinks the buffer in place by halving its length. Elements whose
|
|
92
|
+
* indices fall in the removed half are relocated into the lower half,
|
|
93
|
+
* then the array is truncated.
|
|
94
|
+
*/
|
|
95
|
+
#shrink() {
|
|
96
|
+
const oldLen = this.#buffer.length;
|
|
97
|
+
const newLen = Math.max(MIN_CAPACITY, oldLen >> 1);
|
|
98
|
+
const left = Math.max(newLen, this.#head);
|
|
99
|
+
const right = Math.min(this.#head + this.#size, oldLen);
|
|
100
|
+
for (let i = left; i < right; i++) this.#buffer[i - newLen] = this.#buffer[i];
|
|
101
|
+
if (this.#head >= newLen) this.#head -= newLen;
|
|
102
|
+
this.#buffer.length = newLen;
|
|
103
|
+
this.#capacity = newLen;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
//#endregion
|
|
107
|
+
export { RingBuffer };
|
|
108
|
+
|
|
109
|
+
//# sourceMappingURL=ring-buffer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ring-buffer.js","names":["#capacity","#buffer","#size","#grow","#head","#shrink"],"sources":["../../../../../shared/src/ring-buffer.ts"],"sourcesContent":["const DEFAULT_INITIAL_CAPACITY = 16;\nconst MIN_CAPACITY = 16;\n\n/**\n * A FIFO ring buffer backed by a circular array. Provides:\n *\n * - `push()` — O(1) amortized (O(n) on resize)\n * - `shift()` — O(1)\n * - `size` — O(1)\n * - `drain()` — O(n)\n *\n * The buffer grows (doubles) when full and shrinks (halves) when\n * utilization drops below 25%, bounded by {@link MIN_CAPACITY}.\n */\nexport class RingBuffer<T> {\n #buffer: (T | undefined)[];\n #head = 0;\n #size = 0;\n #capacity: number;\n\n constructor(initialCapacity = DEFAULT_INITIAL_CAPACITY) {\n this.#capacity = Math.max(MIN_CAPACITY, initialCapacity);\n this.#buffer = Array.from({length: initialCapacity});\n }\n\n get size(): number {\n return this.#size;\n }\n\n push(value: T): void {\n if (this.#size === this.#capacity) {\n this.#grow();\n }\n this.#buffer[(this.#head + this.#size) % this.#capacity] = value;\n this.#size++;\n }\n\n /** Removes and returns the front element, or `undefined` if empty. */\n shift(): T | undefined {\n if (this.#size === 0) {\n return undefined;\n }\n const value = this.#buffer[this.#head];\n this.#buffer[this.#head] = undefined; // allow GC of removed element\n this.#head = (this.#head + 1) % this.#capacity;\n this.#size--;\n\n // Shrink when utilization drops below 25%, keeping a minimum capacity.\n if (\n this.#size > 0 &&\n this.#size < this.#capacity >> 2 &&\n this.#capacity > MIN_CAPACITY\n ) {\n this.#shrink();\n }\n\n return value;\n }\n\n /**\n * Removes all elements matching `value` (by identity `===`).\n *\n * This is O(n) — suitable for rare operations like cancellation.\n *\n * @returns The number of elements removed.\n */\n delete(value: T): number {\n if (this.#size === 0) {\n return 0;\n }\n // Rebuild the buffer without matching elements.\n const newBuffer: (T | undefined)[] = Array.from({length: this.#capacity});\n let newSize = 0;\n let count = 0;\n for (let i = 0; i < this.#size; i++) {\n const item = this.#buffer[(this.#head + i) % this.#capacity];\n if (item === value) {\n count++;\n } else {\n newBuffer[newSize++] = item;\n }\n }\n this.#buffer = newBuffer;\n this.#head = 0;\n this.#size = newSize;\n return count;\n }\n\n /**\n * Removes and returns all elements in FIFO order, resetting the buffer.\n */\n drain(): T[] {\n const result = Array.from<T>({length: this.#size});\n for (let i = 0; i < this.#size; i++) {\n result[i] = this.#buffer[(this.#head + i) % this.#capacity] as T;\n }\n this.#head = 0;\n this.#size = 0;\n this.#buffer = Array.from({length: this.#capacity});\n return result;\n }\n\n /**\n * Grows the buffer in place by doubling its length and relocating\n * only the wrapped-around elements (those before #head) into the\n * newly available space. No new array is allocated.\n */\n #grow(): void {\n const oldLen = this.#buffer.length;\n const newLen = oldLen * 2;\n this.#buffer.length = newLen;\n this.#capacity = newLen;\n\n // Copy wrapped-around elements (indices 0..head-1) into the new space.\n for (let i = 0; i < this.#head; i++) {\n this.#buffer[oldLen + i] = this.#buffer[i];\n this.#buffer[i] = undefined; // ensure gc when the element is removed\n }\n }\n\n /**\n * Shrinks the buffer in place by halving its length. Elements whose\n * indices fall in the removed half are relocated into the lower half,\n * then the array is truncated.\n */\n #shrink(): void {\n const oldLen = this.#buffer.length;\n const newLen = Math.max(MIN_CAPACITY, oldLen >> 1);\n\n // Move elements that sit in the upper half down by newLen.\n const left = Math.max(newLen, this.#head);\n const right = Math.min(this.#head + this.#size, oldLen);\n for (let i = left; i < right; i++) {\n this.#buffer[i - newLen] = this.#buffer[i];\n }\n\n if (this.#head >= newLen) {\n this.#head -= newLen;\n }\n this.#buffer.length = newLen;\n this.#capacity = newLen;\n }\n}\n"],"mappings":";AAAA,IAAM,2BAA2B;AACjC,IAAM,eAAe;;;;;;;;;;;;AAarB,IAAa,aAAb,MAA2B;CACzB;CACA,QAAQ;CACR,QAAQ;CACR;CAEA,YAAY,kBAAkB,0BAA0B;EACtD,KAAKA,YAAY,KAAK,IAAI,cAAc,eAAe;EACvD,KAAKC,UAAU,MAAM,KAAK,EAAC,QAAQ,gBAAe,CAAC;CACrD;CAEA,IAAI,OAAe;EACjB,OAAO,KAAKC;CACd;CAEA,KAAK,OAAgB;EACnB,IAAI,KAAKA,UAAU,KAAKF,WACtB,KAAKG,MAAM;EAEb,KAAKF,SAAS,KAAKG,QAAQ,KAAKF,SAAS,KAAKF,aAAa;EAC3D,KAAKE;CACP;;CAGA,QAAuB;EACrB,IAAI,KAAKA,UAAU,GACjB;EAEF,MAAM,QAAQ,KAAKD,QAAQ,KAAKG;EAChC,KAAKH,QAAQ,KAAKG,SAAS,KAAA;EAC3B,KAAKA,SAAS,KAAKA,QAAQ,KAAK,KAAKJ;EACrC,KAAKE;EAGL,IACE,KAAKA,QAAQ,KACb,KAAKA,QAAQ,KAAKF,aAAa,KAC/B,KAAKA,YAAY,cAEjB,KAAKK,QAAQ;EAGf,OAAO;CACT;;;;;;;;CASA,OAAO,OAAkB;EACvB,IAAI,KAAKH,UAAU,GACjB,OAAO;EAGT,MAAM,YAA+B,MAAM,KAAK,EAAC,QAAQ,KAAKF,UAAS,CAAC;EACxE,IAAI,UAAU;EACd,IAAI,QAAQ;EACZ,KAAK,IAAI,IAAI,GAAG,IAAI,KAAKE,OAAO,KAAK;GACnC,MAAM,OAAO,KAAKD,SAAS,KAAKG,QAAQ,KAAK,KAAKJ;GAClD,IAAI,SAAS,OACX;QAEA,UAAU,aAAa;EAE3B;EACA,KAAKC,UAAU;EACf,KAAKG,QAAQ;EACb,KAAKF,QAAQ;EACb,OAAO;CACT;;;;CAKA,QAAa;EACX,MAAM,SAAS,MAAM,KAAQ,EAAC,QAAQ,KAAKA,MAAK,CAAC;EACjD,KAAK,IAAI,IAAI,GAAG,IAAI,KAAKA,OAAO,KAC9B,OAAO,KAAK,KAAKD,SAAS,KAAKG,QAAQ,KAAK,KAAKJ;EAEnD,KAAKI,QAAQ;EACb,KAAKF,QAAQ;EACb,KAAKD,UAAU,MAAM,KAAK,EAAC,QAAQ,KAAKD,UAAS,CAAC;EAClD,OAAO;CACT;;;;;;CAOA,QAAc;EACZ,MAAM,SAAS,KAAKC,QAAQ;EAC5B,MAAM,SAAS,SAAS;EACxB,KAAKA,QAAQ,SAAS;EACtB,KAAKD,YAAY;EAGjB,KAAK,IAAI,IAAI,GAAG,IAAI,KAAKI,OAAO,KAAK;GACnC,KAAKH,QAAQ,SAAS,KAAK,KAAKA,QAAQ;GACxC,KAAKA,QAAQ,KAAK,KAAA;EACpB;CACF;;;;;;CAOA,UAAgB;EACd,MAAM,SAAS,KAAKA,QAAQ;EAC5B,MAAM,SAAS,KAAK,IAAI,cAAc,UAAU,CAAC;EAGjD,MAAM,OAAO,KAAK,IAAI,QAAQ,KAAKG,KAAK;EACxC,MAAM,QAAQ,KAAK,IAAI,KAAKA,QAAQ,KAAKF,OAAO,MAAM;EACtD,KAAK,IAAI,IAAI,MAAM,IAAI,OAAO,KAC5B,KAAKD,QAAQ,IAAI,UAAU,KAAKA,QAAQ;EAG1C,IAAI,KAAKG,SAAS,QAChB,KAAKA,SAAS;EAEhB,KAAKH,QAAQ,SAAS;EACtB,KAAKD,YAAY;CACnB;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sentinels.js","names":[],"sources":["../../../../../shared/src/sentinels.ts"],"sourcesContent":["export function emptyFunction() {}\nexport const emptyObject = Object.freeze({});\nexport const emptyArray = Object.freeze([]);\nexport function identity<T>(x: T): T {\n return x;\n}\n"],"mappings":";AAAA,SAAgB,gBAAgB,CAAC;AACjC,IAAa,cAAc,OAAO,OAAO,CAAC,CAAC;AAC3C,IAAa,aAAa,OAAO,OAAO,CAAC,CAAC;AAC1C,SAAgB,SAAY,GAAS;CACnC,OAAO;AACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-utils.js","names":[],"sources":["../../../../../shared/src/set-utils.ts"],"sourcesContent":["// TODO: Change lib to pick up this type definition\n\ninterface ReadonlySetLike<T> {\n /**\n * Despite its name, returns an iterator of the values in the set-like.\n */\n keys(): Iterator<T>;\n /**\n * @returns a boolean indicating whether an element with the specified value exists in the set-like or not.\n */\n has(value: T): boolean;\n /**\n * @returns the number of (unique) elements in the set-like.\n */\n readonly size: number;\n}\n\nexport function equals<T>(\n a: ReadonlySetLike<T>,\n b: ReadonlySetLike<T>,\n): boolean {\n if (a.size !== b.size) {\n return false;\n }\n const iterator = a.keys();\n for (\n let {done, value} = iterator.next();\n !done;\n {done, value} = iterator.next()\n ) {\n if (!b.has(value)) {\n return false;\n }\n }\n return true;\n}\n\nexport function union<T>(...sets: ReadonlySetLike<T>[]): Set<T> {\n const result = new Set<T>();\n for (const set of sets) {\n const iterator = set.keys();\n for (\n let {done, value} = iterator.next();\n !done;\n {done, value} = iterator.next()\n ) {\n result.add(value);\n }\n }\n return result;\n}\n\nexport function intersection<T>(\n a: ReadonlySetLike<T>,\n b: ReadonlySetLike<T>,\n): Set<T> {\n const result = new Set<T>();\n if (a.size > b.size) {\n // Optimization: iterate over the smaller Set.\n const swap = a;\n a = b;\n b = swap;\n }\n const iterator = a.keys();\n for (\n let {done, value} = iterator.next();\n !done;\n {done, value} = iterator.next()\n ) {\n if (b.has(value)) {\n result.add(value);\n }\n }\n return result;\n}\n\n/**\n * Returns the elements in {@linkcode a} that are not in {@linkcode b}.\n */\nexport function difference<T>(\n a: ReadonlySetLike<T>,\n b: ReadonlySetLike<T>,\n): Set<T> {\n const result = new Set<T>();\n const iterator = a.keys();\n for (\n let {done, value} = iterator.next();\n !done;\n {done, value} = iterator.next()\n ) {\n if (!b.has(value)) {\n result.add(value);\n }\n }\n return result;\n}\n\nexport function symmetricDifferences<T>(\n a: ReadonlySetLike<T>,\n b: ReadonlySetLike<T>,\n): [onlyA: Set<T>, onlyB: Set<T>] {\n const onlyA = new Set<T>();\n const iteratorA = a.keys();\n for (\n let {done, value} = iteratorA.next();\n !done;\n {done, value} = iteratorA.next()\n ) {\n onlyA.add(value);\n }\n\n const onlyB = new Set<T>();\n const iteratorB = b.keys();\n for (\n let {done, value} = iteratorB.next();\n !done;\n {done, value} = iteratorB.next()\n ) {\n if (a.has(value)) {\n onlyA.delete(value);\n onlyB.delete(value);\n } else {\n onlyB.add(value);\n }\n }\n return [onlyA, onlyB];\n}\n"],"mappings":";AAiBA,SAAgB,OACd,GACA,GACS;CACT,IAAI,EAAE,SAAS,EAAE,MACf,OAAO;CAET,MAAM,WAAW,EAAE,KAAK;CACxB,KACE,IAAI,EAAC,MAAM,UAAS,SAAS,KAAK,GAClC,CAAC,MACD,CAAC,MAAM,SAAS,SAAS,KAAK,GAE9B,IAAI,CAAC,EAAE,IAAI,KAAK,GACd,OAAO;CAGX,OAAO;AACT;AAEA,SAAgB,MAAS,GAAG,MAAoC;CAC9D,MAAM,yBAAS,IAAI,IAAO;CAC1B,KAAK,MAAM,OAAO,MAAM;EACtB,MAAM,WAAW,IAAI,KAAK;EAC1B,KACE,IAAI,EAAC,MAAM,UAAS,SAAS,KAAK,GAClC,CAAC,MACD,CAAC,MAAM,SAAS,SAAS,KAAK,GAE9B,OAAO,IAAI,KAAK;CAEpB;CACA,OAAO;AACT;AAEA,SAAgB,aACd,GACA,GACQ;CACR,MAAM,yBAAS,IAAI,IAAO;CAC1B,IAAI,EAAE,OAAO,EAAE,MAAM;EAEnB,MAAM,OAAO;EACb,IAAI;EACJ,IAAI;CACN;CACA,MAAM,WAAW,EAAE,KAAK;CACxB,KACE,IAAI,EAAC,MAAM,UAAS,SAAS,KAAK,GAClC,CAAC,MACD,CAAC,MAAM,SAAS,SAAS,KAAK,GAE9B,IAAI,EAAE,IAAI,KAAK,GACb,OAAO,IAAI,KAAK;CAGpB,OAAO;AACT;;;;AAKA,SAAgB,WACd,GACA,GACQ;CACR,MAAM,yBAAS,IAAI,IAAO;CAC1B,MAAM,WAAW,EAAE,KAAK;CACxB,KACE,IAAI,EAAC,MAAM,UAAS,SAAS,KAAK,GAClC,CAAC,MACD,CAAC,MAAM,SAAS,SAAS,KAAK,GAE9B,IAAI,CAAC,EAAE,IAAI,KAAK,GACd,OAAO,IAAI,KAAK;CAGpB,OAAO;AACT;AAEA,SAAgB,qBACd,GACA,GACgC;CAChC,MAAM,wBAAQ,IAAI,IAAO;CACzB,MAAM,YAAY,EAAE,KAAK;CACzB,KACE,IAAI,EAAC,MAAM,UAAS,UAAU,KAAK,GACnC,CAAC,MACD,CAAC,MAAM,SAAS,UAAU,KAAK,GAE/B,MAAM,IAAI,KAAK;CAGjB,MAAM,wBAAQ,IAAI,IAAO;CACzB,MAAM,YAAY,EAAE,KAAK;CACzB,KACE,IAAI,EAAC,MAAM,UAAS,UAAU,KAAK,GACnC,CAAC,MACD,CAAC,MAAM,SAAS,UAAU,KAAK,GAE/B,IAAI,EAAE,IAAI,KAAK,GAAG;EAChB,MAAM,OAAO,KAAK;EAClB,MAAM,OAAO,KAAK;CACpB,OACE,MAAM,IAAI,KAAK;CAGnB,OAAO,CAAC,OAAO,KAAK;AACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"size-of-value.js","names":[],"sources":["../../../../../shared/src/size-of-value.ts"],"sourcesContent":["import {hasOwn} from './has-own.ts';\nimport type {ReadonlyJSONObject} from './json.ts';\n\nconst SIZE_TAG = 1;\nconst SIZE_INT32 = 4;\nconst SIZE_SMI = 5;\nconst SIZE_DOUBLE = 8;\n\n/**\n * Gives a size of a value. The size is modelled after the size used by\n * Chromium/V8's structuredClone algorithm. It does not match exactly so the\n * size is just an approximation.\n * https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/value-serializer.cc;l=102;drc=f0b6f7d12ea47ad7c08fb554f678c1e73801ca36;bpv=1;bpt=1\n * For example we follow JSC/Mozilla for ints and skip the varint encoding.\n *\n * Mozilla does things similarly. Main difference is that there is no varint\n * encoding and every value uses multiples of 64bits\n * https://searchfox.org/mozilla-central/source/js/src/vm/StructuredClone.cpp#94\n *\n * And JSC:\n * https://github.com/WebKit/WebKit/blob/main/Source/WebCore/bindings/js/SerializedScriptValue.cpp#L356\n * - Use 1 byte tag\n * - Numbers are either stored as Int32 or Float64\n */\nexport function getSizeOfValue(value: unknown): number {\n switch (typeof value) {\n case 'string':\n // Assumes all strings are one byte strings. V8 writes OneByteString and\n // TwoByteString. We could check the string but it would require iterating\n // over all the characters.\n return SIZE_TAG + SIZE_INT32 + value.length;\n case 'number':\n if (isSmi(value)) {\n if (value <= -(2 ** 30) || value >= 2 ** 30 - 1) {\n return SIZE_TAG + SIZE_SMI;\n }\n return SIZE_TAG + SIZE_INT32;\n }\n return SIZE_TAG + SIZE_DOUBLE;\n case 'boolean':\n return SIZE_TAG;\n case 'object':\n if (value === null) {\n return SIZE_TAG;\n }\n\n if (Array.isArray(value)) {\n let sum = 2 * SIZE_TAG + SIZE_INT32;\n for (const element of value) {\n sum += getSizeOfValue(element);\n }\n return sum;\n }\n\n {\n const val = value as ReadonlyJSONObject;\n let sum: number = 2 * SIZE_TAG + SIZE_INT32;\n for (const k in val) {\n if (hasOwn(val, k)) {\n // Skip undefined values. undefined values in an object gets\n // stripped if we round trip through JSON.stringif which is what we\n // use when syncing.\n const propertyValue = val[k];\n if (propertyValue !== undefined) {\n sum += getSizeOfValue(k) + getSizeOfValue(propertyValue);\n }\n }\n }\n return sum;\n }\n }\n\n throw new Error(`Invalid value. type: ${typeof value}, value: ${value}`);\n}\n\nfunction isSmi(value: number): boolean {\n return value === (value | 0);\n}\n\nconst entryFixed = 2 * SIZE_TAG + SIZE_INT32 + SIZE_TAG + SIZE_INT32;\n\nexport function getSizeOfEntry<K, V>(key: K, value: V): number {\n // Entries are stored as [key, value, sizeOfEntry]\n return entryFixed + getSizeOfValue(key) + getSizeOfValue(value);\n}\n"],"mappings":";;AAGA,IAAM,WAAW;AACjB,IAAM,aAAa;AACnB,IAAM,WAAW;AACjB,IAAM,cAAc;;;;;;;;;;;;;;;;;AAkBpB,SAAgB,eAAe,OAAwB;CACrD,QAAQ,OAAO,OAAf;EACE,KAAK,UAIH,OAAO,WAAW,aAAa,MAAM;EACvC,KAAK;GACH,IAAI,MAAM,KAAK,GAAG;IAChB,IAAI,SAAS,EAAE,KAAK,OAAO,SAAS,KAAK,KAAK,GAC5C,OAAO,WAAW;IAEpB,OAAO,WAAW;GACpB;GACA,OAAO,WAAW;EACpB,KAAK,WACH,OAAO;EACT,KAAK;GACH,IAAI,UAAU,MACZ,OAAO;GAGT,IAAI,MAAM,QAAQ,KAAK,GAAG;IACxB,IAAI,MAAM,IAAI,WAAW;IACzB,KAAK,MAAM,WAAW,OACpB,OAAO,eAAe,OAAO;IAE/B,OAAO;GACT;GAEA;IACE,MAAM,MAAM;IACZ,IAAI,MAAc,IAAI,WAAW;IACjC,KAAK,MAAM,KAAK,KACd,IAAI,OAAO,KAAK,CAAC,GAAG;KAIlB,MAAM,gBAAgB,IAAI;KAC1B,IAAI,kBAAkB,KAAA,GACpB,OAAO,eAAe,CAAC,IAAI,eAAe,aAAa;IAE3D;IAEF,OAAO;GACT;CACJ;CAEA,MAAM,IAAI,MAAM,wBAAwB,OAAO,MAAM,WAAW,OAAO;AACzE;AAEA,SAAS,MAAM,OAAwB;CACrC,OAAO,WAAW,QAAQ;AAC5B;AAEA,IAAM,aAAa,IAAI,WAAW,aAAa,WAAW;AAE1D,SAAgB,eAAqB,KAAQ,OAAkB;CAE7D,OAAO,aAAa,eAAe,GAAG,IAAI,eAAe,KAAK;AAChE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleep.js","names":[],"sources":["../../../../../shared/src/sleep.ts"],"sourcesContent":["import {resolver} from '@rocicorp/resolver';\nimport {AbortError} from './abort-error.ts';\n\nconst promiseVoid = Promise.resolve();\nconst promiseNever = new Promise<void>(() => undefined);\n\n/**\n * Creates a promise that resolves after `ms` milliseconds. Note that if you\n * pass in `0` no `setTimeout` is used and the promise resolves immediately. In\n * other words no macro task is used in that case.\n *\n * Pass in an AbortSignal to clear the timeout.\n */\nexport function sleep(ms: number, signal?: AbortSignal): Promise<void> {\n const newAbortError = () => new AbortError('Aborted');\n\n if (signal?.aborted) {\n return Promise.reject(newAbortError());\n }\n\n if (ms === 0) {\n return promiseVoid;\n }\n\n return new Promise((resolve, reject) => {\n let handleAbort: () => void;\n if (signal) {\n handleAbort = () => {\n clearTimeout(id);\n reject(newAbortError());\n };\n signal.addEventListener('abort', handleAbort, {once: true});\n }\n\n const id = setTimeout(() => {\n resolve();\n signal?.removeEventListener('abort', handleAbort);\n }, ms);\n });\n}\n\n/**\n * Returns a pair of promises. The first promise resolves after `ms` milliseconds\n * unless the AbortSignal is aborted. The second promise resolves when the AbortSignal\n * is aborted.\n */\nexport function sleepWithAbort(\n ms: number,\n signal: AbortSignal,\n): [ok: Promise<void>, aborted: Promise<void>] {\n if (ms === 0) {\n return [promiseVoid, promiseNever];\n }\n\n const {promise: abortedPromise, resolve: abortedResolve} = resolver<void>();\n\n const sleepPromise = new Promise<void>(resolve => {\n const handleAbort = () => {\n clearTimeout(id);\n abortedResolve();\n };\n\n const id = setTimeout(() => {\n resolve();\n signal.removeEventListener('abort', handleAbort);\n }, ms);\n\n signal.addEventListener('abort', handleAbort, {once: true});\n });\n\n return [sleepPromise, abortedPromise];\n}\n"],"mappings":";;;AAGA,IAAM,cAAc,QAAQ,QAAQ;AACpC,IAAM,eAAe,IAAI,cAAoB,KAAA,CAAS;;;;;;;;AAStD,SAAgB,MAAM,IAAY,QAAqC;CACrE,MAAM,sBAAsB,IAAI,WAAW,SAAS;CAEpD,IAAI,QAAQ,SACV,OAAO,QAAQ,OAAO,cAAc,CAAC;CAGvC,IAAI,OAAO,GACT,OAAO;CAGT,OAAO,IAAI,SAAS,SAAS,WAAW;EACtC,IAAI;EACJ,IAAI,QAAQ;GACV,oBAAoB;IAClB,aAAa,EAAE;IACf,OAAO,cAAc,CAAC;GACxB;GACA,OAAO,iBAAiB,SAAS,aAAa,EAAC,MAAM,KAAI,CAAC;EAC5D;EAEA,MAAM,KAAK,iBAAiB;GAC1B,QAAQ;GACR,QAAQ,oBAAoB,SAAS,WAAW;EAClD,GAAG,EAAE;CACP,CAAC;AACH;;;;;;AAOA,SAAgB,eACd,IACA,QAC6C;CAC7C,IAAI,OAAO,GACT,OAAO,CAAC,aAAa,YAAY;CAGnC,MAAM,EAAC,SAAS,gBAAgB,SAAS,mBAAkB,SAAe;CAgB1E,OAAO,CAAC,IAdiB,SAAc,YAAW;EAChD,MAAM,oBAAoB;GACxB,aAAa,EAAE;GACf,eAAe;EACjB;EAEA,MAAM,KAAK,iBAAiB;GAC1B,QAAQ;GACR,OAAO,oBAAoB,SAAS,WAAW;EACjD,GAAG,EAAE;EAEL,OAAO,iBAAiB,SAAS,aAAa,EAAC,MAAM,KAAI,CAAC;CAC5D,CAEQ,GAAc,cAAc;AACtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sorted-entries.js","names":[],"sources":["../../../../../shared/src/sorted-entries.ts"],"sourcesContent":["import {stringCompare} from './string-compare.ts';\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\nexport function sortedEntries<T extends Record<string, any>>(\n object: T,\n): [keyof T & string, T[keyof T]][] {\n return Object.entries(object).sort((a, b) => stringCompare(a[0], b[0]));\n}\n"],"mappings":";;AAGA,SAAgB,cACd,QACkC;CAClC,OAAO,OAAO,QAAQ,MAAM,EAAE,MAAM,GAAG,MAAM,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC;AACxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-compare.js","names":[],"sources":["../../../../../shared/src/string-compare.ts"],"sourcesContent":["export function stringCompare(a: string, b: string): number {\n if (a === b) {\n return 0;\n }\n if (a < b) {\n return -1;\n }\n return 1;\n}\n"],"mappings":";AAAA,SAAgB,cAAc,GAAW,GAAmB;CAC1D,IAAI,MAAM,GACR,OAAO;CAET,IAAI,IAAI,GACN,OAAO;CAET,OAAO;AACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscribable.js","names":[],"sources":["../../../../../shared/src/subscribable.ts"],"sourcesContent":["export class Subscribable<\n TArgs,\n TListener extends (obj: TArgs) => unknown = (obj: TArgs) => unknown,\n> {\n protected _listeners = new Set<TListener>();\n\n /**\n * Subscribe to the subscribable.\n *\n * @param listener - The listener to subscribe to.\n * @returns A function to unsubscribe from the subscribable.\n */\n subscribe = (listener: TListener): (() => void) => {\n this._listeners.add(listener);\n\n return () => {\n this._listeners.delete(listener);\n };\n };\n\n /**\n * Notify all listeners.\n *\n * @param update - The update to notify listeners with.\n */\n notify = (update: TArgs): void => {\n this._listeners.forEach(listener => listener(update));\n };\n\n hasListeners = (): boolean => this._listeners.size > 0;\n\n /**\n * Unsubscribe all listeners.\n */\n cleanup = (): void => {\n this._listeners.clear();\n };\n}\n"],"mappings":";AAAA,IAAa,eAAb,MAGE;CACA,6BAAuB,IAAI,IAAe;;;;;;;CAQ1C,aAAa,aAAsC;EACjD,KAAK,WAAW,IAAI,QAAQ;EAE5B,aAAa;GACX,KAAK,WAAW,OAAO,QAAQ;EACjC;CACF;;;;;;CAOA,UAAU,WAAwB;EAChC,KAAK,WAAW,SAAQ,aAAY,SAAS,MAAM,CAAC;CACtD;CAEA,qBAA8B,KAAK,WAAW,OAAO;;;;CAKrD,gBAAsB;EACpB,KAAK,WAAW,MAAM;CACxB;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tdigest-schema.js","names":[],"sources":["../../../../../shared/src/tdigest-schema.ts"],"sourcesContent":["import * as v from './valita.ts';\n\n/**\n * Valita schema for TDigest JSON representation.\n * Matches the structure returned by TDigest.toJSON().\n */\n// oxlint-disable-next-line e18e/prefer-spread-syntax\nexport const tdigestSchema = v.tuple([v.number()]).concat(v.array(v.number()));\n\nexport type TDigestJSON = v.Infer<typeof tdigestSchema>;\n"],"mappings":";;;;;;AAOA,IAAa,gBAAgB,eAAE,MAAM,CAAC,eAAE,OAAO,CAAC,CAAC,EAAE,OAAO,eAAE,MAAM,eAAE,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tdigest.js","names":["#maxProcessed","#maxUnprocessed","#processed","#unprocessed","#cumulative","#processedWeight","#unprocessedWeight","#min","#max","#process","#integratedQ","#integratedLocation","#updateCumulative"],"sources":["../../../../../shared/src/tdigest.ts"],"sourcesContent":["// Apache License 2.0\n// https://github.com/influxdata/tdigest\n\nimport {binarySearch} from './binary-search.ts';\nimport {Centroid, sortCentroidList, type CentroidList} from './centroid.ts';\nimport type {TDigestJSON} from './tdigest-schema.ts';\n\nexport interface ReadonlyTDigest {\n readonly count: () => number;\n readonly quantile: (q: number) => number;\n readonly cdf: (x: number) => number;\n}\n\n// TDigest is a data structure for accurate on-line accumulation of\n// rank-based statistics such as quantiles and trimmed means.\nexport class TDigest {\n readonly compression: number;\n\n #maxProcessed: number;\n #maxUnprocessed: number;\n #processed!: CentroidList;\n #unprocessed!: CentroidList;\n #cumulative!: number[];\n #processedWeight!: number;\n #unprocessedWeight!: number;\n #min!: number;\n #max!: number;\n\n constructor(compression: number = 1000) {\n this.compression = compression;\n this.#maxProcessed = processedSize(0, this.compression);\n this.#maxUnprocessed = unprocessedSize(0, this.compression);\n this.reset();\n }\n\n /**\n * fromJSON creates a TDigest from a JSON-serializable representation.\n * The data should be an object with compression and centroids array.\n */\n static fromJSON(data: Readonly<TDigestJSON>): TDigest {\n const digest = new TDigest(data[0]);\n if (data.length % 2 !== 1) {\n throw new Error('Invalid centroids array');\n }\n for (let i = 1; i < data.length; i += 2) {\n digest.add(data[i], data[i + 1]);\n }\n return digest;\n }\n\n reset(): void {\n this.#processed = [];\n this.#unprocessed = [];\n this.#cumulative = [];\n this.#processedWeight = 0;\n this.#unprocessedWeight = 0;\n this.#min = Number.MAX_VALUE;\n this.#max = -Number.MAX_VALUE;\n }\n\n add(mean: number, weight: number = 1) {\n this.addCentroid(new Centroid(mean, weight));\n }\n\n /** AddCentroidList can quickly add multiple centroids. */\n addCentroidList(centroidList: CentroidList) {\n for (const c of centroidList) {\n this.addCentroid(c);\n }\n }\n\n /**\n * AddCentroid adds a single centroid.\n * Weights which are not a number or are <= 0 are ignored, as are NaN means.\n */\n addCentroid(c: Centroid): void {\n if (\n Number.isNaN(c.mean) ||\n c.weight <= 0 ||\n Number.isNaN(c.weight) ||\n !Number.isFinite(c.weight)\n ) {\n return;\n }\n\n this.#unprocessed.push(new Centroid(c.mean, c.weight));\n this.#unprocessedWeight += c.weight;\n\n if (\n this.#processed.length > this.#maxProcessed ||\n this.#unprocessed.length > this.#maxUnprocessed\n ) {\n this.#process();\n }\n }\n\n /**\n * Merges the supplied digest into this digest. Functionally equivalent to\n * calling t.AddCentroidList(t2.Centroids(nil)), but avoids making an extra\n * copy of the CentroidList.\n **/\n merge(t2: TDigest) {\n t2.#process();\n this.addCentroidList(t2.#processed);\n }\n\n #process() {\n if (\n this.#unprocessed.length > 0 ||\n this.#processed.length > this.#maxProcessed\n ) {\n // Append all processed centroids to the unprocessed list and sort\n this.#unprocessed.push(...this.#processed);\n sortCentroidList(this.#unprocessed);\n\n // Reset processed list with first centroid\n this.#processed.length = 0;\n this.#processed.push(this.#unprocessed[0]);\n\n this.#processedWeight += this.#unprocessedWeight;\n this.#unprocessedWeight = 0;\n let soFar = this.#unprocessed[0].weight;\n let limit = this.#processedWeight * this.#integratedQ(1);\n for (let i = 1; i < this.#unprocessed.length; i++) {\n const centroid = this.#unprocessed[i];\n const projected = soFar + centroid.weight;\n if (projected <= limit) {\n soFar = projected;\n // oxlint-disable-next-line typescript/no-non-null-assertion\n this.#processed.at(-1)!.add(centroid);\n } else {\n const k1 = this.#integratedLocation(soFar / this.#processedWeight);\n limit = this.#processedWeight * this.#integratedQ(k1 + 1);\n soFar += centroid.weight;\n this.#processed.push(centroid);\n }\n }\n this.#min = Math.min(this.#min, this.#processed[0].mean);\n // oxlint-disable-next-line typescript/no-non-null-assertion\n this.#max = Math.max(this.#max, this.#processed.at(-1)!.mean);\n this.#unprocessed.length = 0;\n }\n }\n\n /**\n * Centroids returns a copy of processed centroids.\n * Useful when aggregating multiple t-digests.\n *\n * Centroids are appended to the passed CentroidList; if you're re-using a\n * buffer, be sure to pass cl[:0].\n */\n centroids(cl: CentroidList = []): CentroidList {\n this.#process();\n return [...cl, ...this.#processed];\n }\n\n count(): number {\n this.#process();\n\n // this.process always updates this.processedWeight to the total count of all\n // centroids, so we don't need to re-count here.\n return this.#processedWeight;\n }\n\n /**\n * toJSON returns a JSON-serializable representation of the digest.\n * This processes the digest and returns an object with compression and centroid data.\n */\n toJSON(): TDigestJSON {\n this.#process();\n const data: TDigestJSON = [this.compression];\n for (const centroid of this.#processed) {\n data.push(centroid.mean, centroid.weight);\n }\n return data;\n }\n\n #updateCumulative() {\n // Weight can only increase, so the final cumulative value will always be\n // either equal to, or less than, the total weight. If they are the same,\n // then nothing has changed since the last update.\n if (\n this.#cumulative.length > 0 &&\n this.#cumulative.at(-1) === this.#processedWeight\n ) {\n return;\n }\n const n = this.#processed.length + 1;\n if (this.#cumulative.length > n) {\n this.#cumulative.length = n;\n }\n\n let prev = 0;\n for (let i = 0; i < this.#processed.length; i++) {\n const centroid = this.#processed[i];\n const cur = centroid.weight;\n this.#cumulative[i] = prev + cur / 2;\n prev += cur;\n }\n this.#cumulative[this.#processed.length] = prev;\n }\n\n // Quantile returns the (approximate) quantile of\n // the distribution. Accepted values for q are between 0 and 1.\n // Returns NaN if Count is zero or bad inputs.\n quantile(q: number): number {\n this.#process();\n this.#updateCumulative();\n if (q < 0 || q > 1 || this.#processed.length === 0) {\n return NaN;\n }\n if (this.#processed.length === 1) {\n return this.#processed[0].mean;\n }\n const index = q * this.#processedWeight;\n if (index <= this.#processed[0].weight / 2) {\n return (\n this.#min +\n ((2 * index) / this.#processed[0].weight) *\n (this.#processed[0].mean - this.#min)\n );\n }\n\n const lower = binarySearch(\n this.#cumulative.length,\n (i: number) => -this.#cumulative[i] + index,\n );\n\n if (lower + 1 !== this.#cumulative.length) {\n const z1 = index - this.#cumulative[lower - 1];\n const z2 = this.#cumulative[lower] - index;\n return weightedAverage(\n this.#processed[lower - 1].mean,\n z2,\n this.#processed[lower].mean,\n z1,\n );\n }\n\n const z1 =\n index - this.#processedWeight - this.#processed[lower - 1].weight / 2;\n const z2 = this.#processed[lower - 1].weight / 2 - z1;\n // oxlint-disable-next-line typescript/no-non-null-assertion\n return weightedAverage(this.#processed.at(-1)!.mean, z1, this.#max, z2);\n }\n\n /**\n * CDF returns the cumulative distribution function for a given value x.\n */\n cdf(x: number): number {\n this.#process();\n this.#updateCumulative();\n switch (this.#processed.length) {\n case 0:\n return 0;\n case 1: {\n const width = this.#max - this.#min;\n if (x <= this.#min) {\n return 0;\n }\n if (x >= this.#max) {\n return 1;\n }\n if (x - this.#min <= width) {\n // min and max are too close together to do any viable interpolation\n return 0.5;\n }\n return (x - this.#min) / width;\n }\n }\n\n if (x <= this.#min) {\n return 0;\n }\n if (x >= this.#max) {\n return 1;\n }\n const m0 = this.#processed[0].mean;\n // Left Tail\n if (x <= m0) {\n if (m0 - this.#min > 0) {\n return (\n (((x - this.#min) / (m0 - this.#min)) * this.#processed[0].weight) /\n this.#processedWeight /\n 2\n );\n }\n return 0;\n }\n // Right Tail\n // oxlint-disable-next-line typescript/no-non-null-assertion\n const mn = this.#processed.at(-1)!.mean;\n if (x >= mn) {\n if (this.#max - mn > 0) {\n return (\n 1 -\n (((this.#max - x) / (this.#max - mn)) *\n // oxlint-disable-next-line typescript/no-non-null-assertion\n this.#processed.at(-1)!.weight) /\n this.#processedWeight /\n 2\n );\n }\n return 1;\n }\n\n const upper = binarySearch(\n this.#processed.length,\n // Treat equals as greater than, so we can use the upper index\n // This is equivalent to:\n // i => this.#processed[i].mean > x ? -1 : 1,\n i => x - this.#processed[i].mean || 1,\n );\n\n const z1 = x - this.#processed[upper - 1].mean;\n const z2 = this.#processed[upper].mean - x;\n return (\n weightedAverage(\n this.#cumulative[upper - 1],\n z2,\n this.#cumulative[upper],\n z1,\n ) / this.#processedWeight\n );\n }\n\n #integratedQ(k: number): number {\n return (\n (Math.sin(\n (Math.min(k, this.compression) * Math.PI) / this.compression -\n Math.PI / 2,\n ) +\n 1) /\n 2\n );\n }\n\n #integratedLocation(q: number): number {\n return (this.compression * (Math.asin(2 * q - 1) + Math.PI / 2)) / Math.PI;\n }\n}\n\n// Calculate number of bytes needed for a tdigest of size c,\n// where c is the compression value\nexport function byteSizeForCompression(comp: number): number {\n const c = comp | 0;\n // // A centroid is 2 float64s, so we need 16 bytes for each centroid\n // float_size := 8\n // centroid_size := 2 * float_size\n\n // // Unprocessed and processed can grow up to length c\n // unprocessed_size := centroid_size * c\n // processed_size := unprocessed_size\n\n // // the cumulative field can also be of length c, but each item is a single float64\n // cumulative_size := float_size * c // <- this could also be unprocessed_size / 2\n\n // return unprocessed_size + processed_size + cumulative_size\n\n // // or, more succinctly:\n // return float_size * c * 5\n\n // or even more succinctly\n return c * 40;\n}\n\nfunction weightedAverage(\n x1: number,\n w1: number,\n x2: number,\n w2: number,\n): number {\n if (x1 <= x2) {\n return weightedAverageSorted(x1, w1, x2, w2);\n }\n return weightedAverageSorted(x2, w2, x1, w1);\n}\n\nfunction weightedAverageSorted(\n x1: number,\n w1: number,\n x2: number,\n w2: number,\n): number {\n const x = (x1 * w1 + x2 * w2) / (w1 + w2);\n return Math.max(x1, Math.min(x, x2));\n}\n\nfunction processedSize(size: number, compression: number): number {\n if (size === 0) {\n return Math.ceil(compression) * 2;\n }\n return size;\n}\n\nfunction unprocessedSize(size: number, compression: number): number {\n if (size === 0) {\n return Math.ceil(compression) * 8;\n }\n return size;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { __exportAll, __reExport } from "../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import * as v from "@badrap/valita";
|
|
3
|
+
export * from "@badrap/valita";
|
|
4
|
+
//#region ../shared/src/valita.ts
|
|
5
|
+
var valita_exports = /* @__PURE__ */ __exportAll({
|
|
6
|
+
assert: () => assert,
|
|
7
|
+
deepPartial: () => deepPartial,
|
|
8
|
+
instanceOfAbstractType: () => instanceOfAbstractType,
|
|
9
|
+
is: () => is,
|
|
10
|
+
literalUnion: () => literalUnion,
|
|
11
|
+
parse: () => parse,
|
|
12
|
+
readonly: () => readonly,
|
|
13
|
+
readonlyArray: () => readonlyArray,
|
|
14
|
+
readonlyObject: () => readonlyObject,
|
|
15
|
+
readonlyRecord: () => readonlyRecord,
|
|
16
|
+
test: () => test,
|
|
17
|
+
testOptional: () => testOptional
|
|
18
|
+
});
|
|
19
|
+
import * as import__badrap_valita from "@badrap/valita";
|
|
20
|
+
__reExport(valita_exports, import__badrap_valita);
|
|
21
|
+
function toDisplay(value) {
|
|
22
|
+
switch (typeof value) {
|
|
23
|
+
case "string":
|
|
24
|
+
case "number":
|
|
25
|
+
case "boolean": return JSON.stringify(value);
|
|
26
|
+
case "undefined": return "undefined";
|
|
27
|
+
case "bigint": return value.toString() + "n";
|
|
28
|
+
default:
|
|
29
|
+
if (value === null) return "null";
|
|
30
|
+
if (Array.isArray(value)) return "array";
|
|
31
|
+
return typeof value;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function toDisplayAtPath(v, path) {
|
|
35
|
+
if (!path?.length) return toDisplay(v);
|
|
36
|
+
let cur = v;
|
|
37
|
+
for (const p of path) cur = cur[p];
|
|
38
|
+
return toDisplay(cur);
|
|
39
|
+
}
|
|
40
|
+
function displayList(word, expected, toDisplay = (x) => String(x)) {
|
|
41
|
+
if (expected.length === 1) return toDisplay(expected[0]);
|
|
42
|
+
const suffix = `${toDisplay(expected[expected.length - 2])} ${word} ${toDisplay(expected.at(-1))}`;
|
|
43
|
+
if (expected.length === 2) return suffix;
|
|
44
|
+
return `${expected.slice(0, -2).map(toDisplay).join(", ")}, ${suffix}`;
|
|
45
|
+
}
|
|
46
|
+
function getMessage(err, v, schema, mode) {
|
|
47
|
+
const firstIssue = err.issues[0];
|
|
48
|
+
const { path } = firstIssue;
|
|
49
|
+
const atPath = path?.length ? ` at ${path.join(".")}` : "";
|
|
50
|
+
switch (firstIssue.code) {
|
|
51
|
+
case "invalid_type": return `Expected ${displayList("or", firstIssue.expected)}${atPath}. Got ${toDisplayAtPath(v, path)}`;
|
|
52
|
+
case "missing_value": {
|
|
53
|
+
const atPath = path && path.length > 1 ? ` at ${path.slice(0, -1).join(".")}` : "";
|
|
54
|
+
if (firstIssue.path?.length) return `Missing property ${firstIssue.path.at(-1)}${atPath}`;
|
|
55
|
+
return `TODO Unknown missing property${atPath}`;
|
|
56
|
+
}
|
|
57
|
+
case "invalid_literal": return `Expected literal value ${displayList("or", firstIssue.expected, toDisplay)}${atPath} Got ${toDisplayAtPath(v, path)}`;
|
|
58
|
+
case "invalid_length": return `Expected array with length ${firstIssue.minLength === firstIssue.maxLength ? firstIssue.minLength : `between ${firstIssue.minLength} and ${firstIssue.maxLength}`}${atPath}. Got array with length ${v.length}`;
|
|
59
|
+
case "unrecognized_keys":
|
|
60
|
+
if (firstIssue.keys.length === 1) return `Unexpected property ${firstIssue.keys[0]}${atPath}`;
|
|
61
|
+
return `Unexpected properties ${displayList("and", firstIssue.keys)}${atPath}`;
|
|
62
|
+
case "invalid_union": return schema.name === "union" ? getDeepestUnionParseError(v, schema, mode ?? "strict") : `Invalid union value${atPath}`;
|
|
63
|
+
case "custom_error": {
|
|
64
|
+
const { error } = firstIssue;
|
|
65
|
+
return `${!error ? "unknown" : typeof error === "string" ? error : error.message ?? "unknown"}${atPath}. Got ${toDisplayAtPath(v, path)}`;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function getDeepestUnionParseError(value, schema, mode) {
|
|
70
|
+
const failures = [];
|
|
71
|
+
for (const type of schema.options) {
|
|
72
|
+
const r = type.try(value, { mode });
|
|
73
|
+
if (!r.ok) failures.push({
|
|
74
|
+
type,
|
|
75
|
+
err: r
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
if (failures.length) {
|
|
79
|
+
failures.sort(pathCmp);
|
|
80
|
+
if (failures.length === 1 || pathCmp(failures[0], failures[1]) < 0) return getMessage(failures[0].err, value, failures[0].type, mode);
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
return `Invalid union value: ${JSON.stringify(value)}`;
|
|
84
|
+
} catch {
|
|
85
|
+
return `Invalid union value`;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function pathCmp(a, b) {
|
|
89
|
+
const aPath = a.err.issues[0].path;
|
|
90
|
+
const bPath = b.err.issues[0].path;
|
|
91
|
+
if (aPath.length !== bPath.length) return bPath.length - aPath.length;
|
|
92
|
+
for (let i = 0; i < aPath.length; i++) {
|
|
93
|
+
if (bPath[i] > aPath[i]) return -1;
|
|
94
|
+
if (bPath[i] < aPath[i]) return 1;
|
|
95
|
+
}
|
|
96
|
+
return 0;
|
|
97
|
+
}
|
|
98
|
+
function parse(value, schema, mode) {
|
|
99
|
+
const res = test(value, schema, mode);
|
|
100
|
+
if (!res.ok) throw new TypeError(res.error);
|
|
101
|
+
return res.value;
|
|
102
|
+
}
|
|
103
|
+
function is(value, schema, mode) {
|
|
104
|
+
return test(value, schema, mode).ok;
|
|
105
|
+
}
|
|
106
|
+
function assert(value, schema, mode) {
|
|
107
|
+
parse(value, schema, mode);
|
|
108
|
+
}
|
|
109
|
+
function test(value, schema, mode) {
|
|
110
|
+
const res = schema.try(value, mode ? { mode } : void 0);
|
|
111
|
+
if (!res.ok) return {
|
|
112
|
+
ok: false,
|
|
113
|
+
error: getMessage(res, value, schema, mode)
|
|
114
|
+
};
|
|
115
|
+
return res;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Similar to {@link test} but works for AbstractTypes such as Optional.
|
|
119
|
+
* This is for advanced usage. Prefer {@link test} unless you really need
|
|
120
|
+
* to operate directly on an Optional field.
|
|
121
|
+
*/
|
|
122
|
+
function testOptional(value, schema, mode) {
|
|
123
|
+
let flags = 1;
|
|
124
|
+
if (mode === "passthrough") flags = 0;
|
|
125
|
+
else if (mode === "strip") flags = 2;
|
|
126
|
+
const res = schema.func(value, flags);
|
|
127
|
+
if (res === void 0) return {
|
|
128
|
+
ok: true,
|
|
129
|
+
value
|
|
130
|
+
};
|
|
131
|
+
else if (res.ok) return res;
|
|
132
|
+
return {
|
|
133
|
+
ok: false,
|
|
134
|
+
error: getMessage(new v.ValitaError(res), value, schema, mode)
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Shallowly marks the schema as readonly.
|
|
139
|
+
*/
|
|
140
|
+
function readonly(t) {
|
|
141
|
+
return t;
|
|
142
|
+
}
|
|
143
|
+
function readonlyObject(t) {
|
|
144
|
+
return v.object(t);
|
|
145
|
+
}
|
|
146
|
+
function readonlyArray(t) {
|
|
147
|
+
return v.array(t);
|
|
148
|
+
}
|
|
149
|
+
function readonlyRecord(t) {
|
|
150
|
+
return v.record(t);
|
|
151
|
+
}
|
|
152
|
+
var AbstractType = Object.getPrototypeOf(Object.getPrototypeOf(v.string().optional())).constructor;
|
|
153
|
+
function instanceOfAbstractType(obj) {
|
|
154
|
+
return obj instanceof AbstractType;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Similar to `ObjectType.partial()` except it recurses into nested objects.
|
|
158
|
+
* Rest types are not supported.
|
|
159
|
+
*/
|
|
160
|
+
function deepPartial(s) {
|
|
161
|
+
const shape = {};
|
|
162
|
+
for (const [key, type] of Object.entries(s.shape)) if (type.name === "object") shape[key] = deepPartial(type).optional();
|
|
163
|
+
else shape[key] = type.optional();
|
|
164
|
+
return v.object(shape);
|
|
165
|
+
}
|
|
166
|
+
function literalUnion(...literals) {
|
|
167
|
+
return v.union(...literals.map(v.literal));
|
|
168
|
+
}
|
|
169
|
+
//#endregion
|
|
170
|
+
export { assert, deepPartial, instanceOfAbstractType, literalUnion, parse, readonly, readonlyArray, readonlyObject, readonlyRecord, test, testOptional, valita_exports };
|
|
171
|
+
|
|
172
|
+
//# sourceMappingURL=valita.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"valita.js","names":[],"sources":["../../../../../shared/src/valita.ts"],"sourcesContent":["import * as v from '@badrap/valita';\n\nexport * from '@badrap/valita';\n\nfunction toDisplay(value: unknown): string {\n switch (typeof value) {\n case 'string':\n case 'number':\n case 'boolean':\n return JSON.stringify(value);\n case 'undefined':\n return 'undefined';\n case 'bigint':\n return value.toString() + 'n';\n default:\n if (value === null) {\n return 'null';\n }\n if (Array.isArray(value)) {\n return 'array';\n }\n return typeof value;\n }\n}\n\ntype Key = string | number;\n\nfunction toDisplayAtPath(v: unknown, path: Key[] | undefined): string {\n if (!path?.length) {\n return toDisplay(v);\n }\n\n let cur = v;\n for (const p of path) {\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n cur = (cur as any)[p];\n }\n return toDisplay(cur);\n}\n\nfunction displayList<T>(\n word: string,\n expected: T[],\n toDisplay: (x: T) => string | number = x => String(x),\n): string | number {\n if (expected.length === 1) {\n return toDisplay(expected[0]);\n }\n\n const suffix = `${toDisplay(\n expected[expected.length - 2],\n // oxlint-disable-next-line typescript/no-non-null-assertion\n )} ${word} ${toDisplay(expected.at(-1)!)}`;\n if (expected.length === 2) {\n return suffix;\n }\n return `${expected.slice(0, -2).map(toDisplay).join(', ')}, ${suffix}`;\n}\n\nfunction getMessage(\n err: v.Err | v.ValitaError,\n v: unknown,\n schema: v.Type | v.Optional,\n mode: ParseOptionsMode | undefined,\n): string {\n const firstIssue = err.issues[0];\n const {path} = firstIssue;\n const atPath = path?.length ? ` at ${path.join('.')}` : '';\n\n switch (firstIssue.code) {\n case 'invalid_type':\n return `Expected ${displayList(\n 'or',\n firstIssue.expected,\n )}${atPath}. Got ${toDisplayAtPath(v, path)}`;\n case 'missing_value': {\n const atPath =\n path && path.length > 1 ? ` at ${path.slice(0, -1).join('.')}` : '';\n\n if (firstIssue.path?.length) {\n return `Missing property ${firstIssue.path.at(-1)}${atPath}`;\n }\n return `TODO Unknown missing property${atPath}`;\n }\n\n case 'invalid_literal':\n return `Expected literal value ${displayList(\n 'or',\n firstIssue.expected,\n toDisplay,\n )}${atPath} Got ${toDisplayAtPath(v, path)}`;\n\n case 'invalid_length': {\n return `Expected array with length ${\n firstIssue.minLength === firstIssue.maxLength\n ? firstIssue.minLength\n : `between ${firstIssue.minLength} and ${firstIssue.maxLength}`\n }${atPath}. Got array with length ${(v as {length: number}).length}`;\n }\n\n case 'unrecognized_keys':\n if (firstIssue.keys.length === 1) {\n return `Unexpected property ${firstIssue.keys[0]}${atPath}`;\n }\n return `Unexpected properties ${displayList(\n 'and',\n firstIssue.keys,\n )}${atPath}`;\n\n case 'invalid_union':\n return schema.name === 'union'\n ? getDeepestUnionParseError(v, schema as v.UnionType, mode ?? 'strict')\n : `Invalid union value${atPath}`;\n\n case 'custom_error': {\n const {error} = firstIssue;\n const message = !error\n ? 'unknown'\n : typeof error === 'string'\n ? error\n : (error.message ?? 'unknown');\n return `${message}${atPath}. Got ${toDisplayAtPath(v, path)}`;\n }\n }\n}\n\ntype FailedType = {type: v.Type; err: v.Err};\n\nfunction getDeepestUnionParseError(\n value: unknown,\n schema: v.UnionType,\n mode: ParseOptionsMode,\n): string {\n const failures: FailedType[] = [];\n for (const type of schema.options) {\n const r = type.try(value, {mode});\n if (!r.ok) {\n failures.push({type, err: r});\n }\n }\n if (failures.length) {\n // compare the first and second longest-path errors\n failures.sort(pathCmp);\n if (failures.length === 1 || pathCmp(failures[0], failures[1]) < 0) {\n return getMessage(failures[0].err, value, failures[0].type, mode);\n }\n }\n // paths are equivalent\n try {\n const str = JSON.stringify(value);\n return `Invalid union value: ${str}`;\n } catch {\n // fallback if the value could not be stringified\n return `Invalid union value`;\n }\n}\n\n// Descending-order comparison of Issue paths.\n// * [1, 'a'] sorts before [1]\n// * [1] sorts before [0] (i.e. errors later in the tuple sort before earlier errors)\nfunction pathCmp(a: FailedType, b: FailedType) {\n const aPath = a.err.issues[0].path;\n const bPath = b.err.issues[0].path;\n if (aPath.length !== bPath.length) {\n return bPath.length - aPath.length;\n }\n for (let i = 0; i < aPath.length; i++) {\n if (bPath[i] > aPath[i]) {\n return -1;\n }\n if (bPath[i] < aPath[i]) {\n return 1;\n }\n }\n return 0;\n}\n\n/**\n * 'strip' allows unknown properties and removes unknown properties.\n * 'strict' errors if there are unknown properties.\n * 'passthrough' allows unknown properties.\n */\nexport type ParseOptionsMode = 'passthrough' | 'strict' | 'strip';\n\nexport function parse<T>(\n value: unknown,\n schema: v.Type<T>,\n mode?: ParseOptionsMode,\n): T {\n const res = test(value, schema, mode);\n if (!res.ok) {\n throw new TypeError(res.error);\n }\n return res.value;\n}\n\nexport function is<T>(\n value: unknown,\n schema: v.Type<T>,\n mode?: ParseOptionsMode,\n): value is T {\n return test(value, schema, mode).ok;\n}\n\nexport function assert<T>(\n value: unknown,\n schema: v.Type<T>,\n mode?: ParseOptionsMode,\n): asserts value is T {\n parse(value, schema, mode);\n}\n\ntype Result<T> = {ok: true; value: T} | {ok: false; error: string};\n\nexport function test<T>(\n value: unknown,\n schema: v.Type<T>,\n mode?: ParseOptionsMode,\n): Result<T> {\n const res = schema.try(value, mode ? {mode} : undefined);\n if (!res.ok) {\n return {\n ok: false,\n error: getMessage(res, value, schema, mode),\n };\n }\n return res;\n}\n\n/**\n * Similar to {@link test} but works for AbstractTypes such as Optional.\n * This is for advanced usage. Prefer {@link test} unless you really need\n * to operate directly on an Optional field.\n */\nexport function testOptional<T>(\n value: unknown,\n schema: v.Type<T> | v.Optional<T>,\n mode?: ParseOptionsMode,\n): Result<T | undefined> {\n let flags = 0x1; // FLAG_FORBID_EXTRA_KEYS;\n if (mode === 'passthrough') {\n flags = 0;\n } else if (mode === 'strip') {\n flags = 0x2; // FLAG_STRIP_EXTRA_KEYS;\n }\n const res = schema.func(value, flags);\n if (res === undefined) {\n return {ok: true, value} as Result<T>;\n } else if (res.ok) {\n return res;\n }\n const err = new v.ValitaError(res);\n return {ok: false, error: getMessage(err, value, schema, mode)};\n}\n\n/**\n * Shallowly marks the schema as readonly.\n */\nexport function readonly<T extends v.Type>(t: T): v.Type<Readonly<v.Infer<T>>> {\n return t as v.Type<Readonly<v.Infer<T>>>;\n}\n\nexport function readonlyObject<T extends Record<string, v.Type | v.Optional>>(\n t: T,\n): v.ObjectType<Readonly<T>, undefined> {\n return v.object(t);\n}\n\nexport function readonlyArray<T extends v.Type>(\n t: T,\n): v.Type<readonly v.Infer<T>[]> {\n return v.array(t);\n}\n\nexport function readonlyRecord<T extends v.Type>(\n t: T,\n): v.Type<Readonly<Record<string, v.Infer<T>>>> {\n return v.record(t);\n}\n\nconst AbstractType = Object.getPrototypeOf(\n Object.getPrototypeOf(v.string().optional()),\n).constructor;\n\nexport function instanceOfAbstractType<T = unknown>(\n obj: unknown,\n): obj is v.Type<T> | v.Optional<T> {\n return obj instanceof AbstractType;\n}\n\ntype ObjectShape = Record<string, typeof AbstractType>;\n\n/**\n * Similar to `ObjectType.partial()` except it recurses into nested objects.\n * Rest types are not supported.\n */\nexport function deepPartial<Shape extends ObjectShape>(\n s: v.ObjectType<Shape, undefined>,\n) {\n const shape = {} as Record<string, unknown>;\n for (const [key, type] of Object.entries(s.shape)) {\n if (type.name === 'object') {\n shape[key] = deepPartial(type as v.ObjectType).optional();\n } else {\n shape[key] = type.optional();\n }\n }\n return v.object(shape as {[K in keyof Shape]: v.Optional<v.Infer<Shape[K]>>});\n}\n\ntype Literal = string | number | bigint | boolean;\n\nexport function literalUnion<T extends [...Literal[]]>(\n ...literals: T\n): v.Type<T[number]> {\n return v.union(...literals.map(v.literal));\n}\n"],"mappings":"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"}
|