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
package/lib/types/metrics.d.ts
CHANGED
|
@@ -216,6 +216,8 @@ export type MetricsListenerStats = {
|
|
|
216
216
|
* removing a listener for it.
|
|
217
217
|
*
|
|
218
218
|
* ```js
|
|
219
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
220
|
+
*
|
|
219
221
|
* const store = createStore().setTable('species', {
|
|
220
222
|
* dog: {price: 5},
|
|
221
223
|
* cat: {price: 4},
|
|
@@ -303,6 +305,8 @@ export interface Metrics {
|
|
|
303
305
|
* simple Metric to count the Row objects in the Table.
|
|
304
306
|
*
|
|
305
307
|
* ```js
|
|
308
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
309
|
+
*
|
|
306
310
|
* const store = createStore().setTable('species', {
|
|
307
311
|
* dog: {price: 5},
|
|
308
312
|
* cat: {price: 4},
|
|
@@ -321,6 +325,8 @@ export interface Metrics {
|
|
|
321
325
|
* objects in the Table.
|
|
322
326
|
*
|
|
323
327
|
* ```js
|
|
328
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
329
|
+
*
|
|
324
330
|
* const store = createStore().setTable('species', {
|
|
325
331
|
* dog: {price: 5},
|
|
326
332
|
* cat: {price: 4},
|
|
@@ -338,6 +344,8 @@ export interface Metrics {
|
|
|
338
344
|
* custom Metric to get the lowest value of each `price` Cell, greater than 2.
|
|
339
345
|
*
|
|
340
346
|
* ```js
|
|
347
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
348
|
+
*
|
|
341
349
|
* const store = createStore().setTable('species', {
|
|
342
350
|
* dog: {price: 5},
|
|
343
351
|
* cat: {price: 4},
|
|
@@ -362,6 +370,8 @@ export interface Metrics {
|
|
|
362
370
|
* functions.
|
|
363
371
|
*
|
|
364
372
|
* ```js
|
|
373
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
374
|
+
*
|
|
365
375
|
* const store = createStore().setTable('species', {
|
|
366
376
|
* dog: {price: 5},
|
|
367
377
|
* cat: {price: 4},
|
|
@@ -395,6 +405,8 @@ export interface Metrics {
|
|
|
395
405
|
* custom Metric to get the average value of a discounted price.
|
|
396
406
|
*
|
|
397
407
|
* ```js
|
|
408
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
409
|
+
*
|
|
398
410
|
* const store = createStore().setTable('species', {
|
|
399
411
|
* dog: {price: 5, discount: 0.3},
|
|
400
412
|
* cat: {price: 4, discount: 0.2},
|
|
@@ -433,6 +445,8 @@ export interface Metrics {
|
|
|
433
445
|
* Metric, and then removes it.
|
|
434
446
|
*
|
|
435
447
|
* ```js
|
|
448
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
449
|
+
*
|
|
436
450
|
* const store = createStore().setTable('species', {
|
|
437
451
|
* dog: {price: 5},
|
|
438
452
|
* cat: {price: 4},
|
|
@@ -461,6 +475,8 @@ export interface Metrics {
|
|
|
461
475
|
* then gets its reference in order to update its data.
|
|
462
476
|
*
|
|
463
477
|
* ```js
|
|
478
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
479
|
+
*
|
|
464
480
|
* const metrics = createMetrics(createStore());
|
|
465
481
|
* metrics.setMetricDefinition('speciesCount', 'species');
|
|
466
482
|
* metrics.getStore().setCell('species', 'dog', 'price', 5);
|
|
@@ -480,6 +496,8 @@ export interface Metrics {
|
|
|
480
496
|
* the Ids of the definitions.
|
|
481
497
|
*
|
|
482
498
|
* ```js
|
|
499
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
500
|
+
*
|
|
483
501
|
* const metrics = createMetrics(createStore())
|
|
484
502
|
* .setMetricDefinition('speciesCount', 'species')
|
|
485
503
|
* .setMetricDefinition('petsCount', 'pets');
|
|
@@ -503,6 +521,8 @@ export interface Metrics {
|
|
|
503
521
|
* This example iterates over each Metric in a Metrics object.
|
|
504
522
|
*
|
|
505
523
|
* ```js
|
|
524
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
525
|
+
*
|
|
506
526
|
* const store = createStore().setTable('species', {
|
|
507
527
|
* dog: {price: 5},
|
|
508
528
|
* cat: {price: 4},
|
|
@@ -531,6 +551,8 @@ export interface Metrics {
|
|
|
531
551
|
* This example shows two simple Metric existence checks.
|
|
532
552
|
*
|
|
533
553
|
* ```js
|
|
554
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
555
|
+
*
|
|
534
556
|
* const store = createStore();
|
|
535
557
|
* const metrics = createMetrics(store);
|
|
536
558
|
* metrics.setMetricDefinition('highestPrice', 'species', 'max', 'price');
|
|
@@ -559,6 +581,8 @@ export interface Metrics {
|
|
|
559
581
|
* queries it (and a non-existent definition) to get the underlying Table Id.
|
|
560
582
|
*
|
|
561
583
|
* ```js
|
|
584
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
585
|
+
*
|
|
562
586
|
* const metrics = createMetrics(createStore());
|
|
563
587
|
* metrics.setMetricDefinition('speciesCount', 'species');
|
|
564
588
|
*
|
|
@@ -585,6 +609,8 @@ export interface Metrics {
|
|
|
585
609
|
* been defined).
|
|
586
610
|
*
|
|
587
611
|
* ```js
|
|
612
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
613
|
+
*
|
|
588
614
|
* const store = createStore().setTable('species', {
|
|
589
615
|
* dog: {price: 5},
|
|
590
616
|
* cat: {price: 4},
|
|
@@ -618,6 +644,8 @@ export interface Metrics {
|
|
|
618
644
|
* definition.
|
|
619
645
|
*
|
|
620
646
|
* ```js
|
|
647
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
648
|
+
*
|
|
621
649
|
* const store = createStore().setTable('species', {
|
|
622
650
|
* dog: {price: 5},
|
|
623
651
|
* cat: {price: 4},
|
|
@@ -662,6 +690,8 @@ export interface Metrics {
|
|
|
662
690
|
* listener that responds to any changes to a specific Metric.
|
|
663
691
|
*
|
|
664
692
|
* ```js
|
|
693
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
694
|
+
*
|
|
665
695
|
* const store = createStore().setTable('species', {
|
|
666
696
|
* dog: {price: 5},
|
|
667
697
|
* cat: {price: 4},
|
|
@@ -673,7 +703,7 @@ export interface Metrics {
|
|
|
673
703
|
*
|
|
674
704
|
* const listenerId = metrics.addMetricListener(
|
|
675
705
|
* 'highestPrice',
|
|
676
|
-
* (metrics,
|
|
706
|
+
* (metrics, _metricId, newMetric, oldMetric) => {
|
|
677
707
|
* console.log('highestPrice metric changed');
|
|
678
708
|
* console.log([oldMetric, newMetric]);
|
|
679
709
|
* },
|
|
@@ -690,6 +720,8 @@ export interface Metrics {
|
|
|
690
720
|
* listener that responds to any changes to any Metric.
|
|
691
721
|
*
|
|
692
722
|
* ```js
|
|
723
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
724
|
+
*
|
|
693
725
|
* const store = createStore().setTable('species', {
|
|
694
726
|
* dog: {price: 5},
|
|
695
727
|
* cat: {price: 4},
|
|
@@ -733,6 +765,8 @@ export interface Metrics {
|
|
|
733
765
|
* then removes it.
|
|
734
766
|
*
|
|
735
767
|
* ```js
|
|
768
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
769
|
+
*
|
|
736
770
|
* const store = createStore().setTable('species', {
|
|
737
771
|
* dog: {price: 5},
|
|
738
772
|
* cat: {price: 4},
|
|
@@ -742,12 +776,9 @@ export interface Metrics {
|
|
|
742
776
|
* const metrics = createMetrics(store);
|
|
743
777
|
* metrics.setMetricDefinition('highestPrice', 'species', 'max', 'price');
|
|
744
778
|
*
|
|
745
|
-
* const listenerId = metrics.addMetricListener(
|
|
746
|
-
* 'highestPrice'
|
|
747
|
-
*
|
|
748
|
-
* console.log('highestPrice metric changed');
|
|
749
|
-
* },
|
|
750
|
-
* );
|
|
779
|
+
* const listenerId = metrics.addMetricListener('highestPrice', () => {
|
|
780
|
+
* console.log('highestPrice metric changed');
|
|
781
|
+
* });
|
|
751
782
|
*
|
|
752
783
|
* store.setCell('species', 'horse', 'price', 20);
|
|
753
784
|
* // -> 'highestPrice metric changed'
|
|
@@ -774,6 +805,8 @@ export interface Metrics {
|
|
|
774
805
|
* again, removing the listener.
|
|
775
806
|
*
|
|
776
807
|
* ```js
|
|
808
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
809
|
+
*
|
|
777
810
|
* const store = createStore().setTable('species', {
|
|
778
811
|
* dog: {price: 5},
|
|
779
812
|
* cat: {price: 4},
|
|
@@ -809,6 +842,8 @@ export interface Metrics {
|
|
|
809
842
|
* This example gets the listener statistics of a Metrics object.
|
|
810
843
|
*
|
|
811
844
|
* ```js
|
|
845
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
846
|
+
*
|
|
812
847
|
* const store = createStore();
|
|
813
848
|
* const metrics = createMetrics(store);
|
|
814
849
|
* metrics.addMetricListener(null, () => console.log('Metric changed'));
|
|
@@ -835,6 +870,8 @@ export interface Metrics {
|
|
|
835
870
|
* This example creates a Metrics object.
|
|
836
871
|
*
|
|
837
872
|
* ```js
|
|
873
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
874
|
+
*
|
|
838
875
|
* const store = createStore();
|
|
839
876
|
* const metrics = createMetrics(store);
|
|
840
877
|
* console.log(metrics.getMetricIds());
|
|
@@ -845,6 +882,8 @@ export interface Metrics {
|
|
|
845
882
|
* for the same Store to return the same object.
|
|
846
883
|
*
|
|
847
884
|
* ```js
|
|
885
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
886
|
+
*
|
|
848
887
|
* const store = createStore();
|
|
849
888
|
* const metrics1 = createMetrics(store);
|
|
850
889
|
* const metrics2 = createMetrics(store);
|
|
@@ -37,7 +37,11 @@ export interface AutomergePersister extends Persister {
|
|
|
37
37
|
* then gets the Automerge document handler back out again.
|
|
38
38
|
*
|
|
39
39
|
* ```js
|
|
40
|
-
*
|
|
40
|
+
* import {Repo} from '@automerge/automerge-repo';
|
|
41
|
+
* import {createAutomergePersister} from 'tinybase/persisters/persister-automerge';
|
|
42
|
+
* import {createStore} from 'tinybase';
|
|
43
|
+
*
|
|
44
|
+
* const docHandler = new Repo({network: []}).create();
|
|
41
45
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
42
46
|
* const persister = createAutomergePersister(store, docHandler);
|
|
43
47
|
*
|
|
@@ -71,7 +75,11 @@ export interface AutomergePersister extends Persister {
|
|
|
71
75
|
* Automerge document.
|
|
72
76
|
*
|
|
73
77
|
* ```js
|
|
74
|
-
*
|
|
78
|
+
* import {Repo} from '@automerge/automerge-repo';
|
|
79
|
+
* import {createAutomergePersister} from 'tinybase/persisters/persister-automerge';
|
|
80
|
+
* import {createStore} from 'tinybase';
|
|
81
|
+
*
|
|
82
|
+
* const docHandler = new Repo({network: []}).create();
|
|
75
83
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
76
84
|
* const persister = createAutomergePersister(store, docHandler);
|
|
77
85
|
*
|
|
@@ -89,8 +97,13 @@ export interface AutomergePersister extends Persister {
|
|
|
89
97
|
* each other using a network.
|
|
90
98
|
*
|
|
91
99
|
* ```js
|
|
100
|
+
* import {BroadcastChannelNetworkAdapter} from '@automerge/automerge-repo-network-broadcastchannel';
|
|
101
|
+
* import {Repo} from '@automerge/automerge-repo';
|
|
102
|
+
* import {createAutomergePersister} from 'tinybase/persisters/persister-automerge';
|
|
103
|
+
* import {createStore} from 'tinybase';
|
|
104
|
+
*
|
|
92
105
|
* // Bind the first Store to a network-enabled automerge-repo
|
|
93
|
-
* const repo1 = new
|
|
106
|
+
* const repo1 = new Repo({
|
|
94
107
|
* network: [new BroadcastChannelNetworkAdapter()],
|
|
95
108
|
* });
|
|
96
109
|
* const docHandler1 = repo1.create();
|
|
@@ -101,7 +114,7 @@ export interface AutomergePersister extends Persister {
|
|
|
101
114
|
* await persister1.startAutoSave();
|
|
102
115
|
*
|
|
103
116
|
* // Bind the second Store to a different network-enabled automerge-repo
|
|
104
|
-
* const repo2 = new
|
|
117
|
+
* const repo2 = new Repo({
|
|
105
118
|
* network: [new BroadcastChannelNetworkAdapter()],
|
|
106
119
|
* });
|
|
107
120
|
* const docHandler2 = repo2.find(docHandler1.documentId);
|
|
@@ -40,6 +40,9 @@ export interface SessionPersister extends Persister<3> {
|
|
|
40
40
|
* then gets the unique key of the storage location back out again.
|
|
41
41
|
*
|
|
42
42
|
* ```js
|
|
43
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
44
|
+
* import {createStore} from 'tinybase';
|
|
45
|
+
*
|
|
43
46
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
44
47
|
* const persister = createSessionPersister(store, 'pets');
|
|
45
48
|
*
|
|
@@ -75,6 +78,9 @@ export interface LocalPersister extends Persister<3> {
|
|
|
75
78
|
* then gets the unique key of the storage location back out again.
|
|
76
79
|
*
|
|
77
80
|
* ```js
|
|
81
|
+
* import {createLocalPersister} from 'tinybase/persisters/persister-browser';
|
|
82
|
+
* import {createStore} from 'tinybase';
|
|
83
|
+
*
|
|
78
84
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
79
85
|
* const persister = createLocalPersister(store, 'pets');
|
|
80
86
|
*
|
|
@@ -107,6 +113,9 @@ export interface LocalPersister extends Persister<3> {
|
|
|
107
113
|
* browser's session storage.
|
|
108
114
|
*
|
|
109
115
|
* ```js
|
|
116
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
117
|
+
* import {createStore} from 'tinybase';
|
|
118
|
+
*
|
|
110
119
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
111
120
|
* const persister = createSessionPersister(store, 'pets');
|
|
112
121
|
*
|
|
@@ -143,6 +152,9 @@ export function createSessionPersister(
|
|
|
143
152
|
* browser's local storage.
|
|
144
153
|
*
|
|
145
154
|
* ```js
|
|
155
|
+
* import {createLocalPersister} from 'tinybase/persisters/persister-browser';
|
|
156
|
+
* import {createStore} from 'tinybase';
|
|
157
|
+
*
|
|
146
158
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
147
159
|
* const persister = createLocalPersister(store, 'pets');
|
|
148
160
|
*
|
|
@@ -34,6 +34,10 @@ export interface CrSqliteWasmPersister extends Persister {
|
|
|
34
34
|
* then gets the database instance back out again.
|
|
35
35
|
*
|
|
36
36
|
* ```js
|
|
37
|
+
* import {createCrSqliteWasmPersister} from 'tinybase/persisters/persister-cr-sqlite-wasm';
|
|
38
|
+
* import {createStore} from 'tinybase';
|
|
39
|
+
* import initWasm from '@vlcn.io/crsqlite-wasm';
|
|
40
|
+
*
|
|
37
41
|
* const crSqlite3 = await initWasm();
|
|
38
42
|
* const db = await crSqlite3.open();
|
|
39
43
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
@@ -88,6 +92,10 @@ export interface CrSqliteWasmPersister extends Persister {
|
|
|
88
92
|
* into the Store.
|
|
89
93
|
*
|
|
90
94
|
* ```js
|
|
95
|
+
* import {createCrSqliteWasmPersister} from 'tinybase/persisters/persister-cr-sqlite-wasm';
|
|
96
|
+
* import {createStore} from 'tinybase';
|
|
97
|
+
* import initWasm from '@vlcn.io/crsqlite-wasm';
|
|
98
|
+
*
|
|
91
99
|
* const crSqlite3 = await initWasm();
|
|
92
100
|
* const db = await crSqlite3.open();
|
|
93
101
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
@@ -114,6 +122,10 @@ export interface CrSqliteWasmPersister extends Persister {
|
|
|
114
122
|
* a local SQLite database with tabular mapping.
|
|
115
123
|
*
|
|
116
124
|
* ```js
|
|
125
|
+
* import {createCrSqliteWasmPersister} from 'tinybase/persisters/persister-cr-sqlite-wasm';
|
|
126
|
+
* import {createStore} from 'tinybase';
|
|
127
|
+
* import initWasm from '@vlcn.io/crsqlite-wasm';
|
|
128
|
+
*
|
|
117
129
|
* const crSqlite3 = await initWasm();
|
|
118
130
|
* const db = await crSqlite3.open();
|
|
119
131
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
@@ -34,10 +34,15 @@ export interface ElectricSqlPersister extends Persister {
|
|
|
34
34
|
* then gets the Electric client back out again.
|
|
35
35
|
*
|
|
36
36
|
* ```js yolo
|
|
37
|
+
* import {ElectricDatabase, electrify} from 'electric-sql/wa-sqlite';
|
|
38
|
+
* import {createElectricSqlPersister} from 'tinybase/persisters/persister-electric-sql';
|
|
39
|
+
* import {createStore} from 'tinybase';
|
|
40
|
+
* import {schema} from './generated/client';
|
|
41
|
+
*
|
|
37
42
|
* const electricClient = await electrify(
|
|
38
43
|
* await ElectricDatabase.init('electric.db', ''),
|
|
39
44
|
* schema,
|
|
40
|
-
* {url:
|
|
45
|
+
* {url: import.meta.env.ELECTRIC_SERVICE},
|
|
41
46
|
* );
|
|
42
47
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
43
48
|
* const persister = createElectricSqlPersister(
|
|
@@ -96,10 +101,15 @@ export interface ElectricSqlPersister extends Persister {
|
|
|
96
101
|
* into the Store.
|
|
97
102
|
*
|
|
98
103
|
* ```js yolo
|
|
104
|
+
* import {ElectricDatabase, electrify} from 'electric-sql/wa-sqlite';
|
|
105
|
+
* import {createElectricSqlPersister} from 'tinybase/persisters/persister-electric-sql';
|
|
106
|
+
* import {createStore} from 'tinybase';
|
|
107
|
+
* import {schema} from './generated/client';
|
|
108
|
+
*
|
|
99
109
|
* const electricClient = await electrify(
|
|
100
110
|
* await ElectricDatabase.init('electric.db', ''),
|
|
101
111
|
* schema,
|
|
102
|
-
* {url:
|
|
112
|
+
* {url: import.meta.env.ELECTRIC_SERVICE},
|
|
103
113
|
* );
|
|
104
114
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
105
115
|
* const persister = createElectricSqlPersister(
|
|
@@ -132,10 +142,15 @@ export interface ElectricSqlPersister extends Persister {
|
|
|
132
142
|
* a local ElectricSql database with tabular mapping.
|
|
133
143
|
*
|
|
134
144
|
* ```js yolo
|
|
145
|
+
* import {ElectricDatabase, electrify} from 'electric-sql/wa-sqlite';
|
|
146
|
+
* import {createElectricSqlPersister} from 'tinybase/persisters/persister-electric-sql';
|
|
147
|
+
* import {createStore} from 'tinybase';
|
|
148
|
+
* import {schema} from './generated/client';
|
|
149
|
+
*
|
|
135
150
|
* const electricClient = await electrify(
|
|
136
151
|
* await ElectricDatabase.init('electric.db', ''),
|
|
137
152
|
* schema,
|
|
138
|
-
* {url:
|
|
153
|
+
* {url: import.meta.env.ELECTRIC_SERVICE},
|
|
139
154
|
* );
|
|
140
155
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
141
156
|
* const persister = createElectricSqlPersister(store, electricClient, {
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
23
|
import {DatabasePersisterConfig, Persister} from '../persisters.d.ts';
|
|
24
|
+
import {MergeableStore} from '../mergeable-store.d.ts';
|
|
24
25
|
import {SQLiteDatabase} from 'expo-sqlite/next';
|
|
25
26
|
import {Store} from '../store.d.ts';
|
|
26
27
|
|
|
@@ -46,7 +47,11 @@ export interface ExpoSqliteNextPersister extends Persister<3> {
|
|
|
46
47
|
* then gets the database instance back out again.
|
|
47
48
|
*
|
|
48
49
|
* ```js yolo
|
|
49
|
-
*
|
|
50
|
+
* import {createExpoSqliteNextPersister} from 'tinybase/persisters/persister-expo-sqlite-next';
|
|
51
|
+
* import {createStore} from 'tinybase';
|
|
52
|
+
* import {openDatabaseSync} from 'expo-sqlite';
|
|
53
|
+
*
|
|
54
|
+
* const db = openDatabaseSync('my.db');
|
|
50
55
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
51
56
|
* const persister = createExpoSqliteNextPersister(store, db, 'my_tinybase');
|
|
52
57
|
*
|
|
@@ -103,7 +108,11 @@ export interface ExpoSqliteNextPersister extends Persister<3> {
|
|
|
103
108
|
* into the Store.
|
|
104
109
|
*
|
|
105
110
|
* ```js yolo
|
|
106
|
-
*
|
|
111
|
+
* import {createExpoSqliteNextPersister} from 'tinybase/persisters/persister-expo-sqlite-next';
|
|
112
|
+
* import {createStore} from 'tinybase';
|
|
113
|
+
* import {openDatabaseSync} from 'expo-sqlite';
|
|
114
|
+
*
|
|
115
|
+
* const db = openDatabaseSync('my.db');
|
|
107
116
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
108
117
|
* const persister = createExpoSqliteNextPersister(store, db, 'my_tinybase');
|
|
109
118
|
*
|
|
@@ -118,10 +127,12 @@ export interface ExpoSqliteNextPersister extends Persister<3> {
|
|
|
118
127
|
* // -> [{_id: '_', store: '[{"pets":{"fido":{"species":"dog"}}},{}]'}]
|
|
119
128
|
*
|
|
120
129
|
* await new Promise((resolve) =>
|
|
121
|
-
* db
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
130
|
+
* db
|
|
131
|
+
* .allAsync(
|
|
132
|
+
* 'UPDATE my_tinybase SET store = ' +
|
|
133
|
+
* `'[{"pets":{"felix":{"species":"cat"}}},{}]' WHERE _id = '_';`,
|
|
134
|
+
* )
|
|
135
|
+
* .then(resolve),
|
|
125
136
|
* );
|
|
126
137
|
* await persister.load();
|
|
127
138
|
* console.log(store.getTables());
|
|
@@ -134,7 +145,11 @@ export interface ExpoSqliteNextPersister extends Persister<3> {
|
|
|
134
145
|
* to a local SQLite database with tabular mapping.
|
|
135
146
|
*
|
|
136
147
|
* ```js yolo
|
|
137
|
-
*
|
|
148
|
+
* import {createExpoSqliteNextPersister} from 'tinybase/persisters/persister-expo-sqlite-next';
|
|
149
|
+
* import {createStore} from 'tinybase';
|
|
150
|
+
* import {openDatabaseSync} from 'expo-sqlite';
|
|
151
|
+
*
|
|
152
|
+
* const db = openDatabaseSync('my.db');
|
|
138
153
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
139
154
|
* const persister = createExpoSqliteNextPersister(store, db, {
|
|
140
155
|
* mode: 'tabular',
|
|
@@ -164,7 +179,7 @@ export interface ExpoSqliteNextPersister extends Persister<3> {
|
|
|
164
179
|
* @since v4.5.0
|
|
165
180
|
*/
|
|
166
181
|
export function createExpoSqliteNextPersister(
|
|
167
|
-
store: Store,
|
|
182
|
+
store: Store | MergeableStore,
|
|
168
183
|
db: SQLiteDatabase,
|
|
169
184
|
configOrStoreTableName?: DatabasePersisterConfig | string,
|
|
170
185
|
onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
import {DatabasePersisterConfig, Persister} from '../persisters.d.ts';
|
|
23
|
+
import {MergeableStore} from '../mergeable-store.d.ts';
|
|
23
24
|
import {SQLiteDatabase} from 'expo-sqlite';
|
|
24
25
|
import {Store} from '../store.d.ts';
|
|
25
26
|
|
|
@@ -45,7 +46,11 @@ export interface ExpoSqlitePersister extends Persister<3> {
|
|
|
45
46
|
* then gets the database instance back out again.
|
|
46
47
|
*
|
|
47
48
|
* ```js yolo
|
|
48
|
-
*
|
|
49
|
+
* import {createExpoSqlitePersister} from 'tinybase/persisters/persister-expo-sqlite-next';
|
|
50
|
+
* import {createStore} from 'tinybase';
|
|
51
|
+
* import {openDatabase} from 'expo-sqlite';
|
|
52
|
+
*
|
|
53
|
+
* const db = openDatabase('my.db');
|
|
49
54
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
50
55
|
* const persister = createExpoSqlitePersister(store, db, 'my_tinybase');
|
|
51
56
|
*
|
|
@@ -102,7 +107,11 @@ export interface ExpoSqlitePersister extends Persister<3> {
|
|
|
102
107
|
* Store.
|
|
103
108
|
*
|
|
104
109
|
* ```js yolo
|
|
105
|
-
*
|
|
110
|
+
* import {createExpoSqlitePersister} from 'tinybase/persisters/persister-expo-sqlite-next';
|
|
111
|
+
* import {createStore} from 'tinybase';
|
|
112
|
+
* import {openDatabase} from 'expo-sqlite';
|
|
113
|
+
*
|
|
114
|
+
* const db = openDatabase('my.db');
|
|
106
115
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
107
116
|
* const persister = createExpoSqlitePersister(store, db, 'my_tinybase');
|
|
108
117
|
*
|
|
@@ -134,7 +143,11 @@ export interface ExpoSqlitePersister extends Persister<3> {
|
|
|
134
143
|
* local SQLite database with tabular mapping.
|
|
135
144
|
*
|
|
136
145
|
* ```js yolo
|
|
137
|
-
*
|
|
146
|
+
* import {createExpoSqlitePersister} from 'tinybase/persisters/persister-expo-sqlite-next';
|
|
147
|
+
* import {createStore} from 'tinybase';
|
|
148
|
+
* import {openDatabase} from 'expo-sqlite';
|
|
149
|
+
*
|
|
150
|
+
* const db = openDatabase('my.db');
|
|
138
151
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
139
152
|
* const persister = createExpoSqlitePersister(store, db, {
|
|
140
153
|
* mode: 'tabular',
|
|
@@ -165,7 +178,7 @@ export interface ExpoSqlitePersister extends Persister<3> {
|
|
|
165
178
|
* @since v4.0.3
|
|
166
179
|
*/
|
|
167
180
|
export function createExpoSqlitePersister(
|
|
168
|
-
store: Store,
|
|
181
|
+
store: Store | MergeableStore,
|
|
169
182
|
db: SQLiteDatabase,
|
|
170
183
|
configOrStoreTableName?: DatabasePersisterConfig | string,
|
|
171
184
|
onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
@@ -31,6 +31,9 @@ export interface FilePersister extends Persister<3> {
|
|
|
31
31
|
* then gets the file location back out again.
|
|
32
32
|
*
|
|
33
33
|
* ```js
|
|
34
|
+
* import {createFilePersister} from 'tinybase/persisters/persister-file';
|
|
35
|
+
* import {createStore} from 'tinybase';
|
|
36
|
+
*
|
|
34
37
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
35
38
|
* const persister = createFilePersister(store, '/app/persisted.json');
|
|
36
39
|
*
|
|
@@ -62,6 +65,9 @@ export interface FilePersister extends Persister<3> {
|
|
|
62
65
|
* file.
|
|
63
66
|
*
|
|
64
67
|
* ```js yolo
|
|
68
|
+
* import {createFilePersister} from 'tinybase/persisters/persister-file';
|
|
69
|
+
* import {createStore} from 'tinybase';
|
|
70
|
+
*
|
|
65
71
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
66
72
|
* const persister = createFilePersister(store, '/app/persisted.json');
|
|
67
73
|
*
|
|
@@ -31,6 +31,9 @@ export interface IndexedDbPersister extends Persister {
|
|
|
31
31
|
* then gets the unique key of the IndexedDB back out again.
|
|
32
32
|
*
|
|
33
33
|
* ```js
|
|
34
|
+
* import {createIndexedDbPersister} from 'tinybase/persisters/persister-indexed-db';
|
|
35
|
+
* import {createStore} from 'tinybase';
|
|
36
|
+
*
|
|
34
37
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
35
38
|
* const persister = createIndexedDbPersister(store, 'petStore');
|
|
36
39
|
*
|
|
@@ -76,6 +79,9 @@ export interface IndexedDbPersister extends Persister {
|
|
|
76
79
|
* the browser's IndexedDB storage.
|
|
77
80
|
*
|
|
78
81
|
* ```js
|
|
82
|
+
* import {createIndexedDbPersister} from 'tinybase/persisters/persister-indexed-db';
|
|
83
|
+
* import {createStore} from 'tinybase';
|
|
84
|
+
*
|
|
79
85
|
* const store = createStore()
|
|
80
86
|
* .setTable('pets', {fido: {species: 'dog'}})
|
|
81
87
|
* .setTable('species', {dog: {price: 5}})
|
|
@@ -33,6 +33,10 @@ export interface LibSqlPersister extends Persister {
|
|
|
33
33
|
* then gets the database client back out again.
|
|
34
34
|
*
|
|
35
35
|
* ```js yolo
|
|
36
|
+
* import {createClient} from '@libsql/client';
|
|
37
|
+
* import {createLibSqlPersister} from 'tinybase/persisters/persister-libsql';
|
|
38
|
+
* import {createStore} from 'tinybase';
|
|
39
|
+
*
|
|
36
40
|
* const client = createClient({url: 'file:my.db'});
|
|
37
41
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
38
42
|
* const persister = createLibSqlPersister(store, client, 'my_tinybase');
|
|
@@ -85,6 +89,10 @@ export interface LibSqlPersister extends Persister {
|
|
|
85
89
|
* Store.
|
|
86
90
|
*
|
|
87
91
|
* ```js yolo
|
|
92
|
+
* import {createClient} from '@libsql/client';
|
|
93
|
+
* import {createLibSqlPersister} from 'tinybase/persisters/persister-libsql';
|
|
94
|
+
* import {createStore} from 'tinybase';
|
|
95
|
+
*
|
|
88
96
|
* const client = createClient({url: 'file:my.db'});
|
|
89
97
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
90
98
|
* const persister = createLibSqlPersister(store, client, 'my_tinybase');
|
|
@@ -110,6 +118,10 @@ export interface LibSqlPersister extends Persister {
|
|
|
110
118
|
* local SQLite database with tabular mapping.
|
|
111
119
|
*
|
|
112
120
|
* ```js yolo
|
|
121
|
+
* import {createClient} from '@libsql/client';
|
|
122
|
+
* import {createLibSqlPersister} from 'tinybase/persisters/persister-libsql';
|
|
123
|
+
* import {createStore} from 'tinybase';
|
|
124
|
+
*
|
|
113
125
|
* const client = createClient({url: 'file:my.db'});
|
|
114
126
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
115
127
|
* const persister = createLibSqlPersister(store, client, {
|
|
@@ -44,8 +44,12 @@ export interface PartyKitPersister extends Persister {
|
|
|
44
44
|
* then gets the PartySocket back out again.
|
|
45
45
|
*
|
|
46
46
|
* ```js yolo
|
|
47
|
+
* import PartySocket from 'partysocket';
|
|
48
|
+
* import {createPartyKitPersister} from 'tinybase/persisters/persister-partykit-client';
|
|
49
|
+
* import {createStore} from 'tinybase';
|
|
50
|
+
*
|
|
47
51
|
* const partySocket = new PartySocket({
|
|
48
|
-
* host:
|
|
52
|
+
* host: '127.0.0.1:1999',
|
|
49
53
|
* room: 'my_room',
|
|
50
54
|
* });
|
|
51
55
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
@@ -78,7 +82,7 @@ export interface PartyKitPersister extends Persister {
|
|
|
78
82
|
* to the TinyBasePartyKitServerConfig on the server side.
|
|
79
83
|
*
|
|
80
84
|
* ```js
|
|
81
|
-
* const partyKitPersisterConfig = {
|
|
85
|
+
* export const partyKitPersisterConfig = {
|
|
82
86
|
* storeProtocol: 'http',
|
|
83
87
|
* storePath: '/my_tinybase',
|
|
84
88
|
* };
|
|
@@ -151,12 +155,16 @@ export type PartyKitPersisterConfig = {
|
|
|
151
155
|
* browser's IndexedDB storage.
|
|
152
156
|
*
|
|
153
157
|
* ```js yolo
|
|
158
|
+
* import PartySocket from 'partysocket';
|
|
159
|
+
* import {createPartyKitPersister} from 'tinybase/persisters/persister-partykit-client';
|
|
160
|
+
* import {createStore} from 'tinybase';
|
|
161
|
+
*
|
|
154
162
|
* const store = createStore()
|
|
155
163
|
* .setTable('pets', {fido: {species: 'dog'}})
|
|
156
164
|
* .setTable('species', {dog: {price: 5}})
|
|
157
165
|
* .setValues({open: true});
|
|
158
166
|
* const partySocket = new PartySocket({
|
|
159
|
-
* host:
|
|
167
|
+
* host: '127.0.0.1:1999',
|
|
160
168
|
* room: 'my_room',
|
|
161
169
|
* });
|
|
162
170
|
* const persister = createPartyKitPersister(store, partySocket);
|