tinybase 6.0.0-beta.2 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/_internal/queries/with-schemas/index.d.cts +6 -6
- package/@types/_internal/queries/with-schemas/index.d.ts +6 -6
- package/@types/_internal/store/with-schemas/index.d.cts +1 -1
- package/@types/_internal/store/with-schemas/index.d.ts +1 -1
- package/@types/_internal/ui-react/with-schemas/index.d.cts +13 -13
- package/@types/_internal/ui-react/with-schemas/index.d.ts +13 -13
- package/@types/checkpoints/index.d.cts +0 -1
- package/@types/checkpoints/index.d.ts +0 -1
- package/@types/checkpoints/with-schemas/index.d.cts +0 -1
- package/@types/checkpoints/with-schemas/index.d.ts +0 -1
- package/@types/indexes/index.d.cts +1 -2
- package/@types/indexes/index.d.ts +1 -2
- package/@types/indexes/with-schemas/index.d.cts +6 -7
- package/@types/indexes/with-schemas/index.d.ts +6 -7
- package/@types/mergeable-store/index.d.cts +1 -2
- package/@types/mergeable-store/index.d.ts +1 -2
- package/@types/mergeable-store/with-schemas/index.d.cts +1 -2
- package/@types/mergeable-store/with-schemas/index.d.ts +1 -2
- package/@types/metrics/index.d.cts +1 -2
- package/@types/metrics/index.d.ts +1 -2
- package/@types/metrics/with-schemas/index.d.cts +1 -2
- package/@types/metrics/with-schemas/index.d.ts +1 -2
- package/@types/persisters/index.d.cts +22 -23
- package/@types/persisters/index.d.ts +22 -23
- package/@types/persisters/persister-automerge/index.d.cts +6 -7
- package/@types/persisters/persister-automerge/index.d.ts +6 -7
- package/@types/persisters/persister-automerge/with-schemas/index.d.cts +5 -6
- package/@types/persisters/persister-automerge/with-schemas/index.d.ts +5 -6
- package/@types/persisters/persister-browser/index.d.cts +5 -6
- package/@types/persisters/persister-browser/index.d.ts +5 -6
- package/@types/persisters/persister-browser/with-schemas/index.d.cts +5 -6
- package/@types/persisters/persister-browser/with-schemas/index.d.ts +5 -6
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +7 -8
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +7 -8
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +10 -11
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +10 -11
- package/@types/persisters/persister-durable-object-storage/index.d.cts +5 -6
- package/@types/persisters/persister-durable-object-storage/index.d.ts +5 -6
- package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.cts +5 -6
- package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.ts +5 -6
- package/@types/persisters/persister-electric-sql/index.d.cts +7 -8
- package/@types/persisters/persister-electric-sql/index.d.ts +7 -8
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +10 -11
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +10 -11
- package/@types/persisters/persister-expo-sqlite/index.d.cts +8 -9
- package/@types/persisters/persister-expo-sqlite/index.d.ts +8 -9
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +11 -12
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +11 -12
- package/@types/persisters/persister-file/index.d.cts +3 -4
- package/@types/persisters/persister-file/index.d.ts +3 -4
- package/@types/persisters/persister-file/with-schemas/index.d.cts +3 -4
- package/@types/persisters/persister-file/with-schemas/index.d.ts +3 -4
- package/@types/persisters/persister-indexed-db/index.d.cts +3 -4
- package/@types/persisters/persister-indexed-db/index.d.ts +3 -4
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +2 -3
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +2 -3
- package/@types/persisters/persister-libsql/index.d.cts +4 -5
- package/@types/persisters/persister-libsql/index.d.ts +4 -5
- package/@types/persisters/persister-libsql/with-schemas/index.d.cts +7 -8
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +7 -8
- package/@types/persisters/persister-partykit-client/index.d.cts +4 -5
- package/@types/persisters/persister-partykit-client/index.d.ts +4 -5
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +3 -4
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +3 -4
- package/@types/persisters/persister-partykit-server/index.d.cts +1 -2
- package/@types/persisters/persister-partykit-server/index.d.ts +1 -2
- package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +1 -2
- package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +1 -2
- package/@types/persisters/persister-pglite/index.d.cts +5 -6
- package/@types/persisters/persister-pglite/index.d.ts +5 -6
- package/@types/persisters/persister-pglite/with-schemas/index.d.cts +8 -9
- package/@types/persisters/persister-pglite/with-schemas/index.d.ts +8 -9
- package/@types/persisters/persister-postgres/index.d.cts +8 -9
- package/@types/persisters/persister-postgres/index.d.ts +8 -9
- package/@types/persisters/persister-postgres/with-schemas/index.d.cts +11 -12
- package/@types/persisters/persister-postgres/with-schemas/index.d.ts +11 -12
- package/@types/persisters/persister-powersync/index.d.cts +7 -8
- package/@types/persisters/persister-powersync/index.d.ts +7 -8
- package/@types/persisters/persister-powersync/with-schemas/index.d.cts +10 -11
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +10 -11
- package/@types/persisters/persister-remote/index.d.cts +3 -4
- package/@types/persisters/persister-remote/index.d.ts +3 -4
- package/@types/persisters/persister-remote/with-schemas/index.d.cts +2 -3
- package/@types/persisters/persister-remote/with-schemas/index.d.ts +2 -3
- package/@types/persisters/persister-sqlite-wasm/index.d.cts +7 -8
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +7 -8
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +11 -12
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +11 -12
- package/@types/persisters/persister-sqlite3/index.d.cts +5 -6
- package/@types/persisters/persister-sqlite3/index.d.ts +5 -6
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +8 -9
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +8 -9
- package/@types/persisters/persister-yjs/index.d.cts +4 -5
- package/@types/persisters/persister-yjs/index.d.ts +4 -5
- package/@types/persisters/persister-yjs/with-schemas/index.d.cts +3 -4
- package/@types/persisters/persister-yjs/with-schemas/index.d.ts +3 -4
- package/@types/persisters/with-schemas/index.d.cts +26 -27
- package/@types/persisters/with-schemas/index.d.ts +26 -27
- package/@types/queries/index.d.cts +1 -2
- package/@types/queries/index.d.ts +1 -2
- package/@types/queries/with-schemas/index.d.cts +10 -11
- package/@types/queries/with-schemas/index.d.ts +10 -11
- package/@types/relationships/index.d.cts +25 -2
- package/@types/relationships/index.d.ts +25 -2
- package/@types/relationships/with-schemas/index.d.cts +25 -2
- package/@types/relationships/with-schemas/index.d.ts +25 -2
- package/@types/store/index.d.cts +1 -2
- package/@types/store/index.d.ts +1 -2
- package/@types/store/with-schemas/index.d.cts +0 -1
- package/@types/store/with-schemas/index.d.ts +0 -1
- package/@types/synchronizers/index.d.cts +6 -7
- package/@types/synchronizers/index.d.ts +6 -7
- package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +3 -4
- package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +3 -4
- package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +3 -4
- package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +3 -4
- package/@types/synchronizers/synchronizer-local/index.d.cts +2 -3
- package/@types/synchronizers/synchronizer-local/index.d.ts +2 -3
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +2 -3
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +2 -3
- package/@types/synchronizers/synchronizer-ws-client/index.d.cts +5 -6
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +5 -6
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +5 -6
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +5 -6
- package/@types/synchronizers/synchronizer-ws-server/index.d.cts +29 -30
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +29 -30
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +33 -34
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +33 -34
- package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.cts +4 -5
- package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +4 -5
- package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.cts +8 -9
- package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +8 -9
- package/@types/synchronizers/synchronizer-ws-server-simple/index.d.cts +4 -5
- package/@types/synchronizers/synchronizer-ws-server-simple/index.d.ts +4 -5
- package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.cts +4 -5
- package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.ts +4 -5
- package/@types/synchronizers/with-schemas/index.d.cts +10 -11
- package/@types/synchronizers/with-schemas/index.d.ts +10 -11
- package/@types/ui-react/index.d.cts +489 -490
- package/@types/ui-react/index.d.ts +489 -490
- package/@types/ui-react/with-schemas/index.d.cts +494 -495
- package/@types/ui-react/with-schemas/index.d.ts +494 -495
- package/@types/ui-react-dom/index.d.cts +39 -40
- package/@types/ui-react-dom/index.d.ts +39 -40
- package/@types/ui-react-dom/with-schemas/index.d.cts +39 -40
- package/@types/ui-react-dom/with-schemas/index.d.ts +39 -40
- package/@types/ui-react-inspector/index.d.cts +2 -3
- package/@types/ui-react-inspector/index.d.ts +2 -3
- package/@types/ui-react-inspector/with-schemas/index.d.cts +41 -42
- package/@types/ui-react-inspector/with-schemas/index.d.ts +41 -42
- package/checkpoints/index.js +9 -9
- package/checkpoints/with-schemas/index.js +9 -9
- package/index.js +110 -110
- package/indexes/index.js +3 -3
- package/indexes/with-schemas/index.js +3 -3
- package/mergeable-store/index.js +150 -150
- package/mergeable-store/with-schemas/index.js +150 -150
- package/metrics/index.js +3 -3
- package/metrics/with-schemas/index.js +3 -3
- package/min/checkpoints/index.js +1 -1
- package/min/checkpoints/index.js.gz +0 -0
- package/min/checkpoints/with-schemas/index.js +1 -1
- package/min/checkpoints/with-schemas/index.js.gz +0 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/indexes/index.js +1 -1
- package/min/indexes/index.js.gz +0 -0
- package/min/indexes/with-schemas/index.js +1 -1
- package/min/indexes/with-schemas/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/metrics/index.js +1 -1
- package/min/metrics/index.js.gz +0 -0
- package/min/metrics/with-schemas/index.js +1 -1
- package/min/metrics/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/index.js +1 -1
- package/min/persisters/persister-partykit-server/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/queries/index.js +1 -1
- package/min/queries/index.js.gz +0 -0
- package/min/queries/with-schemas/index.js +1 -1
- package/min/queries/with-schemas/index.js.gz +0 -0
- package/min/relationships/index.js +1 -1
- package/min/relationships/index.js.gz +0 -0
- package/min/relationships/with-schemas/index.js +1 -1
- package/min/relationships/with-schemas/index.js.gz +0 -0
- package/min/store/index.js +1 -1
- package/min/store/index.js.gz +0 -0
- package/min/store/with-schemas/index.js +1 -1
- package/min/store/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react/index.js +1 -1
- package/min/ui-react/index.js.gz +0 -0
- package/min/ui-react/with-schemas/index.js +1 -1
- package/min/ui-react/with-schemas/index.js.gz +0 -0
- package/min/ui-react-dom/index.js +1 -1
- package/min/ui-react-dom/index.js.gz +0 -0
- package/min/ui-react-dom/with-schemas/index.js +1 -1
- package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/package.json +6 -6
- package/persisters/index.js +120 -120
- package/persisters/persister-automerge/index.js +8 -8
- package/persisters/persister-automerge/with-schemas/index.js +8 -8
- package/persisters/persister-browser/index.js +8 -8
- package/persisters/persister-browser/with-schemas/index.js +8 -8
- package/persisters/persister-cr-sqlite-wasm/index.js +119 -119
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +119 -119
- package/persisters/persister-durable-object-storage/index.js +12 -12
- package/persisters/persister-durable-object-storage/with-schemas/index.js +12 -12
- package/persisters/persister-electric-sql/index.js +119 -119
- package/persisters/persister-electric-sql/with-schemas/index.js +119 -119
- package/persisters/persister-expo-sqlite/index.js +119 -119
- package/persisters/persister-expo-sqlite/with-schemas/index.js +119 -119
- package/persisters/persister-file/index.js +10 -10
- package/persisters/persister-file/with-schemas/index.js +10 -10
- package/persisters/persister-indexed-db/index.js +8 -8
- package/persisters/persister-indexed-db/with-schemas/index.js +8 -8
- package/persisters/persister-libsql/index.js +119 -119
- package/persisters/persister-libsql/with-schemas/index.js +119 -119
- package/persisters/persister-partykit-client/index.js +23 -23
- package/persisters/persister-partykit-client/with-schemas/index.js +23 -23
- package/persisters/persister-partykit-server/index.js +13 -9
- package/persisters/persister-partykit-server/with-schemas/index.js +13 -9
- package/persisters/persister-pglite/index.js +128 -128
- package/persisters/persister-pglite/with-schemas/index.js +128 -128
- package/persisters/persister-postgres/index.js +128 -128
- package/persisters/persister-postgres/with-schemas/index.js +128 -128
- package/persisters/persister-powersync/index.js +119 -119
- package/persisters/persister-powersync/with-schemas/index.js +119 -119
- package/persisters/persister-remote/index.js +8 -8
- package/persisters/persister-remote/with-schemas/index.js +8 -8
- package/persisters/persister-sqlite-wasm/index.js +119 -119
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +119 -119
- package/persisters/persister-sqlite3/index.js +119 -119
- package/persisters/persister-sqlite3/with-schemas/index.js +119 -119
- package/persisters/persister-yjs/index.js +14 -14
- package/persisters/persister-yjs/with-schemas/index.js +14 -14
- package/persisters/with-schemas/index.js +120 -120
- package/queries/index.js +16 -16
- package/queries/with-schemas/index.js +16 -16
- package/readme.md +13 -32
- package/relationships/index.js +3 -3
- package/relationships/with-schemas/index.js +3 -3
- package/releases.md +35 -34
- package/store/index.js +43 -43
- package/store/with-schemas/index.js +43 -43
- package/synchronizers/index.js +31 -31
- package/synchronizers/synchronizer-broadcast-channel/index.js +31 -31
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +31 -31
- package/synchronizers/synchronizer-local/index.js +31 -31
- package/synchronizers/synchronizer-local/with-schemas/index.js +31 -31
- package/synchronizers/synchronizer-ws-client/index.js +25 -25
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +25 -25
- package/synchronizers/synchronizer-ws-server/index.js +65 -65
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +65 -65
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +25 -25
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +25 -25
- package/synchronizers/synchronizer-ws-server-simple/index.js +3 -3
- package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +3 -3
- package/synchronizers/with-schemas/index.js +31 -31
- package/ui-react/index.js +31 -34
- package/ui-react/with-schemas/index.js +31 -34
- package/ui-react-dom/index.js +24 -24
- package/ui-react-dom/with-schemas/index.js +24 -24
- package/ui-react-inspector/index.js +3066 -3067
- package/ui-react-inspector/with-schemas/index.js +3066 -3067
- package/with-schemas/index.js +110 -110
package/index.js
CHANGED
|
@@ -78,6 +78,35 @@ const arrayPop = (array) => array.pop();
|
|
|
78
78
|
const arrayUnshift = (array, ...values) => array.unshift(...values);
|
|
79
79
|
const arrayShift = (array) => array.shift();
|
|
80
80
|
|
|
81
|
+
const getCellOrValueType = (cellOrValue) => {
|
|
82
|
+
const type = getTypeOf(cellOrValue);
|
|
83
|
+
return isTypeStringOrBoolean(type) ||
|
|
84
|
+
(type == NUMBER && isFiniteNumber(cellOrValue))
|
|
85
|
+
? type
|
|
86
|
+
: void 0;
|
|
87
|
+
};
|
|
88
|
+
const isCellOrValueOrNullOrUndefined = (cellOrValue) =>
|
|
89
|
+
isUndefined(cellOrValue) || !isUndefined(getCellOrValueType(cellOrValue));
|
|
90
|
+
const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
|
|
91
|
+
isUndefined(cell)
|
|
92
|
+
? store.delCell(tableId, rowId, cellId, true)
|
|
93
|
+
: store.setCell(tableId, rowId, cellId, cell);
|
|
94
|
+
const setOrDelValue = (store, valueId, value) =>
|
|
95
|
+
isUndefined(value) ? store.delValue(valueId) : store.setValue(valueId, value);
|
|
96
|
+
|
|
97
|
+
const collSizeN = (collSizer) => (coll) =>
|
|
98
|
+
arrayReduce(collValues(coll), (total, coll2) => total + collSizer(coll2), 0);
|
|
99
|
+
const collSize = (coll) => coll?.size ?? 0;
|
|
100
|
+
const collSize2 = collSizeN(collSize);
|
|
101
|
+
const collSize3 = collSizeN(collSize2);
|
|
102
|
+
const collSize4 = collSizeN(collSize3);
|
|
103
|
+
const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
|
|
104
|
+
const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
|
|
105
|
+
const collValues = (coll) => [...(coll?.values() ?? [])];
|
|
106
|
+
const collClear = (coll) => coll.clear();
|
|
107
|
+
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
108
|
+
const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
109
|
+
|
|
81
110
|
const object = Object;
|
|
82
111
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
83
112
|
const objEntries = object.entries;
|
|
@@ -133,19 +162,6 @@ const objValidate = (obj, validateChild, onInvalidObj, emptyIsValid = 0) => {
|
|
|
133
162
|
return emptyIsValid ? true : !objIsEmpty(obj);
|
|
134
163
|
};
|
|
135
164
|
|
|
136
|
-
const collSizeN = (collSizer) => (coll) =>
|
|
137
|
-
arrayReduce(collValues(coll), (total, coll2) => total + collSizer(coll2), 0);
|
|
138
|
-
const collSize = (coll) => coll?.size ?? 0;
|
|
139
|
-
const collSize2 = collSizeN(collSize);
|
|
140
|
-
const collSize3 = collSizeN(collSize2);
|
|
141
|
-
const collSize4 = collSizeN(collSize3);
|
|
142
|
-
const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
|
|
143
|
-
const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
|
|
144
|
-
const collValues = (coll) => [...(coll?.values() ?? [])];
|
|
145
|
-
const collClear = (coll) => coll.clear();
|
|
146
|
-
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
147
|
-
const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
148
|
-
|
|
149
165
|
const mapNew = (entries) => new Map(entries);
|
|
150
166
|
const mapKeys = (map) => [...(map?.keys() ?? [])];
|
|
151
167
|
const mapGet = (map, key) => map?.get(key);
|
|
@@ -223,22 +239,6 @@ const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
|
223
239
|
},
|
|
224
240
|
);
|
|
225
241
|
|
|
226
|
-
const getCellOrValueType = (cellOrValue) => {
|
|
227
|
-
const type = getTypeOf(cellOrValue);
|
|
228
|
-
return isTypeStringOrBoolean(type) ||
|
|
229
|
-
(type == NUMBER && isFiniteNumber(cellOrValue))
|
|
230
|
-
? type
|
|
231
|
-
: void 0;
|
|
232
|
-
};
|
|
233
|
-
const isCellOrValueOrNullOrUndefined = (cellOrValue) =>
|
|
234
|
-
isUndefined(cellOrValue) || !isUndefined(getCellOrValueType(cellOrValue));
|
|
235
|
-
const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
|
|
236
|
-
isUndefined(cell)
|
|
237
|
-
? store.delCell(tableId, rowId, cellId, true)
|
|
238
|
-
: store.setCell(tableId, rowId, cellId, cell);
|
|
239
|
-
const setOrDelValue = (store, valueId, value) =>
|
|
240
|
-
isUndefined(value) ? store.delValue(valueId) : store.setValue(valueId, value);
|
|
241
|
-
|
|
242
242
|
const setNew = (entryOrEntries) =>
|
|
243
243
|
new Set(
|
|
244
244
|
isArray(entryOrEntries) || isUndefined(entryOrEntries)
|
|
@@ -1809,6 +1809,86 @@ const getHash = (value) => {
|
|
|
1809
1809
|
return hash >>> 0;
|
|
1810
1810
|
};
|
|
1811
1811
|
|
|
1812
|
+
const SHIFT36 = 2 ** 36;
|
|
1813
|
+
const SHIFT30 = 2 ** 30;
|
|
1814
|
+
const SHIFT24 = 2 ** 24;
|
|
1815
|
+
const SHIFT18 = 2 ** 18;
|
|
1816
|
+
const SHIFT12 = 2 ** 12;
|
|
1817
|
+
const SHIFT6 = 2 ** 6;
|
|
1818
|
+
const encodeTimeAndCounter = (logicalTime42, counter24) =>
|
|
1819
|
+
encode(logicalTime42 / SHIFT36) +
|
|
1820
|
+
encode(logicalTime42 / SHIFT30) +
|
|
1821
|
+
encode(logicalTime42 / SHIFT24) +
|
|
1822
|
+
encode(logicalTime42 / SHIFT18) +
|
|
1823
|
+
encode(logicalTime42 / SHIFT12) +
|
|
1824
|
+
encode(logicalTime42 / SHIFT6) +
|
|
1825
|
+
encode(logicalTime42) +
|
|
1826
|
+
encode(counter24 / SHIFT18) +
|
|
1827
|
+
encode(counter24 / SHIFT12) +
|
|
1828
|
+
encode(counter24 / SHIFT6) +
|
|
1829
|
+
encode(counter24);
|
|
1830
|
+
const decodeTimeAndCounter = (hlc16) => [
|
|
1831
|
+
decode(hlc16, 0) * SHIFT36 +
|
|
1832
|
+
decode(hlc16, 1) * SHIFT30 +
|
|
1833
|
+
decode(hlc16, 2) * SHIFT24 +
|
|
1834
|
+
decode(hlc16, 3) * SHIFT18 +
|
|
1835
|
+
decode(hlc16, 4) * SHIFT12 +
|
|
1836
|
+
decode(hlc16, 5) * SHIFT6 +
|
|
1837
|
+
decode(hlc16, 6),
|
|
1838
|
+
decode(hlc16, 7) * SHIFT18 +
|
|
1839
|
+
decode(hlc16, 8) * SHIFT12 +
|
|
1840
|
+
decode(hlc16, 9) * SHIFT6 +
|
|
1841
|
+
decode(hlc16, 10),
|
|
1842
|
+
];
|
|
1843
|
+
const getHlcFunctions = (uniqueId) => {
|
|
1844
|
+
let logicalTime = 0;
|
|
1845
|
+
let lastCounter = -1;
|
|
1846
|
+
const clientPart = ifNotUndefined(
|
|
1847
|
+
uniqueId,
|
|
1848
|
+
(uniqueId2) => {
|
|
1849
|
+
const clientHash30 = getHash(uniqueId2);
|
|
1850
|
+
return (
|
|
1851
|
+
encode(clientHash30 / SHIFT24) +
|
|
1852
|
+
encode(clientHash30 / SHIFT18) +
|
|
1853
|
+
encode(clientHash30 / SHIFT12) +
|
|
1854
|
+
encode(clientHash30 / SHIFT6) +
|
|
1855
|
+
encode(clientHash30)
|
|
1856
|
+
);
|
|
1857
|
+
},
|
|
1858
|
+
() => getUniqueId(5),
|
|
1859
|
+
);
|
|
1860
|
+
const getHlc = () => {
|
|
1861
|
+
seenHlc();
|
|
1862
|
+
return encodeTimeAndCounter(logicalTime, ++lastCounter) + clientPart;
|
|
1863
|
+
};
|
|
1864
|
+
const seenHlc = (hlc) => {
|
|
1865
|
+
const previousLogicalTime = logicalTime;
|
|
1866
|
+
const [remoteLogicalTime, remoteCounter] =
|
|
1867
|
+
isUndefined(hlc) || hlc == '' ? [0, 0] : decodeTimeAndCounter(hlc);
|
|
1868
|
+
logicalTime = mathMax(
|
|
1869
|
+
previousLogicalTime,
|
|
1870
|
+
remoteLogicalTime,
|
|
1871
|
+
GLOBAL.HLC_TIME ?? Date.now(),
|
|
1872
|
+
);
|
|
1873
|
+
lastCounter =
|
|
1874
|
+
logicalTime == previousLogicalTime
|
|
1875
|
+
? logicalTime == remoteLogicalTime
|
|
1876
|
+
? mathMax(lastCounter, remoteCounter)
|
|
1877
|
+
: lastCounter
|
|
1878
|
+
: logicalTime == remoteLogicalTime
|
|
1879
|
+
? remoteCounter
|
|
1880
|
+
: -1;
|
|
1881
|
+
};
|
|
1882
|
+
return [getHlc, seenHlc];
|
|
1883
|
+
};
|
|
1884
|
+
|
|
1885
|
+
const jsonString = JSON.stringify;
|
|
1886
|
+
const jsonParse = JSON.parse;
|
|
1887
|
+
const jsonStringWithMap = (obj) =>
|
|
1888
|
+
jsonString(obj, (_key, value) =>
|
|
1889
|
+
isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
|
|
1890
|
+
);
|
|
1891
|
+
|
|
1812
1892
|
const stampClone = ([value, time]) => stampNew(value, time);
|
|
1813
1893
|
const stampCloneWithHash = ([value, time, hash]) => [value, time, hash];
|
|
1814
1894
|
const stampNew = (value, time) => (time ? [value, time] : [value]);
|
|
@@ -1848,13 +1928,6 @@ const pairNewMap = () => [mapNew(), mapNew()];
|
|
|
1848
1928
|
const pairClone = (array) => [...array];
|
|
1849
1929
|
const pairIsEqual = ([entry1, entry2]) => entry1 === entry2;
|
|
1850
1930
|
|
|
1851
|
-
const jsonString = JSON.stringify;
|
|
1852
|
-
const jsonParse = JSON.parse;
|
|
1853
|
-
const jsonStringWithMap = (obj) =>
|
|
1854
|
-
jsonString(obj, (_key, value) =>
|
|
1855
|
-
isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
|
|
1856
|
-
);
|
|
1857
|
-
|
|
1858
1931
|
const idsChanged = (changedIds, id2, addedOrRemoved) =>
|
|
1859
1932
|
mapSet(
|
|
1860
1933
|
changedIds,
|
|
@@ -3191,79 +3264,6 @@ const createStore = () => {
|
|
|
3191
3264
|
return objFreeze(store);
|
|
3192
3265
|
};
|
|
3193
3266
|
|
|
3194
|
-
const SHIFT36 = 2 ** 36;
|
|
3195
|
-
const SHIFT30 = 2 ** 30;
|
|
3196
|
-
const SHIFT24 = 2 ** 24;
|
|
3197
|
-
const SHIFT18 = 2 ** 18;
|
|
3198
|
-
const SHIFT12 = 2 ** 12;
|
|
3199
|
-
const SHIFT6 = 2 ** 6;
|
|
3200
|
-
const encodeTimeAndCounter = (logicalTime42, counter24) =>
|
|
3201
|
-
encode(logicalTime42 / SHIFT36) +
|
|
3202
|
-
encode(logicalTime42 / SHIFT30) +
|
|
3203
|
-
encode(logicalTime42 / SHIFT24) +
|
|
3204
|
-
encode(logicalTime42 / SHIFT18) +
|
|
3205
|
-
encode(logicalTime42 / SHIFT12) +
|
|
3206
|
-
encode(logicalTime42 / SHIFT6) +
|
|
3207
|
-
encode(logicalTime42) +
|
|
3208
|
-
encode(counter24 / SHIFT18) +
|
|
3209
|
-
encode(counter24 / SHIFT12) +
|
|
3210
|
-
encode(counter24 / SHIFT6) +
|
|
3211
|
-
encode(counter24);
|
|
3212
|
-
const decodeTimeAndCounter = (hlc16) => [
|
|
3213
|
-
decode(hlc16, 0) * SHIFT36 +
|
|
3214
|
-
decode(hlc16, 1) * SHIFT30 +
|
|
3215
|
-
decode(hlc16, 2) * SHIFT24 +
|
|
3216
|
-
decode(hlc16, 3) * SHIFT18 +
|
|
3217
|
-
decode(hlc16, 4) * SHIFT12 +
|
|
3218
|
-
decode(hlc16, 5) * SHIFT6 +
|
|
3219
|
-
decode(hlc16, 6),
|
|
3220
|
-
decode(hlc16, 7) * SHIFT18 +
|
|
3221
|
-
decode(hlc16, 8) * SHIFT12 +
|
|
3222
|
-
decode(hlc16, 9) * SHIFT6 +
|
|
3223
|
-
decode(hlc16, 10),
|
|
3224
|
-
];
|
|
3225
|
-
const getHlcFunctions = (uniqueId) => {
|
|
3226
|
-
let logicalTime = 0;
|
|
3227
|
-
let lastCounter = -1;
|
|
3228
|
-
const clientPart = ifNotUndefined(
|
|
3229
|
-
uniqueId,
|
|
3230
|
-
(uniqueId2) => {
|
|
3231
|
-
const clientHash30 = getHash(uniqueId2);
|
|
3232
|
-
return (
|
|
3233
|
-
encode(clientHash30 / SHIFT24) +
|
|
3234
|
-
encode(clientHash30 / SHIFT18) +
|
|
3235
|
-
encode(clientHash30 / SHIFT12) +
|
|
3236
|
-
encode(clientHash30 / SHIFT6) +
|
|
3237
|
-
encode(clientHash30)
|
|
3238
|
-
);
|
|
3239
|
-
},
|
|
3240
|
-
() => getUniqueId(5),
|
|
3241
|
-
);
|
|
3242
|
-
const getHlc = () => {
|
|
3243
|
-
seenHlc();
|
|
3244
|
-
return encodeTimeAndCounter(logicalTime, ++lastCounter) + clientPart;
|
|
3245
|
-
};
|
|
3246
|
-
const seenHlc = (hlc) => {
|
|
3247
|
-
const previousLogicalTime = logicalTime;
|
|
3248
|
-
const [remoteLogicalTime, remoteCounter] =
|
|
3249
|
-
isUndefined(hlc) || hlc == '' ? [0, 0] : decodeTimeAndCounter(hlc);
|
|
3250
|
-
logicalTime = mathMax(
|
|
3251
|
-
previousLogicalTime,
|
|
3252
|
-
remoteLogicalTime,
|
|
3253
|
-
GLOBAL.HLC_TIME ?? Date.now(),
|
|
3254
|
-
);
|
|
3255
|
-
lastCounter =
|
|
3256
|
-
logicalTime == previousLogicalTime
|
|
3257
|
-
? logicalTime == remoteLogicalTime
|
|
3258
|
-
? mathMax(lastCounter, remoteCounter)
|
|
3259
|
-
: lastCounter
|
|
3260
|
-
: logicalTime == remoteLogicalTime
|
|
3261
|
-
? remoteCounter
|
|
3262
|
-
: -1;
|
|
3263
|
-
};
|
|
3264
|
-
return [getHlc, seenHlc];
|
|
3265
|
-
};
|
|
3266
|
-
|
|
3267
3267
|
const LISTENER_ARGS = {
|
|
3268
3268
|
HasTable: 1,
|
|
3269
3269
|
Table: 1,
|
|
@@ -3411,7 +3411,7 @@ const createMergeableStore = (uniqueId) => {
|
|
|
3411
3411
|
let thingsHash = isContent ? incomingThingsHash : oldThingsHash;
|
|
3412
3412
|
objForEach(
|
|
3413
3413
|
thingsObj,
|
|
3414
|
-
([thing, thingTime, incomingThingHash = 0], thingId) => {
|
|
3414
|
+
([thing, thingTime = EMPTY_STRING, incomingThingHash = 0], thingId) => {
|
|
3415
3415
|
const thingStampMap = mapEnsure(thingStampMaps, thingId, () => [
|
|
3416
3416
|
void 0,
|
|
3417
3417
|
EMPTY_STRING,
|
package/indexes/index.js
CHANGED
|
@@ -28,9 +28,6 @@ const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
|
|
|
28
28
|
const arrayPush = (array, ...values) => array.push(...values);
|
|
29
29
|
const arrayShift = (array) => array.shift();
|
|
30
30
|
|
|
31
|
-
const object = Object;
|
|
32
|
-
const objFreeze = object.freeze;
|
|
33
|
-
|
|
34
31
|
const collSizeN = (collSizer) => (coll) =>
|
|
35
32
|
arrayReduce(collValues(coll), (total, coll2) => total + collSizer(coll2), 0);
|
|
36
33
|
const collSize = (coll) => coll?.size ?? 0;
|
|
@@ -43,6 +40,9 @@ const collClear = (coll) => coll.clear();
|
|
|
43
40
|
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
44
41
|
const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
45
42
|
|
|
43
|
+
const object = Object;
|
|
44
|
+
const objFreeze = object.freeze;
|
|
45
|
+
|
|
46
46
|
const mapNew = (entries) => new Map(entries);
|
|
47
47
|
const mapKeys = (map) => [...(map?.keys() ?? [])];
|
|
48
48
|
const mapGet = (map, key) => map?.get(key);
|
|
@@ -28,9 +28,6 @@ const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
|
|
|
28
28
|
const arrayPush = (array, ...values) => array.push(...values);
|
|
29
29
|
const arrayShift = (array) => array.shift();
|
|
30
30
|
|
|
31
|
-
const object = Object;
|
|
32
|
-
const objFreeze = object.freeze;
|
|
33
|
-
|
|
34
31
|
const collSizeN = (collSizer) => (coll) =>
|
|
35
32
|
arrayReduce(collValues(coll), (total, coll2) => total + collSizer(coll2), 0);
|
|
36
33
|
const collSize = (coll) => coll?.size ?? 0;
|
|
@@ -43,6 +40,9 @@ const collClear = (coll) => coll.clear();
|
|
|
43
40
|
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
44
41
|
const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
45
42
|
|
|
43
|
+
const object = Object;
|
|
44
|
+
const objFreeze = object.freeze;
|
|
45
|
+
|
|
46
46
|
const mapNew = (entries) => new Map(entries);
|
|
47
47
|
const mapKeys = (map) => [...(map?.keys() ?? [])];
|
|
48
48
|
const mapGet = (map, key) => map?.get(key);
|
package/mergeable-store/index.js
CHANGED
|
@@ -47,6 +47,22 @@ const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
|
47
47
|
const size = (arrayOrString) => arrayOrString.length;
|
|
48
48
|
const test = (regex, subject) => regex.test(subject);
|
|
49
49
|
|
|
50
|
+
const getCellOrValueType = (cellOrValue) => {
|
|
51
|
+
const type = getTypeOf(cellOrValue);
|
|
52
|
+
return isTypeStringOrBoolean(type) ||
|
|
53
|
+
(type == NUMBER && isFiniteNumber(cellOrValue))
|
|
54
|
+
? type
|
|
55
|
+
: void 0;
|
|
56
|
+
};
|
|
57
|
+
const isCellOrValueOrNullOrUndefined = (cellOrValue) =>
|
|
58
|
+
isUndefined(cellOrValue) || !isUndefined(getCellOrValueType(cellOrValue));
|
|
59
|
+
const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
|
|
60
|
+
isUndefined(cell)
|
|
61
|
+
? store.delCell(tableId, rowId, cellId, true)
|
|
62
|
+
: store.setCell(tableId, rowId, cellId, cell);
|
|
63
|
+
const setOrDelValue = (store, valueId, value) =>
|
|
64
|
+
isUndefined(value) ? store.delValue(valueId) : store.setValue(valueId, value);
|
|
65
|
+
|
|
50
66
|
const arrayHas = (array, value) => array.includes(value);
|
|
51
67
|
const arrayEvery = (array, cb) => array.every(cb);
|
|
52
68
|
const arrayIsEqual = (array1, array2) =>
|
|
@@ -59,6 +75,30 @@ const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
|
|
|
59
75
|
const arrayPush = (array, ...values) => array.push(...values);
|
|
60
76
|
const arrayShift = (array) => array.shift();
|
|
61
77
|
|
|
78
|
+
const collSizeN = (collSizer) => (coll) =>
|
|
79
|
+
arrayReduce(collValues(coll), (total, coll2) => total + collSizer(coll2), 0);
|
|
80
|
+
const collSize = (coll) => coll?.size ?? 0;
|
|
81
|
+
const collSize2 = collSizeN(collSize);
|
|
82
|
+
const collSize3 = collSizeN(collSize2);
|
|
83
|
+
const collSize4 = collSizeN(collSize3);
|
|
84
|
+
const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
|
|
85
|
+
const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
|
|
86
|
+
const collValues = (coll) => [...(coll?.values() ?? [])];
|
|
87
|
+
const collClear = (coll) => coll.clear();
|
|
88
|
+
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
89
|
+
const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
90
|
+
|
|
91
|
+
const textEncoder = /* @__PURE__ */ new GLOBAL.TextEncoder();
|
|
92
|
+
const getHash = (value) => {
|
|
93
|
+
let hash = 2166136261;
|
|
94
|
+
arrayForEach(textEncoder.encode(value), (char) => {
|
|
95
|
+
hash ^= char;
|
|
96
|
+
hash +=
|
|
97
|
+
(hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
|
|
98
|
+
});
|
|
99
|
+
return hash >>> 0;
|
|
100
|
+
};
|
|
101
|
+
|
|
62
102
|
const object = Object;
|
|
63
103
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
64
104
|
const objEntries = object.entries;
|
|
@@ -114,27 +154,6 @@ const objValidate = (obj, validateChild, onInvalidObj, emptyIsValid = 0) => {
|
|
|
114
154
|
return emptyIsValid ? true : !objIsEmpty(obj);
|
|
115
155
|
};
|
|
116
156
|
|
|
117
|
-
const setNew = (entryOrEntries) =>
|
|
118
|
-
new Set(
|
|
119
|
-
isArray(entryOrEntries) || isUndefined(entryOrEntries)
|
|
120
|
-
? entryOrEntries
|
|
121
|
-
: [entryOrEntries],
|
|
122
|
-
);
|
|
123
|
-
const setAdd = (set, value) => set?.add(value);
|
|
124
|
-
|
|
125
|
-
const collSizeN = (collSizer) => (coll) =>
|
|
126
|
-
arrayReduce(collValues(coll), (total, coll2) => total + collSizer(coll2), 0);
|
|
127
|
-
const collSize = (coll) => coll?.size ?? 0;
|
|
128
|
-
const collSize2 = collSizeN(collSize);
|
|
129
|
-
const collSize3 = collSizeN(collSize2);
|
|
130
|
-
const collSize4 = collSizeN(collSize3);
|
|
131
|
-
const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
|
|
132
|
-
const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
|
|
133
|
-
const collValues = (coll) => [...(coll?.values() ?? [])];
|
|
134
|
-
const collClear = (coll) => coll.clear();
|
|
135
|
-
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
136
|
-
const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
137
|
-
|
|
138
157
|
const mapNew = (entries) => new Map(entries);
|
|
139
158
|
const mapKeys = (map) => [...(map?.keys() ?? [])];
|
|
140
159
|
const mapGet = (map, key) => map?.get(key);
|
|
@@ -212,17 +231,117 @@ const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
|
212
231
|
},
|
|
213
232
|
);
|
|
214
233
|
|
|
215
|
-
const
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
234
|
+
const MASK6 = 63;
|
|
235
|
+
const ENCODE = /* @__PURE__ */ strSplit(
|
|
236
|
+
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
|
|
237
|
+
);
|
|
238
|
+
const DECODE = /* @__PURE__ */ mapNew(
|
|
239
|
+
/* @__PURE__ */ arrayMap(ENCODE, (char, index) => [char, index]),
|
|
240
|
+
);
|
|
241
|
+
const encode = (num) => ENCODE[num & MASK6];
|
|
242
|
+
const decode = (str, pos) => mapGet(DECODE, str[pos]) ?? 0;
|
|
243
|
+
|
|
244
|
+
const getRandomValues = GLOBAL.crypto
|
|
245
|
+
? (array) => GLOBAL.crypto.getRandomValues(array)
|
|
246
|
+
: /* istanbul ignore next */
|
|
247
|
+
(array) => arrayMap(array, () => mathFloor(math.random() * 256));
|
|
248
|
+
const defaultSorter = (sortKey1, sortKey2) =>
|
|
249
|
+
(sortKey1 ?? 0) < (sortKey2 ?? 0) ? -1 : 1;
|
|
250
|
+
const getUniqueId = (length = 16) =>
|
|
251
|
+
arrayReduce(
|
|
252
|
+
getRandomValues(new Uint8Array(length)),
|
|
253
|
+
(uniqueId, number) => uniqueId + encode(number),
|
|
254
|
+
'',
|
|
255
|
+
);
|
|
256
|
+
|
|
257
|
+
const SHIFT36 = 2 ** 36;
|
|
258
|
+
const SHIFT30 = 2 ** 30;
|
|
259
|
+
const SHIFT24 = 2 ** 24;
|
|
260
|
+
const SHIFT18 = 2 ** 18;
|
|
261
|
+
const SHIFT12 = 2 ** 12;
|
|
262
|
+
const SHIFT6 = 2 ** 6;
|
|
263
|
+
const encodeTimeAndCounter = (logicalTime42, counter24) =>
|
|
264
|
+
encode(logicalTime42 / SHIFT36) +
|
|
265
|
+
encode(logicalTime42 / SHIFT30) +
|
|
266
|
+
encode(logicalTime42 / SHIFT24) +
|
|
267
|
+
encode(logicalTime42 / SHIFT18) +
|
|
268
|
+
encode(logicalTime42 / SHIFT12) +
|
|
269
|
+
encode(logicalTime42 / SHIFT6) +
|
|
270
|
+
encode(logicalTime42) +
|
|
271
|
+
encode(counter24 / SHIFT18) +
|
|
272
|
+
encode(counter24 / SHIFT12) +
|
|
273
|
+
encode(counter24 / SHIFT6) +
|
|
274
|
+
encode(counter24);
|
|
275
|
+
const decodeTimeAndCounter = (hlc16) => [
|
|
276
|
+
decode(hlc16, 0) * SHIFT36 +
|
|
277
|
+
decode(hlc16, 1) * SHIFT30 +
|
|
278
|
+
decode(hlc16, 2) * SHIFT24 +
|
|
279
|
+
decode(hlc16, 3) * SHIFT18 +
|
|
280
|
+
decode(hlc16, 4) * SHIFT12 +
|
|
281
|
+
decode(hlc16, 5) * SHIFT6 +
|
|
282
|
+
decode(hlc16, 6),
|
|
283
|
+
decode(hlc16, 7) * SHIFT18 +
|
|
284
|
+
decode(hlc16, 8) * SHIFT12 +
|
|
285
|
+
decode(hlc16, 9) * SHIFT6 +
|
|
286
|
+
decode(hlc16, 10),
|
|
287
|
+
];
|
|
288
|
+
const getHlcFunctions = (uniqueId) => {
|
|
289
|
+
let logicalTime = 0;
|
|
290
|
+
let lastCounter = -1;
|
|
291
|
+
const clientPart = ifNotUndefined(
|
|
292
|
+
uniqueId,
|
|
293
|
+
(uniqueId2) => {
|
|
294
|
+
const clientHash30 = getHash(uniqueId2);
|
|
295
|
+
return (
|
|
296
|
+
encode(clientHash30 / SHIFT24) +
|
|
297
|
+
encode(clientHash30 / SHIFT18) +
|
|
298
|
+
encode(clientHash30 / SHIFT12) +
|
|
299
|
+
encode(clientHash30 / SHIFT6) +
|
|
300
|
+
encode(clientHash30)
|
|
301
|
+
);
|
|
302
|
+
},
|
|
303
|
+
() => getUniqueId(5),
|
|
304
|
+
);
|
|
305
|
+
const getHlc = () => {
|
|
306
|
+
seenHlc();
|
|
307
|
+
return encodeTimeAndCounter(logicalTime, ++lastCounter) + clientPart;
|
|
308
|
+
};
|
|
309
|
+
const seenHlc = (hlc) => {
|
|
310
|
+
const previousLogicalTime = logicalTime;
|
|
311
|
+
const [remoteLogicalTime, remoteCounter] =
|
|
312
|
+
isUndefined(hlc) || hlc == '' ? [0, 0] : decodeTimeAndCounter(hlc);
|
|
313
|
+
logicalTime = mathMax(
|
|
314
|
+
previousLogicalTime,
|
|
315
|
+
remoteLogicalTime,
|
|
316
|
+
GLOBAL.HLC_TIME ?? Date.now(),
|
|
317
|
+
);
|
|
318
|
+
lastCounter =
|
|
319
|
+
logicalTime == previousLogicalTime
|
|
320
|
+
? logicalTime == remoteLogicalTime
|
|
321
|
+
? mathMax(lastCounter, remoteCounter)
|
|
322
|
+
: lastCounter
|
|
323
|
+
: logicalTime == remoteLogicalTime
|
|
324
|
+
? remoteCounter
|
|
325
|
+
: -1;
|
|
326
|
+
};
|
|
327
|
+
return [getHlc, seenHlc];
|
|
224
328
|
};
|
|
225
329
|
|
|
330
|
+
const jsonString = JSON.stringify;
|
|
331
|
+
const jsonParse = JSON.parse;
|
|
332
|
+
const jsonStringWithMap = (obj) =>
|
|
333
|
+
jsonString(obj, (_key, value) =>
|
|
334
|
+
isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
|
|
335
|
+
);
|
|
336
|
+
|
|
337
|
+
const setNew = (entryOrEntries) =>
|
|
338
|
+
new Set(
|
|
339
|
+
isArray(entryOrEntries) || isUndefined(entryOrEntries)
|
|
340
|
+
? entryOrEntries
|
|
341
|
+
: [entryOrEntries],
|
|
342
|
+
);
|
|
343
|
+
const setAdd = (set, value) => set?.add(value);
|
|
344
|
+
|
|
226
345
|
const stampClone = ([value, time]) => stampNew(value, time);
|
|
227
346
|
const stampCloneWithHash = ([value, time, hash]) => [value, time, hash];
|
|
228
347
|
const stampNew = (value, time) => (time ? [value, time] : [value]);
|
|
@@ -348,52 +467,6 @@ const pairNewMap = () => [mapNew(), mapNew()];
|
|
|
348
467
|
const pairClone = (array) => [...array];
|
|
349
468
|
const pairIsEqual = ([entry1, entry2]) => entry1 === entry2;
|
|
350
469
|
|
|
351
|
-
const getCellOrValueType = (cellOrValue) => {
|
|
352
|
-
const type = getTypeOf(cellOrValue);
|
|
353
|
-
return isTypeStringOrBoolean(type) ||
|
|
354
|
-
(type == NUMBER && isFiniteNumber(cellOrValue))
|
|
355
|
-
? type
|
|
356
|
-
: void 0;
|
|
357
|
-
};
|
|
358
|
-
const isCellOrValueOrNullOrUndefined = (cellOrValue) =>
|
|
359
|
-
isUndefined(cellOrValue) || !isUndefined(getCellOrValueType(cellOrValue));
|
|
360
|
-
const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
|
|
361
|
-
isUndefined(cell)
|
|
362
|
-
? store.delCell(tableId, rowId, cellId, true)
|
|
363
|
-
: store.setCell(tableId, rowId, cellId, cell);
|
|
364
|
-
const setOrDelValue = (store, valueId, value) =>
|
|
365
|
-
isUndefined(value) ? store.delValue(valueId) : store.setValue(valueId, value);
|
|
366
|
-
|
|
367
|
-
const jsonString = JSON.stringify;
|
|
368
|
-
const jsonParse = JSON.parse;
|
|
369
|
-
const jsonStringWithMap = (obj) =>
|
|
370
|
-
jsonString(obj, (_key, value) =>
|
|
371
|
-
isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
|
|
372
|
-
);
|
|
373
|
-
|
|
374
|
-
const MASK6 = 63;
|
|
375
|
-
const ENCODE = /* @__PURE__ */ strSplit(
|
|
376
|
-
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
|
|
377
|
-
);
|
|
378
|
-
const DECODE = /* @__PURE__ */ mapNew(
|
|
379
|
-
/* @__PURE__ */ arrayMap(ENCODE, (char, index) => [char, index]),
|
|
380
|
-
);
|
|
381
|
-
const encode = (num) => ENCODE[num & MASK6];
|
|
382
|
-
const decode = (str, pos) => mapGet(DECODE, str[pos]) ?? 0;
|
|
383
|
-
|
|
384
|
-
const getRandomValues = GLOBAL.crypto
|
|
385
|
-
? (array) => GLOBAL.crypto.getRandomValues(array)
|
|
386
|
-
: /* istanbul ignore next */
|
|
387
|
-
(array) => arrayMap(array, () => mathFloor(math.random() * 256));
|
|
388
|
-
const defaultSorter = (sortKey1, sortKey2) =>
|
|
389
|
-
(sortKey1 ?? 0) < (sortKey2 ?? 0) ? -1 : 1;
|
|
390
|
-
const getUniqueId = (length = 16) =>
|
|
391
|
-
arrayReduce(
|
|
392
|
-
getRandomValues(new Uint8Array(length)),
|
|
393
|
-
(uniqueId, number) => uniqueId + encode(number),
|
|
394
|
-
'',
|
|
395
|
-
);
|
|
396
|
-
|
|
397
470
|
const idsChanged = (changedIds, id2, addedOrRemoved) =>
|
|
398
471
|
mapSet(
|
|
399
472
|
changedIds,
|
|
@@ -1730,79 +1803,6 @@ const createStore = () => {
|
|
|
1730
1803
|
return objFreeze(store);
|
|
1731
1804
|
};
|
|
1732
1805
|
|
|
1733
|
-
const SHIFT36 = 2 ** 36;
|
|
1734
|
-
const SHIFT30 = 2 ** 30;
|
|
1735
|
-
const SHIFT24 = 2 ** 24;
|
|
1736
|
-
const SHIFT18 = 2 ** 18;
|
|
1737
|
-
const SHIFT12 = 2 ** 12;
|
|
1738
|
-
const SHIFT6 = 2 ** 6;
|
|
1739
|
-
const encodeTimeAndCounter = (logicalTime42, counter24) =>
|
|
1740
|
-
encode(logicalTime42 / SHIFT36) +
|
|
1741
|
-
encode(logicalTime42 / SHIFT30) +
|
|
1742
|
-
encode(logicalTime42 / SHIFT24) +
|
|
1743
|
-
encode(logicalTime42 / SHIFT18) +
|
|
1744
|
-
encode(logicalTime42 / SHIFT12) +
|
|
1745
|
-
encode(logicalTime42 / SHIFT6) +
|
|
1746
|
-
encode(logicalTime42) +
|
|
1747
|
-
encode(counter24 / SHIFT18) +
|
|
1748
|
-
encode(counter24 / SHIFT12) +
|
|
1749
|
-
encode(counter24 / SHIFT6) +
|
|
1750
|
-
encode(counter24);
|
|
1751
|
-
const decodeTimeAndCounter = (hlc16) => [
|
|
1752
|
-
decode(hlc16, 0) * SHIFT36 +
|
|
1753
|
-
decode(hlc16, 1) * SHIFT30 +
|
|
1754
|
-
decode(hlc16, 2) * SHIFT24 +
|
|
1755
|
-
decode(hlc16, 3) * SHIFT18 +
|
|
1756
|
-
decode(hlc16, 4) * SHIFT12 +
|
|
1757
|
-
decode(hlc16, 5) * SHIFT6 +
|
|
1758
|
-
decode(hlc16, 6),
|
|
1759
|
-
decode(hlc16, 7) * SHIFT18 +
|
|
1760
|
-
decode(hlc16, 8) * SHIFT12 +
|
|
1761
|
-
decode(hlc16, 9) * SHIFT6 +
|
|
1762
|
-
decode(hlc16, 10),
|
|
1763
|
-
];
|
|
1764
|
-
const getHlcFunctions = (uniqueId) => {
|
|
1765
|
-
let logicalTime = 0;
|
|
1766
|
-
let lastCounter = -1;
|
|
1767
|
-
const clientPart = ifNotUndefined(
|
|
1768
|
-
uniqueId,
|
|
1769
|
-
(uniqueId2) => {
|
|
1770
|
-
const clientHash30 = getHash(uniqueId2);
|
|
1771
|
-
return (
|
|
1772
|
-
encode(clientHash30 / SHIFT24) +
|
|
1773
|
-
encode(clientHash30 / SHIFT18) +
|
|
1774
|
-
encode(clientHash30 / SHIFT12) +
|
|
1775
|
-
encode(clientHash30 / SHIFT6) +
|
|
1776
|
-
encode(clientHash30)
|
|
1777
|
-
);
|
|
1778
|
-
},
|
|
1779
|
-
() => getUniqueId(5),
|
|
1780
|
-
);
|
|
1781
|
-
const getHlc = () => {
|
|
1782
|
-
seenHlc();
|
|
1783
|
-
return encodeTimeAndCounter(logicalTime, ++lastCounter) + clientPart;
|
|
1784
|
-
};
|
|
1785
|
-
const seenHlc = (hlc) => {
|
|
1786
|
-
const previousLogicalTime = logicalTime;
|
|
1787
|
-
const [remoteLogicalTime, remoteCounter] =
|
|
1788
|
-
isUndefined(hlc) || hlc == '' ? [0, 0] : decodeTimeAndCounter(hlc);
|
|
1789
|
-
logicalTime = mathMax(
|
|
1790
|
-
previousLogicalTime,
|
|
1791
|
-
remoteLogicalTime,
|
|
1792
|
-
GLOBAL.HLC_TIME ?? Date.now(),
|
|
1793
|
-
);
|
|
1794
|
-
lastCounter =
|
|
1795
|
-
logicalTime == previousLogicalTime
|
|
1796
|
-
? logicalTime == remoteLogicalTime
|
|
1797
|
-
? mathMax(lastCounter, remoteCounter)
|
|
1798
|
-
: lastCounter
|
|
1799
|
-
: logicalTime == remoteLogicalTime
|
|
1800
|
-
? remoteCounter
|
|
1801
|
-
: -1;
|
|
1802
|
-
};
|
|
1803
|
-
return [getHlc, seenHlc];
|
|
1804
|
-
};
|
|
1805
|
-
|
|
1806
1806
|
const LISTENER_ARGS = {
|
|
1807
1807
|
HasTable: 1,
|
|
1808
1808
|
Table: 1,
|
|
@@ -1950,7 +1950,7 @@ const createMergeableStore = (uniqueId) => {
|
|
|
1950
1950
|
let thingsHash = isContent ? incomingThingsHash : oldThingsHash;
|
|
1951
1951
|
objForEach(
|
|
1952
1952
|
thingsObj,
|
|
1953
|
-
([thing, thingTime, incomingThingHash = 0], thingId) => {
|
|
1953
|
+
([thing, thingTime = EMPTY_STRING, incomingThingHash = 0], thingId) => {
|
|
1954
1954
|
const thingStampMap = mapEnsure(thingStampMaps, thingId, () => [
|
|
1955
1955
|
void 0,
|
|
1956
1956
|
EMPTY_STRING,
|