tinybase 5.0.0-beta.25 → 5.0.0-beta.26
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/checkpoints/index.d.cts +4 -6
- package/@types/checkpoints/index.d.ts +4 -6
- package/@types/checkpoints/with-schemas/index.d.cts +4 -6
- package/@types/checkpoints/with-schemas/index.d.ts +4 -6
- package/@types/common/index.d.cts +1 -1
- package/@types/common/index.d.ts +1 -1
- package/@types/common/with-schemas/index.d.cts +1 -1
- package/@types/common/with-schemas/index.d.ts +1 -1
- package/@types/indexes/index.d.cts +3 -6
- package/@types/indexes/index.d.ts +3 -6
- package/@types/indexes/with-schemas/index.d.cts +3 -6
- package/@types/indexes/with-schemas/index.d.ts +3 -6
- package/@types/mergeable-store/index.d.cts +767 -22
- package/@types/mergeable-store/index.d.ts +767 -22
- package/@types/mergeable-store/with-schemas/index.d.cts +863 -22
- package/@types/mergeable-store/with-schemas/index.d.ts +863 -22
- package/@types/metrics/index.d.cts +3 -6
- package/@types/metrics/index.d.ts +3 -6
- package/@types/metrics/with-schemas/index.d.cts +3 -6
- package/@types/metrics/with-schemas/index.d.ts +3 -6
- package/@types/persisters/index.d.cts +58 -41
- package/@types/persisters/index.d.ts +58 -41
- package/@types/persisters/persister-browser/index.d.cts +5 -3
- package/@types/persisters/persister-browser/index.d.ts +5 -3
- package/@types/persisters/persister-browser/with-schemas/index.d.cts +3 -3
- package/@types/persisters/persister-browser/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-expo-sqlite/index.d.cts +3 -2
- package/@types/persisters/persister-expo-sqlite/index.d.ts +3 -2
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +2 -1
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +2 -1
- package/@types/persisters/persister-file/index.d.cts +3 -2
- package/@types/persisters/persister-file/index.d.ts +3 -2
- package/@types/persisters/persister-file/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-file/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-partykit-server/index.d.cts +3 -3
- package/@types/persisters/persister-partykit-server/index.d.ts +3 -3
- package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +3 -3
- package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-sqlite-wasm/index.d.cts +3 -2
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +3 -2
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +2 -1
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +2 -1
- package/@types/persisters/persister-sqlite3/index.d.cts +3 -2
- package/@types/persisters/persister-sqlite3/index.d.ts +3 -2
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +2 -1
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +2 -1
- package/@types/persisters/with-schemas/index.d.cts +70 -53
- package/@types/persisters/with-schemas/index.d.ts +70 -53
- package/@types/queries/index.d.cts +6 -9
- package/@types/queries/index.d.ts +6 -9
- package/@types/queries/with-schemas/index.d.cts +6 -9
- package/@types/queries/with-schemas/index.d.ts +6 -9
- package/@types/relationships/index.d.cts +3 -5
- package/@types/relationships/index.d.ts +3 -5
- package/@types/relationships/with-schemas/index.d.cts +3 -5
- package/@types/relationships/with-schemas/index.d.ts +3 -5
- package/@types/store/index.d.cts +24 -23
- package/@types/store/index.d.ts +24 -23
- package/@types/store/with-schemas/index.d.cts +24 -23
- package/@types/store/with-schemas/index.d.ts +24 -23
- package/@types/synchronizers/index.d.cts +9 -9
- package/@types/synchronizers/index.d.ts +9 -9
- package/@types/synchronizers/synchronizer-local/index.d.cts +2 -2
- package/@types/synchronizers/synchronizer-local/index.d.ts +2 -2
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +2 -2
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +2 -2
- package/@types/synchronizers/synchronizer-ws-client/index.d.cts +2 -2
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +2 -2
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +2 -2
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +2 -2
- package/@types/synchronizers/synchronizer-ws-server/index.d.cts +5 -5
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +5 -5
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +5 -5
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +5 -5
- package/@types/synchronizers/with-schemas/index.d.cts +12 -9
- package/@types/synchronizers/with-schemas/index.d.ts +12 -9
- package/@types/tools/index.d.cts +20 -10
- package/@types/tools/index.d.ts +20 -10
- package/@types/tools/with-schemas/index.d.cts +20 -10
- package/@types/tools/with-schemas/index.d.ts +20 -10
- package/@types/ui-react/index.d.cts +1 -1
- package/@types/ui-react/index.d.ts +1 -1
- package/@types/ui-react/with-schemas/index.d.cts +1 -1
- package/@types/ui-react/with-schemas/index.d.ts +1 -1
- package/@types/ui-react-dom/index.d.cts +2 -2
- package/@types/ui-react-dom/index.d.ts +2 -2
- package/@types/ui-react-dom/with-schemas/index.d.cts +2 -2
- package/@types/ui-react-dom/with-schemas/index.d.ts +2 -2
- package/@types/ui-react-inspector/with-schemas/index.d.cts +2 -2
- package/@types/ui-react-inspector/with-schemas/index.d.ts +2 -2
- package/cjs/es6/index.cjs +20 -14
- package/cjs/es6/mergeable-store/index.cjs +8 -8
- package/cjs/es6/mergeable-store/with-schemas/index.cjs +8 -8
- package/cjs/es6/min/index.cjs +1 -1
- package/cjs/es6/min/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/index.cjs +1 -1
- package/cjs/es6/min/persisters/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
- package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
- package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/persisters/index.cjs +11 -5
- package/cjs/es6/persisters/persister-automerge/index.cjs +11 -6
- package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +11 -6
- package/cjs/es6/persisters/persister-browser/index.cjs +17 -12
- package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +17 -12
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +17 -12
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +17 -12
- package/cjs/es6/persisters/persister-electric-sql/index.cjs +17 -12
- package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +17 -12
- package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +17 -12
- package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +17 -12
- package/cjs/es6/persisters/persister-file/index.cjs +16 -11
- package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +16 -11
- package/cjs/es6/persisters/persister-indexed-db/index.cjs +11 -6
- package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +11 -6
- package/cjs/es6/persisters/persister-libsql/index.cjs +287 -282
- package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +287 -282
- package/cjs/es6/persisters/persister-partykit-client/index.cjs +11 -6
- package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +11 -6
- package/cjs/es6/persisters/persister-powersync/index.cjs +17 -12
- package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +17 -12
- package/cjs/es6/persisters/persister-remote/index.cjs +17 -12
- package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +17 -12
- package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +17 -12
- package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +17 -12
- package/cjs/es6/persisters/persister-sqlite3/index.cjs +17 -12
- package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +17 -12
- package/cjs/es6/persisters/persister-yjs/index.cjs +11 -6
- package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +11 -6
- package/cjs/es6/persisters/with-schemas/index.cjs +11 -5
- package/cjs/es6/synchronizers/index.cjs +25 -20
- package/cjs/es6/synchronizers/synchronizer-local/index.cjs +25 -20
- package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +25 -20
- package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +25 -20
- package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +25 -20
- package/cjs/es6/synchronizers/with-schemas/index.cjs +25 -20
- package/cjs/es6/ui-react-inspector/index.cjs +11 -6
- package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +11 -6
- package/cjs/es6/with-schemas/index.cjs +20 -14
- package/cjs/index.cjs +20 -14
- package/cjs/mergeable-store/index.cjs +8 -8
- package/cjs/mergeable-store/with-schemas/index.cjs +8 -8
- package/cjs/min/index.cjs +1 -1
- package/cjs/min/index.cjs.gz +0 -0
- package/cjs/min/persisters/index.cjs +1 -1
- package/cjs/min/persisters/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
- package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-browser/index.cjs +1 -1
- package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
- package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
- package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
- package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-file/index.cjs +1 -1
- package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
- package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
- package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
- package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
- package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-remote/index.cjs +1 -1
- package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
- package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/index.cjs +1 -1
- package/cjs/min/synchronizers/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/ui-react-inspector/index.cjs +1 -1
- package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
- package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
- package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/with-schemas/index.cjs +1 -1
- package/cjs/min/with-schemas/index.cjs.gz +0 -0
- package/cjs/persisters/index.cjs +11 -5
- package/cjs/persisters/persister-automerge/index.cjs +11 -6
- package/cjs/persisters/persister-automerge/with-schemas/index.cjs +11 -6
- package/cjs/persisters/persister-browser/index.cjs +17 -12
- package/cjs/persisters/persister-browser/with-schemas/index.cjs +17 -12
- package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +17 -12
- package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +17 -12
- package/cjs/persisters/persister-electric-sql/index.cjs +17 -12
- package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +17 -12
- package/cjs/persisters/persister-expo-sqlite/index.cjs +17 -12
- package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +17 -12
- package/cjs/persisters/persister-file/index.cjs +16 -11
- package/cjs/persisters/persister-file/with-schemas/index.cjs +16 -11
- package/cjs/persisters/persister-indexed-db/index.cjs +11 -6
- package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +11 -6
- package/cjs/persisters/persister-libsql/index.cjs +194 -189
- package/cjs/persisters/persister-libsql/with-schemas/index.cjs +194 -189
- package/cjs/persisters/persister-partykit-client/index.cjs +11 -6
- package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +11 -6
- package/cjs/persisters/persister-powersync/index.cjs +17 -12
- package/cjs/persisters/persister-powersync/with-schemas/index.cjs +17 -12
- package/cjs/persisters/persister-remote/index.cjs +17 -12
- package/cjs/persisters/persister-remote/with-schemas/index.cjs +17 -12
- package/cjs/persisters/persister-sqlite-wasm/index.cjs +17 -12
- package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +17 -12
- package/cjs/persisters/persister-sqlite3/index.cjs +17 -12
- package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +17 -12
- package/cjs/persisters/persister-yjs/index.cjs +11 -6
- package/cjs/persisters/persister-yjs/with-schemas/index.cjs +11 -6
- package/cjs/persisters/with-schemas/index.cjs +11 -5
- package/cjs/synchronizers/index.cjs +18 -13
- package/cjs/synchronizers/synchronizer-local/index.cjs +18 -13
- package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +18 -13
- package/cjs/synchronizers/synchronizer-ws-client/index.cjs +18 -13
- package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +18 -13
- package/cjs/synchronizers/with-schemas/index.cjs +18 -13
- package/cjs/ui-react-inspector/index.cjs +11 -6
- package/cjs/ui-react-inspector/with-schemas/index.cjs +11 -6
- package/cjs/with-schemas/index.cjs +20 -14
- package/es6/index.js +20 -14
- package/es6/mergeable-store/index.js +8 -8
- package/es6/mergeable-store/with-schemas/index.js +8 -8
- package/es6/min/index.js +1 -1
- package/es6/min/index.js.gz +0 -0
- package/es6/min/persisters/index.js +1 -1
- package/es6/min/persisters/index.js.gz +0 -0
- package/es6/min/persisters/persister-automerge/index.js +1 -1
- package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
- package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-browser/index.js +1 -1
- package/es6/min/persisters/persister-browser/index.js.gz +0 -0
- package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-electric-sql/index.js +1 -1
- package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-file/index.js +1 -1
- package/es6/min/persisters/persister-file/index.js.gz +0 -0
- package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-indexed-db/index.js +1 -1
- package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-libsql/index.js +1 -1
- package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
- package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-partykit-client/index.js +1 -1
- package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-powersync/index.js +1 -1
- package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
- package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-remote/index.js +1 -1
- package/es6/min/persisters/persister-remote/index.js.gz +0 -0
- package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite3/index.js +1 -1
- package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-yjs/index.js +1 -1
- package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
- package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/with-schemas/index.js +1 -1
- package/es6/min/persisters/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/index.js +1 -1
- package/es6/min/synchronizers/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/es6/min/ui-react-inspector/index.js +1 -1
- package/es6/min/ui-react-inspector/index.js.gz +0 -0
- package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/es6/min/with-schemas/index.js +1 -1
- package/es6/min/with-schemas/index.js.gz +0 -0
- package/es6/persisters/index.js +11 -6
- package/es6/persisters/persister-automerge/index.js +11 -6
- package/es6/persisters/persister-automerge/with-schemas/index.js +11 -6
- package/es6/persisters/persister-browser/index.js +17 -12
- package/es6/persisters/persister-browser/with-schemas/index.js +17 -12
- package/es6/persisters/persister-cr-sqlite-wasm/index.js +17 -12
- package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
- package/es6/persisters/persister-electric-sql/index.js +17 -12
- package/es6/persisters/persister-electric-sql/with-schemas/index.js +17 -12
- package/es6/persisters/persister-expo-sqlite/index.js +17 -12
- package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
- package/es6/persisters/persister-file/index.js +16 -11
- package/es6/persisters/persister-file/with-schemas/index.js +16 -11
- package/es6/persisters/persister-indexed-db/index.js +11 -6
- package/es6/persisters/persister-indexed-db/with-schemas/index.js +11 -6
- package/es6/persisters/persister-libsql/index.js +287 -282
- package/es6/persisters/persister-libsql/with-schemas/index.js +287 -282
- package/es6/persisters/persister-partykit-client/index.js +11 -6
- package/es6/persisters/persister-partykit-client/with-schemas/index.js +11 -6
- package/es6/persisters/persister-powersync/index.js +17 -12
- package/es6/persisters/persister-powersync/with-schemas/index.js +17 -12
- package/es6/persisters/persister-remote/index.js +17 -12
- package/es6/persisters/persister-remote/with-schemas/index.js +17 -12
- package/es6/persisters/persister-sqlite-wasm/index.js +17 -12
- package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
- package/es6/persisters/persister-sqlite3/index.js +17 -12
- package/es6/persisters/persister-sqlite3/with-schemas/index.js +17 -12
- package/es6/persisters/persister-yjs/index.js +11 -6
- package/es6/persisters/persister-yjs/with-schemas/index.js +11 -6
- package/es6/persisters/with-schemas/index.js +11 -6
- package/es6/synchronizers/index.js +25 -20
- package/es6/synchronizers/synchronizer-local/index.js +25 -20
- package/es6/synchronizers/synchronizer-local/with-schemas/index.js +25 -20
- package/es6/synchronizers/synchronizer-ws-client/index.js +25 -20
- package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +25 -20
- package/es6/synchronizers/with-schemas/index.js +25 -20
- package/es6/ui-react-inspector/index.js +11 -6
- package/es6/ui-react-inspector/with-schemas/index.js +11 -6
- package/es6/with-schemas/index.js +20 -14
- package/index.js +20 -14
- package/mergeable-store/index.js +8 -8
- package/mergeable-store/with-schemas/index.js +8 -8
- package/min/index.js +1 -1
- package/min/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-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-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/synchronizers/index.js +1 -1
- package/min/synchronizers/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/with-schemas/index.js +1 -1
- package/min/synchronizers/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 +5 -5
- package/persisters/index.js +11 -6
- package/persisters/persister-automerge/index.js +11 -6
- package/persisters/persister-automerge/with-schemas/index.js +11 -6
- package/persisters/persister-browser/index.js +17 -12
- package/persisters/persister-browser/with-schemas/index.js +17 -12
- package/persisters/persister-cr-sqlite-wasm/index.js +17 -12
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
- package/persisters/persister-electric-sql/index.js +17 -12
- package/persisters/persister-electric-sql/with-schemas/index.js +17 -12
- package/persisters/persister-expo-sqlite/index.js +17 -12
- package/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
- package/persisters/persister-file/index.js +16 -11
- package/persisters/persister-file/with-schemas/index.js +16 -11
- package/persisters/persister-indexed-db/index.js +11 -6
- package/persisters/persister-indexed-db/with-schemas/index.js +11 -6
- package/persisters/persister-libsql/index.js +194 -189
- package/persisters/persister-libsql/with-schemas/index.js +194 -189
- package/persisters/persister-partykit-client/index.js +11 -6
- package/persisters/persister-partykit-client/with-schemas/index.js +11 -6
- package/persisters/persister-powersync/index.js +17 -12
- package/persisters/persister-powersync/with-schemas/index.js +17 -12
- package/persisters/persister-remote/index.js +17 -12
- package/persisters/persister-remote/with-schemas/index.js +17 -12
- package/persisters/persister-sqlite-wasm/index.js +17 -12
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
- package/persisters/persister-sqlite3/index.js +17 -12
- package/persisters/persister-sqlite3/with-schemas/index.js +17 -12
- package/persisters/persister-yjs/index.js +11 -6
- package/persisters/persister-yjs/with-schemas/index.js +11 -6
- package/persisters/with-schemas/index.js +11 -6
- package/readme.md +1 -1
- package/synchronizers/index.js +18 -13
- package/synchronizers/synchronizer-local/index.js +18 -13
- package/synchronizers/synchronizer-local/with-schemas/index.js +18 -13
- package/synchronizers/synchronizer-ws-client/index.js +18 -13
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +18 -13
- package/synchronizers/with-schemas/index.js +18 -13
- package/ui-react-inspector/index.js +11 -6
- package/ui-react-inspector/with-schemas/index.js +11 -6
- package/umd/es6/index.js +21 -14
- package/umd/es6/mergeable-store/index.js +9 -8
- package/umd/es6/mergeable-store/with-schemas/index.js +9 -8
- package/umd/es6/min/index.js +1 -1
- package/umd/es6/min/index.js.gz +0 -0
- package/umd/es6/min/persisters/index.js +1 -1
- package/umd/es6/min/persisters/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
- package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-browser/index.js +1 -1
- package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
- package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-file/index.js +1 -1
- package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
- package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
- package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
- package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
- package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-remote/index.js +1 -1
- package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
- package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/index.js +1 -1
- package/umd/es6/min/synchronizers/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/ui-react-inspector/index.js +1 -1
- package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
- package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/with-schemas/index.js +1 -1
- package/umd/es6/min/with-schemas/index.js.gz +0 -0
- package/umd/es6/persisters/index.js +11 -5
- package/umd/es6/persisters/persister-automerge/index.js +11 -6
- package/umd/es6/persisters/persister-automerge/with-schemas/index.js +11 -6
- package/umd/es6/persisters/persister-browser/index.js +19 -14
- package/umd/es6/persisters/persister-browser/with-schemas/index.js +19 -14
- package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +17 -12
- package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
- package/umd/es6/persisters/persister-electric-sql/index.js +17 -12
- package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +17 -12
- package/umd/es6/persisters/persister-expo-sqlite/index.js +17 -12
- package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
- package/umd/es6/persisters/persister-file/index.js +18 -13
- package/umd/es6/persisters/persister-file/with-schemas/index.js +18 -13
- package/umd/es6/persisters/persister-indexed-db/index.js +11 -6
- package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +11 -6
- package/umd/es6/persisters/persister-libsql/index.js +289 -284
- package/umd/es6/persisters/persister-libsql/with-schemas/index.js +289 -284
- package/umd/es6/persisters/persister-partykit-client/index.js +11 -6
- package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +11 -6
- package/umd/es6/persisters/persister-powersync/index.js +17 -12
- package/umd/es6/persisters/persister-powersync/with-schemas/index.js +17 -12
- package/umd/es6/persisters/persister-remote/index.js +17 -12
- package/umd/es6/persisters/persister-remote/with-schemas/index.js +17 -12
- package/umd/es6/persisters/persister-sqlite-wasm/index.js +17 -12
- package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
- package/umd/es6/persisters/persister-sqlite3/index.js +17 -12
- package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +17 -12
- package/umd/es6/persisters/persister-yjs/index.js +11 -6
- package/umd/es6/persisters/persister-yjs/with-schemas/index.js +11 -6
- package/umd/es6/persisters/with-schemas/index.js +11 -5
- package/umd/es6/synchronizers/index.js +25 -20
- package/umd/es6/synchronizers/synchronizer-local/index.js +25 -20
- package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +25 -20
- package/umd/es6/synchronizers/synchronizer-ws-client/index.js +25 -20
- package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +25 -20
- package/umd/es6/synchronizers/with-schemas/index.js +25 -20
- package/umd/es6/ui-react-inspector/index.js +11 -6
- package/umd/es6/ui-react-inspector/with-schemas/index.js +11 -6
- package/umd/es6/with-schemas/index.js +21 -14
- package/umd/index.js +20 -14
- package/umd/mergeable-store/index.js +8 -8
- package/umd/mergeable-store/with-schemas/index.js +8 -8
- package/umd/min/index.js +1 -1
- package/umd/min/index.js.gz +0 -0
- package/umd/min/persisters/index.js +1 -1
- package/umd/min/persisters/index.js.gz +0 -0
- package/umd/min/persisters/persister-automerge/index.js +1 -1
- package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
- package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-browser/index.js +1 -1
- package/umd/min/persisters/persister-browser/index.js.gz +0 -0
- package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-electric-sql/index.js +1 -1
- package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-file/index.js +1 -1
- package/umd/min/persisters/persister-file/index.js.gz +0 -0
- package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-indexed-db/index.js +1 -1
- package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-libsql/index.js +1 -1
- package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
- package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-partykit-client/index.js +1 -1
- package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-powersync/index.js +1 -1
- package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
- package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-remote/index.js +1 -1
- package/umd/min/persisters/persister-remote/index.js.gz +0 -0
- package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite3/index.js +1 -1
- package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-yjs/index.js +1 -1
- package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
- package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/with-schemas/index.js +1 -1
- package/umd/min/persisters/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/index.js +1 -1
- package/umd/min/synchronizers/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/umd/min/ui-react-inspector/index.js +1 -1
- package/umd/min/ui-react-inspector/index.js.gz +0 -0
- package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/umd/min/with-schemas/index.js +1 -1
- package/umd/min/with-schemas/index.js.gz +0 -0
- package/umd/persisters/index.js +11 -5
- package/umd/persisters/persister-automerge/index.js +11 -6
- package/umd/persisters/persister-automerge/with-schemas/index.js +11 -6
- package/umd/persisters/persister-browser/index.js +19 -14
- package/umd/persisters/persister-browser/with-schemas/index.js +19 -14
- package/umd/persisters/persister-cr-sqlite-wasm/index.js +17 -12
- package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
- package/umd/persisters/persister-electric-sql/index.js +17 -12
- package/umd/persisters/persister-electric-sql/with-schemas/index.js +17 -12
- package/umd/persisters/persister-expo-sqlite/index.js +17 -12
- package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
- package/umd/persisters/persister-file/index.js +18 -13
- package/umd/persisters/persister-file/with-schemas/index.js +18 -13
- package/umd/persisters/persister-indexed-db/index.js +11 -6
- package/umd/persisters/persister-indexed-db/with-schemas/index.js +11 -6
- package/umd/persisters/persister-libsql/index.js +196 -191
- package/umd/persisters/persister-libsql/with-schemas/index.js +196 -191
- package/umd/persisters/persister-partykit-client/index.js +11 -6
- package/umd/persisters/persister-partykit-client/with-schemas/index.js +11 -6
- package/umd/persisters/persister-powersync/index.js +17 -12
- package/umd/persisters/persister-powersync/with-schemas/index.js +17 -12
- package/umd/persisters/persister-remote/index.js +17 -12
- package/umd/persisters/persister-remote/with-schemas/index.js +17 -12
- package/umd/persisters/persister-sqlite-wasm/index.js +17 -12
- package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
- package/umd/persisters/persister-sqlite3/index.js +17 -12
- package/umd/persisters/persister-sqlite3/with-schemas/index.js +17 -12
- package/umd/persisters/persister-yjs/index.js +11 -6
- package/umd/persisters/persister-yjs/with-schemas/index.js +11 -6
- package/umd/persisters/with-schemas/index.js +11 -5
- package/umd/synchronizers/index.js +18 -13
- package/umd/synchronizers/synchronizer-local/index.js +18 -13
- package/umd/synchronizers/synchronizer-local/with-schemas/index.js +18 -13
- package/umd/synchronizers/synchronizer-ws-client/index.js +18 -13
- package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +18 -13
- package/umd/synchronizers/with-schemas/index.js +18 -13
- package/umd/ui-react-inspector/index.js +11 -6
- package/umd/ui-react-inspector/with-schemas/index.js +11 -6
- package/umd/with-schemas/index.js +20 -14
- package/with-schemas/index.js +20 -14
|
@@ -6,6 +6,15 @@
|
|
|
6
6
|
* The main entry point to this module is the createMergeableStore function,
|
|
7
7
|
* which returns a new MergeableStore, a subtype of Store that can be merged
|
|
8
8
|
* with another with deterministic results.
|
|
9
|
+
*
|
|
10
|
+
* Please be aware that a lot of the types and methods exposed by this module
|
|
11
|
+
* are used internally within TinyBase itself (in particular the Synchronizer
|
|
12
|
+
* framework). They're documented here, but mostly for interest, and it is
|
|
13
|
+
* generally assumed that they won't be called directly by applications.
|
|
14
|
+
*
|
|
15
|
+
* As an application developer, it's more likely that you will continue to use
|
|
16
|
+
* the main Store methods for reading, writing, and listening to data, and rely
|
|
17
|
+
* on Synchronizer instances to keep the data in step with other places.
|
|
9
18
|
* @packageDocumentation
|
|
10
19
|
* @module mergeable-store
|
|
11
20
|
* @since v5.0.0
|
|
@@ -228,7 +237,48 @@ export type MergeableChanges<Schemas extends OptionalSchemas> = [
|
|
|
228
237
|
];
|
|
229
238
|
|
|
230
239
|
/**
|
|
231
|
-
* The MergeableStore type
|
|
240
|
+
* The MergeableStore type represents a Store that carries with it sufficient
|
|
241
|
+
* metadata to be able to be merged with another MergeableStore with
|
|
242
|
+
* deterministic results.
|
|
243
|
+
*
|
|
244
|
+
* This is the key data type used when you need TinyBase data to be cleanly
|
|
245
|
+
* synchronized or merged with data elsewhere on the system, or on another
|
|
246
|
+
* system. It acts as a Conflict-Free Replicated Data Type (CRDT) which allows
|
|
247
|
+
* deterministic disambiguation of how changes to different instances should be
|
|
248
|
+
* merged.
|
|
249
|
+
*
|
|
250
|
+
* Please be aware that a lot of the methods exposed by this interface are used
|
|
251
|
+
* internally within TinyBase itself (in particular the Synchronizer framework).
|
|
252
|
+
* They're documented here, but mostly for interest, and it is generally assumed
|
|
253
|
+
* that they won't be called directly by applications.
|
|
254
|
+
*
|
|
255
|
+
* As an application developer, it's more likely that you will continue to use
|
|
256
|
+
* the main Store methods for reading, writing, and listening to data, and rely
|
|
257
|
+
* on Synchronizer instances to keep the data in step with other places.
|
|
258
|
+
*
|
|
259
|
+
* One possible exceptions is the merge method, which can be used to simply
|
|
260
|
+
* merge two co-located MergeableStore instances together.
|
|
261
|
+
* @example
|
|
262
|
+
* This example shows very simple usage of the MergeableStore: whereby two are
|
|
263
|
+
* created, updated with different data, and then merged with one another.
|
|
264
|
+
*
|
|
265
|
+
* ```js
|
|
266
|
+
* import {createMergeableStore} from 'tinybase';
|
|
267
|
+
*
|
|
268
|
+
* const localStore1 = createMergeableStore();
|
|
269
|
+
* const localStore2 = createMergeableStore();
|
|
270
|
+
*
|
|
271
|
+
* localStore1.setCell('pets', 'fido', 'color', 'brown');
|
|
272
|
+
* localStore2.setCell('pets', 'felix', 'color', 'black');
|
|
273
|
+
*
|
|
274
|
+
* localStore1.merge(localStore2);
|
|
275
|
+
*
|
|
276
|
+
* console.log(localStore1.getContent());
|
|
277
|
+
* // -> [{pets: {felix: {color: 'black'}, fido: {color: 'brown'}}}, {}]
|
|
278
|
+
*
|
|
279
|
+
* console.log(localStore2.getContent());
|
|
280
|
+
* // -> [{pets: {felix: {color: 'black'}, fido: {color: 'brown'}}}, {}]
|
|
281
|
+
*```
|
|
232
282
|
* @category Mergeable
|
|
233
283
|
* @since v5.0.0
|
|
234
284
|
*/
|
|
@@ -236,40 +286,236 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
|
|
|
236
286
|
extends Store<Schemas> {
|
|
237
287
|
//
|
|
238
288
|
/**
|
|
239
|
-
* The getMergeableContent method
|
|
289
|
+
* The getMergeableContent method returns the full content of a
|
|
290
|
+
* MergeableStore, together with the metadata required to make it mergeable
|
|
291
|
+
* with another.
|
|
292
|
+
*
|
|
293
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
294
|
+
*
|
|
295
|
+
* ```ts override
|
|
296
|
+
* getMergeableContent(): MergeableContent;
|
|
297
|
+
* ```
|
|
298
|
+
*
|
|
299
|
+
* The method is generally intended to be used internally within TinyBase
|
|
300
|
+
* itself and the return type is assumed to be opaque to applications that use
|
|
301
|
+
* it.
|
|
302
|
+
* @returns A MergeableContent object for the full content of the
|
|
303
|
+
* MergeableStore.
|
|
304
|
+
* @example
|
|
305
|
+
* This example creates a MergeableStore, sets some data, and then accesses
|
|
306
|
+
* the content and metadata required to make it mergeable.
|
|
307
|
+
*
|
|
308
|
+
* ```js
|
|
309
|
+
* import {createMergeableStore} from 'tinybase';
|
|
310
|
+
*
|
|
311
|
+
* const store = createMergeableStore('store1'); // !resetHlc
|
|
312
|
+
*
|
|
313
|
+
* store.setCell('pets', 'fido', 'color', 'brown');
|
|
314
|
+
*
|
|
315
|
+
* console.log(store.getMergeableContent());
|
|
316
|
+
* // ->
|
|
317
|
+
* [
|
|
318
|
+
* [
|
|
319
|
+
* {
|
|
320
|
+
* pets: [
|
|
321
|
+
* {
|
|
322
|
+
* fido: [
|
|
323
|
+
* {color: ['brown', 'Nn1JUF-----FnHIC', 923684530]},
|
|
324
|
+
* '',
|
|
325
|
+
* 851131566,
|
|
326
|
+
* ],
|
|
327
|
+
* },
|
|
328
|
+
* '',
|
|
329
|
+
* 518810247,
|
|
330
|
+
* ],
|
|
331
|
+
* },
|
|
332
|
+
* '',
|
|
333
|
+
* 784336119,
|
|
334
|
+
* ],
|
|
335
|
+
* [{}, '', 0],
|
|
336
|
+
* ];
|
|
337
|
+
* ```
|
|
240
338
|
* @category Getter
|
|
241
339
|
* @since v5.0.0
|
|
242
340
|
*/
|
|
243
341
|
getMergeableContent(): MergeableContent<Schemas>;
|
|
244
342
|
|
|
245
343
|
/**
|
|
246
|
-
* The getMergeableContentHashes method
|
|
344
|
+
* The getMergeableContentHashes method returns hashes for the full content of
|
|
345
|
+
* a MergeableStore.
|
|
346
|
+
*
|
|
347
|
+
* If two MergeableStore instances have different hashes, that indicates that
|
|
348
|
+
* the mergeable Tables or Values within them are different and should be
|
|
349
|
+
* synchronized.
|
|
350
|
+
*
|
|
351
|
+
* The method is generally intended to be used internally within TinyBase
|
|
352
|
+
* itself and the return type is assumed to be opaque to applications that use
|
|
353
|
+
* it.
|
|
354
|
+
* @returns A ContentHashes array for the hashes of the full content of the
|
|
355
|
+
* MergeableStore.
|
|
356
|
+
* @example
|
|
357
|
+
* This example creates a MergeableStore, sets some data, and then accesses
|
|
358
|
+
* the content hashes.
|
|
359
|
+
*
|
|
360
|
+
* ```js
|
|
361
|
+
* import {createMergeableStore} from 'tinybase';
|
|
362
|
+
*
|
|
363
|
+
* const store = createMergeableStore('store1'); // !resetHlc
|
|
364
|
+
*
|
|
365
|
+
* store.setCell('pets', 'fido', 'color', 'brown');
|
|
366
|
+
* console.log(store.getMergeableContentHashes());
|
|
367
|
+
* // -> [784336119, 0]
|
|
368
|
+
*
|
|
369
|
+
* store.setValue('open', true);
|
|
370
|
+
* console.log(store.getMergeableContentHashes());
|
|
371
|
+
* // -> [784336119, 2829789038]
|
|
372
|
+
* ```
|
|
247
373
|
* @category Syncing
|
|
248
374
|
* @since v5.0.0
|
|
249
375
|
*/
|
|
250
376
|
getMergeableContentHashes(): ContentHashes;
|
|
251
377
|
|
|
252
378
|
/**
|
|
253
|
-
* The getMergeableTableHashes method
|
|
379
|
+
* The getMergeableTableHashes method returns hashes for the Table objects in
|
|
380
|
+
* a MergeableStore.
|
|
381
|
+
*
|
|
382
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
383
|
+
*
|
|
384
|
+
* ```ts override
|
|
385
|
+
* getMergeableTableHashes(): TableHashes;
|
|
386
|
+
* ```
|
|
387
|
+
*
|
|
388
|
+
* If two Table Ids have different hashes, that indicates that the content
|
|
389
|
+
* within them is different and should be synchronized.
|
|
390
|
+
*
|
|
391
|
+
* The method is generally intended to be used internally within TinyBase
|
|
392
|
+
* itself and the return type is assumed to be opaque to applications that use
|
|
393
|
+
* it.
|
|
394
|
+
* @returns A TableHashes object with the hashes of each Table in the
|
|
395
|
+
* MergeableStore.
|
|
396
|
+
* @example
|
|
397
|
+
* This example creates a MergeableStore, sets some data, and then accesses
|
|
398
|
+
* the Table hashes.
|
|
399
|
+
*
|
|
400
|
+
* ```js
|
|
401
|
+
* import {createMergeableStore} from 'tinybase';
|
|
402
|
+
*
|
|
403
|
+
* const store = createMergeableStore('store1'); // !resetHlc
|
|
404
|
+
*
|
|
405
|
+
* store.setCell('pets', 'fido', 'color', 'brown');
|
|
406
|
+
* console.log(store.getMergeableTableHashes());
|
|
407
|
+
* // -> {pets: 518810247}
|
|
408
|
+
*
|
|
409
|
+
* store.setCell('species', 'dog', 'price', 5);
|
|
410
|
+
* console.log(store.getMergeableTableHashes());
|
|
411
|
+
* // -> {pets: 518810247, species: 2324343240}
|
|
412
|
+
* ```
|
|
254
413
|
* @category Syncing
|
|
255
414
|
* @since v5.0.0
|
|
256
415
|
*/
|
|
257
416
|
getMergeableTableHashes(): TableHashes<Schemas[0]>;
|
|
258
417
|
|
|
259
418
|
/**
|
|
260
|
-
* The getMergeableTableDiff method
|
|
419
|
+
* The getMergeableTableDiff method returns information about new and
|
|
420
|
+
* differing Table objects of a MergeableStore relative to another.
|
|
421
|
+
*
|
|
422
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
423
|
+
*
|
|
424
|
+
* ```ts override
|
|
425
|
+
* getMergeableTableDiff(
|
|
426
|
+
* otherTableHashes: TableHashes,
|
|
427
|
+
* ): [newTables: TablesStamp, differingTableHashes: TableHashes];
|
|
428
|
+
* ```
|
|
429
|
+
*
|
|
430
|
+
* The method is generally intended to be used internally within TinyBase
|
|
431
|
+
* itself and the return type is assumed to be opaque to applications that use
|
|
432
|
+
* it.
|
|
433
|
+
* @param otherTableHashes The TableHashes of another MergeableStore.
|
|
434
|
+
* @returns A pair of objects describing the new and differing Table objects
|
|
435
|
+
* of this MergeableStore relative to the other.
|
|
436
|
+
* @example
|
|
437
|
+
* This example creates two MergeableStores, sets some differing data, and
|
|
438
|
+
* then identifies the differences in the Table objects of one versus the
|
|
439
|
+
* other. Once they have been merged, the differences are empty.
|
|
440
|
+
*
|
|
441
|
+
* ```js
|
|
442
|
+
* import {createMergeableStore} from 'tinybase';
|
|
443
|
+
*
|
|
444
|
+
* const store1 = createMergeableStore('store1'); // !resetHlc
|
|
445
|
+
* store1.setTables({pets: {fido: {color: 'brown'}}});
|
|
446
|
+
*
|
|
447
|
+
* const store2 = createMergeableStore('store2');
|
|
448
|
+
* store2.setTables({
|
|
449
|
+
* pets: {fido: {species: 'dog'}},
|
|
450
|
+
* species: {dog: {price: 5}},
|
|
451
|
+
* });
|
|
452
|
+
*
|
|
453
|
+
* console.log(
|
|
454
|
+
* store2.getMergeableTableDiff(store1.getMergeableTableHashes()),
|
|
455
|
+
* );
|
|
456
|
+
* // ->
|
|
457
|
+
* [
|
|
458
|
+
* [{species: [{dog: [{price: [5, 'Nn1JUF----0CnH-J']}]}]}],
|
|
459
|
+
* {pets: 1212600658},
|
|
460
|
+
* ];
|
|
461
|
+
*
|
|
462
|
+
* store1.merge(store2);
|
|
463
|
+
*
|
|
464
|
+
* console.log(
|
|
465
|
+
* store2.getMergeableTableDiff(store1.getMergeableTableHashes()),
|
|
466
|
+
* );
|
|
467
|
+
* // -> [[{}], {}]
|
|
468
|
+
* ```
|
|
261
469
|
* @category Syncing
|
|
262
470
|
* @since v5.0.0
|
|
263
471
|
*/
|
|
264
472
|
getMergeableTableDiff(
|
|
265
|
-
|
|
473
|
+
otherTableHashes: TableHashes<Schemas[0]>,
|
|
266
474
|
): [
|
|
267
475
|
newTables: TablesStamp<Schemas[0]>,
|
|
268
|
-
|
|
476
|
+
differingTableHashes: TableHashes<Schemas[0]>,
|
|
269
477
|
];
|
|
270
478
|
|
|
271
479
|
/**
|
|
272
|
-
* The getMergeableRowHashes method
|
|
480
|
+
* The getMergeableRowHashes method returns hashes for Row objects in a
|
|
481
|
+
* MergeableStore.
|
|
482
|
+
*
|
|
483
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
484
|
+
*
|
|
485
|
+
* ```ts override
|
|
486
|
+
* getMergeableRowHashes(otherTableHashes: TableHashes): RowHashes;
|
|
487
|
+
* ```
|
|
488
|
+
*
|
|
489
|
+
* If two Row Ids have different hashes, that indicates that the content
|
|
490
|
+
* within them is different and should be synchronized.
|
|
491
|
+
*
|
|
492
|
+
* The method is generally intended to be used internally within TinyBase
|
|
493
|
+
* itself and the return type is assumed to be opaque to applications that use
|
|
494
|
+
* it.
|
|
495
|
+
* @param otherTableHashes The TableHashes from the other MergeableStore so
|
|
496
|
+
* that the differences can be efficiently identified.
|
|
497
|
+
* @returns A RowHashes object with the hashes of each Row in the relevant
|
|
498
|
+
* Table objects of the MergeableStore.
|
|
499
|
+
* @example
|
|
500
|
+
* This example creates a MergeableStore, sets some data, and then accesses
|
|
501
|
+
* the Row hashes for the differing Table Ids.
|
|
502
|
+
*
|
|
503
|
+
* ```js
|
|
504
|
+
* import {createMergeableStore} from 'tinybase';
|
|
505
|
+
*
|
|
506
|
+
* const store1 = createMergeableStore('store1'); // !resetHlc
|
|
507
|
+
* store1.setTables({pets: {fido: {color: 'brown'}, felix: {color: 'tan'}}});
|
|
508
|
+
*
|
|
509
|
+
* const store2 = createMergeableStore('store2');
|
|
510
|
+
* store2.setTables({pets: {fido: {color: 'black'}, felix: {color: 'tan'}}});
|
|
511
|
+
*
|
|
512
|
+
* console.log(
|
|
513
|
+
* store1.getMergeableRowHashes(
|
|
514
|
+
* store2.getMergeableTableDiff(store1.getMergeableTableHashes())[1],
|
|
515
|
+
* ),
|
|
516
|
+
* );
|
|
517
|
+
* // -> {pets: {felix: 1683761402, fido: 851131566}}
|
|
518
|
+
* ```
|
|
273
519
|
* @category Syncing
|
|
274
520
|
* @since v5.0.0
|
|
275
521
|
*/
|
|
@@ -278,7 +524,61 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
|
|
|
278
524
|
): RowHashes<Schemas[0]>;
|
|
279
525
|
|
|
280
526
|
/**
|
|
281
|
-
* The getMergeableRowDiff method
|
|
527
|
+
* The getMergeableRowDiff method returns information about new and differing
|
|
528
|
+
* Row objects of a MergeableStore relative to another.
|
|
529
|
+
*
|
|
530
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
531
|
+
*
|
|
532
|
+
* ```ts override
|
|
533
|
+
* getMergeableRowDiff(
|
|
534
|
+
* otherTableRowHashes: RowHashes,
|
|
535
|
+
* ): [newRows: TablesStamp, differingRowHashes: RowHashes];
|
|
536
|
+
* ```
|
|
537
|
+
*
|
|
538
|
+
* The method is generally intended to be used internally within TinyBase
|
|
539
|
+
* itself and the return type is assumed to be opaque to applications that use
|
|
540
|
+
* it.
|
|
541
|
+
* @param otherTableRowHashes The RowHashes of another MergeableStore.
|
|
542
|
+
* @returns A pair of objects describing the new and differing Row objects of
|
|
543
|
+
* this MergeableStore relative to the other.
|
|
544
|
+
* @example
|
|
545
|
+
* This example creates two MergeableStores, sets some differing data, and
|
|
546
|
+
* then identifies the differences in the Row objects of one versus the other.
|
|
547
|
+
* Once they have been merged, the differences are empty.
|
|
548
|
+
*
|
|
549
|
+
* ```js
|
|
550
|
+
* import {createMergeableStore} from 'tinybase';
|
|
551
|
+
*
|
|
552
|
+
* const store1 = createMergeableStore('store1'); // !resetHlc
|
|
553
|
+
* store1.setTables({pets: {fido: {color: 'brown'}}});
|
|
554
|
+
*
|
|
555
|
+
* const store2 = createMergeableStore('store2');
|
|
556
|
+
* store2.setTables({pets: {fido: {color: 'black'}, felix: {color: 'tan'}}});
|
|
557
|
+
*
|
|
558
|
+
* console.log(
|
|
559
|
+
* store2.getMergeableRowDiff(
|
|
560
|
+
* store1.getMergeableRowHashes(
|
|
561
|
+
* store2.getMergeableTableDiff(store1.getMergeableTableHashes())[1],
|
|
562
|
+
* ),
|
|
563
|
+
* ),
|
|
564
|
+
* );
|
|
565
|
+
* // ->
|
|
566
|
+
* [
|
|
567
|
+
* [{pets: [{felix: [{color: ['tan', 'Nn1JUF----0CnH-J']}]}]}],
|
|
568
|
+
* {pets: {fido: 1038491054}},
|
|
569
|
+
* ];
|
|
570
|
+
*
|
|
571
|
+
* store1.merge(store2);
|
|
572
|
+
*
|
|
573
|
+
* console.log(
|
|
574
|
+
* store2.getMergeableRowDiff(
|
|
575
|
+
* store1.getMergeableRowHashes(
|
|
576
|
+
* store2.getMergeableTableDiff(store1.getMergeableTableHashes())[1],
|
|
577
|
+
* ),
|
|
578
|
+
* ),
|
|
579
|
+
* );
|
|
580
|
+
* // -> [[{}], {}]
|
|
581
|
+
* ```
|
|
282
582
|
* @category Syncing
|
|
283
583
|
* @since v5.0.0
|
|
284
584
|
*/
|
|
@@ -286,11 +586,53 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
|
|
|
286
586
|
otherTableRowHashes: RowHashes<Schemas[0]>,
|
|
287
587
|
): [
|
|
288
588
|
newRows: TablesStamp<Schemas[0]>,
|
|
289
|
-
|
|
589
|
+
differingRowHashes: RowHashes<Schemas[0]>,
|
|
290
590
|
];
|
|
291
591
|
|
|
292
592
|
/**
|
|
293
|
-
* The getMergeableCellHashes method
|
|
593
|
+
* The getMergeableCellHashes method returns hashes for Cell objects in a
|
|
594
|
+
* MergeableStore.
|
|
595
|
+
*
|
|
596
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
597
|
+
*
|
|
598
|
+
* ```ts override
|
|
599
|
+
* getMergeableCellHashes(otherTableRowHashes: RowHashes): CellHashes;
|
|
600
|
+
* ```
|
|
601
|
+
*
|
|
602
|
+
* If two Cell Ids have different hashes, that indicates that the content
|
|
603
|
+
* within them is different and should be synchronized.
|
|
604
|
+
*
|
|
605
|
+
* The method is generally intended to be used internally within TinyBase
|
|
606
|
+
* itself and the return type is assumed to be opaque to applications that use
|
|
607
|
+
* it.
|
|
608
|
+
* @param otherTableRowHashes The RowHashes from the other MergeableStore so
|
|
609
|
+
* that the differences can be efficiently identified.
|
|
610
|
+
* @returns A CellHashes object with the hashes of each Cell in the relevant
|
|
611
|
+
* Row objects of the MergeableStore.
|
|
612
|
+
* @example
|
|
613
|
+
* This example creates a MergeableStore, sets some data, and then accesses
|
|
614
|
+
* the Cell hashes for the differing Table Ids.
|
|
615
|
+
*
|
|
616
|
+
* ```js
|
|
617
|
+
* import {createMergeableStore} from 'tinybase';
|
|
618
|
+
*
|
|
619
|
+
* const store1 = createMergeableStore('store1'); // !resetHlc
|
|
620
|
+
* store1.setTables({pets: {fido: {color: 'brown', species: 'dog'}}});
|
|
621
|
+
*
|
|
622
|
+
* const store2 = createMergeableStore('store2');
|
|
623
|
+
* store2.setTables({pets: {fido: {color: 'black', species: 'dog'}}});
|
|
624
|
+
*
|
|
625
|
+
* console.log(
|
|
626
|
+
* store1.getMergeableCellHashes(
|
|
627
|
+
* store2.getMergeableRowDiff(
|
|
628
|
+
* store1.getMergeableRowHashes(
|
|
629
|
+
* store2.getMergeableTableDiff(store1.getMergeableTableHashes())[1],
|
|
630
|
+
* ),
|
|
631
|
+
* )[1],
|
|
632
|
+
* ),
|
|
633
|
+
* );
|
|
634
|
+
* // -> {pets: {fido: {color: 923684530, species: 227729753}}}
|
|
635
|
+
* ```
|
|
294
636
|
* @category Syncing
|
|
295
637
|
* @since v5.0.0
|
|
296
638
|
*/
|
|
@@ -299,7 +641,81 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
|
|
|
299
641
|
): CellHashes<Schemas[0]>;
|
|
300
642
|
|
|
301
643
|
/**
|
|
302
|
-
* The getMergeableCellDiff method
|
|
644
|
+
* The getMergeableCellDiff method returns information about new and differing
|
|
645
|
+
* Cell objects of a MergeableStore relative to another.
|
|
646
|
+
*
|
|
647
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
648
|
+
*
|
|
649
|
+
* ```ts override
|
|
650
|
+
* getMergeableCellDiff(otherTableRowCellHashes: CellHashes): TablesStamp;
|
|
651
|
+
* ```
|
|
652
|
+
*
|
|
653
|
+
* The method is generally intended to be used internally within TinyBase
|
|
654
|
+
* itself and the return type is assumed to be opaque to applications that use
|
|
655
|
+
* it.
|
|
656
|
+
* @param otherTableRowCellHashes The CellHashes of another MergeableStore.
|
|
657
|
+
* @returns The new and differing Cell objects of this MergeableStore relative
|
|
658
|
+
* to the other.
|
|
659
|
+
* @example
|
|
660
|
+
* This example creates two MergeableStores, sets some differing data, and
|
|
661
|
+
* then identifies the differences in the Cell objects of one versus the
|
|
662
|
+
* other. Once they have been merged, the differences are empty.
|
|
663
|
+
*
|
|
664
|
+
* ```js
|
|
665
|
+
* import {createMergeableStore} from 'tinybase';
|
|
666
|
+
*
|
|
667
|
+
* const store1 = createMergeableStore('store1'); // !resetHlc
|
|
668
|
+
* store1.setTables({pets: {fido: {color: 'brown'}}});
|
|
669
|
+
*
|
|
670
|
+
* const store2 = createMergeableStore('store2');
|
|
671
|
+
* store2.setTables({pets: {fido: {color: 'black', species: 'dog'}}});
|
|
672
|
+
*
|
|
673
|
+
* console.log(
|
|
674
|
+
* store2.getMergeableCellDiff(
|
|
675
|
+
* store1.getMergeableCellHashes(
|
|
676
|
+
* store2.getMergeableRowDiff(
|
|
677
|
+
* store1.getMergeableRowHashes(
|
|
678
|
+
* store2.getMergeableTableDiff(
|
|
679
|
+
* store1.getMergeableTableHashes(),
|
|
680
|
+
* )[1],
|
|
681
|
+
* ),
|
|
682
|
+
* )[1],
|
|
683
|
+
* ),
|
|
684
|
+
* ),
|
|
685
|
+
* );
|
|
686
|
+
* // ->
|
|
687
|
+
* [
|
|
688
|
+
* {
|
|
689
|
+
* pets: [
|
|
690
|
+
* {
|
|
691
|
+
* fido: [
|
|
692
|
+
* {
|
|
693
|
+
* color: ['black', 'Nn1JUF-----CnH-J'],
|
|
694
|
+
* species: ['dog', 'Nn1JUF----0CnH-J'],
|
|
695
|
+
* },
|
|
696
|
+
* ],
|
|
697
|
+
* },
|
|
698
|
+
* ],
|
|
699
|
+
* },
|
|
700
|
+
* ];
|
|
701
|
+
*
|
|
702
|
+
* store1.merge(store2);
|
|
703
|
+
*
|
|
704
|
+
* console.log(
|
|
705
|
+
* store2.getMergeableCellDiff(
|
|
706
|
+
* store1.getMergeableCellHashes(
|
|
707
|
+
* store2.getMergeableRowDiff(
|
|
708
|
+
* store1.getMergeableRowHashes(
|
|
709
|
+
* store2.getMergeableTableDiff(
|
|
710
|
+
* store1.getMergeableTableHashes(),
|
|
711
|
+
* )[1],
|
|
712
|
+
* ),
|
|
713
|
+
* )[1],
|
|
714
|
+
* ),
|
|
715
|
+
* ),
|
|
716
|
+
* );
|
|
717
|
+
* // -> [{}]
|
|
718
|
+
* ```
|
|
303
719
|
* @category Syncing
|
|
304
720
|
* @since v5.0.0
|
|
305
721
|
*/
|
|
@@ -308,23 +724,140 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
|
|
|
308
724
|
): TablesStamp<Schemas[0]>;
|
|
309
725
|
|
|
310
726
|
/**
|
|
311
|
-
* The getMergeableValueHashes method
|
|
727
|
+
* The getMergeableValueHashes method returns hashes for the Value objects in
|
|
728
|
+
* a MergeableStore.
|
|
729
|
+
*
|
|
730
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
731
|
+
*
|
|
732
|
+
* ```ts override
|
|
733
|
+
* getMergeableValueHashes(): ValueHashes;
|
|
734
|
+
* ```
|
|
735
|
+
*
|
|
736
|
+
* If two Value Ids have different hashes, that indicates that the content
|
|
737
|
+
* within them is different and should be synchronized.
|
|
738
|
+
*
|
|
739
|
+
* The method is generally intended to be used internally within TinyBase
|
|
740
|
+
* itself and the return type is assumed to be opaque to applications that use
|
|
741
|
+
* it.
|
|
742
|
+
* @returns A ValueHashes object with the hashes of each Value in the
|
|
743
|
+
* MergeableStore.
|
|
744
|
+
* @example
|
|
745
|
+
* This example creates a MergeableStore, sets some data, and then accesses
|
|
746
|
+
* the Value hashes.
|
|
747
|
+
*
|
|
748
|
+
* ```js
|
|
749
|
+
* import {createMergeableStore} from 'tinybase';
|
|
750
|
+
*
|
|
751
|
+
* const store = createMergeableStore('store1'); // !resetHlc
|
|
752
|
+
*
|
|
753
|
+
* store.setValue('employees', 3);
|
|
754
|
+
* console.log(store.getMergeableValueHashes());
|
|
755
|
+
* // -> {employees: 1940815977}
|
|
756
|
+
*
|
|
757
|
+
* store.setValue('open', true);
|
|
758
|
+
* console.log(store.getMergeableValueHashes());
|
|
759
|
+
* // -> {employees: 1940815977, open: 3860530645}
|
|
760
|
+
* ```
|
|
312
761
|
* @category Syncing
|
|
313
762
|
* @since v5.0.0
|
|
314
763
|
*/
|
|
315
764
|
getMergeableValueHashes(): ValueHashes<Schemas[1]>;
|
|
316
765
|
|
|
317
766
|
/**
|
|
318
|
-
* The getMergeableValueDiff method
|
|
767
|
+
* The getMergeableValueDiff method returns information about new and
|
|
768
|
+
* differing Value objects of a MergeableStore relative to another.
|
|
769
|
+
*
|
|
770
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
771
|
+
*
|
|
772
|
+
* ```ts override
|
|
773
|
+
* getMergeableValueDiff(otherValueHashes: ValueHashes): ValuesStamp;
|
|
774
|
+
* ```
|
|
775
|
+
*
|
|
776
|
+
* The method is generally intended to be used internally within TinyBase
|
|
777
|
+
* itself and the return type is assumed to be opaque to applications that use
|
|
778
|
+
* it.
|
|
779
|
+
* @param otherValueHashes The ValueHashes of another MergeableStore.
|
|
780
|
+
* @returns The new and differing Value objects of this MergeableStore
|
|
781
|
+
* relative to the other.
|
|
782
|
+
* @example
|
|
783
|
+
* This example creates two MergeableStores, sets some differing data, and
|
|
784
|
+
* then identifies the differences in the Value objects of one versus the
|
|
785
|
+
* other. Once they have been merged, the differences are empty.
|
|
786
|
+
*
|
|
787
|
+
* ```js
|
|
788
|
+
* import {createMergeableStore} from 'tinybase';
|
|
789
|
+
*
|
|
790
|
+
* const store1 = createMergeableStore('store1'); // !resetHlc
|
|
791
|
+
* store1.setValues({employees: 3});
|
|
792
|
+
*
|
|
793
|
+
* const store2 = createMergeableStore('store2');
|
|
794
|
+
* store2.setValues({employees: 4, open: true});
|
|
795
|
+
*
|
|
796
|
+
* console.log(
|
|
797
|
+
* store2.getMergeableValueDiff(store1.getMergeableValueHashes()),
|
|
798
|
+
* );
|
|
799
|
+
* // ->
|
|
800
|
+
* [
|
|
801
|
+
* {
|
|
802
|
+
* employees: [4, 'Nn1JUF-----CnH-J'],
|
|
803
|
+
* open: [true, 'Nn1JUF----0CnH-J'],
|
|
804
|
+
* },
|
|
805
|
+
* ];
|
|
806
|
+
*
|
|
807
|
+
* store1.merge(store2);
|
|
808
|
+
*
|
|
809
|
+
* console.log(
|
|
810
|
+
* store2.getMergeableValueDiff(store1.getMergeableValueHashes()),
|
|
811
|
+
* );
|
|
812
|
+
* // -> [{}]
|
|
813
|
+
* ```
|
|
319
814
|
* @category Syncing
|
|
320
815
|
* @since v5.0.0
|
|
321
816
|
*/
|
|
322
817
|
getMergeableValueDiff(
|
|
323
|
-
|
|
818
|
+
otherValueHashes: ValueHashes<Schemas[1]>,
|
|
324
819
|
): ValuesStamp<Schemas[1]>;
|
|
325
820
|
|
|
326
821
|
/**
|
|
327
|
-
* The setMergeableContent method
|
|
822
|
+
* The setMergeableContent method sets the full content of a MergeableStore,
|
|
823
|
+
* together with the metadata required to make it mergeable with another.
|
|
824
|
+
*
|
|
825
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
826
|
+
*
|
|
827
|
+
* ```ts override
|
|
828
|
+
* setMergeableContent(mergeableContent: MergeableContent): MergeableStore;
|
|
829
|
+
* ```
|
|
830
|
+
*
|
|
831
|
+
* The method is generally intended to be used internally within TinyBase
|
|
832
|
+
* itself and the return type is assumed to be opaque to applications that use
|
|
833
|
+
* it.
|
|
834
|
+
* @param mergeableContent The full content and metadata of a MergeableStore.
|
|
835
|
+
* @returns A reference to the MergeableStore.
|
|
836
|
+
* @example
|
|
837
|
+
* This example creates a new MergeableStore and initializes it with
|
|
838
|
+
* the content and metadata from another.
|
|
839
|
+
*
|
|
840
|
+
* ```js
|
|
841
|
+
* import {createMergeableStore} from 'tinybase';
|
|
842
|
+
*
|
|
843
|
+
* const store1 = createMergeableStore('store1'); // !resetHlc
|
|
844
|
+
* store1.setValues({employees: 3});
|
|
845
|
+
* console.log(store1.getMergeableContent());
|
|
846
|
+
* // ->
|
|
847
|
+
* [
|
|
848
|
+
* [{}, '', 0],
|
|
849
|
+
* [{employees: [3, 'Nn1JUF-----FnHIC', 1940815977]}, '', 1260895905],
|
|
850
|
+
* ];
|
|
851
|
+
*
|
|
852
|
+
* const store2 = createMergeableStore('store2');
|
|
853
|
+
* store2.setMergeableContent(store1.getMergeableContent());
|
|
854
|
+
* console.log(store2.getMergeableContent());
|
|
855
|
+
* // ->
|
|
856
|
+
* [
|
|
857
|
+
* [{}, '', 0],
|
|
858
|
+
* [{employees: [3, 'Nn1JUF-----FnHIC', 1940815977]}, '', 1260895905],
|
|
859
|
+
* ];
|
|
860
|
+
* ```
|
|
328
861
|
* @category Setter
|
|
329
862
|
* @since v5.0.0
|
|
330
863
|
*/
|
|
@@ -333,21 +866,135 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
|
|
|
333
866
|
): MergeableStore<Schemas>;
|
|
334
867
|
|
|
335
868
|
/**
|
|
336
|
-
* The setDefaultContent method
|
|
869
|
+
* The setDefaultContent method sets initial content of a MergeableStore.
|
|
870
|
+
*
|
|
871
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
872
|
+
*
|
|
873
|
+
* ```ts override
|
|
874
|
+
* setDefaultContent(content: Content): MergeableStore;
|
|
875
|
+
* ```
|
|
876
|
+
*
|
|
877
|
+
* This differs from the setMergeableContent method in that all of the
|
|
878
|
+
* metadata is initialized with a empty HLC timestamp - meaning that any
|
|
879
|
+
* changes applied to it will 'win', yet ensuring that at least default,
|
|
880
|
+
* initial data exists.
|
|
881
|
+
*
|
|
882
|
+
* The method is generally intended to be used internally within TinyBase
|
|
883
|
+
* itself and the return type is assumed to be opaque to applications that use
|
|
884
|
+
* it.
|
|
885
|
+
* @param content An array containing the tabular and keyed-value data to be
|
|
886
|
+
* set.
|
|
887
|
+
* @returns A reference to the MergeableStore.
|
|
888
|
+
* @example
|
|
889
|
+
* This example creates a new MergeableStore with default data, and
|
|
890
|
+
* demonstrates that it is overwritten with another MergeableStore's data on
|
|
891
|
+
* merge, even if the other MergeableStore was provisioned earlier.
|
|
892
|
+
*
|
|
893
|
+
* ```js
|
|
894
|
+
* import {createMergeableStore} from 'tinybase';
|
|
895
|
+
*
|
|
896
|
+
* const store1 = createMergeableStore('store1'); // !resetHlc
|
|
897
|
+
* store1.setValues({employees: 3});
|
|
898
|
+
*
|
|
899
|
+
* const store2 = createMergeableStore('store2');
|
|
900
|
+
* store2.setDefaultContent([{}, {employees: 4}]);
|
|
901
|
+
* console.log(store2.getMergeableContent());
|
|
902
|
+
* // -> [[{}, "", 0], [{"employees": [4, "", 2414055963]}, "", 3035768673]]
|
|
903
|
+
* ```
|
|
904
|
+
*
|
|
905
|
+
* store2.merge(store1);
|
|
906
|
+
*
|
|
907
|
+
* console.log(store2.getContent());
|
|
908
|
+
* // -> [{}, {employees: 3}]
|
|
909
|
+
* ```
|
|
337
910
|
* @category Setter
|
|
338
911
|
* @since v5.0.0
|
|
339
912
|
*/
|
|
340
913
|
setDefaultContent(content: Content<Schemas>): MergeableStore<Schemas>;
|
|
341
914
|
|
|
342
915
|
/**
|
|
343
|
-
* The getTransactionMergeableChanges method
|
|
344
|
-
*
|
|
916
|
+
* The getTransactionMergeableChanges method returns the net meaningful
|
|
917
|
+
* changes that have been made to a MergeableStore during a transaction.
|
|
918
|
+
*
|
|
919
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
920
|
+
*
|
|
921
|
+
* ```ts override
|
|
922
|
+
* getTransactionMergeableChanges(): MergeableChanges;
|
|
923
|
+
* ```
|
|
924
|
+
*
|
|
925
|
+
* The method is generally intended to be used internally within TinyBase
|
|
926
|
+
* itself and the return type is assumed to be opaque to applications that use
|
|
927
|
+
* it.
|
|
928
|
+
* @returns A MergeableChanges object representing the changes.
|
|
929
|
+
* @example
|
|
930
|
+
* This example makes changes to the MergeableStore. At the end of the
|
|
931
|
+
* transaction, detail about what changed is enumerated.
|
|
932
|
+
*
|
|
933
|
+
* ```js
|
|
934
|
+
* import {createMergeableStore} from 'tinybase';
|
|
935
|
+
*
|
|
936
|
+
* const store = createMergeableStore('store1'); // !resetHlc
|
|
937
|
+
* store.setTables({pets: {fido: {species: 'dog', color: 'brown'}}});
|
|
938
|
+
* store.setValues({open: true});
|
|
939
|
+
*
|
|
940
|
+
* store
|
|
941
|
+
* .startTransaction()
|
|
942
|
+
* .setCell('pets', 'fido', 'color', 'black')
|
|
943
|
+
* .setValue('open', false)
|
|
944
|
+
* .finishTransaction(() => {
|
|
945
|
+
* console.log(store.getTransactionMergeableChanges());
|
|
946
|
+
* });
|
|
947
|
+
* // ->
|
|
948
|
+
* [
|
|
949
|
+
* [{pets: [{fido: [{color: ['black', 'Nn1JUF----2FnHIC']}]}]}],
|
|
950
|
+
* [{open: [false, 'Nn1JUF----3FnHIC']}],
|
|
951
|
+
* 1,
|
|
952
|
+
* ];
|
|
953
|
+
* ```
|
|
954
|
+
* @category Transaction
|
|
345
955
|
* @since v5.0.0
|
|
346
956
|
*/
|
|
347
957
|
getTransactionMergeableChanges(): MergeableChanges<Schemas>;
|
|
348
958
|
|
|
349
959
|
/**
|
|
350
|
-
* The applyMergeableChanges method
|
|
960
|
+
* The applyMergeableChanges method applies a set of mergeable changes or
|
|
961
|
+
* content to the MergeableStore.
|
|
962
|
+
*
|
|
963
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
964
|
+
*
|
|
965
|
+
* ```ts override
|
|
966
|
+
* applyMergeableChanges(
|
|
967
|
+
* mergeableChanges: MergeableChanges | MergeableContent,
|
|
968
|
+
* ): MergeableStore;
|
|
969
|
+
* ```
|
|
970
|
+
*
|
|
971
|
+
* The method is generally intended to be used internally within TinyBase
|
|
972
|
+
* itself and the return type is assumed to be opaque to applications that use
|
|
973
|
+
* it.
|
|
974
|
+
* @param mergeableChanges The MergeableChanges or MergeableContent to apply
|
|
975
|
+
* to the MergeableStore.
|
|
976
|
+
* @returns A reference to the MergeableStore.
|
|
977
|
+
* @example
|
|
978
|
+
* This example applies a MergeableChanges object that sets a Cell and removes
|
|
979
|
+
* a Value.
|
|
980
|
+
*
|
|
981
|
+
* ```js
|
|
982
|
+
* import {createMergeableStore} from 'tinybase';
|
|
983
|
+
*
|
|
984
|
+
* const store = createMergeableStore('store1')
|
|
985
|
+
* .setTables({pets: {fido: {species: 'dog', color: 'brown'}}})
|
|
986
|
+
* .setValues({open: true});
|
|
987
|
+
*
|
|
988
|
+
* store.applyMergeableChanges([
|
|
989
|
+
* [{pets: [{fido: [{color: ['black', 'Nn1JUF----2FnHIC']}]}]}],
|
|
990
|
+
* [{open: [null, 'Nn1JUF----3FnHIC']}],
|
|
991
|
+
* 1,
|
|
992
|
+
* ]);
|
|
993
|
+
* console.log(store.getTables());
|
|
994
|
+
* // -> {pets: {fido: {species: 'dog', color: 'black'}}}
|
|
995
|
+
* console.log(store.getValues());
|
|
996
|
+
* // -> {}
|
|
997
|
+
* ```
|
|
351
998
|
* @category Setter
|
|
352
999
|
* @since v5.0.0
|
|
353
1000
|
*/
|
|
@@ -356,7 +1003,94 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
|
|
|
356
1003
|
): MergeableStore<Schemas>;
|
|
357
1004
|
|
|
358
1005
|
/**
|
|
359
|
-
* The merge method
|
|
1006
|
+
* The merge method is a convenience method that applies the mergeable content
|
|
1007
|
+
* from two MergeableStores to each other in order to bring them to the same
|
|
1008
|
+
* state.
|
|
1009
|
+
*
|
|
1010
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
1011
|
+
*
|
|
1012
|
+
* ```ts override
|
|
1013
|
+
* merge(mergeableStore: MergeableStore): MergeableStore;
|
|
1014
|
+
* ```
|
|
1015
|
+
*
|
|
1016
|
+
* This method is symmetrical: applying `store1` to `store2` will have exactly
|
|
1017
|
+
* the same effect as applying `store2` to `store1`.
|
|
1018
|
+
* @param mergeableStore A reference to the other MergeableStore to merge with
|
|
1019
|
+
* this one.
|
|
1020
|
+
* @returns A reference to this MergeableStore.
|
|
1021
|
+
* @example
|
|
1022
|
+
* This example merges two MergeableStore objects together. Note how the final
|
|
1023
|
+
* part of the timestamps on each Cell give you a clue that the data comes
|
|
1024
|
+
* from changes made to different MergeableStore objects.
|
|
1025
|
+
*
|
|
1026
|
+
* ```js
|
|
1027
|
+
* import {createMergeableStore} from 'tinybase';
|
|
1028
|
+
*
|
|
1029
|
+
* const store1 = createMergeableStore('store1');
|
|
1030
|
+
* store1.setTables({pets: {fido: {species: 'dog', color: 'brown'}}});
|
|
1031
|
+
*
|
|
1032
|
+
* const store2 = createMergeableStore('store2');
|
|
1033
|
+
* store2.setTables({pets: {felix: {species: 'cat', color: 'tan'}}});
|
|
1034
|
+
*
|
|
1035
|
+
* store1.merge(store2);
|
|
1036
|
+
*
|
|
1037
|
+
* console.log(store1.getContent());
|
|
1038
|
+
* // ->
|
|
1039
|
+
* [
|
|
1040
|
+
* {
|
|
1041
|
+
* pets: {
|
|
1042
|
+
* felix: {color: 'tan', species: 'cat'},
|
|
1043
|
+
* fido: {color: 'brown', species: 'dog'},
|
|
1044
|
+
* },
|
|
1045
|
+
* },
|
|
1046
|
+
* {},
|
|
1047
|
+
* ];
|
|
1048
|
+
*
|
|
1049
|
+
* console.log(store2.getContent());
|
|
1050
|
+
* // ->
|
|
1051
|
+
* [
|
|
1052
|
+
* {
|
|
1053
|
+
* pets: {
|
|
1054
|
+
* felix: {color: 'tan', species: 'cat'},
|
|
1055
|
+
* fido: {color: 'brown', species: 'dog'},
|
|
1056
|
+
* },
|
|
1057
|
+
* },
|
|
1058
|
+
* {},
|
|
1059
|
+
* ];
|
|
1060
|
+
* console.log(store2.getMergeableContent());
|
|
1061
|
+
* // ->
|
|
1062
|
+
* [
|
|
1063
|
+
* [
|
|
1064
|
+
* {
|
|
1065
|
+
* pets: [
|
|
1066
|
+
* {
|
|
1067
|
+
* felix: [
|
|
1068
|
+
* {
|
|
1069
|
+
* color: ['tan', 'Nn1JUF----0CnH-J', 2576658292],
|
|
1070
|
+
* species: ['cat', 'Nn1JUF-----CnH-J', 3409607562],
|
|
1071
|
+
* },
|
|
1072
|
+
* '',
|
|
1073
|
+
* 4146239216,
|
|
1074
|
+
* ],
|
|
1075
|
+
* fido: [
|
|
1076
|
+
* {
|
|
1077
|
+
* color: ['brown', 'Nn1JUF----0FnHIC', 1240535355],
|
|
1078
|
+
* species: ['dog', 'Nn1JUF-----FnHIC', 290599168],
|
|
1079
|
+
* },
|
|
1080
|
+
* '',
|
|
1081
|
+
* 3989065420,
|
|
1082
|
+
* ],
|
|
1083
|
+
* },
|
|
1084
|
+
* '',
|
|
1085
|
+
* 4155188296,
|
|
1086
|
+
* ],
|
|
1087
|
+
* },
|
|
1088
|
+
* '',
|
|
1089
|
+
* 972931118,
|
|
1090
|
+
* ],
|
|
1091
|
+
* [{}, '', 0],
|
|
1092
|
+
* ];
|
|
1093
|
+
* ```
|
|
360
1094
|
* @category Setter
|
|
361
1095
|
* @since v5.0.0
|
|
362
1096
|
*/
|
|
@@ -587,7 +1321,114 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
|
|
|
587
1321
|
}
|
|
588
1322
|
|
|
589
1323
|
/**
|
|
590
|
-
* The createMergeableStore function
|
|
1324
|
+
* The createMergeableStore function creates a MergeableStore, and is the main
|
|
1325
|
+
* entry point into the mergeable-store module.
|
|
1326
|
+
*
|
|
1327
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
1328
|
+
*
|
|
1329
|
+
* ```ts override
|
|
1330
|
+
* createMergeableStore(uniqueId?: Id): MergeableStore;
|
|
1331
|
+
* ```
|
|
1332
|
+
*
|
|
1333
|
+
* There is one optional parameter which is a uniqueId for the MergeableStore.
|
|
1334
|
+
* This is used to distinguish conflicting changes made in the same millisecond
|
|
1335
|
+
* by two different MergeableStore objects as its hash is added to the end of
|
|
1336
|
+
* the HLC timestamps. Generally this can be omitted unless you have a need for
|
|
1337
|
+
* deterministic HLCs, such as in a testing scenario. Otherwise, TinyBase will
|
|
1338
|
+
* assign a unique Id to the Store at the time of creation.
|
|
1339
|
+
* @returns A reference to the new MergeableStore.
|
|
1340
|
+
* @example
|
|
1341
|
+
* This example creates a MergeableStore.
|
|
1342
|
+
*
|
|
1343
|
+
* ```js
|
|
1344
|
+
* import {createMergeableStore} from 'tinybase';
|
|
1345
|
+
*
|
|
1346
|
+
* const store = createMergeableStore('store1');
|
|
1347
|
+
*
|
|
1348
|
+
* console.log(store.getContent());
|
|
1349
|
+
* // -> [{}, {}]
|
|
1350
|
+
* console.log(store.getMergeableContent());
|
|
1351
|
+
* // -> [[{}, '', 0], [{}, '', 0]]
|
|
1352
|
+
* ```
|
|
1353
|
+
* @example
|
|
1354
|
+
* This example creates a MergeableStore with some initial data:
|
|
1355
|
+
*
|
|
1356
|
+
* ```js
|
|
1357
|
+
* import {createMergeableStore} from 'tinybase';
|
|
1358
|
+
*
|
|
1359
|
+
* const store = createMergeableStore('store1').setTables({
|
|
1360
|
+
* pets: {fido: {species: 'dog'}},
|
|
1361
|
+
* });
|
|
1362
|
+
*
|
|
1363
|
+
* console.log(store.getContent());
|
|
1364
|
+
* // -> [{pets: {fido: {species: 'dog'}}}, {}]
|
|
1365
|
+
* console.log(store.getMergeableContent());
|
|
1366
|
+
* // ->
|
|
1367
|
+
* [
|
|
1368
|
+
* [
|
|
1369
|
+
* {
|
|
1370
|
+
* pets: [
|
|
1371
|
+
* {
|
|
1372
|
+
* fido: [
|
|
1373
|
+
* {species: ['dog', 'Nn1JUF-----FnHIC', 290599168]},
|
|
1374
|
+
* '',
|
|
1375
|
+
* 2682656941,
|
|
1376
|
+
* ],
|
|
1377
|
+
* },
|
|
1378
|
+
* '',
|
|
1379
|
+
* 2102515304,
|
|
1380
|
+
* ],
|
|
1381
|
+
* },
|
|
1382
|
+
* '',
|
|
1383
|
+
* 3506229770,
|
|
1384
|
+
* ],
|
|
1385
|
+
* [{}, '', 0],
|
|
1386
|
+
* ];
|
|
1387
|
+
* ```
|
|
1388
|
+
* @example
|
|
1389
|
+
* This example creates a MergeableStore with some initial data and a
|
|
1390
|
+
* TablesSchema:
|
|
1391
|
+
*
|
|
1392
|
+
* ```js
|
|
1393
|
+
* import {createMergeableStore} from 'tinybase';
|
|
1394
|
+
*
|
|
1395
|
+
* const store = createMergeableStore('store1')
|
|
1396
|
+
* .setTables({pets: {fido: {species: 'dog'}}})
|
|
1397
|
+
* .setTablesSchema({
|
|
1398
|
+
* pets: {
|
|
1399
|
+
* species: {type: 'string'},
|
|
1400
|
+
* sold: {type: 'boolean', default: false},
|
|
1401
|
+
* },
|
|
1402
|
+
* });
|
|
1403
|
+
*
|
|
1404
|
+
* console.log(store.getContent());
|
|
1405
|
+
* // -> [{pets: {fido: {sold: false, species: 'dog'}}}, {}]
|
|
1406
|
+
* console.log(store.getMergeableContent());
|
|
1407
|
+
* // ->
|
|
1408
|
+
* [
|
|
1409
|
+
* [
|
|
1410
|
+
* {
|
|
1411
|
+
* pets: [
|
|
1412
|
+
* {
|
|
1413
|
+
* fido: [
|
|
1414
|
+
* {
|
|
1415
|
+
* sold: [false, 'Nn1JUF----2FnHIC', 2603026204],
|
|
1416
|
+
* species: ['dog', 'Nn1JUF----1FnHIC', 2817056260],
|
|
1417
|
+
* },
|
|
1418
|
+
* '',
|
|
1419
|
+
* 2859424112,
|
|
1420
|
+
* ],
|
|
1421
|
+
* },
|
|
1422
|
+
* '',
|
|
1423
|
+
* 1640515891,
|
|
1424
|
+
* ],
|
|
1425
|
+
* },
|
|
1426
|
+
* '',
|
|
1427
|
+
* 2077041985,
|
|
1428
|
+
* ],
|
|
1429
|
+
* [{}, '', 0],
|
|
1430
|
+
* ];
|
|
1431
|
+
* ```
|
|
591
1432
|
* @category Creation
|
|
592
1433
|
* @since v5.0.0
|
|
593
1434
|
*/
|