tinybase 5.0.0-beta.25 → 5.0.0-beta.27
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 +221 -82
- package/@types/persisters/index.d.ts +221 -82
- package/@types/persisters/persister-automerge/index.d.cts +11 -7
- package/@types/persisters/persister-automerge/index.d.ts +11 -7
- package/@types/persisters/persister-automerge/with-schemas/index.d.cts +11 -7
- package/@types/persisters/persister-automerge/with-schemas/index.d.ts +11 -7
- package/@types/persisters/persister-browser/index.d.cts +25 -16
- package/@types/persisters/persister-browser/index.d.ts +25 -16
- package/@types/persisters/persister-browser/with-schemas/index.d.cts +23 -16
- package/@types/persisters/persister-browser/with-schemas/index.d.ts +23 -16
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +10 -7
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +10 -7
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +10 -7
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +10 -7
- package/@types/persisters/persister-electric-sql/index.d.cts +10 -7
- package/@types/persisters/persister-electric-sql/index.d.ts +10 -7
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +10 -7
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +10 -7
- package/@types/persisters/persister-expo-sqlite/index.d.cts +15 -10
- package/@types/persisters/persister-expo-sqlite/index.d.ts +15 -10
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +14 -9
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +14 -9
- package/@types/persisters/persister-file/index.d.cts +13 -8
- package/@types/persisters/persister-file/index.d.ts +13 -8
- package/@types/persisters/persister-file/with-schemas/index.d.cts +12 -8
- package/@types/persisters/persister-file/with-schemas/index.d.ts +12 -8
- package/@types/persisters/persister-indexed-db/index.d.cts +10 -6
- package/@types/persisters/persister-indexed-db/index.d.ts +10 -6
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +10 -6
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +10 -6
- package/@types/persisters/persister-libsql/index.d.cts +10 -6
- package/@types/persisters/persister-libsql/index.d.ts +10 -6
- package/@types/persisters/persister-libsql/with-schemas/index.d.cts +10 -6
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +10 -6
- package/@types/persisters/persister-partykit-client/index.d.cts +14 -9
- package/@types/persisters/persister-partykit-client/index.d.ts +14 -9
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +14 -9
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +14 -9
- 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-powersync/index.d.cts +12 -7
- package/@types/persisters/persister-powersync/index.d.ts +12 -7
- package/@types/persisters/persister-powersync/with-schemas/index.d.cts +12 -7
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +12 -7
- package/@types/persisters/persister-remote/index.d.cts +11 -8
- package/@types/persisters/persister-remote/index.d.ts +11 -8
- package/@types/persisters/persister-remote/with-schemas/index.d.cts +11 -8
- package/@types/persisters/persister-remote/with-schemas/index.d.ts +11 -8
- package/@types/persisters/persister-sqlite-wasm/index.d.cts +15 -9
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +15 -9
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +14 -8
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +14 -8
- package/@types/persisters/persister-sqlite3/index.d.cts +15 -9
- package/@types/persisters/persister-sqlite3/index.d.ts +15 -9
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +14 -8
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +14 -8
- package/@types/persisters/persister-yjs/index.d.cts +11 -6
- package/@types/persisters/persister-yjs/index.d.ts +11 -6
- package/@types/persisters/persister-yjs/with-schemas/index.d.cts +11 -6
- package/@types/persisters/persister-yjs/with-schemas/index.d.ts +11 -6
- package/@types/persisters/with-schemas/index.d.cts +266 -94
- package/@types/persisters/with-schemas/index.d.ts +266 -94
- package/@types/queries/index.d.cts +6 -10
- package/@types/queries/index.d.ts +6 -10
- package/@types/queries/with-schemas/index.d.cts +6 -10
- package/@types/queries/with-schemas/index.d.ts +6 -10
- 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 +351 -39
- package/@types/synchronizers/index.d.ts +351 -39
- package/@types/synchronizers/synchronizer-local/index.d.cts +62 -2
- package/@types/synchronizers/synchronizer-local/index.d.ts +62 -2
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +77 -2
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +77 -2
- package/@types/synchronizers/synchronizer-ws-client/index.d.cts +49 -2
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +49 -2
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +49 -2
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +49 -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 +354 -39
- package/@types/synchronizers/with-schemas/index.d.ts +354 -39
- 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 +63 -51
- 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/metrics/index.cjs +1 -1
- package/cjs/es6/min/metrics/index.cjs.gz +0 -0
- package/cjs/es6/min/metrics/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/metrics/with-schemas/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/queries/index.cjs +1 -1
- package/cjs/es6/min/queries/index.cjs.gz +0 -0
- package/cjs/es6/min/queries/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/queries/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/index.cjs +1 -1
- package/cjs/es6/min/ui-react/index.cjs.gz +0 -0
- package/cjs/es6/min/ui-react/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/ui-react/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 +68 -57
- package/cjs/es6/synchronizers/synchronizer-local/index.cjs +70 -60
- package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +70 -60
- package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +67 -57
- package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +67 -57
- package/cjs/es6/synchronizers/with-schemas/index.cjs +68 -57
- package/cjs/es6/ui-react/index.cjs +137 -75
- package/cjs/es6/ui-react/with-schemas/index.cjs +137 -75
- 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 +63 -51
- package/cjs/index.cjs +63 -51
- 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/metrics/index.cjs +1 -1
- package/cjs/min/metrics/index.cjs.gz +0 -0
- package/cjs/min/metrics/with-schemas/index.cjs +1 -1
- package/cjs/min/metrics/with-schemas/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/queries/index.cjs +1 -1
- package/cjs/min/queries/index.cjs.gz +0 -0
- package/cjs/min/queries/with-schemas/index.cjs +1 -1
- package/cjs/min/queries/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/index.cjs +1 -1
- package/cjs/min/ui-react/index.cjs.gz +0 -0
- package/cjs/min/ui-react/with-schemas/index.cjs +1 -1
- package/cjs/min/ui-react/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 +61 -50
- package/cjs/synchronizers/synchronizer-local/index.cjs +63 -58
- package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +63 -58
- package/cjs/synchronizers/synchronizer-ws-client/index.cjs +60 -50
- package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +60 -50
- package/cjs/synchronizers/with-schemas/index.cjs +61 -50
- package/cjs/ui-react/index.cjs +139 -74
- package/cjs/ui-react/with-schemas/index.cjs +139 -74
- 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 +63 -51
- package/es6/index.js +63 -51
- 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/metrics/index.js +1 -1
- package/es6/min/metrics/index.js.gz +0 -0
- package/es6/min/metrics/with-schemas/index.js +1 -1
- package/es6/min/metrics/with-schemas/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/queries/index.js +1 -1
- package/es6/min/queries/index.js.gz +0 -0
- package/es6/min/queries/with-schemas/index.js +1 -1
- package/es6/min/queries/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/index.js +1 -1
- package/es6/min/ui-react/index.js.gz +0 -0
- package/es6/min/ui-react/with-schemas/index.js +1 -1
- package/es6/min/ui-react/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 +68 -58
- package/es6/synchronizers/synchronizer-local/index.js +70 -60
- package/es6/synchronizers/synchronizer-local/with-schemas/index.js +70 -60
- package/es6/synchronizers/synchronizer-ws-client/index.js +67 -57
- package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +67 -57
- package/es6/synchronizers/with-schemas/index.js +68 -58
- package/es6/ui-react/index.js +137 -75
- package/es6/ui-react/with-schemas/index.js +137 -75
- 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 +63 -51
- package/index.js +63 -51
- 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/metrics/index.js +1 -1
- package/min/metrics/index.js.gz +0 -0
- package/min/metrics/with-schemas/index.js +1 -1
- package/min/metrics/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-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/queries/index.js +1 -1
- package/min/queries/index.js.gz +0 -0
- package/min/queries/with-schemas/index.js +1 -1
- package/min/queries/with-schemas/index.js.gz +0 -0
- package/min/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/index.js +1 -1
- package/min/ui-react/index.js.gz +0 -0
- package/min/ui-react/with-schemas/index.js +1 -1
- package/min/ui-react/with-schemas/index.js.gz +0 -0
- package/min/ui-react-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 +9 -9
- 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 +2 -2
- package/releases.md +4 -4
- package/synchronizers/index.js +61 -51
- package/synchronizers/synchronizer-local/index.js +63 -58
- package/synchronizers/synchronizer-local/with-schemas/index.js +63 -58
- package/synchronizers/synchronizer-ws-client/index.js +60 -50
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +60 -50
- package/synchronizers/with-schemas/index.js +61 -51
- package/ui-react/index.js +139 -74
- package/ui-react/with-schemas/index.js +139 -74
- package/ui-react-inspector/index.js +11 -6
- package/ui-react-inspector/with-schemas/index.js +11 -6
- package/umd/es6/index.js +67 -51
- 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/metrics/index.js +1 -1
- package/umd/es6/min/metrics/index.js.gz +0 -0
- package/umd/es6/min/metrics/with-schemas/index.js +1 -1
- package/umd/es6/min/metrics/with-schemas/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/queries/index.js +1 -1
- package/umd/es6/min/queries/index.js.gz +0 -0
- package/umd/es6/min/queries/with-schemas/index.js +1 -1
- package/umd/es6/min/queries/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/index.js +1 -1
- package/umd/es6/min/ui-react/index.js.gz +0 -0
- package/umd/es6/min/ui-react/with-schemas/index.js +1 -1
- package/umd/es6/min/ui-react/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 +71 -57
- package/umd/es6/synchronizers/synchronizer-local/index.js +73 -60
- package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +73 -60
- package/umd/es6/synchronizers/synchronizer-ws-client/index.js +70 -57
- package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +70 -57
- package/umd/es6/synchronizers/with-schemas/index.js +71 -57
- package/umd/es6/ui-react/index.js +135 -72
- package/umd/es6/ui-react/with-schemas/index.js +135 -72
- 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 +67 -51
- package/umd/index.js +66 -55
- 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/metrics/index.js +1 -1
- package/umd/min/metrics/index.js.gz +0 -0
- package/umd/min/metrics/with-schemas/index.js +1 -1
- package/umd/min/metrics/with-schemas/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/queries/index.js +1 -1
- package/umd/min/queries/index.js.gz +0 -0
- package/umd/min/queries/with-schemas/index.js +1 -1
- package/umd/min/queries/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/index.js +1 -1
- package/umd/min/ui-react/index.js.gz +0 -0
- package/umd/min/ui-react/with-schemas/index.js +1 -1
- package/umd/min/ui-react/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 +64 -54
- package/umd/synchronizers/synchronizer-local/index.js +66 -62
- package/umd/synchronizers/synchronizer-local/with-schemas/index.js +66 -62
- package/umd/synchronizers/synchronizer-ws-client/index.js +63 -54
- package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +63 -54
- package/umd/synchronizers/with-schemas/index.js +64 -54
- package/umd/ui-react/index.js +140 -71
- package/umd/ui-react/with-schemas/index.js +140 -71
- 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 +66 -55
- package/with-schemas/index.js +63 -51
|
@@ -65,10 +65,15 @@ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
|
65
65
|
return mapGet(map, key);
|
|
66
66
|
};
|
|
67
67
|
|
|
68
|
+
const Persists = {
|
|
69
|
+
StoreOnly: 1,
|
|
70
|
+
MergeableStoreOnly: 2,
|
|
71
|
+
StoreOrMergeableStore: 3,
|
|
72
|
+
};
|
|
68
73
|
const scheduleRunning = mapNew();
|
|
69
74
|
const scheduleActions = mapNew();
|
|
70
|
-
const getStoreFunctions = (
|
|
71
|
-
|
|
75
|
+
const getStoreFunctions = (persist = Persists.StoreOnly, store) =>
|
|
76
|
+
persist != Persists.StoreOnly && store.isMergeable()
|
|
72
77
|
? [
|
|
73
78
|
1,
|
|
74
79
|
store.getMergeableContent,
|
|
@@ -77,7 +82,7 @@ const getStoreFunctions = (supportedStoreType = 1, store) =>
|
|
|
77
82
|
!objIsEmpty(changedTables) || !objIsEmpty(changedValues),
|
|
78
83
|
store.setDefaultContent,
|
|
79
84
|
]
|
|
80
|
-
:
|
|
85
|
+
: persist != Persists.MergeableStoreOnly
|
|
81
86
|
? [
|
|
82
87
|
0,
|
|
83
88
|
store.getContent,
|
|
@@ -94,7 +99,7 @@ const createCustomPersister = (
|
|
|
94
99
|
addPersisterListener,
|
|
95
100
|
delPersisterListener,
|
|
96
101
|
onIgnoredError,
|
|
97
|
-
|
|
102
|
+
persist,
|
|
98
103
|
extra = {},
|
|
99
104
|
scheduleId = [],
|
|
100
105
|
) => {
|
|
@@ -112,7 +117,7 @@ const createCustomPersister = (
|
|
|
112
117
|
getChanges,
|
|
113
118
|
hasChanges,
|
|
114
119
|
setDefaultContent,
|
|
115
|
-
] = getStoreFunctions(
|
|
120
|
+
] = getStoreFunctions(persist, store);
|
|
116
121
|
const run = async () => {
|
|
117
122
|
/* istanbul ignore else */
|
|
118
123
|
if (!mapGet(scheduleRunning, scheduleId)) {
|
|
@@ -410,7 +415,7 @@ const createYjsPersister = (
|
|
|
410
415
|
addPersisterListener,
|
|
411
416
|
delPersisterListener,
|
|
412
417
|
onIgnoredError,
|
|
413
|
-
|
|
418
|
+
Persists.StoreOnly,
|
|
414
419
|
{getYDoc: () => yDoc},
|
|
415
420
|
);
|
|
416
421
|
};
|
|
@@ -65,10 +65,15 @@ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
|
65
65
|
return mapGet(map, key);
|
|
66
66
|
};
|
|
67
67
|
|
|
68
|
+
const Persists = {
|
|
69
|
+
StoreOnly: 1,
|
|
70
|
+
MergeableStoreOnly: 2,
|
|
71
|
+
StoreOrMergeableStore: 3,
|
|
72
|
+
};
|
|
68
73
|
const scheduleRunning = mapNew();
|
|
69
74
|
const scheduleActions = mapNew();
|
|
70
|
-
const getStoreFunctions = (
|
|
71
|
-
|
|
75
|
+
const getStoreFunctions = (persist = Persists.StoreOnly, store) =>
|
|
76
|
+
persist != Persists.StoreOnly && store.isMergeable()
|
|
72
77
|
? [
|
|
73
78
|
1,
|
|
74
79
|
store.getMergeableContent,
|
|
@@ -77,7 +82,7 @@ const getStoreFunctions = (supportedStoreType = 1, store) =>
|
|
|
77
82
|
!objIsEmpty(changedTables) || !objIsEmpty(changedValues),
|
|
78
83
|
store.setDefaultContent,
|
|
79
84
|
]
|
|
80
|
-
:
|
|
85
|
+
: persist != Persists.MergeableStoreOnly
|
|
81
86
|
? [
|
|
82
87
|
0,
|
|
83
88
|
store.getContent,
|
|
@@ -94,7 +99,7 @@ const createCustomPersister = (
|
|
|
94
99
|
addPersisterListener,
|
|
95
100
|
delPersisterListener,
|
|
96
101
|
onIgnoredError,
|
|
97
|
-
|
|
102
|
+
persist,
|
|
98
103
|
extra = {},
|
|
99
104
|
scheduleId = [],
|
|
100
105
|
) => {
|
|
@@ -112,7 +117,7 @@ const createCustomPersister = (
|
|
|
112
117
|
getChanges,
|
|
113
118
|
hasChanges,
|
|
114
119
|
setDefaultContent,
|
|
115
|
-
] = getStoreFunctions(
|
|
120
|
+
] = getStoreFunctions(persist, store);
|
|
116
121
|
const run = async () => {
|
|
117
122
|
/* istanbul ignore else */
|
|
118
123
|
if (!mapGet(scheduleRunning, scheduleId)) {
|
|
@@ -410,7 +415,7 @@ const createYjsPersister = (
|
|
|
410
415
|
addPersisterListener,
|
|
411
416
|
delPersisterListener,
|
|
412
417
|
onIgnoredError,
|
|
413
|
-
|
|
418
|
+
Persists.StoreOnly,
|
|
414
419
|
{getYDoc: () => yDoc},
|
|
415
420
|
);
|
|
416
421
|
};
|
|
@@ -42,10 +42,15 @@ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
|
42
42
|
return mapGet(map, key);
|
|
43
43
|
};
|
|
44
44
|
|
|
45
|
+
const Persists = {
|
|
46
|
+
StoreOnly: 1,
|
|
47
|
+
MergeableStoreOnly: 2,
|
|
48
|
+
StoreOrMergeableStore: 3,
|
|
49
|
+
};
|
|
45
50
|
const scheduleRunning = mapNew();
|
|
46
51
|
const scheduleActions = mapNew();
|
|
47
|
-
const getStoreFunctions = (
|
|
48
|
-
|
|
52
|
+
const getStoreFunctions = (persist = Persists.StoreOnly, store) =>
|
|
53
|
+
persist != Persists.StoreOnly && store.isMergeable()
|
|
49
54
|
? [
|
|
50
55
|
1,
|
|
51
56
|
store.getMergeableContent,
|
|
@@ -54,7 +59,7 @@ const getStoreFunctions = (supportedStoreType = 1, store) =>
|
|
|
54
59
|
!objIsEmpty(changedTables) || !objIsEmpty(changedValues),
|
|
55
60
|
store.setDefaultContent,
|
|
56
61
|
]
|
|
57
|
-
:
|
|
62
|
+
: persist != Persists.MergeableStoreOnly
|
|
58
63
|
? [
|
|
59
64
|
0,
|
|
60
65
|
store.getContent,
|
|
@@ -71,7 +76,7 @@ const createCustomPersister = (
|
|
|
71
76
|
addPersisterListener,
|
|
72
77
|
delPersisterListener,
|
|
73
78
|
onIgnoredError,
|
|
74
|
-
|
|
79
|
+
persist,
|
|
75
80
|
extra = {},
|
|
76
81
|
scheduleId = [],
|
|
77
82
|
) => {
|
|
@@ -89,7 +94,7 @@ const createCustomPersister = (
|
|
|
89
94
|
getChanges,
|
|
90
95
|
hasChanges,
|
|
91
96
|
setDefaultContent,
|
|
92
|
-
] = getStoreFunctions(
|
|
97
|
+
] = getStoreFunctions(persist, store);
|
|
93
98
|
const run = async () => {
|
|
94
99
|
/* istanbul ignore else */
|
|
95
100
|
if (!mapGet(scheduleRunning, scheduleId)) {
|
|
@@ -219,4 +224,4 @@ const createCustomPersister = (
|
|
|
219
224
|
return objFreeze(persister);
|
|
220
225
|
};
|
|
221
226
|
|
|
222
|
-
export {createCustomPersister};
|
|
227
|
+
export {Persists, createCustomPersister};
|
package/readme.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2><p id="copy">Build blisteringly fast web apps that work both online and offline. Manage your state locally, synchronize it to the cloud when you need to, or even make it collaborative. But, most importantly... have fun building stuff again!</p></section><p><a href="https://beta.tinybase.org/guides/releases/#v5-0"><em>NEW!</em> v5.0 release</a> <span id="one-with">"The One You Can Sync"</span></p><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><ul><li>Manage <a href="#start-with-a-simple-key-value-store">key-value data</a>, <a href="#level-up-to-use-tabular-data">tabular data</a> - or both - with optional <a href="#apply-schemas-to-tables-values">schematization</a> to model your app's data structures.</li><li><a href="#register-granular-listeners">Flexibly reactive</a> to reconciled updates, so you only spend rendering cycles on things that change.</li><li><a href="#build-complex-queries-with-tinyql">Powerful query engine</a> to select, join, filter, group, sort and paginate data - reactively - and without SQL.</li><li>Built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, <a href="#model-table-relationships">tabular relationships</a> - and even an <a href="#set-checkpoints-for-an-undo-stack">undo stack</a> for your app state.</li><li>Create <a href="#type-definitions-orm-like-apis">type definitions & ORM-like APIs</a>, from schema or inference. <a href="#an-inspector-for-your-data">Inspect your data</a> (<em>new!</em>) directly in the browser.</li><li>Easily <a href="#persist-to-storage-sqlite-crdts">sync your data</a> to browser <a href="https://beta.tinybase.org/api/persister-browser">storage</a>, <a href="https://beta.tinybase.org/api/persister-indexed-db/">IndexedDB</a>, <a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence/">SQLite</a>, <a href="https://beta.tinybase.org/guides/schemas-and-persistence/synchronizing-data/">CRDTs</a>; and (<em>new!</em>) <a href="https://beta.tinybase.org/api/persister-partykit-client/">PartyKit</a> and <a href="https://electric-sql.com/">ElectricSQL</a>.</li><li>Optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and (<em>new!</em>) <a href="#pre-built-reactive-components">pre-built components</a> that let you easily build fully reactive user interfaces.</li><li>Tiny by name, tiny by nature: <a href="#did-we-say-tiny">5.3kB - 12.
|
|
1
|
+
<section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2><p id="copy">Build blisteringly fast web apps that work both online and offline. Manage your state locally, synchronize it to the cloud when you need to, or even make it collaborative. But, most importantly... have fun building stuff again!</p></section><p><a href="https://beta.tinybase.org/guides/releases/#v5-0"><em>NEW!</em> v5.0 release</a> <span id="one-with">"The One You Can Sync"</span></p><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><ul><li>Manage <a href="#start-with-a-simple-key-value-store">key-value data</a>, <a href="#level-up-to-use-tabular-data">tabular data</a> - or both - with optional <a href="#apply-schemas-to-tables-values">schematization</a> to model your app's data structures.</li><li><a href="#register-granular-listeners">Flexibly reactive</a> to reconciled updates, so you only spend rendering cycles on things that change.</li><li><a href="#build-complex-queries-with-tinyql">Powerful query engine</a> to select, join, filter, group, sort and paginate data - reactively - and without SQL.</li><li>Built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, <a href="#model-table-relationships">tabular relationships</a> - and even an <a href="#set-checkpoints-for-an-undo-stack">undo stack</a> for your app state.</li><li>Create <a href="#type-definitions-orm-like-apis">type definitions & ORM-like APIs</a>, from schema or inference. <a href="#an-inspector-for-your-data">Inspect your data</a> (<em>new!</em>) directly in the browser.</li><li>Easily <a href="#persist-to-storage-sqlite-crdts">sync your data</a> to browser <a href="https://beta.tinybase.org/api/persister-browser">storage</a>, <a href="https://beta.tinybase.org/api/persister-indexed-db/">IndexedDB</a>, <a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence/">SQLite</a>, <a href="https://beta.tinybase.org/guides/schemas-and-persistence/synchronizing-data/">CRDTs</a>; and (<em>new!</em>) <a href="https://beta.tinybase.org/api/persister-partykit-client/">PartyKit</a> and <a href="https://electric-sql.com/">ElectricSQL</a>.</li><li>Optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and (<em>new!</em>) <a href="#pre-built-reactive-components">pre-built components</a> that let you easily build fully reactive user interfaces.</li><li>Tiny by name, tiny by nature: <a href="#did-we-say-tiny">5.3kB - 12.7kB</a>, no dependencies. <a href="#well-tested-and-documented">100% tested</a>, <a href="https://beta.tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</li></ul><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends!</h2><div><a href="https://beta.tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://beta.tinybase.org/react.svg"> React</a></div><div><a href="https://beta.tinybase.org/api/persister-partykit-client"><img width="48" src="https://beta.tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/expo.svg">Expo SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/electric.svg">ElectricSQL</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/turso.svg">Turso</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/powersync.svg">PowerSync</a></div><div><a href="https://beta.tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://beta.tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://beta.tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://beta.tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://beta.tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://beta.tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://beta.tinybase.org/api/persister-automerge"><img width="48" src="https://beta.tinybase.org/automerge.svg"> Automerge</a></div></section><hr><section id="follow"><a href="https://github.com/tinyplex/tinybase" target="_blank"><img src="https://img.shields.io/github/stars/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=GitHub&labelColor=%23d81b60&color=%23333"> </a><a href="https://discord.com/invite/mGz3mevwP8" target="_blank"><img src="https://img.shields.io/discord/1027918215323590676?style=for-the-badge&logo=discord&logoColor=%23fff&label=Discord&labelColor=%233131e8&color=%23333"> </a><a href="https://twitter.com/tinybasejs" target="_blank"><img src="https://img.shields.io/twitter/follow/tinybasejs?style=for-the-badge&logo=x&logoColor=%23fff&label=Twitter&labelColor=%23333&color=%23333"></a><br><a href="https://github.com/tinyplex/tinybase/discussions" target="_blank"><img src="https://img.shields.io/github/discussions/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=Ideas&labelColor=%23d81b60&color=%23333"> </a><a href="https://github.com/tinyplex/tinybase/issues" target="_blank"><img src="https://img.shields.io/github/issues/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=Issues&labelColor=%23d81b60&color=%23333"> </a><a href="#well-tested-and-documented"><img src="https://img.shields.io/badge/Tests-100%25-green?style=for-the-badge&logo=jest&logoColor=%23fff&color=%23333&labelColor=%2387c305"> </a><a href="https://www.npmjs.com/package/tinybase/v/5.0.0-beta.27" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&logo=npm&logoColor=%23fff&labelColor=%23bd0005&color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://beta.tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://beta.tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://beta.tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://beta.tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
|
|
2
2
|
|
|
3
3
|
```js
|
|
4
4
|
import {createStore} from 'tinybase';
|
|
@@ -265,4 +265,4 @@ export const createShop: typeof createShopDecl = () => {
|
|
|
265
265
|
};
|
|
266
266
|
```
|
|
267
267
|
|
|
268
|
-
<section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://beta.tinybase.org/api/store/"><code>store</code></a> module alone, you'll only add a gzipped <em>5.3kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>12.6kB</em>.</p><p>The optional <a href="https://beta.tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just <em>4.6kB</em>, the ui-react-dom components are another <em>2.5kB</em>, and everything is super fast. Life's easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th> </th><th>Minified .js.gz</th><th>Source .js</th></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/store/">tinybase/store</a> (minimal)</th><td>5.3kB</td><td>52.3kB</td></tr><tr><th class="right">tinybase (complete)</th><td>12.6kB</td><td>129.6kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/ui-react/">ui-react</a></th><td>4.6kB</td><td>47.2kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.5kB</td><td>20.4kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>2,376</td><td>2,376</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,560</td><td>2,560</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>1,000</td><td>1,000</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>951</td><td>951</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">6,720</td></tr><tr><th class="right">Assertions</th><td colspan="3">31,385</td></tr></tbody></table></div><hr><section id="sponsors"><h2 id="proud-to-be-sponsored-by">Proud to be sponsored by:</h2><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/beekeeb" target="_blank"><img title="beekeeb" src="https://github.com/beekeeb.png?size=48" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img title="cancelself" src="https://github.com/cancelself.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img title="arpitBhalla" src="https://github.com/arpitBhalla.png?size=48" width="48" height="48"></a></section><section id="users"><h2 id="excited-to-be-used-by">Excited to be used by:</h2><a href="https://github.com/Apocalypsor" target="_blank"><img title="Apocalypsor" src="https://github.com/Apocalypsor.png?size=48" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img title="brentvatne" src="https://github.com/brentvatne.png?size=48" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img title="circadian-risk" src="https://github.com/circadian-risk.png?size=48" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img title="cubecull" src="https://github.com/cubecull.png?size=48" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img title="erwinkn" src="https://github.com/erwinkn.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img title="ezra-en" src="https://github.com/ezra-en.png?size=48" width="48" height="48"></a><a href="https://github.com/fdfontes" target="_blank"><img title="fdfontes" src="https://github.com/fdfontes.png?size=48" width="48" height="48"></a><a href="https://github.com/feychenie" target="_blank"><img title="feychenie" src="https://github.com/feychenie.png?size=48" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img title="flaming-codes" src="https://github.com/flaming-codes.png?size=48" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img title="fostertheweb" src="https://github.com/fostertheweb.png?size=48" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img title="fostertheweb" src="https://github.com/fostertheweb.png?size=48" width="48" height="48"></a><a href="https://github.com/generates" target="_blank"><img title="generates" src="https://github.com/generates.png?size=48" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img title="Giulio987" src="https://github.com/Giulio987.png?size=48" width="48" height="48"></a><a href="https://github.com/itsdevcoffee" target="_blank"><img title="itsdevcoffee" src="https://github.com/itsdevcoffee.png?size=48" width="48" height="48"></a><a href="https://github.com/jaysc" target="_blank"><img title="jaysc" src="https://github.com/jaysc.png?size=48" width="48" height="48"></a><a href="https://github.com/jbolda" target="_blank"><img title="jbolda" src="https://github.com/jbolda.png?size=48" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img title="Kayoo-asso" src="https://github.com/Kayoo-asso.png?size=48" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img title="kotofurumiya" src="https://github.com/kotofurumiya.png?size=48" width="48" height="48"></a><a href="https://github.com/Kudo" target="_blank"><img title="Kudo" src="https://github.com/Kudo.png?size=48" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img title="learn-anything" src="https://github.com/learn-anything.png?size=48" width="48" height="48"></a><a href="https://github.com/lluc" target="_blank"><img title="lluc" src="https://github.com/lluc.png?size=48" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img title="marksteve" src="https://github.com/marksteve.png?size=48" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img title="miking-the-viking" src="https://github.com/miking-the-viking.png?size=48" width="48" height="48"></a><a href="https://github.com/mjamesderocher" target="_blank"><img title="mjamesderocher" src="https://github.com/mjamesderocher.png?size=48" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img title="nikitavoloboev" src="https://github.com/nikitavoloboev.png?size=48" width="48" height="48"></a><a href="https://github.com/palerdot" target="_blank"><img title="palerdot" src="https://github.com/palerdot.png?size=48" width="48" height="48"></a><a href="https://github.com/PorcoRosso85" target="_blank"><img title="PorcoRosso85" src="https://github.com/PorcoRosso85.png?size=48" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img title="shaneosullivan" src="https://github.com/shaneosullivan.png?size=48" width="48" height="48"></a><a href="https://github.com/sudo-self" target="_blank"><img title="sudo-self" src="https://github.com/sudo-self.png?size=48" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img title="SuperSonicHub1" src="https://github.com/SuperSonicHub1.png?size=48" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img title="threepointone" src="https://github.com/threepointone.png?size=48" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img title="uptonking" src="https://github.com/uptonking.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a></section><hr><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://beta.tinybase.org/youtube.webp"></a></section>
|
|
268
|
+
<section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://beta.tinybase.org/api/store/"><code>store</code></a> module alone, you'll only add a gzipped <em>5.3kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>12.7kB</em>.</p><p>The optional <a href="https://beta.tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just <em>4.6kB</em>, the ui-react-dom components are another <em>2.5kB</em>, and everything is super fast. Life's easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th> </th><th>Minified .js.gz</th><th>Source .js</th></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/store/">tinybase/store</a> (minimal)</th><td>5.3kB</td><td>52.3kB</td></tr><tr><th class="right">tinybase (complete)</th><td>12.7kB</td><td>129.8kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/ui-react/">ui-react</a></th><td>4.6kB</td><td>48.1kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.5kB</td><td>20.4kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>2,378</td><td>2,378</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,562</td><td>2,562</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>1,000</td><td>1,000</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>951</td><td>951</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">6,739</td></tr><tr><th class="right">Assertions</th><td colspan="3">31,433</td></tr></tbody></table></div><hr><section id="sponsors"><h2 id="proud-to-be-sponsored-by">Proud to be sponsored by:</h2><a href="https://github.com/cpojer" target="_blank"><img title="cpojer" src="https://github.com/cpojer.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/beekeeb" target="_blank"><img title="beekeeb" src="https://github.com/beekeeb.png?size=48" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img title="cancelself" src="https://github.com/cancelself.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img title="arpitBhalla" src="https://github.com/arpitBhalla.png?size=48" width="48" height="48"></a></section><section id="users"><h2 id="excited-to-be-used-by">Excited to be used by:</h2><a href="https://github.com/Apocalypsor" target="_blank"><img title="Apocalypsor" src="https://github.com/Apocalypsor.png?size=48" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img title="brentvatne" src="https://github.com/brentvatne.png?size=48" width="48" height="48"></a><a href="https://github.com/byCedric" target="_blank"><img title="byCedric" src="https://github.com/byCedric.png?size=48" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img title="circadian-risk" src="https://github.com/circadian-risk.png?size=48" width="48" height="48"></a><a href="https://github.com/cpojer" target="_blank"><img title="cpojer" src="https://github.com/cpojer.png?size=48" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img title="cubecull" src="https://github.com/cubecull.png?size=48" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img title="erwinkn" src="https://github.com/erwinkn.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img title="ezra-en" src="https://github.com/ezra-en.png?size=48" width="48" height="48"></a><a href="https://github.com/fdfontes" target="_blank"><img title="fdfontes" src="https://github.com/fdfontes.png?size=48" width="48" height="48"></a><a href="https://github.com/feychenie" target="_blank"><img title="feychenie" src="https://github.com/feychenie.png?size=48" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img title="flaming-codes" src="https://github.com/flaming-codes.png?size=48" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img title="fostertheweb" src="https://github.com/fostertheweb.png?size=48" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img title="fostertheweb" src="https://github.com/fostertheweb.png?size=48" width="48" height="48"></a><a href="https://github.com/generates" target="_blank"><img title="generates" src="https://github.com/generates.png?size=48" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img title="Giulio987" src="https://github.com/Giulio987.png?size=48" width="48" height="48"></a><a href="https://github.com/itsdevcoffee" target="_blank"><img title="itsdevcoffee" src="https://github.com/itsdevcoffee.png?size=48" width="48" height="48"></a><a href="https://github.com/jaysc" target="_blank"><img title="jaysc" src="https://github.com/jaysc.png?size=48" width="48" height="48"></a><a href="https://github.com/jbolda" target="_blank"><img title="jbolda" src="https://github.com/jbolda.png?size=48" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img title="Kayoo-asso" src="https://github.com/Kayoo-asso.png?size=48" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img title="kotofurumiya" src="https://github.com/kotofurumiya.png?size=48" width="48" height="48"></a><a href="https://github.com/Kudo" target="_blank"><img title="Kudo" src="https://github.com/Kudo.png?size=48" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img title="learn-anything" src="https://github.com/learn-anything.png?size=48" width="48" height="48"></a><a href="https://github.com/lluc" target="_blank"><img title="lluc" src="https://github.com/lluc.png?size=48" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img title="marksteve" src="https://github.com/marksteve.png?size=48" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img title="miking-the-viking" src="https://github.com/miking-the-viking.png?size=48" width="48" height="48"></a><a href="https://github.com/mjamesderocher" target="_blank"><img title="mjamesderocher" src="https://github.com/mjamesderocher.png?size=48" width="48" height="48"></a><a href="https://github.com/mouktardev" target="_blank"><img title="mouktardev" src="https://github.com/mouktardev.png?size=48" width="48" height="48"></a><a href="https://github.com/nickmessing" target="_blank"><img title="nickmessing" src="https://github.com/nickmessing.png?size=48" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img title="nikitavoloboev" src="https://github.com/nikitavoloboev.png?size=48" width="48" height="48"></a><a href="https://github.com/nkzw-tech" target="_blank"><img title="nkzw-tech" src="https://github.com/nkzw-tech.png?size=48" width="48" height="48"></a><a href="https://github.com/palerdot" target="_blank"><img title="palerdot" src="https://github.com/palerdot.png?size=48" width="48" height="48"></a><a href="https://github.com/PorcoRosso85" target="_blank"><img title="PorcoRosso85" src="https://github.com/PorcoRosso85.png?size=48" width="48" height="48"></a><a href="https://github.com/primodiumxyz" target="_blank"><img title="primodiumxyz" src="https://github.com/primodiumxyz.png?size=48" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img title="shaneosullivan" src="https://github.com/shaneosullivan.png?size=48" width="48" height="48"></a><a href="https://github.com/sudo-self" target="_blank"><img title="sudo-self" src="https://github.com/sudo-self.png?size=48" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img title="SuperSonicHub1" src="https://github.com/SuperSonicHub1.png?size=48" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img title="threepointone" src="https://github.com/threepointone.png?size=48" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img title="uptonking" src="https://github.com/uptonking.png?size=48" width="48" height="48"></a><a href="https://github.com/ViktorZhurbin" target="_blank"><img title="ViktorZhurbin" src="https://github.com/ViktorZhurbin.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a></section><hr><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://beta.tinybase.org/youtube.webp"></a></section>
|
package/releases.md
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
```js
|
|
4
4
|
import {createMergeableStore} from 'tinybase';
|
|
5
5
|
|
|
6
|
-
const localStore1 = createMergeableStore(
|
|
7
|
-
const localStore2 = createMergeableStore(
|
|
6
|
+
const localStore1 = createMergeableStore();
|
|
7
|
+
const localStore2 = createMergeableStore();
|
|
8
8
|
|
|
9
9
|
localStore1.setCell('pets', 'fido', 'color', 'brown');
|
|
10
10
|
localStore2.setCell('pets', 'felix', 'color', 'black');
|
|
@@ -29,7 +29,7 @@ import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-clien
|
|
|
29
29
|
const server = createWsServer(new WebSocketServer({port: 8043}));
|
|
30
30
|
|
|
31
31
|
// On the first client machine:
|
|
32
|
-
const store1 = createMergeableStore(
|
|
32
|
+
const store1 = createMergeableStore();
|
|
33
33
|
const synchronizer1 = await createWsSynchronizer(
|
|
34
34
|
store1,
|
|
35
35
|
new WebSocket('ws://localhost:8043'),
|
|
@@ -38,7 +38,7 @@ await synchronizer1.startSync();
|
|
|
38
38
|
store1.setCell('pets', 'fido', 'legs', 4);
|
|
39
39
|
|
|
40
40
|
// On the second client machine:
|
|
41
|
-
const store2 = createMergeableStore(
|
|
41
|
+
const store2 = createMergeableStore();
|
|
42
42
|
const synchronizer2 = await createWsSynchronizer(
|
|
43
43
|
store2,
|
|
44
44
|
new WebSocket('ws://localhost:8043'),
|
package/synchronizers/index.js
CHANGED
|
@@ -63,17 +63,15 @@ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
|
63
63
|
return mapGet(map, key);
|
|
64
64
|
};
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const stampNewObj = (time = EMPTY_STRING) => newStamp(objNew(), time);
|
|
72
|
-
|
|
66
|
+
const Persists = {
|
|
67
|
+
StoreOnly: 1,
|
|
68
|
+
MergeableStoreOnly: 2,
|
|
69
|
+
StoreOrMergeableStore: 3,
|
|
70
|
+
};
|
|
73
71
|
const scheduleRunning = mapNew();
|
|
74
72
|
const scheduleActions = mapNew();
|
|
75
|
-
const getStoreFunctions = (
|
|
76
|
-
|
|
73
|
+
const getStoreFunctions = (persist = Persists.StoreOnly, store) =>
|
|
74
|
+
persist != Persists.StoreOnly && store.isMergeable()
|
|
77
75
|
? [
|
|
78
76
|
1,
|
|
79
77
|
store.getMergeableContent,
|
|
@@ -82,7 +80,7 @@ const getStoreFunctions = (supportedStoreType = 1, store) =>
|
|
|
82
80
|
!objIsEmpty(changedTables) || !objIsEmpty(changedValues),
|
|
83
81
|
store.setDefaultContent,
|
|
84
82
|
]
|
|
85
|
-
:
|
|
83
|
+
: persist != Persists.MergeableStoreOnly
|
|
86
84
|
? [
|
|
87
85
|
0,
|
|
88
86
|
store.getContent,
|
|
@@ -99,7 +97,7 @@ const createCustomPersister = (
|
|
|
99
97
|
addPersisterListener,
|
|
100
98
|
delPersisterListener,
|
|
101
99
|
onIgnoredError,
|
|
102
|
-
|
|
100
|
+
persist,
|
|
103
101
|
extra = {},
|
|
104
102
|
scheduleId = [],
|
|
105
103
|
) => {
|
|
@@ -117,7 +115,7 @@ const createCustomPersister = (
|
|
|
117
115
|
getChanges,
|
|
118
116
|
hasChanges,
|
|
119
117
|
setDefaultContent,
|
|
120
|
-
] = getStoreFunctions(
|
|
118
|
+
] = getStoreFunctions(persist, store);
|
|
121
119
|
const run = async () => {
|
|
122
120
|
/* istanbul ignore else */
|
|
123
121
|
if (!mapGet(scheduleRunning, scheduleId)) {
|
|
@@ -247,6 +245,13 @@ const createCustomPersister = (
|
|
|
247
245
|
return objFreeze(persister);
|
|
248
246
|
};
|
|
249
247
|
|
|
248
|
+
new GLOBAL.TextEncoder();
|
|
249
|
+
|
|
250
|
+
const newStamp = (value, time) => (time ? [value, time] : [value]);
|
|
251
|
+
const getLatestTime = (time1, time2) =>
|
|
252
|
+
((time1 ?? '') > (time2 ?? '') ? time1 : time2) ?? '';
|
|
253
|
+
const stampNewObj = (time = EMPTY_STRING) => newStamp(objNew(), time);
|
|
254
|
+
|
|
250
255
|
const MASK6 = 63;
|
|
251
256
|
const ENCODE =
|
|
252
257
|
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'.split(
|
|
@@ -266,14 +271,16 @@ const getUniqueId = (length = 16) =>
|
|
|
266
271
|
'',
|
|
267
272
|
);
|
|
268
273
|
|
|
269
|
-
const
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
274
|
+
const Message = {
|
|
275
|
+
Response: 0,
|
|
276
|
+
GetContentHashes: 1,
|
|
277
|
+
ContentHashes: 2,
|
|
278
|
+
ContentDiff: 3,
|
|
279
|
+
GetTableDiff: 4,
|
|
280
|
+
GetRowDiff: 5,
|
|
281
|
+
GetCellDiff: 6,
|
|
282
|
+
GetValueDiff: 7,
|
|
283
|
+
};
|
|
277
284
|
const createCustomSynchronizer = (
|
|
278
285
|
store,
|
|
279
286
|
send,
|
|
@@ -287,51 +294,49 @@ const createCustomSynchronizer = (
|
|
|
287
294
|
let sends = 0;
|
|
288
295
|
let receives = 0;
|
|
289
296
|
const pendingRequests = mapNew();
|
|
290
|
-
onReceive((fromClientId, requestId,
|
|
297
|
+
onReceive((fromClientId, requestId, message, body) => {
|
|
291
298
|
receives++;
|
|
292
|
-
if (
|
|
299
|
+
if (message == Message.Response) {
|
|
293
300
|
ifNotUndefined(
|
|
294
301
|
mapGet(pendingRequests, requestId),
|
|
295
302
|
([toClientId, handleResponse]) =>
|
|
296
303
|
isUndefined(toClientId) || toClientId == fromClientId
|
|
297
|
-
? handleResponse(
|
|
304
|
+
? handleResponse(body, fromClientId)
|
|
298
305
|
: /* istanbul ignore next */
|
|
299
306
|
0,
|
|
300
307
|
);
|
|
301
|
-
} else if (
|
|
302
|
-
getChangesFromOtherStore(fromClientId,
|
|
308
|
+
} else if (message == Message.ContentHashes && persister.isAutoLoading()) {
|
|
309
|
+
getChangesFromOtherStore(fromClientId, body).then((changes) => {
|
|
303
310
|
persisterListener?.(void 0, changes);
|
|
304
311
|
});
|
|
305
|
-
} else if (
|
|
306
|
-
persisterListener?.(void 0,
|
|
312
|
+
} else if (message == Message.ContentDiff && persister.isAutoLoading()) {
|
|
313
|
+
persisterListener?.(void 0, body);
|
|
307
314
|
} else {
|
|
308
315
|
ifNotUndefined(
|
|
309
|
-
|
|
316
|
+
message == Message.GetContentHashes && persister.isAutoSaving()
|
|
310
317
|
? store.getMergeableContentHashes()
|
|
311
|
-
:
|
|
312
|
-
? store.getMergeableTableDiff(
|
|
313
|
-
:
|
|
314
|
-
? store.getMergeableRowDiff(
|
|
315
|
-
:
|
|
316
|
-
? store.getMergeableCellDiff(
|
|
317
|
-
:
|
|
318
|
-
? store.getMergeableValueDiff(
|
|
318
|
+
: message == Message.GetTableDiff
|
|
319
|
+
? store.getMergeableTableDiff(body)
|
|
320
|
+
: message == Message.GetRowDiff
|
|
321
|
+
? store.getMergeableRowDiff(body)
|
|
322
|
+
: message == Message.GetCellDiff
|
|
323
|
+
? store.getMergeableCellDiff(body)
|
|
324
|
+
: message == Message.GetValueDiff
|
|
325
|
+
? store.getMergeableValueDiff(body)
|
|
319
326
|
: void 0,
|
|
320
327
|
(response) => {
|
|
321
328
|
sends++;
|
|
322
|
-
send(fromClientId, requestId,
|
|
329
|
+
send(fromClientId, requestId, Message.Response, response);
|
|
323
330
|
},
|
|
324
331
|
);
|
|
325
332
|
}
|
|
326
333
|
});
|
|
327
|
-
const request = async (toClientId,
|
|
334
|
+
const request = async (toClientId, message, body = EMPTY_STRING) =>
|
|
328
335
|
promiseNew((resolve, reject) => {
|
|
329
336
|
const requestId = getUniqueId();
|
|
330
337
|
const timeout = setTimeout(() => {
|
|
331
338
|
collDel(pendingRequests, requestId);
|
|
332
|
-
reject(
|
|
333
|
-
`No response from ${toClientId ?? 'anyone'} to '${messageType}'`,
|
|
334
|
-
);
|
|
339
|
+
reject(`No response from ${toClientId ?? 'anyone'} to '${message}'`);
|
|
335
340
|
}, requestTimeoutSeconds * 1e3);
|
|
336
341
|
mapSet(pendingRequests, requestId, [
|
|
337
342
|
toClientId,
|
|
@@ -342,7 +347,7 @@ const createCustomSynchronizer = (
|
|
|
342
347
|
},
|
|
343
348
|
]);
|
|
344
349
|
sends++;
|
|
345
|
-
send(toClientId, requestId,
|
|
350
|
+
send(toClientId, requestId, message, body);
|
|
346
351
|
});
|
|
347
352
|
const mergeTablesStamps = (tablesStamp, [tableStamps2, tablesTime2]) => {
|
|
348
353
|
objForEach(tableStamps2, ([rowStamps2, tableTime2], tableId) => {
|
|
@@ -367,7 +372,7 @@ const createCustomSynchronizer = (
|
|
|
367
372
|
if (isUndefined(otherContentHashes)) {
|
|
368
373
|
[otherContentHashes, otherClientId] = await request(
|
|
369
374
|
otherClientId,
|
|
370
|
-
|
|
375
|
+
Message.GetContentHashes,
|
|
371
376
|
);
|
|
372
377
|
}
|
|
373
378
|
const [otherTablesHash, otherValuesHash] = otherContentHashes;
|
|
@@ -377,7 +382,7 @@ const createCustomSynchronizer = (
|
|
|
377
382
|
const [newTables, differentTableHashes] = (
|
|
378
383
|
await request(
|
|
379
384
|
otherClientId,
|
|
380
|
-
|
|
385
|
+
Message.GetTableDiff,
|
|
381
386
|
store.getMergeableTableHashes(),
|
|
382
387
|
)
|
|
383
388
|
)[0];
|
|
@@ -386,7 +391,7 @@ const createCustomSynchronizer = (
|
|
|
386
391
|
const [newRows, differentRowHashes] = (
|
|
387
392
|
await request(
|
|
388
393
|
otherClientId,
|
|
389
|
-
|
|
394
|
+
Message.GetRowDiff,
|
|
390
395
|
store.getMergeableRowHashes(differentTableHashes),
|
|
391
396
|
)
|
|
392
397
|
)[0];
|
|
@@ -395,7 +400,7 @@ const createCustomSynchronizer = (
|
|
|
395
400
|
const newCells = (
|
|
396
401
|
await request(
|
|
397
402
|
otherClientId,
|
|
398
|
-
|
|
403
|
+
Message.GetCellDiff,
|
|
399
404
|
store.getMergeableCellHashes(differentRowHashes),
|
|
400
405
|
)
|
|
401
406
|
)[0];
|
|
@@ -410,7 +415,7 @@ const createCustomSynchronizer = (
|
|
|
410
415
|
: (
|
|
411
416
|
await request(
|
|
412
417
|
otherClientId,
|
|
413
|
-
|
|
418
|
+
Message.GetValueDiff,
|
|
414
419
|
store.getMergeableValueHashes(),
|
|
415
420
|
)
|
|
416
421
|
)[0],
|
|
@@ -426,9 +431,14 @@ const createCustomSynchronizer = (
|
|
|
426
431
|
const setPersisted = async (_getContent, changes) => {
|
|
427
432
|
sends++;
|
|
428
433
|
if (changes) {
|
|
429
|
-
send(null, null,
|
|
434
|
+
send(null, null, Message.ContentDiff, changes);
|
|
430
435
|
} else {
|
|
431
|
-
send(
|
|
436
|
+
send(
|
|
437
|
+
null,
|
|
438
|
+
null,
|
|
439
|
+
Message.ContentHashes,
|
|
440
|
+
store.getMergeableContentHashes(),
|
|
441
|
+
);
|
|
432
442
|
}
|
|
433
443
|
};
|
|
434
444
|
const addPersisterListener = (listener) => (persisterListener = listener);
|
|
@@ -448,10 +458,10 @@ const createCustomSynchronizer = (
|
|
|
448
458
|
addPersisterListener,
|
|
449
459
|
delPersisterListener,
|
|
450
460
|
onIgnoredError,
|
|
451
|
-
|
|
461
|
+
Persists.MergeableStoreOnly,
|
|
452
462
|
{startSync, stopSync, destroy, getSynchronizerStats, ...extra},
|
|
453
463
|
);
|
|
454
464
|
return persister;
|
|
455
465
|
};
|
|
456
466
|
|
|
457
|
-
export {createCustomSynchronizer};
|
|
467
|
+
export {Message, createCustomSynchronizer};
|