tinybase 5.0.0-beta.5 → 5.0.0-beta.7
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/lib/cjs/mergeable-store.cjs +1 -1
- package/lib/cjs/mergeable-store.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-browser.cjs +1 -1
- package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-file.cjs +1 -1
- package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-libsql.cjs +1 -1
- package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
- package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-powersync.cjs +1 -0
- package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -1
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -0
- package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -0
- package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-ws-server.cjs +1 -0
- package/lib/cjs/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
- package/lib/cjs/synchronizers.cjs +1 -0
- package/lib/cjs/synchronizers.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs/ui-react.cjs +1 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/mergeable-store.cjs +1 -1
- package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -0
- package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers.cjs +1 -0
- package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/mergeable-store.js +287 -130
- package/lib/debug/persisters/persister-automerge.js +39 -46
- package/lib/debug/persisters/persister-browser.js +39 -46
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +64 -60
- package/lib/debug/persisters/persister-electric-sql.js +64 -60
- package/lib/debug/persisters/persister-expo-sqlite-next.js +64 -60
- package/lib/debug/persisters/persister-expo-sqlite.js +64 -60
- package/lib/debug/persisters/persister-file.js +39 -46
- package/lib/debug/persisters/persister-indexed-db.js +39 -46
- package/lib/debug/persisters/persister-libsql.js +64 -60
- package/lib/debug/persisters/persister-partykit-client.js +39 -46
- package/lib/debug/persisters/persister-powersync.js +917 -0
- package/lib/debug/persisters/persister-remote.js +39 -46
- package/lib/debug/persisters/persister-sqlite-wasm.js +64 -60
- package/lib/debug/persisters/persister-sqlite3.js +64 -60
- package/lib/debug/persisters/persister-yjs.js +41 -48
- package/lib/debug/persisters.js +38 -45
- package/lib/debug/store.js +44 -32
- package/lib/debug/synchronizers/synchronizer-local.js +502 -0
- package/lib/debug/synchronizers/synchronizer-ws-client.js +525 -0
- package/lib/debug/synchronizers/synchronizer-ws-server.js +57 -0
- package/lib/debug/synchronizers.js +466 -0
- package/lib/debug/tinybase.js +569 -250
- package/lib/debug/tools.js +2 -2
- package/lib/debug/ui-react-dom.js +81 -76
- package/lib/debug/ui-react.js +1 -1
- package/lib/es6/mergeable-store.js +1 -1
- package/lib/es6/mergeable-store.js.gz +0 -0
- package/lib/es6/persisters/persister-automerge.js +1 -1
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-browser.js +1 -1
- package/lib/es6/persisters/persister-browser.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-electric-sql.js +1 -1
- package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-file.js +1 -1
- package/lib/es6/persisters/persister-file.js.gz +0 -0
- package/lib/es6/persisters/persister-indexed-db.js +1 -1
- package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/es6/persisters/persister-libsql.js +1 -1
- package/lib/es6/persisters/persister-libsql.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-client.js +1 -1
- package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/es6/persisters/persister-powersync.js +1 -0
- package/lib/es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -1
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-local.js +1 -0
- package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -0
- package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -0
- package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/es6/synchronizers.js +1 -0
- package/lib/es6/synchronizers.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/es6/ui-react-dom-debug.js +1 -1
- package/lib/es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/mergeable-store.js +1 -1
- package/lib/mergeable-store.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -1
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-browser.js +1 -1
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-electric-sql.js +1 -1
- package/lib/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +1 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-file.js +1 -1
- package/lib/persisters/persister-file.js.gz +0 -0
- package/lib/persisters/persister-indexed-db.js +1 -1
- package/lib/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/persisters/persister-libsql.js +1 -1
- package/lib/persisters/persister-libsql.js.gz +0 -0
- package/lib/persisters/persister-partykit-client.js +1 -1
- package/lib/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/persisters/persister-powersync.js +1 -0
- package/lib/persisters/persister-powersync.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -1
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/synchronizers/synchronizer-local.js +1 -0
- package/lib/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/synchronizers/synchronizer-ws-client.js +1 -0
- package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/synchronizers/synchronizer-ws-server.js +1 -0
- package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/synchronizers.js +1 -0
- package/lib/synchronizers.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/checkpoints.d.ts +2 -2
- package/lib/types/indexes.d.ts +2 -2
- package/lib/types/mergeable-store.d.ts +121 -59
- package/lib/types/metrics.d.ts +2 -2
- package/lib/types/persisters/persister-automerge.d.ts +3 -0
- package/lib/types/persisters/persister-browser.d.ts +9 -2
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +3 -0
- package/lib/types/persisters/persister-electric-sql.d.ts +3 -0
- package/lib/types/persisters/persister-expo-sqlite-next.d.ts +3 -0
- package/lib/types/persisters/persister-expo-sqlite.d.ts +3 -0
- package/lib/types/persisters/persister-file.d.ts +5 -1
- package/lib/types/persisters/persister-indexed-db.d.ts +3 -0
- package/lib/types/persisters/persister-libsql.d.ts +3 -0
- package/lib/types/persisters/persister-partykit-client.d.ts +3 -0
- package/lib/types/persisters/persister-powersync.d.ts +157 -0
- package/lib/types/persisters/persister-remote.d.ts +3 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +3 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +3 -0
- package/lib/types/persisters/persister-yjs.d.ts +5 -2
- package/lib/types/persisters.d.ts +68 -19
- package/lib/types/queries.d.ts +2 -2
- package/lib/types/relationships.d.ts +2 -2
- package/lib/types/store.d.ts +36 -3
- package/lib/types/synchronizers/synchronizer-local.d.ts +27 -0
- package/lib/types/synchronizers/synchronizer-ws-client.d.ts +30 -0
- package/lib/types/synchronizers/synchronizer-ws-server.d.ts +24 -0
- package/lib/types/synchronizers.d.ts +131 -0
- package/lib/types/tinybase.d.ts +10 -9
- package/lib/types/tools.d.ts +2 -2
- package/lib/types/ui-react.d.ts +8 -8
- package/lib/types/with-schemas/checkpoints.d.ts +2 -2
- package/lib/types/with-schemas/indexes.d.ts +2 -2
- package/lib/types/with-schemas/mergeable-store.d.ts +185 -87
- package/lib/types/with-schemas/metrics.d.ts +2 -2
- package/lib/types/with-schemas/persisters/persister-automerge.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-browser.d.ts +13 -6
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-file.d.ts +7 -3
- package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-libsql.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-powersync.d.ts +170 -0
- package/lib/types/with-schemas/persisters/persister-remote.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-yjs.d.ts +6 -3
- package/lib/types/with-schemas/persisters.d.ts +90 -62
- package/lib/types/with-schemas/queries.d.ts +3 -3
- package/lib/types/with-schemas/relationships.d.ts +2 -2
- package/lib/types/with-schemas/store.d.ts +100 -3
- package/lib/types/with-schemas/synchronizers/synchronizer-local.d.ts +29 -0
- package/lib/types/with-schemas/synchronizers/synchronizer-ws-client.d.ts +32 -0
- package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +24 -0
- package/lib/types/with-schemas/synchronizers.d.ts +146 -0
- package/lib/types/with-schemas/tinybase.d.ts +9 -9
- package/lib/types/with-schemas/tools.d.ts +2 -2
- package/lib/types/with-schemas/ui-react.d.ts +8 -8
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/mergeable-store.js +1 -1
- package/lib/umd/mergeable-store.js.gz +0 -0
- package/lib/umd/persisters/persister-automerge.js +1 -1
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +1 -1
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-electric-sql.js +1 -1
- package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +1 -1
- package/lib/umd/persisters/persister-file.js.gz +0 -0
- package/lib/umd/persisters/persister-indexed-db.js +1 -1
- package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd/persisters/persister-libsql.js +1 -1
- package/lib/umd/persisters/persister-libsql.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-client.js +1 -1
- package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd/persisters/persister-powersync.js +1 -0
- package/lib/umd/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -1
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-local.js +1 -0
- package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -0
- package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-ws-server.js +1 -0
- package/lib/umd/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/umd/synchronizers.js +1 -0
- package/lib/umd/synchronizers.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd/ui-react-dom-debug.js +1 -1
- package/lib/umd/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd/ui-react.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/mergeable-store.js +1 -1
- package/lib/umd-es6/mergeable-store.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -1
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +1 -1
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
- package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +1 -1
- package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
- package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-libsql.js +1 -1
- package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
- package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-powersync.js +1 -0
- package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -1
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -0
- package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-server.js +1 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/umd-es6/synchronizers.js +1 -0
- package/lib/umd-es6/synchronizers.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom-debug.js +1 -1
- package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +37 -26
- package/readme.md +2 -2
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The synchronizer-ws module of the TinyBase project lets you synchronize
|
|
3
|
+
* MergeableStore data to and from other MergeableStore instances via WebSockets
|
|
4
|
+
* facilitated by a server.
|
|
5
|
+
* @see Synchronizing Data guide
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
* @module synchronizer-ws-client
|
|
8
|
+
* @since v5.0.0
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import {MergeableStore} from '../mergeable-store';
|
|
12
|
+
import {Synchronizer} from '../synchronizers';
|
|
13
|
+
import {WebSocket} from 'ws';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The WsSynchronizer interface
|
|
17
|
+
* @category Synchronizer
|
|
18
|
+
*/
|
|
19
|
+
export interface WsSynchronizer extends Synchronizer {}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The createWsSynchronizer function
|
|
23
|
+
* @category Creation
|
|
24
|
+
*/
|
|
25
|
+
export function createWsSynchronizer(
|
|
26
|
+
store: MergeableStore,
|
|
27
|
+
webSocket: WebSocket,
|
|
28
|
+
requestTimeoutSeconds?: number,
|
|
29
|
+
onIgnoredError?: (error: any) => void,
|
|
30
|
+
): Promise<WsSynchronizer>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The synchronizer-ws-server module of the TinyBase project lets you create
|
|
3
|
+
* a server that facilitates synchronization between clients.
|
|
4
|
+
* @see Synchronizing Data guide
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
* @module synchronizer-ws-server
|
|
7
|
+
* @since v5.0.0
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import {WebSocketServer} from 'ws';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* The WsServer interface
|
|
14
|
+
*/
|
|
15
|
+
export interface WsServer {
|
|
16
|
+
getWebSocketServer: () => WebSocketServer;
|
|
17
|
+
destroy: () => void;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The createWsServer function
|
|
22
|
+
* @category Creation
|
|
23
|
+
*/
|
|
24
|
+
export function createWsServer(WebSocketServer: WebSocketServer): WsServer;
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The persister-sync module of the TinyBase project lets you synchronize
|
|
3
|
+
* MergeableStore data to and from other MergeableStore instances.
|
|
4
|
+
* @see Synchronizing Data guide
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
* @module synchronizers
|
|
7
|
+
* @since v5.0.0
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import {Id, IdOrNull} from './common';
|
|
11
|
+
import {MergeableStore} from './mergeable-store';
|
|
12
|
+
import {Persister} from './persisters';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* The MessageType type
|
|
16
|
+
* @category Synchronization
|
|
17
|
+
*/
|
|
18
|
+
export type MessageType = number;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The Receive type
|
|
22
|
+
* @category Synchronization
|
|
23
|
+
*/
|
|
24
|
+
export type Receive = (
|
|
25
|
+
fromClientId: Id,
|
|
26
|
+
requestId: IdOrNull,
|
|
27
|
+
messageType: MessageType,
|
|
28
|
+
messageBody: any,
|
|
29
|
+
) => void;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* The Send type
|
|
33
|
+
* @category Synchronization
|
|
34
|
+
*/
|
|
35
|
+
export type Send = (
|
|
36
|
+
toClientId: IdOrNull,
|
|
37
|
+
requestId: IdOrNull,
|
|
38
|
+
messageType: MessageType,
|
|
39
|
+
messageBody: any,
|
|
40
|
+
) => void;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The SynchronizerStats type
|
|
44
|
+
* @category Development
|
|
45
|
+
*/
|
|
46
|
+
export type SynchronizerStats = {
|
|
47
|
+
sends?: number;
|
|
48
|
+
receives?: number;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* The Synchronizer interface is a minor extension to the Persister interface.
|
|
53
|
+
*
|
|
54
|
+
* It provides extra convenience methods for starting and stopping the
|
|
55
|
+
* synchronization.
|
|
56
|
+
*
|
|
57
|
+
* You should use the createCustomSynchronizer function to create a Synchronizer
|
|
58
|
+
* object.
|
|
59
|
+
* @category Synchronizer
|
|
60
|
+
* @since v5.0.0
|
|
61
|
+
*/
|
|
62
|
+
export interface Synchronizer extends Persister<true> {
|
|
63
|
+
/**
|
|
64
|
+
* The startSync method
|
|
65
|
+
* @category Synchronization
|
|
66
|
+
*/
|
|
67
|
+
startSync(): Promise<this>;
|
|
68
|
+
/**
|
|
69
|
+
* The stopSync method
|
|
70
|
+
* @category Synchronization
|
|
71
|
+
*/
|
|
72
|
+
stopSync(): this;
|
|
73
|
+
/**
|
|
74
|
+
* The getSynchronizerStats method
|
|
75
|
+
* @category Synchronization
|
|
76
|
+
*/
|
|
77
|
+
getSynchronizerStats(): SynchronizerStats;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* The createCustomSynchronizer function creates a Synchronizer object that can
|
|
82
|
+
* persist one MergeableStore to another.
|
|
83
|
+
*
|
|
84
|
+
* As well as providing a reference to the MergeableStore to synchronize, you
|
|
85
|
+
* must provide a `client` parameter which identifies the Client that is used to
|
|
86
|
+
* transmit changes to and from this MergeableStore and its peers.
|
|
87
|
+
* @param store The MergeableStore to synchronize.
|
|
88
|
+
* @param client The reference of the Client.
|
|
89
|
+
* @param requestTimeoutSeconds An optional number of seconds before a request
|
|
90
|
+
* to the Client times out, defaulting to 5.
|
|
91
|
+
* @param onIgnoredError An optional handler for the errors that the
|
|
92
|
+
* Synchronizer would otherwise ignore when trying to save or load data. This is
|
|
93
|
+
* suitable for debugging synchronization issues in a development environment.
|
|
94
|
+
* @returns A reference to the new Synchronizer object.
|
|
95
|
+
* @example
|
|
96
|
+
* This example creates a Synchronizer object and synchronizes one
|
|
97
|
+
* MergeableStore to another.
|
|
98
|
+
*
|
|
99
|
+
* ```js
|
|
100
|
+
* const store1 = createMergeableStore('store1').setTables({
|
|
101
|
+
* pets: {fido: {species: 'dog'}},
|
|
102
|
+
* });
|
|
103
|
+
* const synchronizer1 = createLocalSynchronizer(store1);
|
|
104
|
+
*
|
|
105
|
+
* const store2 = createMergeableStore('store2');
|
|
106
|
+
* const synchronizer2 = createLocalSynchronizer(store2);
|
|
107
|
+
* await synchronizer2.startSync();
|
|
108
|
+
*
|
|
109
|
+
* await synchronizer1.save();
|
|
110
|
+
* // ...
|
|
111
|
+
* // Store2 will be synced with Store1.
|
|
112
|
+
*
|
|
113
|
+
* console.log(store2.getTables());
|
|
114
|
+
* // -> {pets: {fido: {species: 'dog'}}}
|
|
115
|
+
*
|
|
116
|
+
* await synchronizer1.load();
|
|
117
|
+
* // Store1 will be synced with Store2.
|
|
118
|
+
*
|
|
119
|
+
* synchronizer1.destroy();
|
|
120
|
+
* synchronizer2.destroy();
|
|
121
|
+
* ```
|
|
122
|
+
* @category Creation
|
|
123
|
+
*/
|
|
124
|
+
export function createCustomSynchronizer(
|
|
125
|
+
store: MergeableStore,
|
|
126
|
+
send: Send,
|
|
127
|
+
onReceive: (receive: Receive) => void,
|
|
128
|
+
destroy: () => void,
|
|
129
|
+
requestTimeoutSeconds?: number,
|
|
130
|
+
onIgnoredError?: (error: any) => void,
|
|
131
|
+
): Synchronizer;
|
package/lib/types/tinybase.d.ts
CHANGED
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
* @packageDocumentation
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
export * from './checkpoints.d';
|
|
7
|
-
export * from './common.d';
|
|
8
|
-
export * from './indexes.d';
|
|
9
|
-
export * from './metrics.d';
|
|
10
|
-
export * from './persisters.d';
|
|
11
|
-
export * from './
|
|
12
|
-
export * from './
|
|
13
|
-
export * from './
|
|
14
|
-
export * from './store.d';
|
|
6
|
+
export * from './checkpoints.d.ts';
|
|
7
|
+
export * from './common.d.ts';
|
|
8
|
+
export * from './indexes.d.ts';
|
|
9
|
+
export * from './metrics.d.ts';
|
|
10
|
+
export * from './persisters.d.ts';
|
|
11
|
+
export * from './synchronizers.d.ts';
|
|
12
|
+
export * from './queries.d.ts';
|
|
13
|
+
export * from './relationships.d.ts';
|
|
14
|
+
export * from './mergeable-store.d.ts';
|
|
15
|
+
export * from './store.d.ts';
|
package/lib/types/tools.d.ts
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* @since v2.2.0
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import {Store, TablesSchema, ValuesSchema} from './store.d';
|
|
13
|
-
import {Id} from './common.d';
|
|
12
|
+
import {Store, TablesSchema, ValuesSchema} from './store.d.ts';
|
|
13
|
+
import {Id} from './common.d.ts';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* The StoreStats type describes a set of statistics about the Store, and
|
package/lib/types/ui-react.d.ts
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* @module ui-react
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
|
-
import {Callback, Id, IdOrNull, Ids, ParameterizedCallback} from './common.d';
|
|
25
|
+
import {Callback, Id, IdOrNull, Ids, ParameterizedCallback} from './common.d.ts';
|
|
26
26
|
import {
|
|
27
27
|
Cell,
|
|
28
28
|
CellIdsListener,
|
|
@@ -56,22 +56,22 @@ import {
|
|
|
56
56
|
ValueOrUndefined,
|
|
57
57
|
Values,
|
|
58
58
|
ValuesListener,
|
|
59
|
-
} from './store.d';
|
|
59
|
+
} from './store.d.ts';
|
|
60
60
|
import {
|
|
61
61
|
CheckpointIds,
|
|
62
62
|
CheckpointIdsListener,
|
|
63
63
|
CheckpointListener,
|
|
64
64
|
Checkpoints,
|
|
65
|
-
} from './checkpoints.d';
|
|
65
|
+
} from './checkpoints.d.ts';
|
|
66
66
|
import {ComponentType, ReactElement} from 'react';
|
|
67
|
-
import {Indexes, SliceIdsListener, SliceRowIdsListener} from './indexes.d';
|
|
67
|
+
import {Indexes, SliceIdsListener, SliceRowIdsListener} from './indexes.d.ts';
|
|
68
68
|
import {
|
|
69
69
|
LinkedRowIdsListener,
|
|
70
70
|
LocalRowIdsListener,
|
|
71
71
|
Relationships,
|
|
72
72
|
RemoteRowIdListener,
|
|
73
|
-
} from './relationships.d';
|
|
74
|
-
import {MetricListener, Metrics} from './metrics.d';
|
|
73
|
+
} from './relationships.d.ts';
|
|
74
|
+
import {MetricListener, Metrics} from './metrics.d.ts';
|
|
75
75
|
import {
|
|
76
76
|
Queries,
|
|
77
77
|
ResultCellIdsListener,
|
|
@@ -82,8 +82,8 @@ import {
|
|
|
82
82
|
ResultSortedRowIdsListener,
|
|
83
83
|
ResultTableCellIdsListener,
|
|
84
84
|
ResultTableListener,
|
|
85
|
-
} from './queries.d';
|
|
86
|
-
import {Persister} from './persisters.d';
|
|
85
|
+
} from './queries.d.ts';
|
|
86
|
+
import {Persister} from './persisters.d.ts';
|
|
87
87
|
|
|
88
88
|
/**
|
|
89
89
|
* The StoreOrStoreId type is used when you need to refer to a Store in a React
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
* @module checkpoints
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import {Id, IdOrNull, Ids} from './common.d';
|
|
14
|
-
import {OptionalSchemas, Store} from './store.d';
|
|
13
|
+
import {Id, IdOrNull, Ids} from './common.d.ts';
|
|
14
|
+
import {OptionalSchemas, Store} from './store.d.ts';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* The CheckpointIds type is a representation of the list of checkpoint Ids
|
|
@@ -17,8 +17,8 @@ import {
|
|
|
17
17
|
OptionalTablesSchema,
|
|
18
18
|
RowCallback,
|
|
19
19
|
Store,
|
|
20
|
-
} from './store.d';
|
|
21
|
-
import {Id, IdOrNull, Ids, SortKey} from './common.d';
|
|
20
|
+
} from './store.d.ts';
|
|
21
|
+
import {Id, IdOrNull, Ids, SortKey} from './common.d.ts';
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* The Index type represents the concept of a map of Slice objects, keyed by Id.
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* The mergeable-store module
|
|
3
3
|
* @packageDocumentation
|
|
4
4
|
* @module mergeable-store
|
|
5
|
+
* @since v5.0.0
|
|
5
6
|
*/
|
|
6
7
|
|
|
7
8
|
import {
|
|
@@ -21,9 +22,8 @@ import {
|
|
|
21
22
|
TablesSchema,
|
|
22
23
|
ValueOrUndefined,
|
|
23
24
|
ValuesSchema,
|
|
24
|
-
} from './store.d';
|
|
25
|
-
import {Id} from './common';
|
|
26
|
-
import {IdObj} from '../../common/obj';
|
|
25
|
+
} from './store.d.ts';
|
|
26
|
+
import {Id, Ids} from './common';
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* The Hash type
|
|
@@ -37,39 +37,127 @@ export type Hash = number;
|
|
|
37
37
|
*/
|
|
38
38
|
export type Time = string;
|
|
39
39
|
|
|
40
|
-
/**
|
|
41
|
-
* The HashStamp type
|
|
42
|
-
* @category Stamps
|
|
43
|
-
*/
|
|
44
|
-
export type HashStamp<Thing> = [time: Time, thing: Thing, hash: Hash];
|
|
45
|
-
|
|
46
40
|
/**
|
|
47
41
|
* The Stamp type
|
|
48
42
|
* @category Stamps
|
|
49
43
|
*/
|
|
50
|
-
export type Stamp<Thing> =
|
|
44
|
+
export type Stamp<Thing, Hashed extends boolean = false> = Hashed extends true
|
|
45
|
+
? [time: Time, thing: Thing, hash: Hash]
|
|
46
|
+
: [time: Time, thing: Thing];
|
|
47
|
+
|
|
48
|
+
// ContentHashes
|
|
49
|
+
export type ContentHashes = [time: Time, [tablesHash: Hash, valuesHash: Hash]];
|
|
50
|
+
|
|
51
|
+
// TablesStamp
|
|
52
|
+
export type TablesStamp<
|
|
53
|
+
Schema extends OptionalTablesSchema,
|
|
54
|
+
Hashed extends boolean = false,
|
|
55
|
+
> = Stamp<
|
|
56
|
+
{
|
|
57
|
+
[TableId in TableIdFromSchema<Schema>]?: TableStamp<
|
|
58
|
+
Schema,
|
|
59
|
+
TableId,
|
|
60
|
+
Hashed
|
|
61
|
+
>;
|
|
62
|
+
},
|
|
63
|
+
Hashed
|
|
64
|
+
>;
|
|
65
|
+
|
|
66
|
+
// TableHashes
|
|
67
|
+
export type TableHashes<Schema extends OptionalTablesSchema> = {
|
|
68
|
+
[TableId in TableIdFromSchema<Schema>]?: Hash;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
// TableIdsDiff
|
|
72
|
+
export type TableIdsDiff<Schema extends OptionalTablesSchema> =
|
|
73
|
+
TableIdFromSchema<Schema>[];
|
|
74
|
+
|
|
75
|
+
// TableStamp
|
|
76
|
+
export type TableStamp<
|
|
77
|
+
Schema extends OptionalTablesSchema,
|
|
78
|
+
TableId extends TableIdFromSchema<Schema>,
|
|
79
|
+
Hashed extends boolean = false,
|
|
80
|
+
> = Stamp<{[rowId: Id]: RowStamp<Schema, TableId, Hashed>}, Hashed>;
|
|
81
|
+
|
|
82
|
+
// RowHashes
|
|
83
|
+
export type RowHashes<Schema extends OptionalTablesSchema> = {
|
|
84
|
+
[TableId in TableIdFromSchema<Schema>]?: {[rowId: Id]: Hash};
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
// RowIdsDiff
|
|
88
|
+
export type RowIdsDiff<Schema extends OptionalTablesSchema> = {
|
|
89
|
+
[TableId in TableIdFromSchema<Schema>]?: Ids;
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
// RowStamp
|
|
93
|
+
export type RowStamp<
|
|
94
|
+
Schema extends OptionalTablesSchema,
|
|
95
|
+
TableId extends TableIdFromSchema<Schema>,
|
|
96
|
+
Hashed extends boolean = false,
|
|
97
|
+
> = Stamp<
|
|
98
|
+
{
|
|
99
|
+
[CellId in CellIdFromSchema<Schema, TableId>]?: CellStamp<
|
|
100
|
+
Schema,
|
|
101
|
+
TableId,
|
|
102
|
+
CellId,
|
|
103
|
+
Hashed
|
|
104
|
+
>;
|
|
105
|
+
},
|
|
106
|
+
Hashed
|
|
107
|
+
>;
|
|
108
|
+
|
|
109
|
+
// CellHashes
|
|
110
|
+
export type CellHashes<Schema extends OptionalTablesSchema> = {
|
|
111
|
+
[TableId in TableIdFromSchema<Schema>]?: {
|
|
112
|
+
[rowId: Id]: {[CellId in CellIdFromSchema<Schema, TableId>]?: Hash};
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
// CellStamp
|
|
117
|
+
export type CellStamp<
|
|
118
|
+
Schema extends OptionalTablesSchema,
|
|
119
|
+
TableId extends TableIdFromSchema<Schema>,
|
|
120
|
+
CellId extends CellIdFromSchema<Schema, TableId>,
|
|
121
|
+
Hashed extends boolean = false,
|
|
122
|
+
> = Stamp<CellOrUndefined<Schema, TableId, CellId>, Hashed>;
|
|
123
|
+
|
|
124
|
+
// ValuesStamp
|
|
125
|
+
export type ValuesStamp<
|
|
126
|
+
Schema extends OptionalValuesSchema,
|
|
127
|
+
Hashed extends boolean = false,
|
|
128
|
+
> = Stamp<
|
|
129
|
+
{
|
|
130
|
+
[ValueId in ValueIdFromSchema<Schema>]?: ValueStamp<
|
|
131
|
+
Schema,
|
|
132
|
+
ValueId,
|
|
133
|
+
Hashed
|
|
134
|
+
>;
|
|
135
|
+
},
|
|
136
|
+
Hashed
|
|
137
|
+
>;
|
|
138
|
+
|
|
139
|
+
// ValuesHashes
|
|
140
|
+
export type ValuesHashes<Schema extends OptionalValuesSchema> = {
|
|
141
|
+
[ValueId in ValueIdFromSchema<Schema>]?: Hash;
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
// ValueStamp
|
|
145
|
+
export type ValueStamp<
|
|
146
|
+
Schema extends OptionalValuesSchema,
|
|
147
|
+
ValueId extends ValueIdFromSchema<Schema>,
|
|
148
|
+
Hashed extends boolean = false,
|
|
149
|
+
> = Stamp<ValueOrUndefined<Schema, ValueId>, Hashed>;
|
|
51
150
|
|
|
52
151
|
/**
|
|
53
152
|
* The MergeableContent type
|
|
54
153
|
* @category Mergeable
|
|
55
154
|
*/
|
|
56
|
-
export type MergeableContent<Schemas extends OptionalSchemas> =
|
|
155
|
+
export type MergeableContent<Schemas extends OptionalSchemas> = Stamp<
|
|
57
156
|
[
|
|
58
|
-
mergeableTables:
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
CellOrUndefined<Schemas[0], TableId, CellId>
|
|
63
|
-
>;
|
|
64
|
-
}>;
|
|
65
|
-
}>;
|
|
66
|
-
}>,
|
|
67
|
-
mergeableValues: HashStamp<{
|
|
68
|
-
[ValueId in ValueIdFromSchema<Schemas[1]>]?: HashStamp<
|
|
69
|
-
ValueOrUndefined<Schemas[1], ValueId>
|
|
70
|
-
>;
|
|
71
|
-
}>,
|
|
72
|
-
]
|
|
157
|
+
mergeableTables: TablesStamp<Schemas[0], true>,
|
|
158
|
+
mergeableValues: ValuesStamp<Schemas[1], true>,
|
|
159
|
+
],
|
|
160
|
+
true
|
|
73
161
|
>;
|
|
74
162
|
|
|
75
163
|
/**
|
|
@@ -78,22 +166,9 @@ export type MergeableContent<Schemas extends OptionalSchemas> = HashStamp<
|
|
|
78
166
|
*/
|
|
79
167
|
export type MergeableChanges<Schemas extends OptionalSchemas> = Stamp<
|
|
80
168
|
[
|
|
81
|
-
mergeableTables:
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
Stamp<{
|
|
85
|
-
[CellId in CellIdFromSchema<Schemas[0], TableId>]?: Stamp<
|
|
86
|
-
CellOrUndefined<Schemas[0], TableId, CellId>
|
|
87
|
-
>;
|
|
88
|
-
}>
|
|
89
|
-
>
|
|
90
|
-
>;
|
|
91
|
-
}>,
|
|
92
|
-
mergeableValues: Stamp<{
|
|
93
|
-
[ValueId in ValueIdFromSchema<Schemas[1]>]?: Stamp<
|
|
94
|
-
ValueOrUndefined<Schemas[1], ValueId>
|
|
95
|
-
>;
|
|
96
|
-
}>,
|
|
169
|
+
mergeableTables: TablesStamp<Schemas[0]>,
|
|
170
|
+
mergeableValues: ValuesStamp<Schemas[1]>,
|
|
171
|
+
isChanges: 1,
|
|
97
172
|
]
|
|
98
173
|
>;
|
|
99
174
|
|
|
@@ -105,87 +180,110 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
|
|
|
105
180
|
extends Store<Schemas> {
|
|
106
181
|
//
|
|
107
182
|
/**
|
|
108
|
-
* The
|
|
109
|
-
* @category
|
|
183
|
+
* The getId method
|
|
184
|
+
* @category Getter
|
|
110
185
|
*/
|
|
111
|
-
|
|
186
|
+
getId(): Id;
|
|
112
187
|
|
|
113
188
|
/**
|
|
114
189
|
* The getMergeableContent method
|
|
115
|
-
* @category
|
|
190
|
+
* @category Getter
|
|
116
191
|
*/
|
|
117
192
|
getMergeableContent(): MergeableContent<Schemas>;
|
|
118
193
|
|
|
119
194
|
/**
|
|
120
|
-
* The
|
|
121
|
-
* @category
|
|
195
|
+
* The getMergeableContentHashes method
|
|
196
|
+
* @category Syncing
|
|
122
197
|
*/
|
|
123
|
-
|
|
124
|
-
mergeableContent: MergeableContent<Schemas>,
|
|
125
|
-
): MergeableStore<Schemas>;
|
|
198
|
+
getMergeableContentHashes(): ContentHashes;
|
|
126
199
|
|
|
127
200
|
/**
|
|
128
|
-
* The
|
|
129
|
-
* @category
|
|
201
|
+
* The getMergeableTableHashes method
|
|
202
|
+
* @category Syncing
|
|
130
203
|
*/
|
|
131
|
-
|
|
204
|
+
getMergeableTableHashes(): TableHashes<Schemas[0]>;
|
|
132
205
|
|
|
133
206
|
/**
|
|
134
|
-
* The
|
|
135
|
-
* @category
|
|
207
|
+
* The getMergeableTableIdsDiff method
|
|
208
|
+
* @category Syncing
|
|
136
209
|
*/
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
):
|
|
210
|
+
getMergeableTableIdsDiff(
|
|
211
|
+
relativeTo: TableHashes<Schemas[0]>,
|
|
212
|
+
): TableIdsDiff<Schemas[0]>;
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* The getMergeableRowHashes method
|
|
216
|
+
* @category Syncing
|
|
217
|
+
*/
|
|
218
|
+
getMergeableRowHashes(
|
|
219
|
+
tablesDelta: TableIdsDiff<Schemas[0]>,
|
|
220
|
+
): RowHashes<Schemas[0]>;
|
|
140
221
|
|
|
141
222
|
/**
|
|
142
|
-
* The
|
|
143
|
-
* @category
|
|
223
|
+
* The getMergeableRowIdsDiff method
|
|
224
|
+
* @category Syncing
|
|
144
225
|
*/
|
|
145
|
-
|
|
226
|
+
getMergeableRowIdsDiff(
|
|
227
|
+
relativeTo: RowHashes<Schemas[0]>,
|
|
228
|
+
): RowIdsDiff<Schemas[0]>;
|
|
146
229
|
|
|
147
230
|
/**
|
|
148
|
-
* The
|
|
149
|
-
* @category
|
|
231
|
+
* The getMergeableCellHashes method
|
|
232
|
+
* @category Syncing
|
|
150
233
|
*/
|
|
151
|
-
|
|
234
|
+
getMergeableCellHashes(
|
|
235
|
+
tableDelta: RowIdsDiff<Schemas[0]>,
|
|
236
|
+
): CellHashes<Schemas[0]>;
|
|
152
237
|
|
|
153
238
|
/**
|
|
154
|
-
* The
|
|
155
|
-
* @category
|
|
239
|
+
* The getMergeableTablesChanges method
|
|
240
|
+
* @category Syncing
|
|
156
241
|
*/
|
|
157
|
-
|
|
242
|
+
getMergeableTablesChanges(
|
|
243
|
+
relativeTo: CellHashes<Schemas[0]>,
|
|
244
|
+
): TablesStamp<Schemas[0]>;
|
|
158
245
|
|
|
159
246
|
/**
|
|
160
|
-
* The
|
|
161
|
-
* @category
|
|
247
|
+
* The getMergeableValuesHashes method
|
|
248
|
+
* @category Syncing
|
|
249
|
+
*/
|
|
250
|
+
getMergeableValuesHashes(): ValuesHashes<Schemas[1]>;
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* The getMergeableValuesChanges method
|
|
254
|
+
* @category Syncing
|
|
255
|
+
*/
|
|
256
|
+
getMergeableValuesChanges(
|
|
257
|
+
relativeTo: ValuesHashes<Schemas[1]>,
|
|
258
|
+
): ValuesStamp<Schemas[1]>;
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* The setMergeableContent method
|
|
262
|
+
* @category Setter
|
|
162
263
|
*/
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
): Hash;
|
|
264
|
+
setMergeableContent(
|
|
265
|
+
mergeableContent: MergeableContent<Schemas>,
|
|
266
|
+
): MergeableStore<Schemas>;
|
|
167
267
|
|
|
168
268
|
/**
|
|
169
|
-
* The
|
|
170
|
-
* @category
|
|
269
|
+
* The getTransactionMergeableChanges method
|
|
270
|
+
* @category Getter
|
|
171
271
|
*/
|
|
172
|
-
|
|
173
|
-
tableId: TableId,
|
|
174
|
-
rowId: Id,
|
|
175
|
-
cellId: CellIdFromSchema<Schemas[0], TableId>,
|
|
176
|
-
): Hash;
|
|
272
|
+
getTransactionMergeableChanges(): MergeableChanges<Schemas>;
|
|
177
273
|
|
|
178
274
|
/**
|
|
179
|
-
* The
|
|
180
|
-
* @category
|
|
275
|
+
* The applyMergeableChanges method
|
|
276
|
+
* @category Setter
|
|
181
277
|
*/
|
|
182
|
-
|
|
278
|
+
applyMergeableChanges(
|
|
279
|
+
mergeableChanges: MergeableChanges<Schemas> | MergeableContent<Schemas>,
|
|
280
|
+
): MergeableStore<Schemas>;
|
|
183
281
|
|
|
184
282
|
/**
|
|
185
|
-
* The
|
|
186
|
-
* @category
|
|
283
|
+
* The merge method
|
|
284
|
+
* @category Setter
|
|
187
285
|
*/
|
|
188
|
-
|
|
286
|
+
merge(mergeableStore: MergeableStore<Schemas>): MergeableStore<Schemas>;
|
|
189
287
|
|
|
190
288
|
/**
|
|
191
289
|
* The setTablesSchema method lets you specify the TablesSchema of the tabular
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import {CellIdFromSchema, TableIdFromSchema} from './internal/store';
|
|
14
|
-
import {GetCell, OptionalSchemas, Store} from './store.d';
|
|
15
|
-
import {Id, IdOrNull, Ids} from './common.d';
|
|
14
|
+
import {GetCell, OptionalSchemas, Store} from './store.d.ts';
|
|
15
|
+
import {Id, IdOrNull, Ids} from './common.d.ts';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* The Metric type is simply an alias, but represents a number formed by
|
|
@@ -21,6 +21,9 @@ import {Persister} from '../persisters';
|
|
|
21
21
|
*
|
|
22
22
|
* It simply provides an extra getDocHandle method for accessing the Automerge
|
|
23
23
|
* document handler the Store is being persisted to.
|
|
24
|
+
*
|
|
25
|
+
* You should use the createAutomergePersister function to create an
|
|
26
|
+
* AutomergePersister object.
|
|
24
27
|
* @category Persister
|
|
25
28
|
* @since v4.3.14
|
|
26
29
|
*/
|
|
@@ -47,7 +50,7 @@ export interface AutomergePersister<Schemas extends OptionalSchemas>
|
|
|
47
50
|
* @category Getter
|
|
48
51
|
* @since v4.3.14
|
|
49
52
|
*/
|
|
50
|
-
getDocHandle
|
|
53
|
+
getDocHandle(): DocHandle<any>;
|
|
51
54
|
}
|
|
52
55
|
|
|
53
56
|
/**
|