@rocicorp/zero 0.4.2024103000 → 0.5.2024110200
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/{chunk-4UHYW2B5.js → chunk-INJ4WJHS.js} +111 -99
- package/out/chunk-INJ4WJHS.js.map +7 -0
- package/out/{chunk-RCVGGCMG.js → chunk-YCMA66NH.js} +2 -2
- package/out/{chunk-RCVGGCMG.js.map → chunk-YCMA66NH.js.map} +2 -2
- package/out/internal.js +1 -1
- package/out/react.js.map +2 -2
- package/out/shared/src/iterables.d.ts.map +1 -1
- package/out/shared/src/iterables.js +0 -5
- package/out/shared/src/iterables.js.map +1 -1
- package/out/shared/src/valita.d.ts +7 -0
- package/out/shared/src/valita.d.ts.map +1 -1
- package/out/shared/src/valita.js +28 -0
- package/out/shared/src/valita.js.map +1 -1
- package/out/solid.js +2 -2
- package/out/solid.js.map +2 -2
- package/out/zero-advanced/src/mod.d.ts +7 -7
- package/out/zero-advanced/src/mod.d.ts.map +1 -1
- package/out/zero-cache/src/config/config-query.d.ts +6 -6
- package/out/zero-cache/src/config/config-query.d.ts.map +1 -1
- package/out/zero-cache/src/config/config-query.js +1 -1
- package/out/zero-cache/src/config/config-query.js.map +1 -1
- package/out/zero-cache/src/config/define-config.d.ts +3 -3
- package/out/zero-cache/src/config/define-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/define-config.js +1 -0
- package/out/zero-cache/src/config/define-config.js.map +1 -1
- package/out/zero-cache/src/config/refs.js +1 -1
- package/out/zero-cache/src/config/refs.js.map +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts +38 -38
- package/out/zero-cache/src/db/statements.d.ts +1 -1
- package/out/zero-cache/src/services/mutagen/write-authorizer.js +2 -2
- package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.js +1 -1
- package/out/zero-cache/src/services/view-syncer/database-storage.d.ts +1 -1
- package/out/zero-cache/src/services/view-syncer/database-storage.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +5 -5
- package/out/zero-cache/src/types/lite.d.ts +1 -1
- package/out/zero-cache/src/types/lite.d.ts.map +1 -1
- package/out/zero-cache/src/types/lite.js +4 -0
- package/out/zero-cache/src/types/lite.js.map +1 -1
- package/out/zero-client/src/client/context.d.ts +4 -4
- package/out/zero-client/src/client/context.d.ts.map +1 -1
- package/out/zero-client/src/client/crud.d.ts +4 -4
- package/out/zero-client/src/client/crud.d.ts.map +1 -1
- package/out/zero-client/src/client/keys.d.ts +1 -1
- package/out/zero-client/src/client/keys.d.ts.map +1 -1
- package/out/zero-client/src/client/normalized-schema.d.ts +2 -2
- package/out/zero-client/src/client/normalized-schema.d.ts.map +1 -1
- package/out/zero-client/src/client/normalized-schema.js +1 -1
- package/out/zero-client/src/client/normalized-schema.js.map +1 -1
- package/out/zero-client/src/client/options.d.ts +1 -1
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/query-manager.d.ts +1 -1
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +2 -9
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/mod.d.ts +6 -7
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.d.ts +2 -2
- package/out/zero-protocol/src/ast.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.js +2 -1
- package/out/zero-protocol/src/ast.js.map +1 -1
- package/out/zero-protocol/src/change-desired-queries.d.ts +2 -2
- package/out/zero-protocol/src/connect.d.ts +2 -2
- package/out/zero-protocol/src/data.d.ts +2 -2
- package/out/zero-protocol/src/data.d.ts.map +1 -1
- package/out/zero-protocol/src/data.js +2 -1
- package/out/zero-protocol/src/data.js.map +1 -1
- package/out/zero-protocol/src/down.d.ts +3 -3
- package/out/zero-protocol/src/poke.d.ts +6 -6
- package/out/zero-protocol/src/push.d.ts +21 -21
- package/out/zero-protocol/src/queries-patch.d.ts +3 -3
- package/out/zero-protocol/src/row-patch.d.ts +2 -2
- package/out/zero-protocol/src/up.d.ts +5 -5
- package/out/zero-react/src/use-query.d.ts +2 -1
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-react/src/use-zero.d.ts +2 -1
- package/out/zero-react/src/use-zero.d.ts.map +1 -1
- package/out/zero-schema/src/mod.d.ts +4 -0
- package/out/zero-schema/src/mod.d.ts.map +1 -0
- package/out/zero-schema/src/mod.js +4 -0
- package/out/zero-schema/src/mod.js.map +1 -0
- package/out/{zql/src/zql/query → zero-schema/src}/normalize-table-schema.d.ts +2 -3
- package/out/zero-schema/src/normalize-table-schema.d.ts.map +1 -0
- package/out/{zql/src/zql/query → zero-schema/src}/normalize-table-schema.js +3 -3
- package/out/zero-schema/src/normalize-table-schema.js.map +1 -0
- package/out/zero-schema/src/schema.d.ts +9 -0
- package/out/zero-schema/src/schema.d.ts.map +1 -0
- package/out/zero-schema/src/schema.js +4 -0
- package/out/zero-schema/src/schema.js.map +1 -0
- package/out/{zql/src/zql/query/schema.d.ts → zero-schema/src/table-schema.d.ts} +39 -3
- package/out/zero-schema/src/table-schema.d.ts.map +1 -0
- package/out/{zql/src/zql/query/schema.js → zero-schema/src/table-schema.js} +1 -1
- package/out/zero-schema/src/table-schema.js.map +1 -0
- package/out/zero-solid/src/create-zero.d.ts +2 -1
- package/out/zero-solid/src/create-zero.d.ts.map +1 -1
- package/out/zero.js +2 -6
- package/out/zql/src/{zql/builder → builder}/builder.d.ts +4 -4
- package/out/zql/src/builder/builder.d.ts.map +1 -0
- package/out/zql/src/{zql/builder → builder}/builder.js +7 -3
- package/out/zql/src/builder/builder.js.map +1 -0
- package/out/zql/src/builder/error.d.ts.map +1 -0
- package/out/zql/src/builder/error.js.map +1 -0
- package/out/zql/src/{zql/builder → builder}/filter.d.ts +2 -2
- package/out/zql/src/builder/filter.d.ts.map +1 -0
- package/out/zql/src/{zql/builder → builder}/filter.js +1 -1
- package/out/zql/src/builder/filter.js.map +1 -0
- package/out/zql/src/builder/like.d.ts.map +1 -0
- package/out/zql/src/{zql/builder → builder}/like.js +1 -1
- package/out/zql/src/builder/like.js.map +1 -0
- package/out/zql/src/ivm/array-view.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/array-view.js +1 -1
- package/out/zql/src/ivm/array-view.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/change.d.ts +1 -1
- package/out/zql/src/ivm/change.d.ts.map +1 -0
- package/out/zql/src/ivm/change.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/data.d.ts +2 -2
- package/out/zql/src/ivm/data.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/data.js +1 -1
- package/out/zql/src/ivm/data.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/fan-in.d.ts +6 -4
- package/out/zql/src/ivm/fan-in.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/fan-in.js +11 -11
- package/out/zql/src/ivm/fan-in.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/fan-out.d.ts +3 -3
- package/out/zql/src/ivm/fan-out.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/fan-out.js +7 -5
- package/out/zql/src/ivm/fan-out.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/filter.d.ts +4 -5
- package/out/zql/src/ivm/filter.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/filter.js +9 -6
- package/out/zql/src/ivm/filter.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/join.d.ts +2 -2
- package/out/zql/src/ivm/join.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/join.js +2 -2
- package/out/zql/src/ivm/join.js.map +1 -0
- package/out/zql/src/ivm/lookahead-iterator.d.ts.map +1 -0
- package/out/zql/src/ivm/lookahead-iterator.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/maybe-split-and-push-edit-change.d.ts +1 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -0
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/memory-source.d.ts +6 -6
- package/out/zql/src/ivm/memory-source.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/memory-source.js +12 -17
- package/out/zql/src/ivm/memory-source.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/memory-storage.d.ts +1 -1
- package/out/zql/src/ivm/memory-storage.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/operator.d.ts +5 -5
- package/out/zql/src/ivm/operator.d.ts.map +1 -0
- package/out/zql/src/ivm/operator.js.map +1 -0
- package/out/zql/src/ivm/schema.d.ts +15 -0
- package/out/zql/src/ivm/schema.d.ts.map +1 -0
- package/out/zql/src/ivm/schema.js +2 -0
- package/out/zql/src/ivm/schema.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/skip.d.ts +3 -3
- package/out/zql/src/ivm/skip.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/skip.js +1 -1
- package/out/zql/src/ivm/skip.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/source.d.ts +2 -2
- package/out/zql/src/ivm/source.d.ts.map +1 -0
- package/out/zql/src/ivm/source.js.map +1 -0
- package/out/zql/src/ivm/stream.d.ts.map +1 -0
- package/out/zql/src/ivm/stream.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/take.d.ts +2 -2
- package/out/zql/src/ivm/take.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/take.js +2 -2
- package/out/zql/src/ivm/take.js.map +1 -0
- package/out/zql/src/ivm/view-apply-change.d.ts +5 -0
- package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/view-apply-change.js +2 -2
- package/out/zql/src/ivm/view-apply-change.js.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/view.d.ts +2 -2
- package/out/zql/src/ivm/view.d.ts.map +1 -0
- package/out/zql/src/{zql/ivm → ivm}/view.js.map +1 -1
- package/out/zql/src/query/auth-query.d.ts +20 -0
- package/out/zql/src/query/auth-query.d.ts.map +1 -0
- package/out/zql/src/query/auth-query.js +26 -0
- package/out/zql/src/query/auth-query.js.map +1 -0
- package/out/zql/src/query/escape-like.d.ts.map +1 -0
- package/out/zql/src/query/expression.d.ts +24 -0
- package/out/zql/src/query/expression.d.ts.map +1 -0
- package/out/zql/src/{zql/query → query}/expression.js +7 -1
- package/out/zql/src/query/expression.js.map +1 -0
- package/out/zql/src/{zql/query → query}/query-impl.d.ts +5 -5
- package/out/zql/src/query/query-impl.d.ts.map +1 -0
- package/out/zql/src/{zql/query → query}/query-impl.js +6 -4
- package/out/zql/src/query/query-impl.js.map +1 -0
- package/out/zql/src/{zql/query → query}/query-internal.d.ts +1 -1
- package/out/zql/src/query/query-internal.d.ts.map +1 -0
- package/out/zql/src/query/query-internal.js.map +1 -0
- package/out/zql/src/{zql/query → query}/query.d.ts +11 -26
- package/out/zql/src/query/query.d.ts.map +1 -0
- package/out/zql/src/query/query.js.map +1 -0
- package/out/zql/src/{zql/query → query}/typed-view.d.ts +1 -1
- package/out/zql/src/query/typed-view.d.ts.map +1 -0
- package/out/zql/src/query/typed-view.js.map +1 -0
- package/out/zqlite/src/db.d.ts +1 -1
- package/out/zqlite/src/db.js +1 -1
- package/out/zqlite/src/table-source.d.ts +14 -2
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +81 -40
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +11 -2
- package/out/chunk-4UHYW2B5.js.map +0 -7
- package/out/replicache/src/async-iterable-to-array.js +0 -8
- package/out/replicache/src/async-iterable-to-array.js.map +0 -1
- package/out/replicache/src/bg-interval.js +0 -38
- package/out/replicache/src/bg-interval.js.map +0 -1
- package/out/replicache/src/binary-search.js +0 -31
- package/out/replicache/src/binary-search.js.map +0 -1
- package/out/replicache/src/broadcast-channel.js +0 -29
- package/out/replicache/src/broadcast-channel.js.map +0 -1
- package/out/replicache/src/btree/diff.js +0 -6
- package/out/replicache/src/btree/diff.js.map +0 -1
- package/out/replicache/src/btree/node.js +0 -392
- package/out/replicache/src/btree/node.js.map +0 -1
- package/out/replicache/src/btree/read.js +0 -227
- package/out/replicache/src/btree/read.js.map +0 -1
- package/out/replicache/src/btree/splice.js +0 -79
- package/out/replicache/src/btree/splice.js.map +0 -1
- package/out/replicache/src/btree/write.js +0 -154
- package/out/replicache/src/btree/write.js.map +0 -1
- package/out/replicache/src/call-default-fetch.js +0 -37
- package/out/replicache/src/call-default-fetch.js.map +0 -1
- package/out/replicache/src/config.js +0 -13
- package/out/replicache/src/config.js.map +0 -1
- package/out/replicache/src/connection-loop-delegates.js +0 -30
- package/out/replicache/src/connection-loop-delegates.js.map +0 -1
- package/out/replicache/src/connection-loop.js +0 -268
- package/out/replicache/src/connection-loop.js.map +0 -1
- package/out/replicache/src/cookies.js +0 -41
- package/out/replicache/src/cookies.js.map +0 -1
- package/out/replicache/src/dag/chunk.js +0 -60
- package/out/replicache/src/dag/chunk.js.map +0 -1
- package/out/replicache/src/dag/gc.js +0 -126
- package/out/replicache/src/dag/gc.js.map +0 -1
- package/out/replicache/src/dag/key-type-enum.js +0 -6
- package/out/replicache/src/dag/key-type-enum.js.map +0 -1
- package/out/replicache/src/dag/key.js +0 -54
- package/out/replicache/src/dag/key.js.map +0 -1
- package/out/replicache/src/dag/lazy-store.js +0 -532
- package/out/replicache/src/dag/lazy-store.js.map +0 -1
- package/out/replicache/src/dag/store-impl.js +0 -175
- package/out/replicache/src/dag/store-impl.js.map +0 -1
- package/out/replicache/src/dag/store.js +0 -22
- package/out/replicache/src/dag/store.js.map +0 -1
- package/out/replicache/src/dag/visitor.js +0 -22
- package/out/replicache/src/dag/visitor.js.map +0 -1
- package/out/replicache/src/db/commit.js +0 -443
- package/out/replicache/src/db/commit.js.map +0 -1
- package/out/replicache/src/db/index-operation-enum.js +0 -4
- package/out/replicache/src/db/index-operation-enum.js.map +0 -1
- package/out/replicache/src/db/index.js +0 -170
- package/out/replicache/src/db/index.js.map +0 -1
- package/out/replicache/src/db/meta-type-enum.js +0 -7
- package/out/replicache/src/db/meta-type-enum.js.map +0 -1
- package/out/replicache/src/db/read.js +0 -59
- package/out/replicache/src/db/read.js.map +0 -1
- package/out/replicache/src/db/rebase.js +0 -56
- package/out/replicache/src/db/rebase.js.map +0 -1
- package/out/replicache/src/db/scan.js +0 -2
- package/out/replicache/src/db/scan.js.map +0 -1
- package/out/replicache/src/db/write.js +0 -260
- package/out/replicache/src/db/write.js.map +0 -1
- package/out/replicache/src/error-responses.js +0 -30
- package/out/replicache/src/error-responses.js.map +0 -1
- package/out/replicache/src/filter-async-iterable.js +0 -15
- package/out/replicache/src/filter-async-iterable.js.map +0 -1
- package/out/replicache/src/format-version-enum.js +0 -9
- package/out/replicache/src/format-version-enum.js.map +0 -1
- package/out/replicache/src/format-version.js +0 -8
- package/out/replicache/src/format-version.js.map +0 -1
- package/out/replicache/src/frozen-json.js +0 -151
- package/out/replicache/src/frozen-json.js.map +0 -1
- package/out/replicache/src/get-default-puller.js +0 -74
- package/out/replicache/src/get-default-puller.js.map +0 -1
- package/out/replicache/src/get-default-pusher.js +0 -36
- package/out/replicache/src/get-default-pusher.js.map +0 -1
- package/out/replicache/src/hash.js +0 -73
- package/out/replicache/src/hash.js.map +0 -1
- package/out/replicache/src/http-request-info.js +0 -7
- package/out/replicache/src/http-request-info.js.map +0 -1
- package/out/replicache/src/impl.js +0 -2
- package/out/replicache/src/impl.js.map +0 -1
- package/out/replicache/src/index-defs.js +0 -28
- package/out/replicache/src/index-defs.js.map +0 -1
- package/out/replicache/src/invoke-kind-enum.js +0 -4
- package/out/replicache/src/invoke-kind-enum.js.map +0 -1
- package/out/replicache/src/iterable-union.js +0 -5
- package/out/replicache/src/iterable-union.js.map +0 -1
- package/out/replicache/src/kv/idb-store-with-mem-fallback.js +0 -93
- package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +0 -1
- package/out/replicache/src/kv/idb-store.js +0 -179
- package/out/replicache/src/kv/idb-store.js.map +0 -1
- package/out/replicache/src/kv/mem-store.js +0 -61
- package/out/replicache/src/kv/mem-store.js.map +0 -1
- package/out/replicache/src/kv/read-impl.js +0 -23
- package/out/replicache/src/kv/read-impl.js.map +0 -1
- package/out/replicache/src/kv/store.js +0 -2
- package/out/replicache/src/kv/store.js.map +0 -1
- package/out/replicache/src/kv/write-impl-base.js +0 -48
- package/out/replicache/src/kv/write-impl-base.js.map +0 -1
- package/out/replicache/src/kv/write-impl.js +0 -25
- package/out/replicache/src/kv/write-impl.js.map +0 -1
- package/out/replicache/src/lazy.js +0 -10
- package/out/replicache/src/lazy.js.map +0 -1
- package/out/replicache/src/log-options.js +0 -13
- package/out/replicache/src/log-options.js.map +0 -1
- package/out/replicache/src/merge-async-iterables.js +0 -61
- package/out/replicache/src/merge-async-iterables.js.map +0 -1
- package/out/replicache/src/mod.js +0 -14
- package/out/replicache/src/mod.js.map +0 -1
- package/out/replicache/src/mutation-recovery.js +0 -439
- package/out/replicache/src/mutation-recovery.js.map +0 -1
- package/out/replicache/src/new-client-channel.js +0 -77
- package/out/replicache/src/new-client-channel.js.map +0 -1
- package/out/replicache/src/on-persist-channel.js +0 -33
- package/out/replicache/src/on-persist-channel.js.map +0 -1
- package/out/replicache/src/patch-operation.js +0 -37
- package/out/replicache/src/patch-operation.js.map +0 -1
- package/out/replicache/src/pending-mutations.js +0 -18
- package/out/replicache/src/pending-mutations.js.map +0 -1
- package/out/replicache/src/persist/client-gc.js +0 -38
- package/out/replicache/src/persist/client-gc.js.map +0 -1
- package/out/replicache/src/persist/client-group-gc.js +0 -38
- package/out/replicache/src/persist/client-group-gc.js.map +0 -1
- package/out/replicache/src/persist/client-groups.js +0 -180
- package/out/replicache/src/persist/client-groups.js.map +0 -1
- package/out/replicache/src/persist/clients.js +0 -390
- package/out/replicache/src/persist/clients.js.map +0 -1
- package/out/replicache/src/persist/collect-idb-databases.js +0 -174
- package/out/replicache/src/persist/collect-idb-databases.js.map +0 -1
- package/out/replicache/src/persist/gather-mem-only-visitor.js +0 -25
- package/out/replicache/src/persist/gather-mem-only-visitor.js.map +0 -1
- package/out/replicache/src/persist/gather-not-cached-visitor.js +0 -35
- package/out/replicache/src/persist/gather-not-cached-visitor.js.map +0 -1
- package/out/replicache/src/persist/heartbeat.js +0 -37
- package/out/replicache/src/persist/heartbeat.js.map +0 -1
- package/out/replicache/src/persist/idb-databases-store-db-name.js +0 -18
- package/out/replicache/src/persist/idb-databases-store-db-name.js.map +0 -1
- package/out/replicache/src/persist/idb-databases-store.js +0 -90
- package/out/replicache/src/persist/idb-databases-store.js.map +0 -1
- package/out/replicache/src/persist/make-client-id.js +0 -13
- package/out/replicache/src/persist/make-client-id.js.map +0 -1
- package/out/replicache/src/persist/persist.js +0 -132
- package/out/replicache/src/persist/persist.js.map +0 -1
- package/out/replicache/src/persist/refresh.js +0 -147
- package/out/replicache/src/persist/refresh.js.map +0 -1
- package/out/replicache/src/process-scheduler.js +0 -93
- package/out/replicache/src/process-scheduler.js.map +0 -1
- package/out/replicache/src/puller.js +0 -2
- package/out/replicache/src/puller.js.map +0 -1
- package/out/replicache/src/pusher.js +0 -32
- package/out/replicache/src/pusher.js.map +0 -1
- package/out/replicache/src/replicache-impl.js +0 -1007
- package/out/replicache/src/replicache-impl.js.map +0 -1
- package/out/replicache/src/replicache-options.js +0 -2
- package/out/replicache/src/replicache-options.js.map +0 -1
- package/out/replicache/src/replicache.js +0 -387
- package/out/replicache/src/replicache.js.map +0 -1
- package/out/replicache/src/request-idle.js +0 -15
- package/out/replicache/src/request-idle.js.map +0 -1
- package/out/replicache/src/scan-iterator.js +0 -202
- package/out/replicache/src/scan-iterator.js.map +0 -1
- package/out/replicache/src/scan-options.js +0 -45
- package/out/replicache/src/scan-options.js.map +0 -1
- package/out/replicache/src/set-interval-with-signal.js +0 -7
- package/out/replicache/src/set-interval-with-signal.js.map +0 -1
- package/out/replicache/src/size-of-value.js +0 -77
- package/out/replicache/src/size-of-value.js.map +0 -1
- package/out/replicache/src/subscriptions.js +0 -357
- package/out/replicache/src/subscriptions.js.map +0 -1
- package/out/replicache/src/sync/diff.js +0 -75
- package/out/replicache/src/sync/diff.js.map +0 -1
- package/out/replicache/src/sync/handle-pull-response-result-type-enum.js +0 -5
- package/out/replicache/src/sync/handle-pull-response-result-type-enum.js.map +0 -1
- package/out/replicache/src/sync/ids.js +0 -4
- package/out/replicache/src/sync/ids.js.map +0 -1
- package/out/replicache/src/sync/patch.js +0 -41
- package/out/replicache/src/sync/patch.js.map +0 -1
- package/out/replicache/src/sync/pull-error.js +0 -16
- package/out/replicache/src/sync/pull-error.js.map +0 -1
- package/out/replicache/src/sync/pull.js +0 -375
- package/out/replicache/src/sync/pull.js.map +0 -1
- package/out/replicache/src/sync/push.js +0 -141
- package/out/replicache/src/sync/push.js.map +0 -1
- package/out/replicache/src/sync/request-id.js +0 -31
- package/out/replicache/src/sync/request-id.js.map +0 -1
- package/out/replicache/src/sync/sync-head-name.js +0 -2
- package/out/replicache/src/sync/sync-head-name.js.map +0 -1
- package/out/replicache/src/test-license-key.js +0 -3
- package/out/replicache/src/test-license-key.js.map +0 -1
- package/out/replicache/src/to-error.js +0 -7
- package/out/replicache/src/to-error.js.map +0 -1
- package/out/replicache/src/transaction-closed-error.js +0 -17
- package/out/replicache/src/transaction-closed-error.js.map +0 -1
- package/out/replicache/src/transactions.js +0 -144
- package/out/replicache/src/transactions.js.map +0 -1
- package/out/replicache/src/types.js +0 -2
- package/out/replicache/src/types.js.map +0 -1
- package/out/replicache/src/version.js +0 -6
- package/out/replicache/src/version.js.map +0 -1
- package/out/replicache/src/with-transactions.js +0 -28
- package/out/replicache/src/with-transactions.js.map +0 -1
- package/out/shared/src/browser-env.js +0 -14
- package/out/shared/src/browser-env.js.map +0 -1
- package/out/shared/src/document-visible.js +0 -76
- package/out/shared/src/document-visible.js.map +0 -1
- package/out/shared/src/navigator.js +0 -3
- package/out/shared/src/navigator.js.map +0 -1
- package/out/shared/src/random-uint64.js +0 -8
- package/out/shared/src/random-uint64.js.map +0 -1
- package/out/shared/src/types.js +0 -2
- package/out/shared/src/types.js.map +0 -1
- package/out/zero-client/src/client/context.js +0 -113
- package/out/zero-client/src/client/context.js.map +0 -1
- package/out/zero-client/src/client/crud.js +0 -181
- package/out/zero-client/src/client/crud.js.map +0 -1
- package/out/zero-client/src/client/enable-analytics.js +0 -21
- package/out/zero-client/src/client/enable-analytics.js.map +0 -1
- package/out/zero-client/src/client/http-string.js +0 -14
- package/out/zero-client/src/client/http-string.js.map +0 -1
- package/out/zero-client/src/client/keys.js +0 -32
- package/out/zero-client/src/client/keys.js.map +0 -1
- package/out/zero-client/src/client/log-options.js +0 -57
- package/out/zero-client/src/client/log-options.js.map +0 -1
- package/out/zero-client/src/client/metrics.js +0 -268
- package/out/zero-client/src/client/metrics.js.map +0 -1
- package/out/zero-client/src/client/options.js +0 -2
- package/out/zero-client/src/client/options.js.map +0 -1
- package/out/zero-client/src/client/query-manager.js +0 -146
- package/out/zero-client/src/client/query-manager.js.map +0 -1
- package/out/zero-client/src/client/reload-error-handler.js +0 -23
- package/out/zero-client/src/client/reload-error-handler.js.map +0 -1
- package/out/zero-client/src/client/replicache-types.js +0 -2
- package/out/zero-client/src/client/replicache-types.js.map +0 -1
- package/out/zero-client/src/client/server-error.js +0 -22
- package/out/zero-client/src/client/server-error.js.map +0 -1
- package/out/zero-client/src/client/server-option.js +0 -37
- package/out/zero-client/src/client/server-option.js.map +0 -1
- package/out/zero-client/src/client/version.js +0 -6
- package/out/zero-client/src/client/version.js.map +0 -1
- package/out/zero-client/src/client/zero-poke-handler.js +0 -240
- package/out/zero-client/src/client/zero-poke-handler.js.map +0 -1
- package/out/zero-client/src/client/zero.js +0 -1233
- package/out/zero-client/src/client/zero.js.map +0 -1
- package/out/zero-client/src/mod.js +0 -7
- package/out/zero-client/src/mod.js.map +0 -1
- package/out/zero-client/src/util/nanoid.js +0 -34
- package/out/zero-client/src/util/nanoid.js.map +0 -1
- package/out/zero-client/src/util/socket.js +0 -4
- package/out/zero-client/src/util/socket.js.map +0 -1
- package/out/zql/src/zql/builder/builder.d.ts.map +0 -1
- package/out/zql/src/zql/builder/builder.js.map +0 -1
- package/out/zql/src/zql/builder/error.d.ts.map +0 -1
- package/out/zql/src/zql/builder/error.js.map +0 -1
- package/out/zql/src/zql/builder/filter.d.ts.map +0 -1
- package/out/zql/src/zql/builder/filter.js.map +0 -1
- package/out/zql/src/zql/builder/like.d.ts.map +0 -1
- package/out/zql/src/zql/builder/like.js.map +0 -1
- package/out/zql/src/zql/ivm/array-view.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/array-view.js.map +0 -1
- package/out/zql/src/zql/ivm/change.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/change.js.map +0 -1
- package/out/zql/src/zql/ivm/data.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/data.js.map +0 -1
- package/out/zql/src/zql/ivm/fan-in.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/fan-in.js.map +0 -1
- package/out/zql/src/zql/ivm/fan-out.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/fan-out.js.map +0 -1
- package/out/zql/src/zql/ivm/filter.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/filter.js.map +0 -1
- package/out/zql/src/zql/ivm/join.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/join.js.map +0 -1
- package/out/zql/src/zql/ivm/lookahead-iterator.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/lookahead-iterator.js.map +0 -1
- package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.js.map +0 -1
- package/out/zql/src/zql/ivm/memory-source.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/memory-source.js.map +0 -1
- package/out/zql/src/zql/ivm/memory-storage.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/memory-storage.js +0 -33
- package/out/zql/src/zql/ivm/memory-storage.js.map +0 -1
- package/out/zql/src/zql/ivm/operator.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/operator.js.map +0 -1
- package/out/zql/src/zql/ivm/schema.d.ts +0 -29
- package/out/zql/src/zql/ivm/schema.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/schema.js +0 -3
- package/out/zql/src/zql/ivm/schema.js.map +0 -1
- package/out/zql/src/zql/ivm/skip.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/skip.js.map +0 -1
- package/out/zql/src/zql/ivm/source.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/source.js.map +0 -1
- package/out/zql/src/zql/ivm/stream.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/stream.js.map +0 -1
- package/out/zql/src/zql/ivm/take.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/take.js.map +0 -1
- package/out/zql/src/zql/ivm/view-apply-change.d.ts +0 -5
- package/out/zql/src/zql/ivm/view-apply-change.d.ts.map +0 -1
- package/out/zql/src/zql/ivm/view-apply-change.js.map +0 -1
- package/out/zql/src/zql/ivm/view.d.ts.map +0 -1
- package/out/zql/src/zql/query/escape-like.d.ts.map +0 -1
- package/out/zql/src/zql/query/escape-like.js +0 -4
- package/out/zql/src/zql/query/escape-like.js.map +0 -1
- package/out/zql/src/zql/query/expression.d.ts +0 -25
- package/out/zql/src/zql/query/expression.d.ts.map +0 -1
- package/out/zql/src/zql/query/expression.js.map +0 -1
- package/out/zql/src/zql/query/normalize-table-schema.d.ts.map +0 -1
- package/out/zql/src/zql/query/normalize-table-schema.js.map +0 -1
- package/out/zql/src/zql/query/query-impl.d.ts.map +0 -1
- package/out/zql/src/zql/query/query-impl.js.map +0 -1
- package/out/zql/src/zql/query/query-internal.d.ts.map +0 -1
- package/out/zql/src/zql/query/query-internal.js.map +0 -1
- package/out/zql/src/zql/query/query.d.ts.map +0 -1
- package/out/zql/src/zql/query/query.js.map +0 -1
- package/out/zql/src/zql/query/schema.d.ts.map +0 -1
- package/out/zql/src/zql/query/schema.js.map +0 -1
- package/out/zql/src/zql/query/typed-view.d.ts.map +0 -1
- package/out/zql/src/zql/query/typed-view.js.map +0 -1
- /package/out/zql/src/{zql/builder → builder}/error.d.ts +0 -0
- /package/out/zql/src/{zql/builder → builder}/error.js +0 -0
- /package/out/zql/src/{zql/builder → builder}/like.d.ts +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/array-view.d.ts +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/change.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/lookahead-iterator.d.ts +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/lookahead-iterator.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/maybe-split-and-push-edit-change.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/operator.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/source.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/stream.d.ts +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/stream.js +0 -0
- /package/out/zql/src/{zql/ivm → ivm}/view.js +0 -0
- /package/out/zql/src/{zql/query → query}/escape-like.d.ts +0 -0
- /package/out/zql/src/{zql/query → query}/query-internal.js +0 -0
- /package/out/zql/src/{zql/query → query}/query.js +0 -0
- /package/out/zql/src/{zql/query → query}/typed-view.js +0 -0
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
function validateServerParam(paramName, server) {
|
|
2
|
-
const expectedProtocol = 'http';
|
|
3
|
-
const forExample = () => ` For example: "${expectedProtocol}s://myapp-myteam.zero.ms/".`;
|
|
4
|
-
if (!server.startsWith(`${expectedProtocol}://`) &&
|
|
5
|
-
!server.startsWith(`${expectedProtocol}s://`)) {
|
|
6
|
-
throw new Error(`ZeroOptions.${paramName} must use the "${expectedProtocol}" or "${expectedProtocol}s" scheme.`);
|
|
7
|
-
}
|
|
8
|
-
let url;
|
|
9
|
-
try {
|
|
10
|
-
url = new URL(server);
|
|
11
|
-
}
|
|
12
|
-
catch {
|
|
13
|
-
throw new Error(`ZeroOptions.${paramName} must be a valid URL.${forExample()}`);
|
|
14
|
-
}
|
|
15
|
-
const urlString = url.toString();
|
|
16
|
-
if (url.pathname !== '/') {
|
|
17
|
-
throw new Error(`ZeroOptions.${paramName} must not contain a path component (other than "/").${forExample()}`);
|
|
18
|
-
}
|
|
19
|
-
for (const [property, invalidEndsWith] of [
|
|
20
|
-
['search', '?'],
|
|
21
|
-
['hash', '#'],
|
|
22
|
-
]) {
|
|
23
|
-
if (url[property] || urlString.endsWith(invalidEndsWith)) {
|
|
24
|
-
throw new Error(`ZeroOptions.${paramName} must not contain a ${property} component.${forExample()}`);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return urlString;
|
|
28
|
-
}
|
|
29
|
-
export function getServer(server) {
|
|
30
|
-
if (server === undefined || server === null) {
|
|
31
|
-
console.warn('Zero starting up with no server URL. This is supported for unit testing ' +
|
|
32
|
-
'and prototyping, but no data will be synced.');
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
return validateServerParam('server', server);
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=server-option.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server-option.js","sourceRoot":"","sources":["../../../../../zero-client/src/client/server-option.ts"],"names":[],"mappings":"AAEA,SAAS,mBAAmB,CAAC,SAAiB,EAAE,MAAc;IAC5D,MAAM,gBAAgB,GAAG,MAAM,CAAC;IAChC,MAAM,UAAU,GAAG,GAAG,EAAE,CACtB,kBAAkB,gBAAgB,6BAA6B,CAAC;IAElE,IACE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,gBAAgB,KAAK,CAAC;QAC5C,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,gBAAgB,MAAM,CAAC,EAC7C,CAAC;QACD,MAAM,IAAI,KAAK,CACb,eAAe,SAAS,kBAAkB,gBAAgB,SAAS,gBAAgB,YAAY,CAChG,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC;IACR,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,eAAe,SAAS,wBAAwB,UAAU,EAAE,EAAE,CAC/D,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAEjC,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,eAAe,SAAS,uDAAuD,UAAU,EAAE,EAAE,CAC9F,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,IAAI;QACxC,CAAC,QAAQ,EAAE,GAAG,CAAC;QACf,CAAC,MAAM,EAAE,GAAG,CAAC;KACL,EAAE,CAAC;QACX,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,eAAe,SAAS,uBAAuB,QAAQ,cAAc,UAAU,EAAE,EAAE,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,SAAuB,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,MAAiC;IAEjC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CACV,0EAA0E;YACxE,8CAA8C,CACjD,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../../../zero-client/src/client/version.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAQhD;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC"}
|
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
import { Lock } from '@rocicorp/lock';
|
|
2
|
-
import { toClientsKey, toDesiredQueriesKey, toGotQueriesKey, toPrimaryKeyString, } from './keys.js';
|
|
3
|
-
import {} from './normalized-schema.js';
|
|
4
|
-
/**
|
|
5
|
-
* Handles the multi-part format of zero pokes.
|
|
6
|
-
* As an optimization it also debounces pokes, only poking Replicache with a
|
|
7
|
-
* merged poke at most once per frame (as determined by requestAnimationFrame).
|
|
8
|
-
* The client cannot control how fast the server sends pokes, and it can only
|
|
9
|
-
* update the UI once per frame. This debouncing avoids wastefully
|
|
10
|
-
* computing separate diffs and IVM updates for intermediate states that will
|
|
11
|
-
* never been displayed to the UI.
|
|
12
|
-
*/
|
|
13
|
-
export class PokeHandler {
|
|
14
|
-
#replicachePoke;
|
|
15
|
-
#onPokeError;
|
|
16
|
-
#clientID;
|
|
17
|
-
#lc;
|
|
18
|
-
#receivingPoke = undefined;
|
|
19
|
-
#pokeBuffer = [];
|
|
20
|
-
#pokePlaybackLoopRunning = false;
|
|
21
|
-
#lastRafPerfTimestamp = 0;
|
|
22
|
-
// Serializes calls to this.#replicachePoke otherwise we can cause out of
|
|
23
|
-
// order poke errors.
|
|
24
|
-
#pokeLock = new Lock();
|
|
25
|
-
#schema;
|
|
26
|
-
constructor(replicachePoke, onPokeError, clientID, schema, lc) {
|
|
27
|
-
this.#replicachePoke = replicachePoke;
|
|
28
|
-
this.#onPokeError = onPokeError;
|
|
29
|
-
this.#clientID = clientID;
|
|
30
|
-
this.#schema = schema;
|
|
31
|
-
this.#lc = lc.withContext('PokeHandler');
|
|
32
|
-
}
|
|
33
|
-
handlePokeStart(pokeStart) {
|
|
34
|
-
if (this.#receivingPoke) {
|
|
35
|
-
this.#handlePokeError(`pokeStart ${JSON.stringify(pokeStart)} while still receiving ${JSON.stringify(this.#receivingPoke.pokeStart)} `);
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
this.#receivingPoke = {
|
|
39
|
-
pokeStart,
|
|
40
|
-
parts: [],
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
handlePokePart(pokePart) {
|
|
44
|
-
if (pokePart.pokeID !== this.#receivingPoke?.pokeStart.pokeID) {
|
|
45
|
-
this.#handlePokeError(`pokePart for ${pokePart.pokeID}, when receiving ${this.#receivingPoke
|
|
46
|
-
?.pokeStart.pokeID}`);
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
this.#receivingPoke.parts.push(pokePart);
|
|
50
|
-
return pokePart.lastMutationIDChanges?.[this.#clientID];
|
|
51
|
-
}
|
|
52
|
-
handlePokeEnd(pokeEnd) {
|
|
53
|
-
if (pokeEnd.pokeID !== this.#receivingPoke?.pokeStart.pokeID) {
|
|
54
|
-
this.#handlePokeError(`pokeEnd for ${pokeEnd.pokeID}, when receiving ${this.#receivingPoke
|
|
55
|
-
?.pokeStart.pokeID}`);
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
if (pokeEnd.cancel) {
|
|
59
|
-
this.#receivingPoke = undefined;
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
this.#pokeBuffer.push(this.#receivingPoke);
|
|
63
|
-
this.#receivingPoke = undefined;
|
|
64
|
-
if (!this.#pokePlaybackLoopRunning) {
|
|
65
|
-
this.#startPlaybackLoop();
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
handleDisconnect() {
|
|
69
|
-
this.#lc.debug?.('clearing due to disconnect');
|
|
70
|
-
this.#clear();
|
|
71
|
-
}
|
|
72
|
-
#startPlaybackLoop() {
|
|
73
|
-
this.#lc.debug?.('starting playback loop');
|
|
74
|
-
this.#pokePlaybackLoopRunning = true;
|
|
75
|
-
requestAnimationFrame(this.#rafCallback);
|
|
76
|
-
}
|
|
77
|
-
#rafCallback = async () => {
|
|
78
|
-
const rafLC = this.#lc.withContext('rafAt', Math.floor(performance.now()));
|
|
79
|
-
if (this.#pokeBuffer.length === 0) {
|
|
80
|
-
rafLC.debug?.('stopping playback loop');
|
|
81
|
-
this.#pokePlaybackLoopRunning = false;
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
requestAnimationFrame(this.#rafCallback);
|
|
85
|
-
const start = performance.now();
|
|
86
|
-
rafLC.debug?.('raf fired, processing pokes. Since last raf', start - this.#lastRafPerfTimestamp);
|
|
87
|
-
this.#lastRafPerfTimestamp = start;
|
|
88
|
-
await this.#processPokesForFrame(rafLC);
|
|
89
|
-
rafLC.debug?.('processing pokes took', performance.now() - start);
|
|
90
|
-
};
|
|
91
|
-
#processPokesForFrame(lc) {
|
|
92
|
-
return this.#pokeLock.withLock(async () => {
|
|
93
|
-
const now = Date.now();
|
|
94
|
-
lc.debug?.('got poke lock at', now);
|
|
95
|
-
lc.debug?.('merging', this.#pokeBuffer.length);
|
|
96
|
-
try {
|
|
97
|
-
const merged = mergePokes(this.#pokeBuffer, this.#schema);
|
|
98
|
-
this.#pokeBuffer.length = 0;
|
|
99
|
-
if (merged === undefined) {
|
|
100
|
-
lc.debug?.('frame is empty');
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
const start = performance.now();
|
|
104
|
-
lc.debug?.('poking replicache');
|
|
105
|
-
await this.#replicachePoke(merged);
|
|
106
|
-
lc.debug?.('poking replicache took', performance.now() - start);
|
|
107
|
-
}
|
|
108
|
-
catch (e) {
|
|
109
|
-
this.#handlePokeError(e);
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
#handlePokeError(e) {
|
|
114
|
-
if (String(e).includes('unexpected base cookie for poke')) {
|
|
115
|
-
// This can happen if cookie changes due to refresh from idb due
|
|
116
|
-
// to an update arriving to different tabs in the same
|
|
117
|
-
// client group at very different times. Unusual but possible.
|
|
118
|
-
this.#lc.debug?.('clearing due to', e);
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
this.#lc.error?.('clearing due to unexpected poke error', e);
|
|
122
|
-
}
|
|
123
|
-
this.#clear();
|
|
124
|
-
this.#onPokeError();
|
|
125
|
-
}
|
|
126
|
-
#clear() {
|
|
127
|
-
this.#receivingPoke = undefined;
|
|
128
|
-
this.#pokeBuffer.length = 0;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
export function mergePokes(pokeBuffer, schema) {
|
|
132
|
-
if (pokeBuffer.length === 0) {
|
|
133
|
-
return undefined;
|
|
134
|
-
}
|
|
135
|
-
const { baseCookie } = pokeBuffer[0].pokeStart;
|
|
136
|
-
const { cookie } = pokeBuffer[pokeBuffer.length - 1].pokeStart;
|
|
137
|
-
const mergedPatch = [];
|
|
138
|
-
const mergedLastMutationIDChanges = {};
|
|
139
|
-
let prevPokeStart = undefined;
|
|
140
|
-
for (const pokeAccumulator of pokeBuffer) {
|
|
141
|
-
if (prevPokeStart &&
|
|
142
|
-
pokeAccumulator.pokeStart.baseCookie &&
|
|
143
|
-
pokeAccumulator.pokeStart.baseCookie > prevPokeStart.cookie) {
|
|
144
|
-
throw Error(`unexpected cookie gap ${JSON.stringify(prevPokeStart)} ${JSON.stringify(pokeAccumulator.pokeStart)}`);
|
|
145
|
-
}
|
|
146
|
-
prevPokeStart = pokeAccumulator.pokeStart;
|
|
147
|
-
for (const pokePart of pokeAccumulator.parts) {
|
|
148
|
-
if (pokePart.lastMutationIDChanges) {
|
|
149
|
-
for (const [clientID, lastMutationID] of Object.entries(pokePart.lastMutationIDChanges)) {
|
|
150
|
-
mergedLastMutationIDChanges[clientID] = lastMutationID;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
if (pokePart.clientsPatch) {
|
|
154
|
-
mergedPatch.push(...pokePart.clientsPatch.map(clientsPatchOpToReplicachePatchOp));
|
|
155
|
-
}
|
|
156
|
-
if (pokePart.desiredQueriesPatches) {
|
|
157
|
-
for (const [clientID, queriesPatch] of Object.entries(pokePart.desiredQueriesPatches)) {
|
|
158
|
-
mergedPatch.push(...queriesPatch.map(op => queryPatchOpToReplicachePatchOp(op, hash => toDesiredQueriesKey(clientID, hash))));
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
if (pokePart.gotQueriesPatch) {
|
|
162
|
-
mergedPatch.push(...pokePart.gotQueriesPatch.map(op => queryPatchOpToReplicachePatchOp(op, toGotQueriesKey)));
|
|
163
|
-
}
|
|
164
|
-
if (pokePart.rowsPatch) {
|
|
165
|
-
mergedPatch.push(...pokePart.rowsPatch.map(p => rowsPatchOpToReplicachePatchOp(p, schema)));
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
return {
|
|
170
|
-
baseCookie,
|
|
171
|
-
pullResponse: {
|
|
172
|
-
lastMutationIDChanges: mergedLastMutationIDChanges,
|
|
173
|
-
patch: mergedPatch,
|
|
174
|
-
cookie,
|
|
175
|
-
},
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
function clientsPatchOpToReplicachePatchOp(op) {
|
|
179
|
-
switch (op.op) {
|
|
180
|
-
case 'clear':
|
|
181
|
-
return op;
|
|
182
|
-
case 'del':
|
|
183
|
-
return {
|
|
184
|
-
op: 'del',
|
|
185
|
-
key: toClientsKey(op.clientID),
|
|
186
|
-
};
|
|
187
|
-
case 'put':
|
|
188
|
-
default:
|
|
189
|
-
return {
|
|
190
|
-
op: 'put',
|
|
191
|
-
key: toClientsKey(op.clientID),
|
|
192
|
-
value: true,
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
function queryPatchOpToReplicachePatchOp(op, toKey) {
|
|
197
|
-
switch (op.op) {
|
|
198
|
-
case 'clear':
|
|
199
|
-
return op;
|
|
200
|
-
case 'del':
|
|
201
|
-
return {
|
|
202
|
-
op: 'del',
|
|
203
|
-
key: toKey(op.hash),
|
|
204
|
-
};
|
|
205
|
-
case 'put':
|
|
206
|
-
default:
|
|
207
|
-
return {
|
|
208
|
-
op: 'put',
|
|
209
|
-
key: toKey(op.hash),
|
|
210
|
-
value: op.ast,
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
function rowsPatchOpToReplicachePatchOp(op, schema) {
|
|
215
|
-
switch (op.op) {
|
|
216
|
-
case 'clear':
|
|
217
|
-
return op;
|
|
218
|
-
case 'del':
|
|
219
|
-
return {
|
|
220
|
-
op: 'del',
|
|
221
|
-
key: toPrimaryKeyString(op.tableName, schema.tables[op.tableName].primaryKey, op.id),
|
|
222
|
-
};
|
|
223
|
-
case 'put':
|
|
224
|
-
return {
|
|
225
|
-
op: 'put',
|
|
226
|
-
key: toPrimaryKeyString(op.tableName, schema.tables[op.tableName].primaryKey, op.value),
|
|
227
|
-
value: op.value,
|
|
228
|
-
};
|
|
229
|
-
case 'update':
|
|
230
|
-
return {
|
|
231
|
-
op: 'update',
|
|
232
|
-
key: toPrimaryKeyString(op.tableName, schema.tables[op.tableName].primaryKey, op.id),
|
|
233
|
-
merge: op.merge,
|
|
234
|
-
constrain: op.constrain,
|
|
235
|
-
};
|
|
236
|
-
default:
|
|
237
|
-
throw new Error('to be implemented');
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
//# sourceMappingURL=zero-poke-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zero-poke-handler.js","sourceRoot":"","sources":["../../../../../zero-client/src/client/zero-poke-handler.ts"],"names":[],"mappings":"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"}
|