tinybase 5.0.0-beta.17 → 5.0.0-beta.18
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 -1
- 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 -1
- package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -1
- package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
- package/lib/cjs/synchronizers.cjs +1 -1
- 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/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs/ui-react-dom-debug.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 -1
- 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 -1
- package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -1
- package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers.cjs +1 -1
- 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/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/debug/mergeable-store.js +4 -1
- package/lib/debug/persisters/persister-automerge.js +5 -3
- package/lib/debug/persisters/persister-browser.js +5 -3
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +5 -3
- package/lib/debug/persisters/persister-electric-sql.js +5 -3
- package/lib/debug/persisters/persister-expo-sqlite-next.js +5 -3
- package/lib/debug/persisters/persister-expo-sqlite.js +5 -3
- package/lib/debug/persisters/persister-file.js +5 -3
- package/lib/debug/persisters/persister-indexed-db.js +5 -3
- package/lib/debug/persisters/persister-libsql.js +5 -3
- package/lib/debug/persisters/persister-partykit-client.js +5 -3
- package/lib/debug/persisters/persister-powersync.js +5 -3
- package/lib/debug/persisters/persister-remote.js +5 -3
- package/lib/debug/persisters/persister-sqlite-wasm.js +5 -3
- package/lib/debug/persisters/persister-sqlite3.js +5 -3
- package/lib/debug/persisters/persister-yjs.js +5 -3
- package/lib/debug/persisters.js +5 -3
- package/lib/debug/store.js +1 -0
- package/lib/debug/synchronizers/synchronizer-local.js +5 -3
- package/lib/debug/synchronizers/synchronizer-ws-client.js +5 -3
- package/lib/debug/synchronizers.js +5 -3
- package/lib/debug/tinybase.js +9 -4
- package/lib/debug/ui-react-dom.js +7 -4
- 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 -1
- 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 -1
- package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/es6/synchronizers.js +1 -1
- 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/ui-react-dom-debug.js +1 -1
- package/lib/es6/ui-react-dom-debug.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 -1
- 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 -1
- package/lib/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/synchronizers.js +1 -1
- package/lib/synchronizers.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/types/checkpoints.d.ts +50 -3
- package/lib/types/common.d.ts +4 -0
- package/lib/types/indexes.d.ts +58 -14
- package/lib/types/mergeable-store.d.ts +9 -0
- package/lib/types/metrics.d.ts +46 -7
- package/lib/types/persisters/persister-automerge.d.ts +17 -4
- package/lib/types/persisters/persister-browser.d.ts +12 -0
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +12 -0
- package/lib/types/persisters/persister-electric-sql.d.ts +18 -3
- package/lib/types/persisters/persister-expo-sqlite-next.d.ts +23 -8
- package/lib/types/persisters/persister-expo-sqlite.d.ts +17 -4
- package/lib/types/persisters/persister-file.d.ts +6 -0
- package/lib/types/persisters/persister-indexed-db.d.ts +6 -0
- package/lib/types/persisters/persister-libsql.d.ts +12 -0
- package/lib/types/persisters/persister-partykit-client.d.ts +11 -3
- package/lib/types/persisters/persister-partykit-server.d.ts +37 -14
- package/lib/types/persisters/persister-powersync.d.ts +13 -1
- package/lib/types/persisters/persister-remote.d.ts +6 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +14 -1
- package/lib/types/persisters/persister-sqlite3.d.ts +17 -4
- package/lib/types/persisters/persister-yjs.d.ts +18 -6
- package/lib/types/persisters.d.ts +75 -8
- package/lib/types/queries.d.ts +137 -9
- package/lib/types/relationships.d.ts +28 -4
- package/lib/types/store.d.ts +429 -18
- package/lib/types/synchronizers.d.ts +3 -0
- package/lib/types/tools.d.ts +45 -10
- package/lib/types/ui-react-dom.d.ts +136 -27
- package/lib/types/ui-react.d.ts +1806 -326
- package/lib/types/with-schemas/checkpoints.d.ts +50 -3
- package/lib/types/with-schemas/common.d.ts +4 -0
- package/lib/types/with-schemas/indexes.d.ts +58 -14
- package/lib/types/with-schemas/mergeable-store.d.ts +23 -0
- package/lib/types/with-schemas/metrics.d.ts +46 -7
- package/lib/types/with-schemas/persisters/persister-automerge.d.ts +17 -4
- package/lib/types/with-schemas/persisters/persister-browser.d.ts +12 -0
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +12 -0
- package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +18 -3
- package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +24 -9
- package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +18 -5
- package/lib/types/with-schemas/persisters/persister-file.d.ts +6 -0
- package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +6 -0
- package/lib/types/with-schemas/persisters/persister-libsql.d.ts +12 -0
- package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +11 -3
- package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +37 -14
- package/lib/types/with-schemas/persisters/persister-powersync.d.ts +13 -1
- package/lib/types/with-schemas/persisters/persister-remote.d.ts +6 -0
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +15 -2
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +18 -5
- package/lib/types/with-schemas/persisters/persister-yjs.d.ts +18 -6
- package/lib/types/with-schemas/persisters.d.ts +75 -8
- package/lib/types/with-schemas/queries.d.ts +137 -9
- package/lib/types/with-schemas/relationships.d.ts +28 -4
- package/lib/types/with-schemas/store.d.ts +429 -18
- package/lib/types/with-schemas/synchronizers.d.ts +3 -0
- package/lib/types/with-schemas/tools.d.ts +45 -10
- package/lib/types/with-schemas/ui-react-dom.d.ts +136 -27
- package/lib/types/with-schemas/ui-react.d.ts +1806 -326
- 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 -1
- 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 -1
- package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/umd/synchronizers.js +1 -1
- 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/ui-react-dom-debug.js +1 -1
- package/lib/umd/ui-react-dom-debug.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 -1
- 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 -1
- package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/umd-es6/synchronizers.js +1 -1
- 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/ui-react-dom-debug.js +1 -1
- package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
- package/package.json +25 -23
- package/readme.md +21 -3
|
@@ -50,7 +50,9 @@ import {Id} from '../common.d.ts';
|
|
|
50
50
|
* in the room.
|
|
51
51
|
*
|
|
52
52
|
* ```js
|
|
53
|
-
*
|
|
53
|
+
* import {TinyBasePartyKitServer} from 'tinybase/persisters/persister-partykit-server';
|
|
54
|
+
*
|
|
55
|
+
* export class MyServer extends TinyBasePartyKitServer {
|
|
54
56
|
* readonly config = {
|
|
55
57
|
* storePath: '/my_tinybase',
|
|
56
58
|
* storagePrefix: 'tinybase_',
|
|
@@ -115,9 +117,10 @@ export type TinyBasePartyKitServerConfig = {
|
|
|
115
117
|
* the constructor if you choose to implement that.
|
|
116
118
|
*
|
|
117
119
|
* ```js
|
|
118
|
-
*
|
|
120
|
+
* import {TinyBasePartyKitServer} from 'tinybase/persisters/persister-partykit-server';
|
|
119
121
|
*
|
|
120
|
-
*
|
|
122
|
+
* // This is your PartyKit server entry point.
|
|
123
|
+
* export class MyServer extends TinyBasePartyKitServer {
|
|
121
124
|
* constructor(party) {
|
|
122
125
|
* super(party);
|
|
123
126
|
* // custom constructor code
|
|
@@ -171,7 +174,9 @@ export class TinyBasePartyKitServer implements Server {
|
|
|
171
174
|
* synchronization stays supported:
|
|
172
175
|
*
|
|
173
176
|
* ```js
|
|
174
|
-
*
|
|
177
|
+
* import {TinyBasePartyKitServer} from 'tinybase/persisters/persister-partykit-server';
|
|
178
|
+
*
|
|
179
|
+
* export class MyServer extends TinyBasePartyKitServer {
|
|
175
180
|
* async onRequest(request) {
|
|
176
181
|
* // custom onRequest code, else:
|
|
177
182
|
* return await super.onRequest(request);
|
|
@@ -195,7 +200,9 @@ export class TinyBasePartyKitServer implements Server {
|
|
|
195
200
|
* synchronization stays supported:
|
|
196
201
|
*
|
|
197
202
|
* ```js
|
|
198
|
-
*
|
|
203
|
+
* import {TinyBasePartyKitServer} from 'tinybase/persisters/persister-partykit-server';
|
|
204
|
+
*
|
|
205
|
+
* export class MyServer extends TinyBasePartyKitServer {
|
|
199
206
|
* async onMessage(message, connection) {
|
|
200
207
|
* await super.onMessage(message, connection);
|
|
201
208
|
* // custom onMessage code
|
|
@@ -242,7 +249,9 @@ export class TinyBasePartyKitServer implements Server {
|
|
|
242
249
|
* update any 'user' tabular data after the initial save:
|
|
243
250
|
*
|
|
244
251
|
* ```js
|
|
245
|
-
*
|
|
252
|
+
* import {TinyBasePartyKitServer} from 'tinybase/persisters/persister-partykit-server';
|
|
253
|
+
*
|
|
254
|
+
* export class MyServer extends TinyBasePartyKitServer {
|
|
246
255
|
* canSetTable(tableId, initialSave) {
|
|
247
256
|
* return initialSave || tableId != 'user';
|
|
248
257
|
* }
|
|
@@ -278,7 +287,9 @@ export class TinyBasePartyKitServer implements Server {
|
|
|
278
287
|
* delete the 'user' Table:
|
|
279
288
|
*
|
|
280
289
|
* ```js
|
|
281
|
-
*
|
|
290
|
+
* import {TinyBasePartyKitServer} from 'tinybase/persisters/persister-partykit-server';
|
|
291
|
+
*
|
|
292
|
+
* export class MyServer extends TinyBasePartyKitServer {
|
|
282
293
|
* canDelTable(tableId) {
|
|
283
294
|
* return tableId != 'user';
|
|
284
295
|
* }
|
|
@@ -316,7 +327,9 @@ export class TinyBasePartyKitServer implements Server {
|
|
|
316
327
|
* update the 'me' Row of the 'user' Table after the initial save:
|
|
317
328
|
*
|
|
318
329
|
* ```js
|
|
319
|
-
*
|
|
330
|
+
* import {TinyBasePartyKitServer} from 'tinybase/persisters/persister-partykit-server';
|
|
331
|
+
*
|
|
332
|
+
* export class MyServer extends TinyBasePartyKitServer {
|
|
320
333
|
* canSetRow(tableId, rowId, initialSave) {
|
|
321
334
|
* return initialSave || tableId != 'user' || rowId != 'me';
|
|
322
335
|
* }
|
|
@@ -354,7 +367,9 @@ export class TinyBasePartyKitServer implements Server {
|
|
|
354
367
|
* delete the 'me' Row of the 'user' Table:
|
|
355
368
|
*
|
|
356
369
|
* ```js
|
|
357
|
-
*
|
|
370
|
+
* import {TinyBasePartyKitServer} from 'tinybase/persisters/persister-partykit-server';
|
|
371
|
+
*
|
|
372
|
+
* export class MyServer extends TinyBasePartyKitServer {
|
|
358
373
|
* canDelRow(tableId, rowId) {
|
|
359
374
|
* return tableId != 'user' || rowId != 'me';
|
|
360
375
|
* }
|
|
@@ -407,7 +422,9 @@ export class TinyBasePartyKitServer implements Server {
|
|
|
407
422
|
* initial save:
|
|
408
423
|
*
|
|
409
424
|
* ```js
|
|
410
|
-
*
|
|
425
|
+
* import {TinyBasePartyKitServer} from 'tinybase/persisters/persister-partykit-server';
|
|
426
|
+
*
|
|
427
|
+
* export class MyServer extends TinyBasePartyKitServer {
|
|
411
428
|
* canSetCell(tableId, rowId, cellId, cell, initialSave) {
|
|
412
429
|
* return (
|
|
413
430
|
* initialSave || tableId != 'user' || rowId != 'me' || cellId != 'name'
|
|
@@ -450,7 +467,9 @@ export class TinyBasePartyKitServer implements Server {
|
|
|
450
467
|
* delete the 'name' Cell of the 'me' Row of the 'user' Table:
|
|
451
468
|
*
|
|
452
469
|
* ```js
|
|
453
|
-
*
|
|
470
|
+
* import {TinyBasePartyKitServer} from 'tinybase/persisters/persister-partykit-server';
|
|
471
|
+
*
|
|
472
|
+
* export class MyServer extends TinyBasePartyKitServer {
|
|
454
473
|
* canDelCell(tableId, rowId, cellId) {
|
|
455
474
|
* return tableId != 'user' || rowId != 'me' || cellId != 'name';
|
|
456
475
|
* }
|
|
@@ -508,9 +527,11 @@ export class TinyBasePartyKitServer implements Server {
|
|
|
508
527
|
* update the 'userId' Value after the initial save:
|
|
509
528
|
*
|
|
510
529
|
* ```js
|
|
511
|
-
*
|
|
530
|
+
* import {TinyBasePartyKitServer} from 'tinybase/persisters/persister-partykit-server';
|
|
531
|
+
*
|
|
532
|
+
* export class MyServer extends TinyBasePartyKitServer {
|
|
512
533
|
* canSetValue(valueId, value, initialSave) {
|
|
513
|
-
* return initialSave ||
|
|
534
|
+
* return initialSave || valueId != 'userId';
|
|
514
535
|
* }
|
|
515
536
|
* }
|
|
516
537
|
* ```
|
|
@@ -546,7 +567,9 @@ export class TinyBasePartyKitServer implements Server {
|
|
|
546
567
|
* delete the 'userId' Value:
|
|
547
568
|
*
|
|
548
569
|
* ```js
|
|
549
|
-
*
|
|
570
|
+
* import {TinyBasePartyKitServer} from 'tinybase/persisters/persister-partykit-server';
|
|
571
|
+
*
|
|
572
|
+
* export class MyServer extends TinyBasePartyKitServer {
|
|
550
573
|
* canDelValue(valueId) {
|
|
551
574
|
* return valueId != 'userId';
|
|
552
575
|
* }
|
|
@@ -34,7 +34,11 @@ export interface PowerSyncPersister<Schemas extends OptionalSchemas>
|
|
|
34
34
|
* then gets the PowerSync instance back out again.
|
|
35
35
|
*
|
|
36
36
|
* ```js yolo
|
|
37
|
-
*
|
|
37
|
+
* import {createPowerSyncPersister} from 'tinybase/persisters/persister-powersync';
|
|
38
|
+
* import {createStore} from 'tinybase';
|
|
39
|
+
* import {usePowerSync} from '@journeyapps/powersync-react';
|
|
40
|
+
*
|
|
41
|
+
* const ps = usePowerSync();
|
|
38
42
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
39
43
|
* const persister = createPowerSyncPersister(store, ps, 'my_tinybase');
|
|
40
44
|
*
|
|
@@ -99,6 +103,10 @@ export interface PowerSyncPersister<Schemas extends OptionalSchemas>
|
|
|
99
103
|
* Store.
|
|
100
104
|
*
|
|
101
105
|
* ```js yolo
|
|
106
|
+
* import {createPowerSyncPersister} from 'tinybase/persisters/persister-powersync';
|
|
107
|
+
* import {createStore} from 'tinybase';
|
|
108
|
+
* import {usePowerSync} from '@journeyapps/powersync-react';
|
|
109
|
+
*
|
|
102
110
|
* const ps = usePowerSync();
|
|
103
111
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
104
112
|
* const persister = createPowerSyncPersister(store, ps, 'my_tinybase');
|
|
@@ -131,6 +139,10 @@ export interface PowerSyncPersister<Schemas extends OptionalSchemas>
|
|
|
131
139
|
* local PowerSync instance with tabular mapping.
|
|
132
140
|
*
|
|
133
141
|
* ```js yolo
|
|
142
|
+
* import {createPowerSyncPersister} from 'tinybase/persisters/persister-powersync';
|
|
143
|
+
* import {createStore} from 'tinybase';
|
|
144
|
+
* import {usePowerSync} from '@journeyapps/powersync-react';
|
|
145
|
+
*
|
|
134
146
|
* const ps = usePowerSync();
|
|
135
147
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
136
148
|
* const persister = createPowerSyncPersister(store, ps, {
|
|
@@ -31,6 +31,9 @@ export interface RemotePersister<Schemas extends OptionalSchemas>
|
|
|
31
31
|
* and then gets the URLs back out again.
|
|
32
32
|
*
|
|
33
33
|
* ```js
|
|
34
|
+
* import {createRemotePersister} from 'tinybase/persisters/persister-remote';
|
|
35
|
+
* import {createStore} from 'tinybase';
|
|
36
|
+
*
|
|
34
37
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
35
38
|
* const persister = createRemotePersister(
|
|
36
39
|
* store,
|
|
@@ -93,6 +96,9 @@ export interface RemotePersister<Schemas extends OptionalSchemas>
|
|
|
93
96
|
* remote server.
|
|
94
97
|
*
|
|
95
98
|
* ```js yolo
|
|
99
|
+
* import {createRemotePersister} from 'tinybase/persisters/persister-remote';
|
|
100
|
+
* import {createStore} from 'tinybase';
|
|
101
|
+
*
|
|
96
102
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
97
103
|
* const persister = createRemotePersister(
|
|
98
104
|
* store,
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
import {DatabasePersisterConfig, Persister} from '../persisters.d.ts';
|
|
12
12
|
import {OptionalSchemas, Store} from '../store.d.ts';
|
|
13
|
+
import {MergeableStore} from '../mergeable-store.d.ts';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* The SqliteWasmPersister interface is a minor extension to the Persister
|
|
@@ -34,6 +35,10 @@ export interface SqliteWasmPersister<Schemas extends OptionalSchemas>
|
|
|
34
35
|
* then gets the database instance back out again.
|
|
35
36
|
*
|
|
36
37
|
* ```js
|
|
38
|
+
* import {createSqliteWasmPersister} from 'tinybase/persisters/persister-sqlite-wasm';
|
|
39
|
+
* import {createStore} from 'tinybase';
|
|
40
|
+
* import sqlite3InitModule from '@sqlite.org/sqlite-wasm';
|
|
41
|
+
*
|
|
37
42
|
* const sqlite3 = await sqlite3InitModule();
|
|
38
43
|
* const db = new sqlite3.oo1.DB(':memory:', 'c');
|
|
39
44
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
@@ -63,7 +68,7 @@ export interface SqliteWasmPersister<Schemas extends OptionalSchemas>
|
|
|
63
68
|
*
|
|
64
69
|
* ```ts override
|
|
65
70
|
* createSqliteWasmPersister(
|
|
66
|
-
* store: Store,
|
|
71
|
+
* store: Store | MergeableStore,
|
|
67
72
|
* sqlite3: any,
|
|
68
73
|
* db: any,
|
|
69
74
|
* configOrStoreTableName?: DatabasePersisterConfig | string,
|
|
@@ -108,6 +113,10 @@ export interface SqliteWasmPersister<Schemas extends OptionalSchemas>
|
|
|
108
113
|
* Store.
|
|
109
114
|
*
|
|
110
115
|
* ```js
|
|
116
|
+
* import {createSqliteWasmPersister} from 'tinybase/persisters/persister-sqlite-wasm';
|
|
117
|
+
* import {createStore} from 'tinybase';
|
|
118
|
+
* import sqlite3InitModule from '@sqlite.org/sqlite-wasm';
|
|
119
|
+
*
|
|
111
120
|
* const sqlite3 = await sqlite3InitModule();
|
|
112
121
|
* const db = new sqlite3.oo1.DB(':memory:', 'c');
|
|
113
122
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
@@ -139,6 +148,10 @@ export interface SqliteWasmPersister<Schemas extends OptionalSchemas>
|
|
|
139
148
|
* local SQLite database with tabular mapping.
|
|
140
149
|
*
|
|
141
150
|
* ```js
|
|
151
|
+
* import {createSqliteWasmPersister} from 'tinybase/persisters/persister-sqlite-wasm';
|
|
152
|
+
* import {createStore} from 'tinybase';
|
|
153
|
+
* import sqlite3InitModule from '@sqlite.org/sqlite-wasm';
|
|
154
|
+
*
|
|
142
155
|
* const sqlite3 = await sqlite3InitModule();
|
|
143
156
|
* const db = new sqlite3.oo1.DB(':memory:', 'c');
|
|
144
157
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
@@ -162,7 +175,7 @@ export interface SqliteWasmPersister<Schemas extends OptionalSchemas>
|
|
|
162
175
|
* @since v4.0.0
|
|
163
176
|
*/
|
|
164
177
|
export function createSqliteWasmPersister<Schemas extends OptionalSchemas>(
|
|
165
|
-
store: Store<Schemas>,
|
|
178
|
+
store: Store<Schemas> | MergeableStore<Schemas>,
|
|
166
179
|
sqlite3: any,
|
|
167
180
|
db: any,
|
|
168
181
|
configOrStoreTableName?: DatabasePersisterConfig<Schemas> | string,
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
import {DatabasePersisterConfig, Persister} from '../persisters.d.ts';
|
|
12
12
|
import {OptionalSchemas, Store} from '../store.d.ts';
|
|
13
13
|
import {Database} from 'sqlite3';
|
|
14
|
+
import {MergeableStore} from '../mergeable-store.d.ts';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* The Sqlite3Persister interface is a minor extension to the Persister
|
|
@@ -35,7 +36,11 @@ export interface Sqlite3Persister<Schemas extends OptionalSchemas>
|
|
|
35
36
|
* then gets the database instance back out again.
|
|
36
37
|
*
|
|
37
38
|
* ```js
|
|
38
|
-
*
|
|
39
|
+
* import {Database} from 'sqlite3';
|
|
40
|
+
* import {createSqlite3Persister} from 'tinybase/persisters/persister-sqlite3';
|
|
41
|
+
* import {createStore} from 'tinybase';
|
|
42
|
+
*
|
|
43
|
+
* const db = new Database(':memory:');
|
|
39
44
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
40
45
|
* const persister = createSqlite3Persister(store, db, 'my_tinybase');
|
|
41
46
|
*
|
|
@@ -58,7 +63,7 @@ export interface Sqlite3Persister<Schemas extends OptionalSchemas>
|
|
|
58
63
|
*
|
|
59
64
|
* ```ts override
|
|
60
65
|
* createSqlite3Persister(
|
|
61
|
-
* store: Store,
|
|
66
|
+
* store: Store | MergeableStore,
|
|
62
67
|
* db: Database,
|
|
63
68
|
* configOrStoreTableName?: DatabasePersisterConfig | string,
|
|
64
69
|
* onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
@@ -100,7 +105,11 @@ export interface Sqlite3Persister<Schemas extends OptionalSchemas>
|
|
|
100
105
|
* Store.
|
|
101
106
|
*
|
|
102
107
|
* ```js
|
|
103
|
-
*
|
|
108
|
+
* import {Database} from 'sqlite3';
|
|
109
|
+
* import {createSqlite3Persister} from 'tinybase/persisters/persister-sqlite3';
|
|
110
|
+
* import {createStore} from 'tinybase';
|
|
111
|
+
*
|
|
112
|
+
* const db = new Database(':memory:');
|
|
104
113
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
105
114
|
* const persister = createSqlite3Persister(store, db, 'my_tinybase');
|
|
106
115
|
*
|
|
@@ -132,7 +141,11 @@ export interface Sqlite3Persister<Schemas extends OptionalSchemas>
|
|
|
132
141
|
* local SQLite database with tabular mapping.
|
|
133
142
|
*
|
|
134
143
|
* ```js
|
|
135
|
-
*
|
|
144
|
+
* import {Database} from 'sqlite3';
|
|
145
|
+
* import {createSqlite3Persister} from 'tinybase/persisters/persister-sqlite3';
|
|
146
|
+
* import {createStore} from 'tinybase';
|
|
147
|
+
*
|
|
148
|
+
* const db = new Database(':memory:');
|
|
136
149
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
137
150
|
* const persister = createSqlite3Persister(store, db, {
|
|
138
151
|
* mode: 'tabular',
|
|
@@ -163,7 +176,7 @@ export interface Sqlite3Persister<Schemas extends OptionalSchemas>
|
|
|
163
176
|
* @since v4.0.0
|
|
164
177
|
*/
|
|
165
178
|
export function createSqlite3Persister<Schemas extends OptionalSchemas>(
|
|
166
|
-
store: Store<Schemas>,
|
|
179
|
+
store: Store<Schemas> | MergeableStore<Schemas>,
|
|
167
180
|
db: Database,
|
|
168
181
|
configOrStoreTableName?: DatabasePersisterConfig<Schemas> | string,
|
|
169
182
|
onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
@@ -37,7 +37,11 @@ export interface YjsPersister<Schemas extends OptionalSchemas>
|
|
|
37
37
|
* then gets the Yjs document back out again.
|
|
38
38
|
*
|
|
39
39
|
* ```js
|
|
40
|
-
*
|
|
40
|
+
* import {Doc} from 'yjs';
|
|
41
|
+
* import {createStore} from 'tinybase';
|
|
42
|
+
* import {createYjsPersister} from 'tinybase/persisters/persister-yjs';
|
|
43
|
+
*
|
|
44
|
+
* const doc = new Doc();
|
|
41
45
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
42
46
|
* const persister = createYjsPersister(store, doc);
|
|
43
47
|
*
|
|
@@ -82,7 +86,11 @@ export interface YjsPersister<Schemas extends OptionalSchemas>
|
|
|
82
86
|
* document.
|
|
83
87
|
*
|
|
84
88
|
* ```js
|
|
85
|
-
*
|
|
89
|
+
* import {Doc} from 'yjs';
|
|
90
|
+
* import {createStore} from 'tinybase';
|
|
91
|
+
* import {createYjsPersister} from 'tinybase/persisters/persister-yjs';
|
|
92
|
+
*
|
|
93
|
+
* const doc = new Doc();
|
|
86
94
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
87
95
|
* const persister = createYjsPersister(store, doc);
|
|
88
96
|
*
|
|
@@ -105,14 +113,18 @@ export interface YjsPersister<Schemas extends OptionalSchemas>
|
|
|
105
113
|
* function.
|
|
106
114
|
*
|
|
107
115
|
* ```js
|
|
108
|
-
*
|
|
109
|
-
*
|
|
116
|
+
* import {Doc, applyUpdate, encodeStateAsUpdate} from 'yjs';
|
|
117
|
+
* import {createStore} from 'tinybase';
|
|
118
|
+
* import {createYjsPersister} from 'tinybase/persisters/persister-yjs';
|
|
119
|
+
*
|
|
120
|
+
* const doc1 = new Doc();
|
|
121
|
+
* const doc2 = new Doc();
|
|
110
122
|
*
|
|
111
123
|
* // A function to manually synchronize documents with each other. Typically
|
|
112
124
|
* // this would happen over the wire, via a Yjs connection provider.
|
|
113
125
|
* const syncDocs = async () => {
|
|
114
|
-
*
|
|
115
|
-
*
|
|
126
|
+
* applyUpdate(doc1, encodeStateAsUpdate(doc2));
|
|
127
|
+
* applyUpdate(doc2, encodeStateAsUpdate(doc1));
|
|
116
128
|
* };
|
|
117
129
|
*
|
|
118
130
|
* // Bind a persisted Store to each document.
|
|
@@ -190,7 +190,9 @@ export type PersisterStats = {
|
|
|
190
190
|
* settings.
|
|
191
191
|
*
|
|
192
192
|
* ```js
|
|
193
|
-
*
|
|
193
|
+
* import {DatabasePersisterConfig} from 'tinybase';
|
|
194
|
+
*
|
|
195
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
194
196
|
* mode: 'json',
|
|
195
197
|
* storeTableName: 'my_tinybase',
|
|
196
198
|
* autoLoadIntervalSeconds: 2,
|
|
@@ -202,7 +204,9 @@ export type PersisterStats = {
|
|
|
202
204
|
* mappings. See DpcTabular for more details on these settings.
|
|
203
205
|
*
|
|
204
206
|
* ```js
|
|
205
|
-
*
|
|
207
|
+
* import {DatabasePersisterConfig} from 'tinybase';
|
|
208
|
+
*
|
|
209
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
206
210
|
* mode: 'tabular',
|
|
207
211
|
* tables: {
|
|
208
212
|
* load: {petsInDb: 'pets', speciesInDb: 'species'},
|
|
@@ -247,7 +251,9 @@ export type DatabasePersisterConfig<Schemas extends OptionalSchemas> =
|
|
|
247
251
|
* and save a JSON serialization from and to a table called `tinybase_json`.
|
|
248
252
|
*
|
|
249
253
|
* ```js
|
|
250
|
-
*
|
|
254
|
+
* import {DatabasePersisterConfig} from 'tinybase';
|
|
255
|
+
*
|
|
256
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
251
257
|
* mode: 'json',
|
|
252
258
|
* storeTableName: 'tinybase_json',
|
|
253
259
|
* };
|
|
@@ -305,7 +311,9 @@ export type DpcJson = {
|
|
|
305
311
|
* For example:
|
|
306
312
|
*
|
|
307
313
|
* ```js
|
|
308
|
-
*
|
|
314
|
+
* import {DatabasePersisterConfig} from 'tinybase';
|
|
315
|
+
*
|
|
316
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
309
317
|
* mode: 'tabular',
|
|
310
318
|
* tables: {
|
|
311
319
|
* load: {petsInDb: 'pets', speciesInDb: 'species'},
|
|
@@ -326,7 +334,9 @@ export type DpcJson = {
|
|
|
326
334
|
* mappings, and Values data from and to a table called `my_tinybase_values`.
|
|
327
335
|
*
|
|
328
336
|
* ```js
|
|
329
|
-
*
|
|
337
|
+
* import {DatabasePersisterConfig} from 'tinybase';
|
|
338
|
+
*
|
|
339
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
330
340
|
* mode: 'tabular',
|
|
331
341
|
* tables: {
|
|
332
342
|
* load: {petsInDb: 'pets', speciesInDb: 'species'},
|
|
@@ -400,7 +410,9 @@ export type DpcTabular<Schema extends OptionalTablesSchema> = {
|
|
|
400
410
|
* Id called 'id' and the other defaults it to '_id'.
|
|
401
411
|
*
|
|
402
412
|
* ```js
|
|
403
|
-
*
|
|
413
|
+
* import {DatabasePersisterConfig} from 'tinybase';
|
|
414
|
+
*
|
|
415
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
404
416
|
* mode: 'tabular',
|
|
405
417
|
* tables: {
|
|
406
418
|
* load: {
|
|
@@ -503,7 +515,9 @@ export type DpcTabularLoad<Schema extends OptionalTablesSchema> = {
|
|
|
503
515
|
* empty.
|
|
504
516
|
*
|
|
505
517
|
* ```js
|
|
506
|
-
*
|
|
518
|
+
* import {DatabasePersisterConfig} from 'tinybase';
|
|
519
|
+
*
|
|
520
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
507
521
|
* mode: 'tabular',
|
|
508
522
|
* tables: {
|
|
509
523
|
* save: {
|
|
@@ -598,7 +612,9 @@ export type DpcTabularSave<Schema extends OptionalTablesSchema> = {
|
|
|
598
612
|
* table called 'my_tinybase_values'.
|
|
599
613
|
*
|
|
600
614
|
* ```js
|
|
601
|
-
*
|
|
615
|
+
* import {DatabasePersisterConfig} from 'tinybase';
|
|
616
|
+
*
|
|
617
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
602
618
|
* mode: 'tabular',
|
|
603
619
|
* values: {
|
|
604
620
|
* load: true,
|
|
@@ -683,6 +699,9 @@ export type DpcTabularValues = {
|
|
|
683
699
|
* finally destroys the Persister again.
|
|
684
700
|
*
|
|
685
701
|
* ```js
|
|
702
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
703
|
+
* import {createStore} from 'tinybase';
|
|
704
|
+
*
|
|
686
705
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
687
706
|
* const persister = createSessionPersister(store, 'pets');
|
|
688
707
|
*
|
|
@@ -704,6 +723,9 @@ export type DpcTabularValues = {
|
|
|
704
723
|
* persisted data (implicitly firing a StorageEvent), are reflected accordingly.
|
|
705
724
|
*
|
|
706
725
|
* ```js
|
|
726
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
727
|
+
* import {createStore} from 'tinybase';
|
|
728
|
+
*
|
|
707
729
|
* const store = createStore();
|
|
708
730
|
* const persister = createSessionPersister(store, 'pets');
|
|
709
731
|
*
|
|
@@ -761,6 +783,9 @@ export interface Persister<
|
|
|
761
783
|
* previously populated.
|
|
762
784
|
*
|
|
763
785
|
* ```js
|
|
786
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
787
|
+
* import {createStore} from 'tinybase';
|
|
788
|
+
*
|
|
764
789
|
* sessionStorage.setItem('pets', '[{"pets":{"fido":{"species":"dog"}}},{}]');
|
|
765
790
|
*
|
|
766
791
|
* const store = createStore();
|
|
@@ -779,6 +804,9 @@ export interface Persister<
|
|
|
779
804
|
* previously been persisted and instead, that is loaded.
|
|
780
805
|
*
|
|
781
806
|
* ```js
|
|
807
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
808
|
+
* import {createStore} from 'tinybase';
|
|
809
|
+
*
|
|
782
810
|
* const store = createStore();
|
|
783
811
|
* const persister = createSessionPersister(store, 'pets');
|
|
784
812
|
*
|
|
@@ -834,6 +862,9 @@ export interface Persister<
|
|
|
834
862
|
* from session storage changes made in another browser tab).
|
|
835
863
|
*
|
|
836
864
|
* ```js
|
|
865
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
866
|
+
* import {createStore} from 'tinybase';
|
|
867
|
+
*
|
|
837
868
|
* const store = createStore();
|
|
838
869
|
* const persister = createSessionPersister(store, 'pets');
|
|
839
870
|
*
|
|
@@ -869,6 +900,9 @@ export interface Persister<
|
|
|
869
900
|
* stopped, subsequent changes are not reflected in the Store.
|
|
870
901
|
*
|
|
871
902
|
* ```js
|
|
903
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
904
|
+
* import {createStore} from 'tinybase';
|
|
905
|
+
*
|
|
872
906
|
* const store = createStore();
|
|
873
907
|
* const persister = createSessionPersister(store, 'pets');
|
|
874
908
|
* await persister.startAutoLoad();
|
|
@@ -909,6 +943,9 @@ export interface Persister<
|
|
|
909
943
|
* This example creates a Persister and queries whether it is autoLoading.
|
|
910
944
|
*
|
|
911
945
|
* ```js
|
|
946
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
947
|
+
* import {createStore} from 'tinybase';
|
|
948
|
+
*
|
|
912
949
|
* const persister = createSessionPersister(createStore(), 'pets');
|
|
913
950
|
*
|
|
914
951
|
* console.log(persister.isAutoLoading());
|
|
@@ -941,6 +978,9 @@ export interface Persister<
|
|
|
941
978
|
* session storage.
|
|
942
979
|
*
|
|
943
980
|
* ```js
|
|
981
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
982
|
+
* import {createStore} from 'tinybase';
|
|
983
|
+
*
|
|
944
984
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
945
985
|
* const persister = createSessionPersister(store, 'pets');
|
|
946
986
|
*
|
|
@@ -974,6 +1014,9 @@ export interface Persister<
|
|
|
974
1014
|
* saved to the underlying storage.
|
|
975
1015
|
*
|
|
976
1016
|
* ```js
|
|
1017
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
1018
|
+
* import {createStore} from 'tinybase';
|
|
1019
|
+
*
|
|
977
1020
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
978
1021
|
* const persister = createSessionPersister(store, 'pets');
|
|
979
1022
|
*
|
|
@@ -1006,6 +1049,9 @@ export interface Persister<
|
|
|
1006
1049
|
* stopped, subsequent changes are not reflected.
|
|
1007
1050
|
*
|
|
1008
1051
|
* ```js
|
|
1052
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
1053
|
+
* import {createStore} from 'tinybase';
|
|
1054
|
+
*
|
|
1009
1055
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
1010
1056
|
* const persister = createSessionPersister(store, 'pets');
|
|
1011
1057
|
* await persister.startAutoSave();
|
|
@@ -1038,6 +1084,9 @@ export interface Persister<
|
|
|
1038
1084
|
* This example creates a Persister and queries whether it is autoSaving.
|
|
1039
1085
|
*
|
|
1040
1086
|
* ```js
|
|
1087
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
1088
|
+
* import {createStore} from 'tinybase';
|
|
1089
|
+
*
|
|
1041
1090
|
* const persister = createSessionPersister(createStore(), 'pets');
|
|
1042
1091
|
*
|
|
1043
1092
|
* console.log(persister.isAutoSaving());
|
|
@@ -1076,6 +1125,13 @@ export interface Persister<
|
|
|
1076
1125
|
* hypothetical remote system.
|
|
1077
1126
|
*
|
|
1078
1127
|
* ```js yolo
|
|
1128
|
+
* import {
|
|
1129
|
+
* checkRemoteSystemIsReady,
|
|
1130
|
+
* getDataFromRemoteSystem,
|
|
1131
|
+
* sendDataToRemoteSystem,
|
|
1132
|
+
* } from 'custom-remote-handlers';
|
|
1133
|
+
* import {createCustomPersister, createStore} from 'tinybase';
|
|
1134
|
+
*
|
|
1079
1135
|
* const store = createStore();
|
|
1080
1136
|
* const persister = createCustomPersister(
|
|
1081
1137
|
* store,
|
|
@@ -1114,6 +1170,9 @@ export interface Persister<
|
|
|
1114
1170
|
* ```
|
|
1115
1171
|
*
|
|
1116
1172
|
* ```js
|
|
1173
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
1174
|
+
* import {createStore} from 'tinybase';
|
|
1175
|
+
*
|
|
1117
1176
|
* const persister = createSessionPersister(createStore(), 'pets');
|
|
1118
1177
|
* await persister.startAutoSave();
|
|
1119
1178
|
*
|
|
@@ -1142,6 +1201,9 @@ export interface Persister<
|
|
|
1142
1201
|
* again, removing the listener.
|
|
1143
1202
|
*
|
|
1144
1203
|
* ```js
|
|
1204
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
1205
|
+
* import {createStore} from 'tinybase';
|
|
1206
|
+
*
|
|
1145
1207
|
* const store = createStore();
|
|
1146
1208
|
* const persister = createSessionPersister(store, 'pets');
|
|
1147
1209
|
* await persister.startAutoSave();
|
|
@@ -1179,6 +1241,9 @@ export interface Persister<
|
|
|
1179
1241
|
* invoked by changes to the Store and to the underlying storage.
|
|
1180
1242
|
*
|
|
1181
1243
|
* ```js
|
|
1244
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
1245
|
+
* import {createStore} from 'tinybase';
|
|
1246
|
+
*
|
|
1182
1247
|
* const store = createStore();
|
|
1183
1248
|
* const persister = createSessionPersister(store, 'pets');
|
|
1184
1249
|
*
|
|
@@ -1275,6 +1340,8 @@ export interface Persister<
|
|
|
1275
1340
|
* for changes every second.
|
|
1276
1341
|
*
|
|
1277
1342
|
* ```js
|
|
1343
|
+
* import {createCustomPersister, createStore} from 'tinybase';
|
|
1344
|
+
*
|
|
1278
1345
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
1279
1346
|
* let storeJson;
|
|
1280
1347
|
*
|