@rocicorp/zero 0.0.0-202410031711
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/deps/sqlite3/sqlite3.c +260574 -0
- package/deps/sqlite3/sqlite3.h +13572 -0
- package/deps/sqlite3/sqlite3ext.h +719 -0
- package/out/btree/b+tree.d.ts +471 -0
- package/out/btree/b+tree.d.ts.map +1 -0
- package/out/btree/b+tree.js +1708 -0
- package/out/btree/b+tree.js.map +1 -0
- package/out/btree/interfaces.d.ts +270 -0
- package/out/btree/interfaces.d.ts.map +1 -0
- package/out/btree/interfaces.js +3 -0
- package/out/btree/interfaces.js.map +1 -0
- package/out/chunk-2RUT5EQV.js +28 -0
- package/out/chunk-2RUT5EQV.js.map +7 -0
- package/out/datadog/src/datadog-log-sink.d.ts +20 -0
- package/out/datadog/src/datadog-log-sink.d.ts.map +1 -0
- package/out/datadog/src/datadog-log-sink.js +231 -0
- package/out/datadog/src/datadog-log-sink.js.map +1 -0
- package/out/datadog/src/mod.d.ts +2 -0
- package/out/datadog/src/mod.d.ts.map +1 -0
- package/out/react.js +108 -0
- package/out/react.js.map +7 -0
- package/out/replicache/src/async-iterable-to-array.d.ts +2 -0
- package/out/replicache/src/async-iterable-to-array.d.ts.map +1 -0
- package/out/replicache/src/bg-interval.d.ts +3 -0
- package/out/replicache/src/bg-interval.d.ts.map +1 -0
- package/out/replicache/src/binary-search.d.ts +15 -0
- package/out/replicache/src/binary-search.d.ts.map +1 -0
- package/out/replicache/src/broadcast-channel.d.ts +3 -0
- package/out/replicache/src/broadcast-channel.d.ts.map +1 -0
- package/out/replicache/src/btree/diff.d.ts +4 -0
- package/out/replicache/src/btree/diff.d.ts.map +1 -0
- package/out/replicache/src/btree/node.d.ts +125 -0
- package/out/replicache/src/btree/node.d.ts.map +1 -0
- package/out/replicache/src/btree/read.d.ts +32 -0
- package/out/replicache/src/btree/read.d.ts.map +1 -0
- package/out/replicache/src/btree/splice.d.ts +9 -0
- package/out/replicache/src/btree/splice.d.ts.map +1 -0
- package/out/replicache/src/btree/write.d.ts +24 -0
- package/out/replicache/src/btree/write.d.ts.map +1 -0
- package/out/replicache/src/call-default-fetch.d.ts +6 -0
- package/out/replicache/src/call-default-fetch.d.ts.map +1 -0
- package/out/replicache/src/config.d.ts +13 -0
- package/out/replicache/src/config.d.ts.map +1 -0
- package/out/replicache/src/connection-loop-delegates.d.ts +20 -0
- package/out/replicache/src/connection-loop-delegates.d.ts.map +1 -0
- package/out/replicache/src/connection-loop.d.ts +28 -0
- package/out/replicache/src/connection-loop.d.ts.map +1 -0
- package/out/replicache/src/cookies.d.ts +29 -0
- package/out/replicache/src/cookies.d.ts.map +1 -0
- package/out/replicache/src/dag/chunk.d.ts +35 -0
- package/out/replicache/src/dag/chunk.d.ts.map +1 -0
- package/out/replicache/src/dag/gc.d.ts +42 -0
- package/out/replicache/src/dag/gc.d.ts.map +1 -0
- package/out/replicache/src/dag/key.d.ts +26 -0
- package/out/replicache/src/dag/key.d.ts.map +1 -0
- package/out/replicache/src/dag/lazy-store.d.ts +181 -0
- package/out/replicache/src/dag/lazy-store.d.ts.map +1 -0
- package/out/replicache/src/dag/store-impl.d.ts +38 -0
- package/out/replicache/src/dag/store-impl.d.ts.map +1 -0
- package/out/replicache/src/dag/store.d.ts +36 -0
- package/out/replicache/src/dag/store.d.ts.map +1 -0
- package/out/replicache/src/dag/visitor.d.ts +13 -0
- package/out/replicache/src/dag/visitor.d.ts.map +1 -0
- package/out/replicache/src/db/commit.d.ts +133 -0
- package/out/replicache/src/db/commit.d.ts.map +1 -0
- package/out/replicache/src/db/index.d.ts +33 -0
- package/out/replicache/src/db/index.d.ts.map +1 -0
- package/out/replicache/src/db/read.d.ts +24 -0
- package/out/replicache/src/db/read.d.ts.map +1 -0
- package/out/replicache/src/db/rebase.d.ts +10 -0
- package/out/replicache/src/db/rebase.d.ts.map +1 -0
- package/out/replicache/src/db/scan.d.ts +15 -0
- package/out/replicache/src/db/scan.d.ts.map +1 -0
- package/out/replicache/src/db/write.d.ts +39 -0
- package/out/replicache/src/db/write.d.ts.map +1 -0
- package/out/replicache/src/error-responses.d.ts +26 -0
- package/out/replicache/src/error-responses.d.ts.map +1 -0
- package/out/replicache/src/filter-async-iterable.d.ts +10 -0
- package/out/replicache/src/filter-async-iterable.d.ts.map +1 -0
- package/out/replicache/src/format-version.d.ts +9 -0
- package/out/replicache/src/format-version.d.ts.map +1 -0
- package/out/replicache/src/frozen-json.d.ts +35 -0
- package/out/replicache/src/frozen-json.d.ts.map +1 -0
- package/out/replicache/src/get-default-puller.d.ts +14 -0
- package/out/replicache/src/get-default-puller.d.ts.map +1 -0
- package/out/replicache/src/get-default-pusher.d.ts +10 -0
- package/out/replicache/src/get-default-pusher.d.ts.map +1 -0
- package/out/replicache/src/hash.d.ts +29 -0
- package/out/replicache/src/hash.d.ts.map +1 -0
- package/out/replicache/src/http-request-info.d.ts +6 -0
- package/out/replicache/src/http-request-info.d.ts.map +1 -0
- package/out/replicache/src/impl.d.ts +4 -0
- package/out/replicache/src/impl.d.ts.map +1 -0
- package/out/replicache/src/index-defs.d.ts +36 -0
- package/out/replicache/src/index-defs.d.ts.map +1 -0
- package/out/replicache/src/iterable-union.d.ts +5 -0
- package/out/replicache/src/iterable-union.d.ts.map +1 -0
- package/out/replicache/src/kv/idb-store-with-mem-fallback.d.ts +25 -0
- package/out/replicache/src/kv/idb-store-with-mem-fallback.d.ts.map +1 -0
- package/out/replicache/src/kv/idb-store.d.ts +18 -0
- package/out/replicache/src/kv/idb-store.d.ts.map +1 -0
- package/out/replicache/src/kv/mem-store.d.ts +23 -0
- package/out/replicache/src/kv/mem-store.d.ts.map +1 -0
- package/out/replicache/src/kv/read-impl.d.ts +11 -0
- package/out/replicache/src/kv/read-impl.d.ts.map +1 -0
- package/out/replicache/src/kv/store.d.ts +76 -0
- package/out/replicache/src/kv/store.d.ts.map +1 -0
- package/out/replicache/src/kv/write-impl-base.d.ts +18 -0
- package/out/replicache/src/kv/write-impl-base.d.ts.map +1 -0
- package/out/replicache/src/kv/write-impl.d.ts +9 -0
- package/out/replicache/src/kv/write-impl.d.ts.map +1 -0
- package/out/replicache/src/lazy.d.ts +2 -0
- package/out/replicache/src/lazy.d.ts.map +1 -0
- package/out/replicache/src/log-options.d.ts +10 -0
- package/out/replicache/src/log-options.d.ts.map +1 -0
- package/out/replicache/src/merge-async-iterables.d.ts +16 -0
- package/out/replicache/src/merge-async-iterables.d.ts.map +1 -0
- package/out/replicache/src/mod.d.ts +38 -0
- package/out/replicache/src/mod.d.ts.map +1 -0
- package/out/replicache/src/mutation-recovery.d.ts +43 -0
- package/out/replicache/src/mutation-recovery.d.ts.map +1 -0
- package/out/replicache/src/new-client-channel.d.ts +6 -0
- package/out/replicache/src/new-client-channel.d.ts.map +1 -0
- package/out/replicache/src/on-persist-channel.d.ts +10 -0
- package/out/replicache/src/on-persist-channel.d.ts.map +1 -0
- package/out/replicache/src/patch-operation.d.ts +32 -0
- package/out/replicache/src/patch-operation.d.ts.map +1 -0
- package/out/replicache/src/pending-mutations.d.ts +14 -0
- package/out/replicache/src/pending-mutations.d.ts.map +1 -0
- package/out/replicache/src/persist/client-gc.d.ts +17 -0
- package/out/replicache/src/persist/client-gc.d.ts.map +1 -0
- package/out/replicache/src/persist/client-group-gc.d.ts +10 -0
- package/out/replicache/src/persist/client-group-gc.d.ts.map +1 -0
- package/out/replicache/src/persist/client-groups.d.ts +72 -0
- package/out/replicache/src/persist/client-groups.d.ts.map +1 -0
- package/out/replicache/src/persist/clients.d.ts +155 -0
- package/out/replicache/src/persist/clients.d.ts.map +1 -0
- package/out/replicache/src/persist/collect-idb-databases.d.ts +91 -0
- package/out/replicache/src/persist/collect-idb-databases.d.ts.map +1 -0
- package/out/replicache/src/persist/gather-mem-only-visitor.d.ts +12 -0
- package/out/replicache/src/persist/gather-mem-only-visitor.d.ts.map +1 -0
- package/out/replicache/src/persist/gather-not-cached-visitor.d.ts +17 -0
- package/out/replicache/src/persist/gather-not-cached-visitor.d.ts.map +1 -0
- package/out/replicache/src/persist/heartbeat.d.ts +9 -0
- package/out/replicache/src/persist/heartbeat.d.ts.map +1 -0
- package/out/replicache/src/persist/idb-databases-store-db-name.d.ts +5 -0
- package/out/replicache/src/persist/idb-databases-store-db-name.d.ts.map +1 -0
- package/out/replicache/src/persist/idb-databases-store.d.ts +24 -0
- package/out/replicache/src/persist/idb-databases-store.d.ts.map +1 -0
- package/out/replicache/src/persist/make-client-id.d.ts +6 -0
- package/out/replicache/src/persist/make-client-id.d.ts.map +1 -0
- package/out/replicache/src/persist/persist.d.ts +26 -0
- package/out/replicache/src/persist/persist.d.ts.map +1 -0
- package/out/replicache/src/persist/refresh.d.ts +13 -0
- package/out/replicache/src/persist/refresh.d.ts.map +1 -0
- package/out/replicache/src/process-scheduler.d.ts +20 -0
- package/out/replicache/src/process-scheduler.d.ts.map +1 -0
- package/out/replicache/src/puller.d.ts +61 -0
- package/out/replicache/src/puller.d.ts.map +1 -0
- package/out/replicache/src/pusher.d.ts +33 -0
- package/out/replicache/src/pusher.d.ts.map +1 -0
- package/out/replicache/src/replicache-impl.d.ts +321 -0
- package/out/replicache/src/replicache-impl.d.ts.map +1 -0
- package/out/replicache/src/replicache-options.d.ts +209 -0
- package/out/replicache/src/replicache-options.d.ts.map +1 -0
- package/out/replicache/src/replicache.d.ts +298 -0
- package/out/replicache/src/replicache.d.ts.map +1 -0
- package/out/replicache/src/request-idle.d.ts +6 -0
- package/out/replicache/src/request-idle.d.ts.map +1 -0
- package/out/replicache/src/scan-iterator.d.ts +127 -0
- package/out/replicache/src/scan-iterator.d.ts.map +1 -0
- package/out/replicache/src/scan-options.d.ts +67 -0
- package/out/replicache/src/scan-options.d.ts.map +1 -0
- package/out/replicache/src/set-interval-with-signal.d.ts +2 -0
- package/out/replicache/src/set-interval-with-signal.d.ts.map +1 -0
- package/out/replicache/src/size-of-value.d.ts +19 -0
- package/out/replicache/src/size-of-value.d.ts.map +1 -0
- package/out/replicache/src/subscriptions.d.ts +140 -0
- package/out/replicache/src/subscriptions.d.ts.map +1 -0
- package/out/replicache/src/sync/diff.d.ts +31 -0
- package/out/replicache/src/sync/diff.d.ts.map +1 -0
- package/out/replicache/src/sync/ids.d.ts +13 -0
- package/out/replicache/src/sync/ids.d.ts.map +1 -0
- package/out/replicache/src/sync/patch.d.ts +5 -0
- package/out/replicache/src/sync/patch.d.ts.map +1 -0
- package/out/replicache/src/sync/pull-error.d.ts +9 -0
- package/out/replicache/src/sync/pull-error.d.ts.map +1 -0
- package/out/replicache/src/sync/pull.d.ts +82 -0
- package/out/replicache/src/sync/pull.d.ts.map +1 -0
- package/out/replicache/src/sync/push.d.ts +65 -0
- package/out/replicache/src/sync/push.d.ts.map +1 -0
- package/out/replicache/src/sync/request-id.d.ts +10 -0
- package/out/replicache/src/sync/request-id.d.ts.map +1 -0
- package/out/replicache/src/sync/sync-head-name.d.ts +2 -0
- package/out/replicache/src/sync/sync-head-name.d.ts.map +1 -0
- package/out/replicache/src/test-license-key.d.ts +3 -0
- package/out/replicache/src/test-license-key.d.ts.map +1 -0
- package/out/replicache/src/to-error.d.ts +2 -0
- package/out/replicache/src/to-error.d.ts.map +1 -0
- package/out/replicache/src/transaction-closed-error.d.ts +12 -0
- package/out/replicache/src/transaction-closed-error.d.ts.map +1 -0
- package/out/replicache/src/transactions.d.ts +156 -0
- package/out/replicache/src/transactions.d.ts.map +1 -0
- package/out/replicache/src/types.d.ts +57 -0
- package/out/replicache/src/types.d.ts.map +1 -0
- package/out/replicache/src/version.d.ts +5 -0
- package/out/replicache/src/version.d.ts.map +1 -0
- package/out/replicache/src/with-transactions.d.ts +23 -0
- package/out/replicache/src/with-transactions.d.ts.map +1 -0
- package/out/shared/src/abort-error.d.ts +4 -0
- package/out/shared/src/abort-error.d.ts.map +1 -0
- package/out/shared/src/abort-error.js +4 -0
- package/out/shared/src/abort-error.js.map +1 -0
- package/out/shared/src/asserts.d.ts +17 -0
- package/out/shared/src/asserts.d.ts.map +1 -0
- package/out/shared/src/asserts.js +73 -0
- package/out/shared/src/asserts.js.map +1 -0
- package/out/shared/src/browser-env.d.ts +3 -0
- package/out/shared/src/browser-env.d.ts.map +1 -0
- package/out/shared/src/config.d.ts +3 -0
- package/out/shared/src/config.d.ts.map +1 -0
- package/out/shared/src/config.js +3 -0
- package/out/shared/src/config.js.map +1 -0
- package/out/shared/src/custom-key-map.d.ts +26 -0
- package/out/shared/src/custom-key-map.d.ts.map +1 -0
- package/out/shared/src/custom-key-map.js +65 -0
- package/out/shared/src/custom-key-map.js.map +1 -0
- package/out/shared/src/deep-clone.d.ts +4 -0
- package/out/shared/src/deep-clone.d.ts.map +1 -0
- package/out/shared/src/document-visible.d.ts +9 -0
- package/out/shared/src/document-visible.d.ts.map +1 -0
- package/out/shared/src/has-own.d.ts +5 -0
- package/out/shared/src/has-own.d.ts.map +1 -0
- package/out/shared/src/has-own.js +8 -0
- package/out/shared/src/has-own.js.map +1 -0
- package/out/shared/src/immutable.d.ts +11 -0
- package/out/shared/src/immutable.d.ts.map +1 -0
- package/out/shared/src/iterables.d.ts +11 -0
- package/out/shared/src/iterables.d.ts.map +1 -0
- package/out/shared/src/json-schema.d.ts +5 -0
- package/out/shared/src/json-schema.d.ts.map +1 -0
- package/out/shared/src/json-schema.js +36 -0
- package/out/shared/src/json-schema.js.map +1 -0
- package/out/shared/src/json.d.ts +55 -0
- package/out/shared/src/json.d.ts.map +1 -0
- package/out/shared/src/json.js +164 -0
- package/out/shared/src/json.js.map +1 -0
- package/out/shared/src/must.d.ts +2 -0
- package/out/shared/src/must.d.ts.map +1 -0
- package/out/shared/src/must.js +8 -0
- package/out/shared/src/must.js.map +1 -0
- package/out/shared/src/navigator.d.ts +7 -0
- package/out/shared/src/navigator.d.ts.map +1 -0
- package/out/shared/src/parse-big-int.d.ts +2 -0
- package/out/shared/src/parse-big-int.d.ts.map +1 -0
- package/out/shared/src/parse-big-int.js +11 -0
- package/out/shared/src/parse-big-int.js.map +1 -0
- package/out/shared/src/queue.d.ts +40 -0
- package/out/shared/src/queue.d.ts.map +1 -0
- package/out/shared/src/queue.js +118 -0
- package/out/shared/src/queue.js.map +1 -0
- package/out/shared/src/rand.d.ts +7 -0
- package/out/shared/src/rand.d.ts.map +1 -0
- package/out/shared/src/rand.js +11 -0
- package/out/shared/src/rand.js.map +1 -0
- package/out/shared/src/random-uint64.d.ts +2 -0
- package/out/shared/src/random-uint64.d.ts.map +1 -0
- package/out/shared/src/random-values.d.ts +2 -0
- package/out/shared/src/random-values.d.ts.map +1 -0
- package/out/shared/src/resolved-promises.d.ts +5 -0
- package/out/shared/src/resolved-promises.d.ts.map +1 -0
- package/out/shared/src/resolved-promises.js +5 -0
- package/out/shared/src/resolved-promises.js.map +1 -0
- package/out/shared/src/set-utils.d.ts +9 -0
- package/out/shared/src/set-utils.d.ts.map +1 -0
- package/out/shared/src/set-utils.js +60 -0
- package/out/shared/src/set-utils.js.map +1 -0
- package/out/shared/src/sleep.d.ts +15 -0
- package/out/shared/src/sleep.d.ts.map +1 -0
- package/out/shared/src/sleep.js +54 -0
- package/out/shared/src/sleep.js.map +1 -0
- package/out/shared/src/string-compare.d.ts +2 -0
- package/out/shared/src/string-compare.d.ts.map +1 -0
- package/out/shared/src/string-compare.js +10 -0
- package/out/shared/src/string-compare.js.map +1 -0
- package/out/shared/src/types.d.ts +2 -0
- package/out/shared/src/types.d.ts.map +1 -0
- package/out/shared/src/valita.d.ts +27 -0
- package/out/shared/src/valita.d.ts.map +1 -0
- package/out/shared/src/valita.js +118 -0
- package/out/shared/src/valita.js.map +1 -0
- package/out/shared/src/xxhash.d.ts +3 -0
- package/out/shared/src/xxhash.d.ts.map +1 -0
- package/out/shared/src/xxhash.js +4 -0
- package/out/shared/src/xxhash.js.map +1 -0
- package/out/zero/src/cli.d.ts +3 -0
- package/out/zero/src/cli.d.ts.map +1 -0
- package/out/zero/src/cli.js +3 -0
- package/out/zero/src/cli.js.map +1 -0
- package/out/zero/src/react.d.ts +2 -0
- package/out/zero/src/react.d.ts.map +1 -0
- package/out/zero/src/server/change-streamer.d.ts +2 -0
- package/out/zero/src/server/change-streamer.d.ts.map +1 -0
- package/out/zero/src/server/change-streamer.js +2 -0
- package/out/zero/src/server/change-streamer.js.map +1 -0
- package/out/zero/src/server/main.d.ts +2 -0
- package/out/zero/src/server/main.d.ts.map +1 -0
- package/out/zero/src/server/main.js +2 -0
- package/out/zero/src/server/main.js.map +1 -0
- package/out/zero/src/server/replicator.d.ts +2 -0
- package/out/zero/src/server/replicator.d.ts.map +1 -0
- package/out/zero/src/server/replicator.js +2 -0
- package/out/zero/src/server/replicator.js.map +1 -0
- package/out/zero/src/server/syncer.d.ts +2 -0
- package/out/zero/src/server/syncer.d.ts.map +1 -0
- package/out/zero/src/server/syncer.js +2 -0
- package/out/zero/src/server/syncer.js.map +1 -0
- package/out/zero/src/zero.d.ts +2 -0
- package/out/zero/src/zero.d.ts.map +1 -0
- package/out/zero-cache/src/config/zero-config.d.ts +1509 -0
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -0
- package/out/zero-cache/src/config/zero-config.js +227 -0
- package/out/zero-cache/src/config/zero-config.js.map +1 -0
- package/out/zero-cache/src/db/lite-tables.d.ts +5 -0
- package/out/zero-cache/src/db/lite-tables.d.ts.map +1 -0
- package/out/zero-cache/src/db/lite-tables.js +75 -0
- package/out/zero-cache/src/db/lite-tables.js.map +1 -0
- package/out/zero-cache/src/db/migration-lite.d.ts +38 -0
- package/out/zero-cache/src/db/migration-lite.d.ts.map +1 -0
- package/out/zero-cache/src/db/migration-lite.js +161 -0
- package/out/zero-cache/src/db/migration-lite.js.map +1 -0
- package/out/zero-cache/src/db/migration.d.ts +38 -0
- package/out/zero-cache/src/db/migration.d.ts.map +1 -0
- package/out/zero-cache/src/db/migration.js +139 -0
- package/out/zero-cache/src/db/migration.js.map +1 -0
- package/out/zero-cache/src/db/statements.d.ts +31 -0
- package/out/zero-cache/src/db/statements.d.ts.map +1 -0
- package/out/zero-cache/src/db/statements.js +48 -0
- package/out/zero-cache/src/db/statements.js.map +1 -0
- package/out/zero-cache/src/db/transaction-pool.d.ts +187 -0
- package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -0
- package/out/zero-cache/src/db/transaction-pool.js +445 -0
- package/out/zero-cache/src/db/transaction-pool.js.map +1 -0
- package/out/zero-cache/src/server/change-streamer.d.ts +3 -0
- package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -0
- package/out/zero-cache/src/server/change-streamer.js +30 -0
- package/out/zero-cache/src/server/change-streamer.js.map +1 -0
- package/out/zero-cache/src/server/logging.d.ts +6 -0
- package/out/zero-cache/src/server/logging.d.ts.map +1 -0
- package/out/zero-cache/src/server/logging.js +23 -0
- package/out/zero-cache/src/server/logging.js.map +1 -0
- package/out/zero-cache/src/server/main.d.ts +2 -0
- package/out/zero-cache/src/server/main.d.ts.map +1 -0
- package/out/zero-cache/src/server/main.js +92 -0
- package/out/zero-cache/src/server/main.js.map +1 -0
- package/out/zero-cache/src/server/replicator.d.ts +3 -0
- package/out/zero-cache/src/server/replicator.d.ts.map +1 -0
- package/out/zero-cache/src/server/replicator.js +35 -0
- package/out/zero-cache/src/server/replicator.js.map +1 -0
- package/out/zero-cache/src/server/syncer.d.ts +3 -0
- package/out/zero-cache/src/server/syncer.d.ts.map +1 -0
- package/out/zero-cache/src/server/syncer.js +45 -0
- package/out/zero-cache/src/server/syncer.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +23 -0
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +98 -0
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +39 -0
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +212 -0
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +110 -0
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/change-streamer.js +7 -0
- package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +19 -0
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/forwarder.js +56 -0
- package/out/zero-cache/src/services/change-streamer/forwarder.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts +14 -0
- package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/change-source.js +206 -0
- package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts +6 -0
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js +192 -0
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/lsn.d.ts +17 -0
- package/out/zero-cache/src/services/change-streamer/pg/lsn.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/lsn.js +17 -0
- package/out/zero-cache/src/services/change-streamer/pg/lsn.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/create.d.ts +6 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/create.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/create.js +29 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/create.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts +79 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js +237 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/lite.d.ts +5 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/lite.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/lite.js +111 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/lite.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts +26 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.js +185 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/zero.d.ts +11 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/zero.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/zero.js +86 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/zero.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/shard-config.d.ts +19 -0
- package/out/zero-cache/src/services/change-streamer/pg/shard-config.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/shard-config.js +2 -0
- package/out/zero-cache/src/services/change-streamer/pg/shard-config.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/sync-schema.d.ts +4 -0
- package/out/zero-cache/src/services/change-streamer/pg/sync-schema.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/sync-schema.js +12 -0
- package/out/zero-cache/src/services/change-streamer/pg/sync-schema.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/schema/change.d.ts +31 -0
- package/out/zero-cache/src/services/change-streamer/schema/change.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/schema/change.js +2 -0
- package/out/zero-cache/src/services/change-streamer/schema/change.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/schema/init.d.ts +4 -0
- package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/schema/init.js +10 -0
- package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +22 -0
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/schema/tables.js +49 -0
- package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/storer.d.ts +22 -0
- package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/storer.js +157 -0
- package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +27 -0
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/subscriber.js +70 -0
- package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -0
- package/out/zero-cache/src/services/dispatcher/connect-params.d.ts +20 -0
- package/out/zero-cache/src/services/dispatcher/connect-params.d.ts.map +1 -0
- package/out/zero-cache/src/services/dispatcher/connect-params.js +36 -0
- package/out/zero-cache/src/services/dispatcher/connect-params.js.map +1 -0
- package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts +19 -0
- package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +1 -0
- package/out/zero-cache/src/services/dispatcher/dispatcher.js +55 -0
- package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +1 -0
- package/out/zero-cache/src/services/dispatcher/websocket-handoff.d.ts +11 -0
- package/out/zero-cache/src/services/dispatcher/websocket-handoff.d.ts.map +1 -0
- package/out/zero-cache/src/services/dispatcher/websocket-handoff.js +33 -0
- package/out/zero-cache/src/services/dispatcher/websocket-handoff.js.map +1 -0
- package/out/zero-cache/src/services/limiter/sliding-window-limiter.d.ts +57 -0
- package/out/zero-cache/src/services/limiter/sliding-window-limiter.d.ts.map +1 -0
- package/out/zero-cache/src/services/limiter/sliding-window-limiter.js +130 -0
- package/out/zero-cache/src/services/limiter/sliding-window-limiter.js.map +1 -0
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +24 -0
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -0
- package/out/zero-cache/src/services/mutagen/mutagen.js +247 -0
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -0
- package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts +20 -0
- package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts.map +1 -0
- package/out/zero-cache/src/services/mutagen/write-authorizer.js +187 -0
- package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +1 -0
- package/out/zero-cache/src/services/replicator/checkpointer.d.ts +79 -0
- package/out/zero-cache/src/services/replicator/checkpointer.d.ts.map +1 -0
- package/out/zero-cache/src/services/replicator/checkpointer.js +124 -0
- package/out/zero-cache/src/services/replicator/checkpointer.js.map +1 -0
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +39 -0
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -0
- package/out/zero-cache/src/services/replicator/incremental-sync.js +342 -0
- package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -0
- package/out/zero-cache/src/services/replicator/notifier.d.ts +30 -0
- package/out/zero-cache/src/services/replicator/notifier.d.ts.map +1 -0
- package/out/zero-cache/src/services/replicator/notifier.js +54 -0
- package/out/zero-cache/src/services/replicator/notifier.js.map +1 -0
- package/out/zero-cache/src/services/replicator/replicator.d.ts +65 -0
- package/out/zero-cache/src/services/replicator/replicator.d.ts.map +1 -0
- package/out/zero-cache/src/services/replicator/replicator.js +27 -0
- package/out/zero-cache/src/services/replicator/replicator.js.map +1 -0
- package/out/zero-cache/src/services/replicator/schema/change-log.d.ts +35 -0
- package/out/zero-cache/src/services/replicator/schema/change-log.d.ts.map +1 -0
- package/out/zero-cache/src/services/replicator/schema/change-log.js +78 -0
- package/out/zero-cache/src/services/replicator/schema/change-log.js.map +1 -0
- package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts +25 -0
- package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -0
- package/out/zero-cache/src/services/replicator/schema/replication-state.js +90 -0
- package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -0
- package/out/zero-cache/src/services/runner.d.ts +21 -0
- package/out/zero-cache/src/services/runner.d.ts.map +1 -0
- package/out/zero-cache/src/services/runner.js +63 -0
- package/out/zero-cache/src/services/runner.js.map +1 -0
- package/out/zero-cache/src/services/running-state.d.ts +56 -0
- package/out/zero-cache/src/services/running-state.d.ts.map +1 -0
- package/out/zero-cache/src/services/running-state.js +106 -0
- package/out/zero-cache/src/services/running-state.js.map +1 -0
- package/out/zero-cache/src/services/service.d.ts +29 -0
- package/out/zero-cache/src/services/service.d.ts.map +1 -0
- package/out/zero-cache/src/services/service.js +2 -0
- package/out/zero-cache/src/services/service.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +53 -0
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/client-handler.js +184 -0
- package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +44 -0
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/cvr-store.js +386 -0
- package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts +146 -0
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/cvr.js +446 -0
- package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/database-storage.d.ts +22 -0
- package/out/zero-cache/src/services/view-syncer/database-storage.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/database-storage.js +129 -0
- package/out/zero-cache/src/services/view-syncer/database-storage.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +103 -0
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +290 -0
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +54 -0
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/schema/cvr.js +181 -0
- package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/schema/pg-migrations.d.ts +4 -0
- package/out/zero-cache/src/services/view-syncer/schema/pg-migrations.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/schema/pg-migrations.js +12 -0
- package/out/zero-cache/src/services/view-syncer/schema/pg-migrations.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +783 -0
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/schema/types.js +213 -0
- package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +166 -0
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/snapshotter.js +374 -0
- package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +37 -0
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +522 -0
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -0
- package/out/zero-cache/src/types/bigint-json.d.ts +26 -0
- package/out/zero-cache/src/types/bigint-json.d.ts.map +1 -0
- package/out/zero-cache/src/types/bigint-json.js +49 -0
- package/out/zero-cache/src/types/bigint-json.js.map +1 -0
- package/out/zero-cache/src/types/error-for-client.d.ts +7 -0
- package/out/zero-cache/src/types/error-for-client.d.ts.map +1 -0
- package/out/zero-cache/src/types/error-for-client.js +17 -0
- package/out/zero-cache/src/types/error-for-client.js.map +1 -0
- package/out/zero-cache/src/types/lexi-version.d.ts +29 -0
- package/out/zero-cache/src/types/lexi-version.d.ts.map +1 -0
- package/out/zero-cache/src/types/lexi-version.js +36 -0
- package/out/zero-cache/src/types/lexi-version.js.map +1 -0
- package/out/zero-cache/src/types/lite.d.ts +11 -0
- package/out/zero-cache/src/types/lite.d.ts.map +1 -0
- package/out/zero-cache/src/types/lite.js +26 -0
- package/out/zero-cache/src/types/lite.js.map +1 -0
- package/out/zero-cache/src/types/names.d.ts +5 -0
- package/out/zero-cache/src/types/names.d.ts.map +1 -0
- package/out/zero-cache/src/types/names.js +4 -0
- package/out/zero-cache/src/types/names.js.map +1 -0
- package/out/zero-cache/src/types/pg.d.ts +31 -0
- package/out/zero-cache/src/types/pg.d.ts.map +1 -0
- package/out/zero-cache/src/types/pg.js +60 -0
- package/out/zero-cache/src/types/pg.js.map +1 -0
- package/out/zero-cache/src/types/processes.d.ts +57 -0
- package/out/zero-cache/src/types/processes.d.ts.map +1 -0
- package/out/zero-cache/src/types/processes.js +121 -0
- package/out/zero-cache/src/types/processes.js.map +1 -0
- package/out/zero-cache/src/types/row-key.d.ts +37 -0
- package/out/zero-cache/src/types/row-key.d.ts.map +1 -0
- package/out/zero-cache/src/types/row-key.js +64 -0
- package/out/zero-cache/src/types/row-key.js.map +1 -0
- package/out/zero-cache/src/types/satisfies.d.ts +14 -0
- package/out/zero-cache/src/types/satisfies.d.ts.map +1 -0
- package/out/zero-cache/src/types/satisfies.js +2 -0
- package/out/zero-cache/src/types/satisfies.js.map +1 -0
- package/out/zero-cache/src/types/specs.d.ts +29 -0
- package/out/zero-cache/src/types/specs.d.ts.map +1 -0
- package/out/zero-cache/src/types/specs.js +2 -0
- package/out/zero-cache/src/types/specs.js.map +1 -0
- package/out/zero-cache/src/types/sql.d.ts +11 -0
- package/out/zero-cache/src/types/sql.d.ts.map +1 -0
- package/out/zero-cache/src/types/sql.js +15 -0
- package/out/zero-cache/src/types/sql.js.map +1 -0
- package/out/zero-cache/src/types/streams.d.ts +33 -0
- package/out/zero-cache/src/types/streams.d.ts.map +1 -0
- package/out/zero-cache/src/types/streams.js +141 -0
- package/out/zero-cache/src/types/streams.js.map +1 -0
- package/out/zero-cache/src/types/subscription.d.ts +158 -0
- package/out/zero-cache/src/types/subscription.d.ts.map +1 -0
- package/out/zero-cache/src/types/subscription.js +233 -0
- package/out/zero-cache/src/types/subscription.js.map +1 -0
- package/out/zero-cache/src/types/timeout.d.ts +11 -0
- package/out/zero-cache/src/types/timeout.d.ts.map +1 -0
- package/out/zero-cache/src/types/timeout.js +23 -0
- package/out/zero-cache/src/types/timeout.js.map +1 -0
- package/out/zero-cache/src/types/url-params.d.ts +10 -0
- package/out/zero-cache/src/types/url-params.d.ts.map +1 -0
- package/out/zero-cache/src/types/url-params.js +35 -0
- package/out/zero-cache/src/types/url-params.js.map +1 -0
- package/out/zero-cache/src/workers/connection.d.ts +25 -0
- package/out/zero-cache/src/workers/connection.d.ts.map +1 -0
- package/out/zero-cache/src/workers/connection.js +189 -0
- package/out/zero-cache/src/workers/connection.js.map +1 -0
- package/out/zero-cache/src/workers/replicator.d.ts +17 -0
- package/out/zero-cache/src/workers/replicator.d.ts.map +1 -0
- package/out/zero-cache/src/workers/replicator.js +105 -0
- package/out/zero-cache/src/workers/replicator.js.map +1 -0
- package/out/zero-cache/src/workers/syncer.d.ts +28 -0
- package/out/zero-cache/src/workers/syncer.d.ts.map +1 -0
- package/out/zero-cache/src/workers/syncer.js +72 -0
- package/out/zero-cache/src/workers/syncer.js.map +1 -0
- package/out/zero-client/src/client/context.d.ts +23 -0
- package/out/zero-client/src/client/context.d.ts.map +1 -0
- package/out/zero-client/src/client/crud.d.ts +52 -0
- package/out/zero-client/src/client/crud.d.ts.map +1 -0
- package/out/zero-client/src/client/enable-analytics.d.ts +3 -0
- package/out/zero-client/src/client/enable-analytics.d.ts.map +1 -0
- package/out/zero-client/src/client/http-string.d.ts +7 -0
- package/out/zero-client/src/client/http-string.d.ts.map +1 -0
- package/out/zero-client/src/client/keys.d.ts +11 -0
- package/out/zero-client/src/client/keys.d.ts.map +1 -0
- package/out/zero-client/src/client/log-options.d.ts +12 -0
- package/out/zero-client/src/client/log-options.d.ts.map +1 -0
- package/out/zero-client/src/client/metrics.d.ts +115 -0
- package/out/zero-client/src/client/metrics.d.ts.map +1 -0
- package/out/zero-client/src/client/options.d.ts +94 -0
- package/out/zero-client/src/client/options.d.ts.map +1 -0
- package/out/zero-client/src/client/query-manager.d.ts +16 -0
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -0
- package/out/zero-client/src/client/reload-error-handler.d.ts +5 -0
- package/out/zero-client/src/client/reload-error-handler.d.ts.map +1 -0
- package/out/zero-client/src/client/replicache-types.d.ts +48 -0
- package/out/zero-client/src/client/replicache-types.d.ts.map +1 -0
- package/out/zero-client/src/client/server-error.d.ts +12 -0
- package/out/zero-client/src/client/server-error.d.ts.map +1 -0
- package/out/zero-client/src/client/server-option.d.ts +3 -0
- package/out/zero-client/src/client/server-option.d.ts.map +1 -0
- package/out/zero-client/src/client/version.d.ts +5 -0
- package/out/zero-client/src/client/version.d.ts.map +1 -0
- package/out/zero-client/src/client/zero-poke-handler.d.ts +28 -0
- package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -0
- package/out/zero-client/src/client/zero.d.ts +183 -0
- package/out/zero-client/src/client/zero.d.ts.map +1 -0
- package/out/zero-client/src/mod.d.ts +9 -0
- package/out/zero-client/src/mod.d.ts.map +1 -0
- package/out/zero-client/src/util/nanoid.d.ts +2 -0
- package/out/zero-client/src/util/nanoid.d.ts.map +1 -0
- package/out/zero-client/src/util/socket.d.ts +3 -0
- package/out/zero-client/src/util/socket.d.ts.map +1 -0
- package/out/zero-protocol/src/ast.d.ts +69 -0
- package/out/zero-protocol/src/ast.d.ts.map +1 -0
- package/out/zero-protocol/src/ast.js +64 -0
- package/out/zero-protocol/src/ast.js.map +1 -0
- package/out/zero-protocol/src/change-desired-queries.d.ts +71 -0
- package/out/zero-protocol/src/change-desired-queries.d.ts.map +1 -0
- package/out/zero-protocol/src/change-desired-queries.js +10 -0
- package/out/zero-protocol/src/change-desired-queries.js.map +1 -0
- package/out/zero-protocol/src/clients-patch.d.ts +37 -0
- package/out/zero-protocol/src/clients-patch.d.ts.map +1 -0
- package/out/zero-protocol/src/clients-patch.js +15 -0
- package/out/zero-protocol/src/clients-patch.js.map +1 -0
- package/out/zero-protocol/src/connect.d.ts +88 -0
- package/out/zero-protocol/src/connect.d.ts.map +1 -0
- package/out/zero-protocol/src/connect.js +25 -0
- package/out/zero-protocol/src/connect.js.map +1 -0
- package/out/zero-protocol/src/delete-clients.d.ts +11 -0
- package/out/zero-protocol/src/delete-clients.d.ts.map +1 -0
- package/out/zero-protocol/src/delete-clients.js +9 -0
- package/out/zero-protocol/src/delete-clients.js.map +1 -0
- package/out/zero-protocol/src/down.d.ts +110 -0
- package/out/zero-protocol/src/down.d.ts.map +1 -0
- package/out/zero-protocol/src/down.js +8 -0
- package/out/zero-protocol/src/down.js.map +1 -0
- package/out/zero-protocol/src/entities-patch.d.ts +66 -0
- package/out/zero-protocol/src/entities-patch.d.ts.map +1 -0
- package/out/zero-protocol/src/entities-patch.js +27 -0
- package/out/zero-protocol/src/entities-patch.js.map +1 -0
- package/out/zero-protocol/src/entity.d.ts +9 -0
- package/out/zero-protocol/src/entity.d.ts.map +1 -0
- package/out/zero-protocol/src/entity.js +8 -0
- package/out/zero-protocol/src/entity.js.map +1 -0
- package/out/zero-protocol/src/error.d.ts +19 -0
- package/out/zero-protocol/src/error.d.ts.map +1 -0
- package/out/zero-protocol/src/error.js +26 -0
- package/out/zero-protocol/src/error.js.map +1 -0
- package/out/zero-protocol/src/mod.d.ts +16 -0
- package/out/zero-protocol/src/mod.d.ts.map +1 -0
- package/out/zero-protocol/src/mod.js +16 -0
- package/out/zero-protocol/src/mod.js.map +1 -0
- package/out/zero-protocol/src/ping.d.ts +6 -0
- package/out/zero-protocol/src/ping.d.ts.map +1 -0
- package/out/zero-protocol/src/ping.js +4 -0
- package/out/zero-protocol/src/ping.js.map +1 -0
- package/out/zero-protocol/src/poke.d.ts +236 -0
- package/out/zero-protocol/src/poke.d.ts.map +1 -0
- package/out/zero-protocol/src/poke.js +69 -0
- package/out/zero-protocol/src/poke.js.map +1 -0
- package/out/zero-protocol/src/pong.d.ts +6 -0
- package/out/zero-protocol/src/pong.d.ts.map +1 -0
- package/out/zero-protocol/src/pong.js +4 -0
- package/out/zero-protocol/src/pong.js.map +1 -0
- package/out/zero-protocol/src/pull.d.ts +26 -0
- package/out/zero-protocol/src/pull.d.ts.map +1 -0
- package/out/zero-protocol/src/pull.js +24 -0
- package/out/zero-protocol/src/pull.js.map +1 -0
- package/out/zero-protocol/src/push.d.ts +257 -0
- package/out/zero-protocol/src/push.d.ts.map +1 -0
- package/out/zero-protocol/src/push.js +77 -0
- package/out/zero-protocol/src/push.js.map +1 -0
- package/out/zero-protocol/src/queries-patch.d.ts +103 -0
- package/out/zero-protocol/src/queries-patch.d.ts.map +1 -0
- package/out/zero-protocol/src/queries-patch.js +17 -0
- package/out/zero-protocol/src/queries-patch.js.map +1 -0
- package/out/zero-protocol/src/up.d.ts +116 -0
- package/out/zero-protocol/src/up.d.ts.map +1 -0
- package/out/zero-protocol/src/up.js +9 -0
- package/out/zero-protocol/src/up.js.map +1 -0
- package/out/zero-protocol/src/version.d.ts +6 -0
- package/out/zero-protocol/src/version.d.ts.map +1 -0
- package/out/zero-protocol/src/version.js +4 -0
- package/out/zero-protocol/src/version.js.map +1 -0
- package/out/zero-react/src/mod.d.ts +3 -0
- package/out/zero-react/src/mod.d.ts.map +1 -0
- package/out/zero-react/src/use-query.d.ts +3 -0
- package/out/zero-react/src/use-query.d.ts.map +1 -0
- package/out/zero-react/src/use-zero.d.ts +8 -0
- package/out/zero-react/src/use-zero.d.ts.map +1 -0
- package/out/zero.js +7000 -0
- package/out/zero.js.map +7 -0
- package/out/zql/src/zql/ast/ast.d.ts +84 -0
- package/out/zql/src/zql/ast/ast.d.ts.map +1 -0
- package/out/zql/src/zql/ast/ast.js +54 -0
- package/out/zql/src/zql/ast/ast.js.map +1 -0
- package/out/zql/src/zql/builder/builder.d.ts +56 -0
- package/out/zql/src/zql/builder/builder.d.ts.map +1 -0
- package/out/zql/src/zql/builder/builder.js +112 -0
- package/out/zql/src/zql/builder/builder.js.map +1 -0
- package/out/zql/src/zql/builder/error.d.ts +3 -0
- package/out/zql/src/zql/builder/error.d.ts.map +1 -0
- package/out/zql/src/zql/builder/error.js +3 -0
- package/out/zql/src/zql/builder/error.js.map +1 -0
- package/out/zql/src/zql/builder/filter.d.ts +6 -0
- package/out/zql/src/zql/builder/filter.d.ts.map +1 -0
- package/out/zql/src/zql/builder/filter.js +53 -0
- package/out/zql/src/zql/builder/filter.js.map +1 -0
- package/out/zql/src/zql/builder/like.d.ts +3 -0
- package/out/zql/src/zql/builder/like.d.ts.map +1 -0
- package/out/zql/src/zql/builder/like.js +60 -0
- package/out/zql/src/zql/builder/like.js.map +1 -0
- package/out/zql/src/zql/ivm/array-view.d.ts +42 -0
- package/out/zql/src/zql/ivm/array-view.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/change.d.ts +44 -0
- package/out/zql/src/zql/ivm/change.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/change.js +2 -0
- package/out/zql/src/zql/ivm/change.js.map +1 -0
- package/out/zql/src/zql/ivm/data.d.ts +72 -0
- package/out/zql/src/zql/ivm/data.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/data.js +84 -0
- package/out/zql/src/zql/ivm/data.js.map +1 -0
- package/out/zql/src/zql/ivm/filter.d.ts +27 -0
- package/out/zql/src/zql/ivm/filter.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/filter.js +60 -0
- package/out/zql/src/zql/ivm/filter.js.map +1 -0
- package/out/zql/src/zql/ivm/join.d.ts +37 -0
- package/out/zql/src/zql/ivm/join.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/join.js +228 -0
- package/out/zql/src/zql/ivm/join.js.map +1 -0
- package/out/zql/src/zql/ivm/lookahead-iterator.d.ts +13 -0
- package/out/zql/src/zql/ivm/lookahead-iterator.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/lookahead-iterator.js +45 -0
- package/out/zql/src/zql/ivm/lookahead-iterator.js.map +1 -0
- package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.d.ts +10 -0
- package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.js +34 -0
- package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.js.map +1 -0
- package/out/zql/src/zql/ivm/memory-source.d.ts +65 -0
- package/out/zql/src/zql/ivm/memory-source.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/memory-source.js +508 -0
- package/out/zql/src/zql/ivm/memory-source.js.map +1 -0
- package/out/zql/src/zql/ivm/memory-storage.d.ts +18 -0
- package/out/zql/src/zql/ivm/memory-storage.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/operator.d.ts +89 -0
- package/out/zql/src/zql/ivm/operator.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/operator.js +2 -0
- package/out/zql/src/zql/ivm/operator.js.map +1 -0
- package/out/zql/src/zql/ivm/schema.d.ts +29 -0
- package/out/zql/src/zql/ivm/schema.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/schema.js +3 -0
- package/out/zql/src/zql/ivm/schema.js.map +1 -0
- package/out/zql/src/zql/ivm/skip.d.ts +24 -0
- package/out/zql/src/zql/ivm/skip.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/skip.js +113 -0
- package/out/zql/src/zql/ivm/skip.js.map +1 -0
- package/out/zql/src/zql/ivm/source.d.ts +57 -0
- package/out/zql/src/zql/ivm/source.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/source.js +2 -0
- package/out/zql/src/zql/ivm/source.js.map +1 -0
- package/out/zql/src/zql/ivm/stream.d.ts +11 -0
- package/out/zql/src/zql/ivm/stream.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/stream.js +19 -0
- package/out/zql/src/zql/ivm/stream.js.map +1 -0
- package/out/zql/src/zql/ivm/take.d.ts +24 -0
- package/out/zql/src/zql/ivm/take.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/take.js +453 -0
- package/out/zql/src/zql/ivm/take.js.map +1 -0
- package/out/zql/src/zql/query/query-impl.d.ts +45 -0
- package/out/zql/src/zql/query/query-impl.d.ts.map +1 -0
- package/out/zql/src/zql/query/query.d.ts +130 -0
- package/out/zql/src/zql/query/query.d.ts.map +1 -0
- package/out/zql/src/zql/query/schema.d.ts +53 -0
- package/out/zql/src/zql/query/schema.d.ts.map +1 -0
- package/out/zql/src/zql/query/typed-view.d.ts +10 -0
- package/out/zql/src/zql/query/typed-view.d.ts.map +1 -0
- package/out/zqlite/src/db.d.ts +23 -0
- package/out/zqlite/src/db.d.ts.map +1 -0
- package/out/zqlite/src/db.js +117 -0
- package/out/zqlite/src/db.js.map +1 -0
- package/out/zqlite/src/internal/sql.d.ts +9 -0
- package/out/zqlite/src/internal/sql.d.ts.map +1 -0
- package/out/zqlite/src/internal/sql.js +14 -0
- package/out/zqlite/src/internal/sql.js.map +1 -0
- package/out/zqlite/src/internal/statement-cache.d.ts +67 -0
- package/out/zqlite/src/internal/statement-cache.d.ts.map +1 -0
- package/out/zqlite/src/internal/statement-cache.js +119 -0
- package/out/zqlite/src/internal/statement-cache.js.map +1 -0
- package/out/zqlite/src/table-source.d.ts +43 -0
- package/out/zqlite/src/table-source.d.ts.map +1 -0
- package/out/zqlite/src/table-source.js +393 -0
- package/out/zqlite/src/table-source.js.map +1 -0
- package/package.json +79 -0
- package/tool/install-sqlite3.js +37 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { Bound } from '../ivm/skip.js';
|
|
2
|
+
/**
|
|
3
|
+
* As in SQL you can have multiple orderings. We don't currently
|
|
4
|
+
* support ordering on anything other than the root query.
|
|
5
|
+
*/
|
|
6
|
+
export type OrderPart = readonly [field: string, direction: 'asc' | 'desc'];
|
|
7
|
+
export type Ordering = readonly OrderPart[];
|
|
8
|
+
export type SimpleOperator = EqualityOps | OrderOps | LikeOps | InOps;
|
|
9
|
+
export type EqualityOps = '=' | '!=';
|
|
10
|
+
export type OrderOps = '<' | '>' | '<=' | '>=';
|
|
11
|
+
export type LikeOps = 'LIKE' | 'NOT LIKE' | 'ILIKE' | 'NOT ILIKE';
|
|
12
|
+
export type InOps = 'IN' | 'NOT IN';
|
|
13
|
+
export type AST = {
|
|
14
|
+
readonly schema?: string | undefined;
|
|
15
|
+
readonly table: string;
|
|
16
|
+
readonly alias?: string | undefined;
|
|
17
|
+
readonly where?: readonly Condition[] | undefined;
|
|
18
|
+
readonly related?: readonly CorrelatedSubQuery[] | undefined;
|
|
19
|
+
readonly start?: Bound | undefined;
|
|
20
|
+
readonly limit?: number | undefined;
|
|
21
|
+
readonly orderBy?: Ordering | undefined;
|
|
22
|
+
};
|
|
23
|
+
export type CorrelatedSubQuery = {
|
|
24
|
+
/**
|
|
25
|
+
* Only equality correlations are supported for now.
|
|
26
|
+
* E.g., direct foreign key relationships.
|
|
27
|
+
*/
|
|
28
|
+
readonly correlation: {
|
|
29
|
+
readonly parentField: string;
|
|
30
|
+
readonly childField: string;
|
|
31
|
+
readonly op: '=';
|
|
32
|
+
};
|
|
33
|
+
readonly subquery: AST;
|
|
34
|
+
readonly hidden?: boolean | undefined;
|
|
35
|
+
};
|
|
36
|
+
export type ValuePosition = LiteralValue | Parameter;
|
|
37
|
+
export type LiteralValue = string | number | boolean | ReadonlyArray<string | number | boolean>;
|
|
38
|
+
/**
|
|
39
|
+
* Starting only with SimpleCondition for now.
|
|
40
|
+
* ivm1 supports Conjunctions and Disjunctions.
|
|
41
|
+
* We'll support them in the future.
|
|
42
|
+
*/
|
|
43
|
+
export type Condition = SimpleCondition;
|
|
44
|
+
export type SimpleCondition = {
|
|
45
|
+
type: 'simple';
|
|
46
|
+
op: SimpleOperator;
|
|
47
|
+
/**
|
|
48
|
+
* Not a path yet as we're currently not allowing
|
|
49
|
+
* comparisons across tables. This will need to
|
|
50
|
+
* be a path through the tree in the near future.
|
|
51
|
+
*/
|
|
52
|
+
field: string;
|
|
53
|
+
/**
|
|
54
|
+
* `null` is absent since we do not have an `IS` or `IS NOT`
|
|
55
|
+
* operator defined and `null != null` in SQL.
|
|
56
|
+
*/
|
|
57
|
+
value: ValuePosition;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* A parameter is a value that is not known at the time the query is written
|
|
61
|
+
* and is resolved at runtime.
|
|
62
|
+
*
|
|
63
|
+
* StaticParameters refer to something provided by the caller.
|
|
64
|
+
* StaticParameters are injected when the query pipeline is built from the AST
|
|
65
|
+
* and do not change for the life of that pipeline.
|
|
66
|
+
*
|
|
67
|
+
* An example StaticParameter is the current authentication data.
|
|
68
|
+
* When a user is authenticated, queries on the server have access
|
|
69
|
+
* to the user's authentication data in order to evaluate authorization rules.
|
|
70
|
+
* Authentication data doesn't change over the life of a query as a change
|
|
71
|
+
* in auth data would represent a log-in / log-out of the user.
|
|
72
|
+
*
|
|
73
|
+
* AncestorParameters refer to rows encountered while running the query.
|
|
74
|
+
* They are used by subqueries to refer to rows emitted by parent queries.
|
|
75
|
+
*/
|
|
76
|
+
export type Parameter = StaticParameter;
|
|
77
|
+
type StaticParameter = {
|
|
78
|
+
type: 'static';
|
|
79
|
+
anchor: 'authData' | 'preMutationRow';
|
|
80
|
+
field: string;
|
|
81
|
+
};
|
|
82
|
+
export declare function normalizeAST(ast: AST): Required<AST>;
|
|
83
|
+
export {};
|
|
84
|
+
//# sourceMappingURL=ast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../../../../zql/src/zql/ast/ast.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAE1C;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;AAC5E,MAAM,MAAM,QAAQ,GAAG,SAAS,SAAS,EAAE,CAAC;AAE5C,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC;AACrC,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;AAClE,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEpC,MAAM,MAAM,GAAG,GAAG;IAChB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IASvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IASpC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,CAAC;IAElD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,kBAAkB,EAAE,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;KAClB,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;IAOvB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,SAAS,CAAC;AAErD,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,MAAM,GACN,OAAO,GACP,aAAa,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC;AACxC,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,cAAc,CAAC;IAEnB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AACF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC;AACxC,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,QAAQ,CAAC;IAMf,MAAM,EAAE,UAAU,GAAG,gBAAgB,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CA0BpD"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { compareUTF8 } from 'compare-utf8';
|
|
2
|
+
import { must } from '../../../../shared/src/must.js';
|
|
3
|
+
export function normalizeAST(ast) {
|
|
4
|
+
return {
|
|
5
|
+
schema: ast.schema,
|
|
6
|
+
table: ast.table,
|
|
7
|
+
alias: ast.alias,
|
|
8
|
+
where: ast.where ? sortedWhere(ast.where) : undefined,
|
|
9
|
+
related: ast.related
|
|
10
|
+
? sortedRelated(ast.related.map(r => ({
|
|
11
|
+
correlation: {
|
|
12
|
+
parentField: r.correlation.parentField,
|
|
13
|
+
childField: r.correlation.childField,
|
|
14
|
+
op: r.correlation.op,
|
|
15
|
+
},
|
|
16
|
+
hidden: r.hidden,
|
|
17
|
+
subquery: normalizeAST(r.subquery),
|
|
18
|
+
})))
|
|
19
|
+
: undefined,
|
|
20
|
+
start: ast.start,
|
|
21
|
+
limit: ast.limit,
|
|
22
|
+
orderBy: ast.orderBy,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function sortedWhere(where) {
|
|
26
|
+
return [...where].sort(cmpCondition);
|
|
27
|
+
}
|
|
28
|
+
function sortedRelated(related) {
|
|
29
|
+
return related.sort(cmpRelated);
|
|
30
|
+
}
|
|
31
|
+
function cmpCondition(a, b) {
|
|
32
|
+
return (compareUTF8MaybeNull(a.field, b.field) ||
|
|
33
|
+
compareUTF8MaybeNull(a.op, b.op) ||
|
|
34
|
+
// Comparing the same field with the same op more than once doesn't make logical
|
|
35
|
+
// sense, but is technically possible. Assume the values are of the same type and
|
|
36
|
+
// sort by their String forms.
|
|
37
|
+
compareUTF8MaybeNull(String(a.value), String(b.value)));
|
|
38
|
+
}
|
|
39
|
+
function cmpRelated(a, b) {
|
|
40
|
+
return compareUTF8(must(a.subquery.alias), must(b.subquery.alias));
|
|
41
|
+
}
|
|
42
|
+
function compareUTF8MaybeNull(a, b) {
|
|
43
|
+
if (a !== null && b !== null) {
|
|
44
|
+
return compareUTF8(a, b);
|
|
45
|
+
}
|
|
46
|
+
if (b !== null) {
|
|
47
|
+
return -1;
|
|
48
|
+
}
|
|
49
|
+
if (a !== null) {
|
|
50
|
+
return 1;
|
|
51
|
+
}
|
|
52
|
+
return 0;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=ast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../../../zql/src/zql/ast/ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AACzC,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAC;AA4HxC,MAAM,UAAU,YAAY,CAAC,GAAQ;IACnC,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QACrD,OAAO,EAAE,GAAG,CAAC,OAAO;YAClB,CAAC,CAAC,aAAa,CACX,GAAG,CAAC,OAAO,CAAC,GAAG,CACb,CAAC,CAAC,EAAE,CACF,CAAC;gBACC,WAAW,EAAE;oBACX,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW;oBACtC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU;oBACpC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE;iBACrB;gBACD,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;aACnC,CAAwC,CAC5C,CACF;YACH,CAAC,CAAC,SAAS;QACb,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAA2B;IAC9C,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CACpB,OAA6B;IAE7B,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,YAAY,CAAC,CAAY,EAAE,CAAY;IAC9C,OAAO,CACL,oBAAoB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;QACtC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QAChC,gFAAgF;QAChF,iFAAiF;QACjF,8BAA8B;QAC9B,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACvD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,CAAqB,EAAE,CAAqB;IAC9D,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAgB,EAAE,CAAgB;IAC9D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { JSONValue } from '../../../../shared/src/json.js';
|
|
2
|
+
import type { AST, Ordering } from '../ast/ast.js';
|
|
3
|
+
import type { Row } from '../ivm/data.js';
|
|
4
|
+
import type { Input, Storage } from '../ivm/operator.js';
|
|
5
|
+
import type { PrimaryKey } from '../ivm/schema.js';
|
|
6
|
+
import type { Source } from '../ivm/source.js';
|
|
7
|
+
export type StaticQueryParameters = {
|
|
8
|
+
authData: Record<string, JSONValue>;
|
|
9
|
+
preMutationRow: Row | undefined;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Interface required of caller to buildPipeline. Connects to constructed
|
|
13
|
+
* pipeline to delegate environment to provide sources and storage.
|
|
14
|
+
*/
|
|
15
|
+
export interface BuilderDelegate {
|
|
16
|
+
/**
|
|
17
|
+
* Called once for each source needed by the AST.
|
|
18
|
+
* Might be called multiple times with same tableName. It is OK to return
|
|
19
|
+
* same storage instance in that case.
|
|
20
|
+
*/
|
|
21
|
+
getSource(tableName: string): Source;
|
|
22
|
+
/**
|
|
23
|
+
* Called once for each operator that requires storage. Should return a new
|
|
24
|
+
* unique storage object for each call.
|
|
25
|
+
*/
|
|
26
|
+
createStorage(): Storage;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Builds a pipeline from an AST. Caller must provide a delegate to create source
|
|
30
|
+
* and storage interfaces as necessary.
|
|
31
|
+
*
|
|
32
|
+
* Usage:
|
|
33
|
+
*
|
|
34
|
+
* ```ts
|
|
35
|
+
* class MySink implements Output {
|
|
36
|
+
* readonly #input: Input;
|
|
37
|
+
*
|
|
38
|
+
* constructor(input: Input) {
|
|
39
|
+
* this.#input = input;
|
|
40
|
+
* this.#input.setOutput(this);
|
|
41
|
+
* console.log([...this.#input.hydrate()]);
|
|
42
|
+
* }
|
|
43
|
+
*
|
|
44
|
+
* push(change: Change, _: Operator) {
|
|
45
|
+
* console.log(change);
|
|
46
|
+
* }
|
|
47
|
+
* }
|
|
48
|
+
*
|
|
49
|
+
* const input = buildPipeline(ast, myDelegate);
|
|
50
|
+
* const sink = new MySink(input);
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function buildPipeline(ast: AST, delegate: BuilderDelegate, staticQueryParameters: StaticQueryParameters | undefined): Input;
|
|
54
|
+
export declare function bindStaticParameters(ast: AST, staticQueryParameters: StaticQueryParameters | undefined): AST;
|
|
55
|
+
export declare function assertOrderingIncludesPK(ordering: Ordering, pk: PrimaryKey): void;
|
|
56
|
+
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../../../zql/src/zql/builder/builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EACV,GAAG,EAEH,QAAQ,EAGT,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAGxC,OAAO,KAAK,EAAC,KAAK,EAAE,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAK7C,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,cAAc,EAAE,GAAG,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAErC;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,eAAe,EACzB,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,GACvD,KAAK,CAMP;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,GAAG,EACR,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,OAqCzD;AA2DD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,UAAU,GACb,IAAI,CAWN"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { assert } from '../../../../shared/src/asserts.js';
|
|
2
|
+
import { must } from '../../../../shared/src/must.js';
|
|
3
|
+
import { Filter } from '../ivm/filter.js';
|
|
4
|
+
import { Join } from '../ivm/join.js';
|
|
5
|
+
import { Skip } from '../ivm/skip.js';
|
|
6
|
+
import { Take } from '../ivm/take.js';
|
|
7
|
+
import { createPredicate } from './filter.js';
|
|
8
|
+
import { MissingParameterError } from './error.js';
|
|
9
|
+
/**
|
|
10
|
+
* Builds a pipeline from an AST. Caller must provide a delegate to create source
|
|
11
|
+
* and storage interfaces as necessary.
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
*
|
|
15
|
+
* ```ts
|
|
16
|
+
* class MySink implements Output {
|
|
17
|
+
* readonly #input: Input;
|
|
18
|
+
*
|
|
19
|
+
* constructor(input: Input) {
|
|
20
|
+
* this.#input = input;
|
|
21
|
+
* this.#input.setOutput(this);
|
|
22
|
+
* console.log([...this.#input.hydrate()]);
|
|
23
|
+
* }
|
|
24
|
+
*
|
|
25
|
+
* push(change: Change, _: Operator) {
|
|
26
|
+
* console.log(change);
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
*
|
|
30
|
+
* const input = buildPipeline(ast, myDelegate);
|
|
31
|
+
* const sink = new MySink(input);
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function buildPipeline(ast, delegate, staticQueryParameters) {
|
|
35
|
+
return buildPipelineInternal(bindStaticParameters(ast, staticQueryParameters), delegate, staticQueryParameters);
|
|
36
|
+
}
|
|
37
|
+
export function bindStaticParameters(ast, staticQueryParameters) {
|
|
38
|
+
const visit = (node) => {
|
|
39
|
+
if (node.where) {
|
|
40
|
+
return {
|
|
41
|
+
...node,
|
|
42
|
+
where: node.where.map(condition => ({
|
|
43
|
+
...condition,
|
|
44
|
+
value: bindValue(condition.value),
|
|
45
|
+
})),
|
|
46
|
+
related: node.related?.map(sq => ({
|
|
47
|
+
...sq,
|
|
48
|
+
subquery: visit(sq.subquery),
|
|
49
|
+
})),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return node;
|
|
53
|
+
};
|
|
54
|
+
const bindValue = (value) => {
|
|
55
|
+
if (isParameter(value)) {
|
|
56
|
+
const anchor = must(staticQueryParameters, 'Static query params do not exist')[value.anchor];
|
|
57
|
+
assert(anchor !== undefined, `Missing parameter: ${value.anchor}`);
|
|
58
|
+
const resolvedValue = anchor[value.field];
|
|
59
|
+
// eslint-disable-next-line eqeqeq
|
|
60
|
+
if (resolvedValue == null) {
|
|
61
|
+
throw new MissingParameterError();
|
|
62
|
+
}
|
|
63
|
+
return resolvedValue;
|
|
64
|
+
}
|
|
65
|
+
return value;
|
|
66
|
+
};
|
|
67
|
+
return visit(ast);
|
|
68
|
+
}
|
|
69
|
+
function isParameter(value) {
|
|
70
|
+
return typeof value === 'object' && value !== null && 'type' in value;
|
|
71
|
+
}
|
|
72
|
+
function buildPipelineInternal(ast, delegate, staticQueryParameters, partitionKey) {
|
|
73
|
+
const source = delegate.getSource(ast.table);
|
|
74
|
+
const conn = source.connect(must(ast.orderBy), ast.where ?? []);
|
|
75
|
+
let end = conn;
|
|
76
|
+
const { appliedFilters } = conn;
|
|
77
|
+
if (ast.start) {
|
|
78
|
+
end = new Skip(end, ast.start);
|
|
79
|
+
}
|
|
80
|
+
if (ast.where) {
|
|
81
|
+
for (const condition of ast.where) {
|
|
82
|
+
end = new Filter(end, appliedFilters ? 'push-only' : 'all', createPredicate(condition));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (ast.limit) {
|
|
86
|
+
end = new Take(end, delegate.createStorage(), ast.limit, partitionKey);
|
|
87
|
+
}
|
|
88
|
+
if (ast.related) {
|
|
89
|
+
for (const sq of ast.related) {
|
|
90
|
+
assert(sq.subquery.alias, 'Subquery must have an alias');
|
|
91
|
+
const child = buildPipelineInternal(sq.subquery, delegate, staticQueryParameters, sq.correlation.childField);
|
|
92
|
+
end = new Join({
|
|
93
|
+
parent: end,
|
|
94
|
+
child,
|
|
95
|
+
storage: delegate.createStorage(),
|
|
96
|
+
parentKey: sq.correlation.parentField,
|
|
97
|
+
childKey: sq.correlation.childField,
|
|
98
|
+
relationshipName: sq.subquery.alias,
|
|
99
|
+
hidden: sq.hidden ?? false,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return end;
|
|
104
|
+
}
|
|
105
|
+
export function assertOrderingIncludesPK(ordering, pk) {
|
|
106
|
+
const orderingFields = ordering.map(([field]) => field);
|
|
107
|
+
const missingFields = pk.filter(pkField => !orderingFields.includes(pkField));
|
|
108
|
+
if (missingFields.length > 0) {
|
|
109
|
+
throw new Error(`Ordering must include all primary key fields. Missing: ${missingFields.join(', ')}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../../zql/src/zql/builder/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../../../zql/src/zql/builder/error.ts"],"names":[],"mappings":"AAAA,qBAAa,qBAAsB,SAAQ,KAAK;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../zql/src/zql/builder/error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAsB,SAAQ,KAAK;CAAG"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Condition } from '../ast/ast.js';
|
|
2
|
+
import type { Row, Value } from '../ivm/data.js';
|
|
3
|
+
export type NonNullValue = Exclude<Value, null | undefined>;
|
|
4
|
+
export type SimplePredicate = (rhs: NonNullValue) => boolean;
|
|
5
|
+
export declare function createPredicate(condition: Condition): (row: Row) => boolean;
|
|
6
|
+
//# sourceMappingURL=filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../../../zql/src/zql/builder/filter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAA+B,MAAM,eAAe,CAAC;AAC3E,OAAO,KAAK,EAAC,GAAG,EAAE,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAG/C,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC;AAE7D,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,SAKrC,GAAG,aAOjB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { assert } from '../../../../shared/src/asserts.js';
|
|
2
|
+
import { getLikePredicate } from './like.js';
|
|
3
|
+
export function createPredicate(condition) {
|
|
4
|
+
const impl = createPredicateImpl(condition.value, condition.op);
|
|
5
|
+
return (row) => {
|
|
6
|
+
const lhs = row[condition.field];
|
|
7
|
+
if (lhs === null || lhs === undefined) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
return impl(lhs);
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function createPredicateImpl(rhs, operator) {
|
|
14
|
+
switch (operator) {
|
|
15
|
+
case '=':
|
|
16
|
+
return lhs => lhs === rhs;
|
|
17
|
+
case '!=':
|
|
18
|
+
return lhs => lhs !== rhs;
|
|
19
|
+
case '<':
|
|
20
|
+
return lhs => lhs < rhs;
|
|
21
|
+
case '<=':
|
|
22
|
+
return lhs => lhs <= rhs;
|
|
23
|
+
case '>':
|
|
24
|
+
return lhs => lhs > rhs;
|
|
25
|
+
case '>=':
|
|
26
|
+
return lhs => lhs >= rhs;
|
|
27
|
+
case 'LIKE':
|
|
28
|
+
return getLikePredicate(rhs, '');
|
|
29
|
+
case 'NOT LIKE':
|
|
30
|
+
return not(getLikePredicate(rhs, ''));
|
|
31
|
+
case 'ILIKE':
|
|
32
|
+
return getLikePredicate(rhs, 'i');
|
|
33
|
+
case 'NOT ILIKE':
|
|
34
|
+
return not(getLikePredicate(rhs, 'i'));
|
|
35
|
+
case 'IN': {
|
|
36
|
+
assert(Array.isArray(rhs));
|
|
37
|
+
const set = new Set(rhs);
|
|
38
|
+
return lhs => set.has(lhs);
|
|
39
|
+
}
|
|
40
|
+
case 'NOT IN': {
|
|
41
|
+
assert(Array.isArray(rhs));
|
|
42
|
+
const set = new Set(rhs);
|
|
43
|
+
return lhs => !set.has(lhs);
|
|
44
|
+
}
|
|
45
|
+
default:
|
|
46
|
+
operator;
|
|
47
|
+
throw new Error(`Unexpected operator: ${operator}`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function not(f) {
|
|
51
|
+
return (lhs) => !f(lhs);
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../../zql/src/zql/builder/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAG7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAK3C,MAAM,UAAU,eAAe,CAAC,SAAoB;IAClD,MAAM,IAAI,GAAG,mBAAmB,CAC9B,SAAS,CAAC,KAAqB,EAC/B,SAAS,CAAC,EAAE,CACb,CAAC;IACF,OAAO,CAAC,GAAQ,EAAE,EAAE;QAClB,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAA2C,EAC3C,QAAwB;IAExB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,GAAG;YACN,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC;QAC5B,KAAK,IAAI;YACP,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC;QAC5B,KAAK,GAAG;YACN,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC;QAC1B,KAAK,IAAI;YACP,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC;QAC3B,KAAK,GAAG;YACN,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC;QAC1B,KAAK,IAAI;YACP,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC;QAC3B,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,GAAmB,EAAE,EAAE,CAAC,CAAC;QACnD,KAAK,UAAU;YACb,OAAO,GAAG,CAAC,gBAAgB,CAAC,GAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,KAAK,OAAO;YACV,OAAO,gBAAgB,CAAC,GAAmB,EAAE,GAAG,CAAC,CAAC;QACpD,KAAK,WAAW;YACd,OAAO,GAAG,CAAC,gBAAgB,CAAC,GAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD;YACE,QAAwB,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CAAI,CAAsB;IACpC,OAAO,CAAC,GAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"like.d.ts","sourceRoot":"","sources":["../../../../../../zql/src/zql/builder/like.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAE,eAAe,EAAC,MAAM,aAAa,CAAC;AAE/D,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,GAAG,GAAG,EAAE,GACd,eAAe,CAMjB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { assertString } from '../../../../shared/src/asserts.js';
|
|
2
|
+
export function getLikePredicate(pattern, flags) {
|
|
3
|
+
const op = getLikeOp(String(pattern), flags);
|
|
4
|
+
return (lhs) => {
|
|
5
|
+
assertString(lhs);
|
|
6
|
+
return op(String(lhs));
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
function getLikeOp(pattern, flags) {
|
|
10
|
+
// if lhs does not contain '%' or '_' then it is a simple string comparison.
|
|
11
|
+
// if it does contain '%' or '_' then it is a regex comparison.
|
|
12
|
+
// '%' is a wildcard for any number of characters
|
|
13
|
+
// '_' is a wildcard for a single character
|
|
14
|
+
// Postgres SQL allows escaping using `\`.
|
|
15
|
+
if (!/_|%|\\/.test(pattern)) {
|
|
16
|
+
if (flags === 'i') {
|
|
17
|
+
const rhsLower = pattern.toLowerCase();
|
|
18
|
+
return (lhs) => lhs.toLowerCase() === rhsLower;
|
|
19
|
+
}
|
|
20
|
+
return (lhs) => lhs === pattern;
|
|
21
|
+
}
|
|
22
|
+
const re = patternToRegExp(pattern, flags);
|
|
23
|
+
return (lhs) => re.test(lhs);
|
|
24
|
+
}
|
|
25
|
+
const specialCharsRe = /[$()*+.?[\]\\^{|}]/;
|
|
26
|
+
function patternToRegExp(source, flags = '') {
|
|
27
|
+
// There are a few cases:
|
|
28
|
+
// % => .*
|
|
29
|
+
// _ => .
|
|
30
|
+
// \x => \x for any x except special regexp chars
|
|
31
|
+
// special regexp chars => \special regexp chars
|
|
32
|
+
let pattern = '^';
|
|
33
|
+
for (let i = 0; i < source.length; i++) {
|
|
34
|
+
let c = source[i];
|
|
35
|
+
switch (c) {
|
|
36
|
+
case '%':
|
|
37
|
+
pattern += '.*';
|
|
38
|
+
break;
|
|
39
|
+
case '_':
|
|
40
|
+
pattern += '.';
|
|
41
|
+
break;
|
|
42
|
+
// @ts-expect-error fallthrough
|
|
43
|
+
case '\\':
|
|
44
|
+
if (i === source.length - 1) {
|
|
45
|
+
throw new Error('LIKE pattern must not end with escape character');
|
|
46
|
+
}
|
|
47
|
+
i++;
|
|
48
|
+
c = source[i];
|
|
49
|
+
// fall through
|
|
50
|
+
default:
|
|
51
|
+
if (specialCharsRe.test(c)) {
|
|
52
|
+
pattern += '\\';
|
|
53
|
+
}
|
|
54
|
+
pattern += c;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return new RegExp(pattern + '$', flags);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=like.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"like.js","sourceRoot":"","sources":["../../../../../../zql/src/zql/builder/like.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAGnD,MAAM,UAAU,gBAAgB,CAC9B,OAAqB,EACrB,KAAe;IAEf,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAiB,EAAE,EAAE;QAC3B,YAAY,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,KAAe;IACjD,4EAA4E;IAC5E,+DAA+D;IAC/D,iDAAiD;IACjD,2CAA2C;IAC3C,0CAA0C;IAE1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACvC,OAAO,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC;IAC1C,CAAC;IACD,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAW,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAE5C,SAAS,eAAe,CAAC,MAAc,EAAE,QAAkB,EAAE;IAC3D,yBAAyB;IACzB,UAAU;IACV,SAAS;IACT,iDAAiD;IACjD,gDAAgD;IAChD,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAClB,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,GAAG;gBACN,OAAO,IAAI,IAAI,CAAC;gBAChB,MAAM;YACR,KAAK,GAAG;gBACN,OAAO,IAAI,GAAG,CAAC;gBACf,MAAM;YAER,+BAA+B;YAC/B,KAAK,IAAI;gBACP,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACrE,CAAC;gBACD,CAAC,EAAE,CAAC;gBACJ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAEhB,eAAe;YACf;gBACE,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,OAAO,IAAI,IAAI,CAAC;gBAClB,CAAC;gBACD,OAAO,IAAI,CAAC,CAAC;gBAEb,MAAM;QACV,CAAC;IACH,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Immutable } from '../../../../shared/src/immutable.js';
|
|
2
|
+
import type { Change } from './change.js';
|
|
3
|
+
import type { Value } from './data.js';
|
|
4
|
+
import type { Input, Output } from './operator.js';
|
|
5
|
+
/**
|
|
6
|
+
* Called when the view changes. The received data should be considered
|
|
7
|
+
* immutable. Caller must not modify it. Passed data is valid until next
|
|
8
|
+
* time listener is called.
|
|
9
|
+
*/
|
|
10
|
+
export type Listener = (entries: Immutable<View>) => void;
|
|
11
|
+
export type Format = {
|
|
12
|
+
singular: boolean;
|
|
13
|
+
relationships: Record<string, Format>;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Implements a materialized view of the output of an operator.
|
|
17
|
+
*
|
|
18
|
+
* It might seem more efficient to use an immutable b-tree for the
|
|
19
|
+
* materialization, but it's not so clear. Inserts in the middle are
|
|
20
|
+
* asymptotically slower in an array, but can often be done with zero
|
|
21
|
+
* allocations, where changes to the b-tree will often require several allocs.
|
|
22
|
+
*
|
|
23
|
+
* Also the plain array view is more convenient for consumers since you can dump
|
|
24
|
+
* it into console to see what it is, rather than having to iterate it.
|
|
25
|
+
*/
|
|
26
|
+
export declare class ArrayView implements Output {
|
|
27
|
+
#private;
|
|
28
|
+
onDestroy: (() => void) | undefined;
|
|
29
|
+
constructor(input: Input, format?: Format);
|
|
30
|
+
get data(): View;
|
|
31
|
+
addListener(listener: Listener): () => void;
|
|
32
|
+
destroy(): void;
|
|
33
|
+
hydrate(): void;
|
|
34
|
+
push(change: Change): void;
|
|
35
|
+
flush(): void;
|
|
36
|
+
}
|
|
37
|
+
export type View = EntryList | Entry | undefined;
|
|
38
|
+
export type EntryList = Entry[];
|
|
39
|
+
export type Entry = {
|
|
40
|
+
[key: string]: Value | View;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=array-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-view.d.ts","sourceRoot":"","sources":["../../../../../../zql/src/zql/ivm/array-view.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAGvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAkB,KAAK,EAAC,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAGjD;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAE1D,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,YAAW,MAAM;;IAUtC,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;gBAMlC,KAAK,EAAE,KAAK,EACZ,MAAM,GAAE,MAA6C;IAUvD,IAAI,IAAI,IACmB,IAAI,CAC9B;IAED,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAkB9B,OAAO;IAKP,OAAO;IAkBP,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1B,KAAK;CAON;AAED,MAAM,MAAM,IAAI,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC;AAChC,MAAM,MAAM,KAAK,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAA;CAAC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Node, Row } from './data.js';
|
|
2
|
+
export type Change = AddChange | RemoveChange | ChildChange | EditChange;
|
|
3
|
+
export type ChangeType = Change['type'];
|
|
4
|
+
/**
|
|
5
|
+
* Represents a node (and all its children) getting added to the result.
|
|
6
|
+
*/
|
|
7
|
+
export type AddChange = {
|
|
8
|
+
type: 'add';
|
|
9
|
+
node: Node;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Represents a node (and all its children) getting removed from the result.
|
|
13
|
+
*/
|
|
14
|
+
export type RemoveChange = {
|
|
15
|
+
type: 'remove';
|
|
16
|
+
node: Node;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* The node itself is unchanged, but one of its descendants has changed.
|
|
20
|
+
*/
|
|
21
|
+
export type ChildChange = {
|
|
22
|
+
type: 'child';
|
|
23
|
+
row: Row;
|
|
24
|
+
child: {
|
|
25
|
+
relationshipName: string;
|
|
26
|
+
change: Change;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* The row changed (in a way that the {@linkcode Source} determines). Most
|
|
31
|
+
* likely the PK stayed the same but there is really no restriction in how it
|
|
32
|
+
* can change.
|
|
33
|
+
*
|
|
34
|
+
* The edit changes flows down in a {@linkcode Output.push}. There are cases
|
|
35
|
+
* where an edit change gets split into a remove and an add change when the
|
|
36
|
+
* presence of the row in the result changes (for example the row is no longer
|
|
37
|
+
* present due to a filter)
|
|
38
|
+
*/
|
|
39
|
+
export type EditChange = {
|
|
40
|
+
type: 'edit';
|
|
41
|
+
row: Row;
|
|
42
|
+
oldRow: Row;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=change.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change.d.ts","sourceRoot":"","sources":["../../../../../../zql/src/zql/ivm/change.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAE,GAAG,EAAC,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC;AACzE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,GAAG,CAAC;CACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change.js","sourceRoot":"","sources":["../../../../../../zql/src/zql/ivm/change.ts"],"names":[],"mappings":""}
|