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
|
@@ -236,6 +236,8 @@ export type MetricsListenerStats = {
|
|
|
236
236
|
* removing a listener for it.
|
|
237
237
|
*
|
|
238
238
|
* ```js
|
|
239
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
240
|
+
*
|
|
239
241
|
* const store = createStore().setTable('species', {
|
|
240
242
|
* dog: {price: 5},
|
|
241
243
|
* cat: {price: 4},
|
|
@@ -336,6 +338,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
336
338
|
* simple Metric to count the Row objects in the Table.
|
|
337
339
|
*
|
|
338
340
|
* ```js
|
|
341
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
342
|
+
*
|
|
339
343
|
* const store = createStore().setTable('species', {
|
|
340
344
|
* dog: {price: 5},
|
|
341
345
|
* cat: {price: 4},
|
|
@@ -354,6 +358,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
354
358
|
* objects in the Table.
|
|
355
359
|
*
|
|
356
360
|
* ```js
|
|
361
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
362
|
+
*
|
|
357
363
|
* const store = createStore().setTable('species', {
|
|
358
364
|
* dog: {price: 5},
|
|
359
365
|
* cat: {price: 4},
|
|
@@ -371,6 +377,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
371
377
|
* custom Metric to get the lowest value of each `price` Cell, greater than 2.
|
|
372
378
|
*
|
|
373
379
|
* ```js
|
|
380
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
381
|
+
*
|
|
374
382
|
* const store = createStore().setTable('species', {
|
|
375
383
|
* dog: {price: 5},
|
|
376
384
|
* cat: {price: 4},
|
|
@@ -395,6 +403,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
395
403
|
* functions.
|
|
396
404
|
*
|
|
397
405
|
* ```js
|
|
406
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
407
|
+
*
|
|
398
408
|
* const store = createStore().setTable('species', {
|
|
399
409
|
* dog: {price: 5},
|
|
400
410
|
* cat: {price: 4},
|
|
@@ -428,6 +438,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
428
438
|
* custom Metric to get the average value of a discounted price.
|
|
429
439
|
*
|
|
430
440
|
* ```js
|
|
441
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
442
|
+
*
|
|
431
443
|
* const store = createStore().setTable('species', {
|
|
432
444
|
* dog: {price: 5, discount: 0.3},
|
|
433
445
|
* cat: {price: 4, discount: 0.2},
|
|
@@ -474,6 +486,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
474
486
|
* ```
|
|
475
487
|
*
|
|
476
488
|
* ```js
|
|
489
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
490
|
+
*
|
|
477
491
|
* const store = createStore().setTable('species', {
|
|
478
492
|
* dog: {price: 5},
|
|
479
493
|
* cat: {price: 4},
|
|
@@ -508,6 +522,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
508
522
|
* ```
|
|
509
523
|
*
|
|
510
524
|
* ```js
|
|
525
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
526
|
+
*
|
|
511
527
|
* const metrics = createMetrics(createStore());
|
|
512
528
|
* metrics.setMetricDefinition('speciesCount', 'species');
|
|
513
529
|
* metrics.getStore().setCell('species', 'dog', 'price', 5);
|
|
@@ -527,6 +543,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
527
543
|
* the Ids of the definitions.
|
|
528
544
|
*
|
|
529
545
|
* ```js
|
|
546
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
547
|
+
*
|
|
530
548
|
* const metrics = createMetrics(createStore())
|
|
531
549
|
* .setMetricDefinition('speciesCount', 'species')
|
|
532
550
|
* .setMetricDefinition('petsCount', 'pets');
|
|
@@ -550,6 +568,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
550
568
|
* This example iterates over each Metric in a Metrics object.
|
|
551
569
|
*
|
|
552
570
|
* ```js
|
|
571
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
572
|
+
*
|
|
553
573
|
* const store = createStore().setTable('species', {
|
|
554
574
|
* dog: {price: 5},
|
|
555
575
|
* cat: {price: 4},
|
|
@@ -578,6 +598,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
578
598
|
* This example shows two simple Metric existence checks.
|
|
579
599
|
*
|
|
580
600
|
* ```js
|
|
601
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
602
|
+
*
|
|
581
603
|
* const store = createStore();
|
|
582
604
|
* const metrics = createMetrics(store);
|
|
583
605
|
* metrics.setMetricDefinition('highestPrice', 'species', 'max', 'price');
|
|
@@ -612,6 +634,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
612
634
|
* queries it (and a non-existent definition) to get the underlying Table Id.
|
|
613
635
|
*
|
|
614
636
|
* ```js
|
|
637
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
638
|
+
*
|
|
615
639
|
* const metrics = createMetrics(createStore());
|
|
616
640
|
* metrics.setMetricDefinition('speciesCount', 'species');
|
|
617
641
|
*
|
|
@@ -640,6 +664,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
640
664
|
* been defined).
|
|
641
665
|
*
|
|
642
666
|
* ```js
|
|
667
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
668
|
+
*
|
|
643
669
|
* const store = createStore().setTable('species', {
|
|
644
670
|
* dog: {price: 5},
|
|
645
671
|
* cat: {price: 4},
|
|
@@ -679,6 +705,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
679
705
|
* definition.
|
|
680
706
|
*
|
|
681
707
|
* ```js
|
|
708
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
709
|
+
*
|
|
682
710
|
* const store = createStore().setTable('species', {
|
|
683
711
|
* dog: {price: 5},
|
|
684
712
|
* cat: {price: 4},
|
|
@@ -729,6 +757,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
729
757
|
* listener that responds to any changes to a specific Metric.
|
|
730
758
|
*
|
|
731
759
|
* ```js
|
|
760
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
761
|
+
*
|
|
732
762
|
* const store = createStore().setTable('species', {
|
|
733
763
|
* dog: {price: 5},
|
|
734
764
|
* cat: {price: 4},
|
|
@@ -740,7 +770,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
740
770
|
*
|
|
741
771
|
* const listenerId = metrics.addMetricListener(
|
|
742
772
|
* 'highestPrice',
|
|
743
|
-
* (metrics,
|
|
773
|
+
* (metrics, _metricId, newMetric, oldMetric) => {
|
|
744
774
|
* console.log('highestPrice metric changed');
|
|
745
775
|
* console.log([oldMetric, newMetric]);
|
|
746
776
|
* },
|
|
@@ -757,6 +787,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
757
787
|
* listener that responds to any changes to any Metric.
|
|
758
788
|
*
|
|
759
789
|
* ```js
|
|
790
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
791
|
+
*
|
|
760
792
|
* const store = createStore().setTable('species', {
|
|
761
793
|
* dog: {price: 5},
|
|
762
794
|
* cat: {price: 4},
|
|
@@ -806,6 +838,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
806
838
|
* then removes it.
|
|
807
839
|
*
|
|
808
840
|
* ```js
|
|
841
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
842
|
+
*
|
|
809
843
|
* const store = createStore().setTable('species', {
|
|
810
844
|
* dog: {price: 5},
|
|
811
845
|
* cat: {price: 4},
|
|
@@ -815,12 +849,9 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
815
849
|
* const metrics = createMetrics(store);
|
|
816
850
|
* metrics.setMetricDefinition('highestPrice', 'species', 'max', 'price');
|
|
817
851
|
*
|
|
818
|
-
* const listenerId = metrics.addMetricListener(
|
|
819
|
-
* 'highestPrice'
|
|
820
|
-
*
|
|
821
|
-
* console.log('highestPrice metric changed');
|
|
822
|
-
* },
|
|
823
|
-
* );
|
|
852
|
+
* const listenerId = metrics.addMetricListener('highestPrice', () => {
|
|
853
|
+
* console.log('highestPrice metric changed');
|
|
854
|
+
* });
|
|
824
855
|
*
|
|
825
856
|
* store.setCell('species', 'horse', 'price', 20);
|
|
826
857
|
* // -> 'highestPrice metric changed'
|
|
@@ -847,6 +878,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
847
878
|
* again, removing the listener.
|
|
848
879
|
*
|
|
849
880
|
* ```js
|
|
881
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
882
|
+
*
|
|
850
883
|
* const store = createStore().setTable('species', {
|
|
851
884
|
* dog: {price: 5},
|
|
852
885
|
* cat: {price: 4},
|
|
@@ -882,6 +915,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
882
915
|
* This example gets the listener statistics of a Metrics object.
|
|
883
916
|
*
|
|
884
917
|
* ```js
|
|
918
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
919
|
+
*
|
|
885
920
|
* const store = createStore();
|
|
886
921
|
* const metrics = createMetrics(store);
|
|
887
922
|
* metrics.addMetricListener(null, () => console.log('Metric changed'));
|
|
@@ -913,6 +948,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
913
948
|
* This example creates a Metrics object.
|
|
914
949
|
*
|
|
915
950
|
* ```js
|
|
951
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
952
|
+
*
|
|
916
953
|
* const store = createStore();
|
|
917
954
|
* const metrics = createMetrics(store);
|
|
918
955
|
* console.log(metrics.getMetricIds());
|
|
@@ -923,6 +960,8 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
|
|
|
923
960
|
* for the same Store to return the same object.
|
|
924
961
|
*
|
|
925
962
|
* ```js
|
|
963
|
+
* import {createMetrics, createStore} from 'tinybase';
|
|
964
|
+
*
|
|
926
965
|
* const store = createStore();
|
|
927
966
|
* const metrics1 = createMetrics(store);
|
|
928
967
|
* const metrics2 = createMetrics(store);
|
|
@@ -38,7 +38,11 @@ export interface AutomergePersister<Schemas extends OptionalSchemas>
|
|
|
38
38
|
* then gets the Automerge document handler back out again.
|
|
39
39
|
*
|
|
40
40
|
* ```js
|
|
41
|
-
*
|
|
41
|
+
* import {Repo} from '@automerge/automerge-repo';
|
|
42
|
+
* import {createAutomergePersister} from 'tinybase/persisters/persister-automerge';
|
|
43
|
+
* import {createStore} from 'tinybase';
|
|
44
|
+
*
|
|
45
|
+
* const docHandler = new Repo({network: []}).create();
|
|
42
46
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
43
47
|
* const persister = createAutomergePersister(store, docHandler);
|
|
44
48
|
*
|
|
@@ -83,7 +87,11 @@ export interface AutomergePersister<Schemas extends OptionalSchemas>
|
|
|
83
87
|
* Automerge document.
|
|
84
88
|
*
|
|
85
89
|
* ```js
|
|
86
|
-
*
|
|
90
|
+
* import {Repo} from '@automerge/automerge-repo';
|
|
91
|
+
* import {createAutomergePersister} from 'tinybase/persisters/persister-automerge';
|
|
92
|
+
* import {createStore} from 'tinybase';
|
|
93
|
+
*
|
|
94
|
+
* const docHandler = new Repo({network: []}).create();
|
|
87
95
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
88
96
|
* const persister = createAutomergePersister(store, docHandler);
|
|
89
97
|
*
|
|
@@ -101,8 +109,13 @@ export interface AutomergePersister<Schemas extends OptionalSchemas>
|
|
|
101
109
|
* each other using a network.
|
|
102
110
|
*
|
|
103
111
|
* ```js
|
|
112
|
+
* import {BroadcastChannelNetworkAdapter} from '@automerge/automerge-repo-network-broadcastchannel';
|
|
113
|
+
* import {Repo} from '@automerge/automerge-repo';
|
|
114
|
+
* import {createAutomergePersister} from 'tinybase/persisters/persister-automerge';
|
|
115
|
+
* import {createStore} from 'tinybase';
|
|
116
|
+
*
|
|
104
117
|
* // Bind the first Store to a network-enabled automerge-repo
|
|
105
|
-
* const repo1 = new
|
|
118
|
+
* const repo1 = new Repo({
|
|
106
119
|
* network: [new BroadcastChannelNetworkAdapter()],
|
|
107
120
|
* });
|
|
108
121
|
* const docHandler1 = repo1.create();
|
|
@@ -113,7 +126,7 @@ export interface AutomergePersister<Schemas extends OptionalSchemas>
|
|
|
113
126
|
* await persister1.startAutoSave();
|
|
114
127
|
*
|
|
115
128
|
* // Bind the second Store to a different network-enabled automerge-repo
|
|
116
|
-
* const repo2 = new
|
|
129
|
+
* const repo2 = new Repo({
|
|
117
130
|
* network: [new BroadcastChannelNetworkAdapter()],
|
|
118
131
|
* });
|
|
119
132
|
* const docHandler2 = repo2.find(docHandler1.documentId);
|
|
@@ -41,6 +41,9 @@ export interface SessionPersister<Schemas extends OptionalSchemas>
|
|
|
41
41
|
* then gets the unique key of the storage location back out again.
|
|
42
42
|
*
|
|
43
43
|
* ```js
|
|
44
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
45
|
+
* import {createStore} from 'tinybase';
|
|
46
|
+
*
|
|
44
47
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
45
48
|
* const persister = createSessionPersister(store, 'pets');
|
|
46
49
|
*
|
|
@@ -77,6 +80,9 @@ export interface LocalPersister<Schemas extends OptionalSchemas>
|
|
|
77
80
|
* then gets the unique key of the storage location back out again.
|
|
78
81
|
*
|
|
79
82
|
* ```js
|
|
83
|
+
* import {createLocalPersister} from 'tinybase/persisters/persister-browser';
|
|
84
|
+
* import {createStore} from 'tinybase';
|
|
85
|
+
*
|
|
80
86
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
81
87
|
* const persister = createLocalPersister(store, 'pets');
|
|
82
88
|
*
|
|
@@ -119,6 +125,9 @@ export interface LocalPersister<Schemas extends OptionalSchemas>
|
|
|
119
125
|
* browser's session storage.
|
|
120
126
|
*
|
|
121
127
|
* ```js
|
|
128
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
129
|
+
* import {createStore} from 'tinybase';
|
|
130
|
+
*
|
|
122
131
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
123
132
|
* const persister = createSessionPersister(store, 'pets');
|
|
124
133
|
*
|
|
@@ -165,6 +174,9 @@ export function createSessionPersister<Schemas extends OptionalSchemas>(
|
|
|
165
174
|
* browser's local storage.
|
|
166
175
|
*
|
|
167
176
|
* ```js
|
|
177
|
+
* import {createLocalPersister} from 'tinybase/persisters/persister-browser';
|
|
178
|
+
* import {createStore} from 'tinybase';
|
|
179
|
+
*
|
|
168
180
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
169
181
|
* const persister = createLocalPersister(store, 'pets');
|
|
170
182
|
*
|
|
@@ -35,6 +35,10 @@ export interface CrSqliteWasmPersister<Schemas extends OptionalSchemas>
|
|
|
35
35
|
* then gets the database instance back out again.
|
|
36
36
|
*
|
|
37
37
|
* ```js
|
|
38
|
+
* import {createCrSqliteWasmPersister} from 'tinybase/persisters/persister-cr-sqlite-wasm';
|
|
39
|
+
* import {createStore} from 'tinybase';
|
|
40
|
+
* import initWasm from '@vlcn.io/crsqlite-wasm';
|
|
41
|
+
*
|
|
38
42
|
* const crSqlite3 = await initWasm();
|
|
39
43
|
* const db = await crSqlite3.open();
|
|
40
44
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
@@ -101,6 +105,10 @@ export interface CrSqliteWasmPersister<Schemas extends OptionalSchemas>
|
|
|
101
105
|
* into the Store.
|
|
102
106
|
*
|
|
103
107
|
* ```js
|
|
108
|
+
* import {createCrSqliteWasmPersister} from 'tinybase/persisters/persister-cr-sqlite-wasm';
|
|
109
|
+
* import {createStore} from 'tinybase';
|
|
110
|
+
* import initWasm from '@vlcn.io/crsqlite-wasm';
|
|
111
|
+
*
|
|
104
112
|
* const crSqlite3 = await initWasm();
|
|
105
113
|
* const db = await crSqlite3.open();
|
|
106
114
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
@@ -127,6 +135,10 @@ export interface CrSqliteWasmPersister<Schemas extends OptionalSchemas>
|
|
|
127
135
|
* a local SQLite database with tabular mapping.
|
|
128
136
|
*
|
|
129
137
|
* ```js
|
|
138
|
+
* import {createCrSqliteWasmPersister} from 'tinybase/persisters/persister-cr-sqlite-wasm';
|
|
139
|
+
* import {createStore} from 'tinybase';
|
|
140
|
+
* import initWasm from '@vlcn.io/crsqlite-wasm';
|
|
141
|
+
*
|
|
130
142
|
* const crSqlite3 = await initWasm();
|
|
131
143
|
* const db = await crSqlite3.open();
|
|
132
144
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
@@ -35,10 +35,15 @@ export interface ElectricSqlPersister<Schemas extends OptionalSchemas>
|
|
|
35
35
|
* then gets the Electric client back out again.
|
|
36
36
|
*
|
|
37
37
|
* ```js yolo
|
|
38
|
+
* import {ElectricDatabase, electrify} from 'electric-sql/wa-sqlite';
|
|
39
|
+
* import {createElectricSqlPersister} from 'tinybase/persisters/persister-electric-sql';
|
|
40
|
+
* import {createStore} from 'tinybase';
|
|
41
|
+
* import {schema} from './generated/client';
|
|
42
|
+
*
|
|
38
43
|
* const electricClient = await electrify(
|
|
39
44
|
* await ElectricDatabase.init('electric.db', ''),
|
|
40
45
|
* schema,
|
|
41
|
-
* {url:
|
|
46
|
+
* {url: import.meta.env.ELECTRIC_SERVICE},
|
|
42
47
|
* );
|
|
43
48
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
44
49
|
* const persister = createElectricSqlPersister(
|
|
@@ -109,10 +114,15 @@ export interface ElectricSqlPersister<Schemas extends OptionalSchemas>
|
|
|
109
114
|
* into the Store.
|
|
110
115
|
*
|
|
111
116
|
* ```js yolo
|
|
117
|
+
* import {ElectricDatabase, electrify} from 'electric-sql/wa-sqlite';
|
|
118
|
+
* import {createElectricSqlPersister} from 'tinybase/persisters/persister-electric-sql';
|
|
119
|
+
* import {createStore} from 'tinybase';
|
|
120
|
+
* import {schema} from './generated/client';
|
|
121
|
+
*
|
|
112
122
|
* const electricClient = await electrify(
|
|
113
123
|
* await ElectricDatabase.init('electric.db', ''),
|
|
114
124
|
* schema,
|
|
115
|
-
* {url:
|
|
125
|
+
* {url: import.meta.env.ELECTRIC_SERVICE},
|
|
116
126
|
* );
|
|
117
127
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
118
128
|
* const persister = createElectricSqlPersister(
|
|
@@ -145,10 +155,15 @@ export interface ElectricSqlPersister<Schemas extends OptionalSchemas>
|
|
|
145
155
|
* a local ElectricSql database with tabular mapping.
|
|
146
156
|
*
|
|
147
157
|
* ```js yolo
|
|
158
|
+
* import {ElectricDatabase, electrify} from 'electric-sql/wa-sqlite';
|
|
159
|
+
* import {createElectricSqlPersister} from 'tinybase/persisters/persister-electric-sql';
|
|
160
|
+
* import {createStore} from 'tinybase';
|
|
161
|
+
* import {schema} from './generated/client';
|
|
162
|
+
*
|
|
148
163
|
* const electricClient = await electrify(
|
|
149
164
|
* await ElectricDatabase.init('electric.db', ''),
|
|
150
165
|
* schema,
|
|
151
|
-
* {url:
|
|
166
|
+
* {url: import.meta.env.ELECTRIC_SERVICE},
|
|
152
167
|
* );
|
|
153
168
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
154
169
|
* const persister = createElectricSqlPersister(store, electricClient, {
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
import {DatabasePersisterConfig, Persister} from '../persisters.d.ts';
|
|
24
24
|
import {OptionalSchemas, Store} from '../store.d.ts';
|
|
25
|
+
import {MergeableStore} from '../mergeable-store.d.ts';
|
|
25
26
|
import {SQLiteDatabase} from 'expo-sqlite/next';
|
|
26
27
|
|
|
27
28
|
/**
|
|
@@ -47,7 +48,11 @@ export interface ExpoSqliteNextPersister<Schemas extends OptionalSchemas>
|
|
|
47
48
|
* then gets the database instance back out again.
|
|
48
49
|
*
|
|
49
50
|
* ```js yolo
|
|
50
|
-
*
|
|
51
|
+
* import {createExpoSqliteNextPersister} from 'tinybase/persisters/persister-expo-sqlite-next';
|
|
52
|
+
* import {createStore} from 'tinybase';
|
|
53
|
+
* import {openDatabaseSync} from 'expo-sqlite';
|
|
54
|
+
*
|
|
55
|
+
* const db = openDatabaseSync('my.db');
|
|
51
56
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
52
57
|
* const persister = createExpoSqliteNextPersister(store, db, 'my_tinybase');
|
|
53
58
|
*
|
|
@@ -71,7 +76,7 @@ export interface ExpoSqliteNextPersister<Schemas extends OptionalSchemas>
|
|
|
71
76
|
*
|
|
72
77
|
* ```ts override
|
|
73
78
|
* createExpoSqliteNextPersister(
|
|
74
|
-
* store: Store,
|
|
79
|
+
* store: Store | MergeableStore,
|
|
75
80
|
* db: SQLiteDatabase,
|
|
76
81
|
* configOrStoreTableName?: DatabasePersisterConfig | string,
|
|
77
82
|
* onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
@@ -116,7 +121,11 @@ export interface ExpoSqliteNextPersister<Schemas extends OptionalSchemas>
|
|
|
116
121
|
* into the Store.
|
|
117
122
|
*
|
|
118
123
|
* ```js yolo
|
|
119
|
-
*
|
|
124
|
+
* import {createExpoSqliteNextPersister} from 'tinybase/persisters/persister-expo-sqlite-next';
|
|
125
|
+
* import {createStore} from 'tinybase';
|
|
126
|
+
* import {openDatabaseSync} from 'expo-sqlite';
|
|
127
|
+
*
|
|
128
|
+
* const db = openDatabaseSync('my.db');
|
|
120
129
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
121
130
|
* const persister = createExpoSqliteNextPersister(store, db, 'my_tinybase');
|
|
122
131
|
*
|
|
@@ -131,10 +140,12 @@ export interface ExpoSqliteNextPersister<Schemas extends OptionalSchemas>
|
|
|
131
140
|
* // -> [{_id: '_', store: '[{"pets":{"fido":{"species":"dog"}}},{}]'}]
|
|
132
141
|
*
|
|
133
142
|
* await new Promise((resolve) =>
|
|
134
|
-
* db
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
143
|
+
* db
|
|
144
|
+
* .allAsync(
|
|
145
|
+
* 'UPDATE my_tinybase SET store = ' +
|
|
146
|
+
* `'[{"pets":{"felix":{"species":"cat"}}},{}]' WHERE _id = '_';`,
|
|
147
|
+
* )
|
|
148
|
+
* .then(resolve),
|
|
138
149
|
* );
|
|
139
150
|
* await persister.load();
|
|
140
151
|
* console.log(store.getTables());
|
|
@@ -147,7 +158,11 @@ export interface ExpoSqliteNextPersister<Schemas extends OptionalSchemas>
|
|
|
147
158
|
* to a local SQLite database with tabular mapping.
|
|
148
159
|
*
|
|
149
160
|
* ```js yolo
|
|
150
|
-
*
|
|
161
|
+
* import {createExpoSqliteNextPersister} from 'tinybase/persisters/persister-expo-sqlite-next';
|
|
162
|
+
* import {createStore} from 'tinybase';
|
|
163
|
+
* import {openDatabaseSync} from 'expo-sqlite';
|
|
164
|
+
*
|
|
165
|
+
* const db = openDatabaseSync('my.db');
|
|
151
166
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
152
167
|
* const persister = createExpoSqliteNextPersister(store, db, {
|
|
153
168
|
* mode: 'tabular',
|
|
@@ -177,7 +192,7 @@ export interface ExpoSqliteNextPersister<Schemas extends OptionalSchemas>
|
|
|
177
192
|
* @since v4.5.0
|
|
178
193
|
*/
|
|
179
194
|
export function createExpoSqliteNextPersister<Schemas extends OptionalSchemas>(
|
|
180
|
-
store: Store<Schemas>,
|
|
195
|
+
store: Store<Schemas> | MergeableStore<Schemas>,
|
|
181
196
|
db: SQLiteDatabase,
|
|
182
197
|
configOrStoreTableName?: DatabasePersisterConfig<Schemas> | string,
|
|
183
198
|
onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
import {DatabasePersisterConfig, Persister} from '../persisters.d.ts';
|
|
23
23
|
import {OptionalSchemas, Store} from '../store.d.ts';
|
|
24
|
+
import {MergeableStore} from '../mergeable-store.d.ts';
|
|
24
25
|
import {SQLiteDatabase} from 'expo-sqlite';
|
|
25
26
|
|
|
26
27
|
/**
|
|
@@ -46,7 +47,11 @@ export interface ExpoSqlitePersister<Schemas extends OptionalSchemas>
|
|
|
46
47
|
* then gets the database instance back out again.
|
|
47
48
|
*
|
|
48
49
|
* ```js yolo
|
|
49
|
-
*
|
|
50
|
+
* import {createExpoSqlitePersister} from 'tinybase/persisters/persister-expo-sqlite-next';
|
|
51
|
+
* import {createStore} from 'tinybase';
|
|
52
|
+
* import {openDatabase} from 'expo-sqlite';
|
|
53
|
+
*
|
|
54
|
+
* const db = openDatabase('my.db');
|
|
50
55
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
51
56
|
* const persister = createExpoSqlitePersister(store, db, 'my_tinybase');
|
|
52
57
|
*
|
|
@@ -70,7 +75,7 @@ export interface ExpoSqlitePersister<Schemas extends OptionalSchemas>
|
|
|
70
75
|
*
|
|
71
76
|
* ```ts override
|
|
72
77
|
* createExpoSqlitePersister(
|
|
73
|
-
* store: Store,
|
|
78
|
+
* store: Store | MergeableStore,
|
|
74
79
|
* db: SQLiteDatabase,
|
|
75
80
|
* configOrStoreTableName?: DatabasePersisterConfig | string,
|
|
76
81
|
* onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
@@ -115,7 +120,11 @@ export interface ExpoSqlitePersister<Schemas extends OptionalSchemas>
|
|
|
115
120
|
* Store.
|
|
116
121
|
*
|
|
117
122
|
* ```js yolo
|
|
118
|
-
*
|
|
123
|
+
* import {createExpoSqlitePersister} from 'tinybase/persisters/persister-expo-sqlite-next';
|
|
124
|
+
* import {createStore} from 'tinybase';
|
|
125
|
+
* import {openDatabase} from 'expo-sqlite';
|
|
126
|
+
*
|
|
127
|
+
* const db = openDatabase('my.db');
|
|
119
128
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
120
129
|
* const persister = createExpoSqlitePersister(store, db, 'my_tinybase');
|
|
121
130
|
*
|
|
@@ -147,7 +156,11 @@ export interface ExpoSqlitePersister<Schemas extends OptionalSchemas>
|
|
|
147
156
|
* local SQLite database with tabular mapping.
|
|
148
157
|
*
|
|
149
158
|
* ```js yolo
|
|
150
|
-
*
|
|
159
|
+
* import {createExpoSqlitePersister} from 'tinybase/persisters/persister-expo-sqlite-next';
|
|
160
|
+
* import {createStore} from 'tinybase';
|
|
161
|
+
* import {openDatabase} from 'expo-sqlite';
|
|
162
|
+
*
|
|
163
|
+
* const db = openDatabase('my.db');
|
|
151
164
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
152
165
|
* const persister = createExpoSqlitePersister(store, db, {
|
|
153
166
|
* mode: 'tabular',
|
|
@@ -178,7 +191,7 @@ export interface ExpoSqlitePersister<Schemas extends OptionalSchemas>
|
|
|
178
191
|
* @since v4.0.3
|
|
179
192
|
*/
|
|
180
193
|
export function createExpoSqlitePersister<Schemas extends OptionalSchemas>(
|
|
181
|
-
store: Store<Schemas>,
|
|
194
|
+
store: Store<Schemas> | MergeableStore<Schemas>,
|
|
182
195
|
db: SQLiteDatabase,
|
|
183
196
|
configOrStoreTableName?: DatabasePersisterConfig<Schemas> | string,
|
|
184
197
|
onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
@@ -32,6 +32,9 @@ export interface FilePersister<Schemas extends OptionalSchemas>
|
|
|
32
32
|
* then gets the file location back out again.
|
|
33
33
|
*
|
|
34
34
|
* ```js
|
|
35
|
+
* import {createFilePersister} from 'tinybase/persisters/persister-file';
|
|
36
|
+
* import {createStore} from 'tinybase';
|
|
37
|
+
*
|
|
35
38
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
36
39
|
* const persister = createFilePersister(store, '/app/persisted.json');
|
|
37
40
|
*
|
|
@@ -73,6 +76,9 @@ export interface FilePersister<Schemas extends OptionalSchemas>
|
|
|
73
76
|
* file.
|
|
74
77
|
*
|
|
75
78
|
* ```js yolo
|
|
79
|
+
* import {createFilePersister} from 'tinybase/persisters/persister-file';
|
|
80
|
+
* import {createStore} from 'tinybase';
|
|
81
|
+
*
|
|
76
82
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
77
83
|
* const persister = createFilePersister(store, '/app/persisted.json');
|
|
78
84
|
*
|
|
@@ -32,6 +32,9 @@ export interface IndexedDbPersister<Schemas extends OptionalSchemas>
|
|
|
32
32
|
* then gets the unique key of the IndexedDB back out again.
|
|
33
33
|
*
|
|
34
34
|
* ```js
|
|
35
|
+
* import {createIndexedDbPersister} from 'tinybase/persisters/persister-indexed-db';
|
|
36
|
+
* import {createStore} from 'tinybase';
|
|
37
|
+
*
|
|
35
38
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
36
39
|
* const persister = createIndexedDbPersister(store, 'petStore');
|
|
37
40
|
*
|
|
@@ -88,6 +91,9 @@ export interface IndexedDbPersister<Schemas extends OptionalSchemas>
|
|
|
88
91
|
* the browser's IndexedDB storage.
|
|
89
92
|
*
|
|
90
93
|
* ```js
|
|
94
|
+
* import {createIndexedDbPersister} from 'tinybase/persisters/persister-indexed-db';
|
|
95
|
+
* import {createStore} from 'tinybase';
|
|
96
|
+
*
|
|
91
97
|
* const store = createStore()
|
|
92
98
|
* .setTable('pets', {fido: {species: 'dog'}})
|
|
93
99
|
* .setTable('species', {dog: {price: 5}})
|
|
@@ -34,6 +34,10 @@ export interface LibSqlPersister<Schemas extends OptionalSchemas>
|
|
|
34
34
|
* then gets the database client back out again.
|
|
35
35
|
*
|
|
36
36
|
* ```js yolo
|
|
37
|
+
* import {createClient} from '@libsql/client';
|
|
38
|
+
* import {createLibSqlPersister} from 'tinybase/persisters/persister-libsql';
|
|
39
|
+
* import {createStore} from 'tinybase';
|
|
40
|
+
*
|
|
37
41
|
* const client = createClient({url: 'file:my.db'});
|
|
38
42
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
39
43
|
* const persister = createLibSqlPersister(store, client, 'my_tinybase');
|
|
@@ -98,6 +102,10 @@ export interface LibSqlPersister<Schemas extends OptionalSchemas>
|
|
|
98
102
|
* Store.
|
|
99
103
|
*
|
|
100
104
|
* ```js yolo
|
|
105
|
+
* import {createClient} from '@libsql/client';
|
|
106
|
+
* import {createLibSqlPersister} from 'tinybase/persisters/persister-libsql';
|
|
107
|
+
* import {createStore} from 'tinybase';
|
|
108
|
+
*
|
|
101
109
|
* const client = createClient({url: 'file:my.db'});
|
|
102
110
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
103
111
|
* const persister = createLibSqlPersister(store, client, 'my_tinybase');
|
|
@@ -123,6 +131,10 @@ export interface LibSqlPersister<Schemas extends OptionalSchemas>
|
|
|
123
131
|
* local SQLite database with tabular mapping.
|
|
124
132
|
*
|
|
125
133
|
* ```js yolo
|
|
134
|
+
* import {createClient} from '@libsql/client';
|
|
135
|
+
* import {createLibSqlPersister} from 'tinybase/persisters/persister-libsql';
|
|
136
|
+
* import {createStore} from 'tinybase';
|
|
137
|
+
*
|
|
126
138
|
* const client = createClient({url: 'file:my.db'});
|
|
127
139
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
128
140
|
* const persister = createLibSqlPersister(store, client, {
|
|
@@ -45,8 +45,12 @@ export interface PartyKitPersister<Schemas extends OptionalSchemas>
|
|
|
45
45
|
* then gets the PartySocket back out again.
|
|
46
46
|
*
|
|
47
47
|
* ```js yolo
|
|
48
|
+
* import PartySocket from 'partysocket';
|
|
49
|
+
* import {createPartyKitPersister} from 'tinybase/persisters/persister-partykit-client';
|
|
50
|
+
* import {createStore} from 'tinybase';
|
|
51
|
+
*
|
|
48
52
|
* const partySocket = new PartySocket({
|
|
49
|
-
* host:
|
|
53
|
+
* host: '127.0.0.1:1999',
|
|
50
54
|
* room: 'my_room',
|
|
51
55
|
* });
|
|
52
56
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
@@ -79,7 +83,7 @@ export interface PartyKitPersister<Schemas extends OptionalSchemas>
|
|
|
79
83
|
* to the TinyBasePartyKitServerConfig on the server side.
|
|
80
84
|
*
|
|
81
85
|
* ```js
|
|
82
|
-
* const partyKitPersisterConfig = {
|
|
86
|
+
* export const partyKitPersisterConfig = {
|
|
83
87
|
* storeProtocol: 'http',
|
|
84
88
|
* storePath: '/my_tinybase',
|
|
85
89
|
* };
|
|
@@ -163,12 +167,16 @@ export type PartyKitPersisterConfig = {
|
|
|
163
167
|
* browser's IndexedDB storage.
|
|
164
168
|
*
|
|
165
169
|
* ```js yolo
|
|
170
|
+
* import PartySocket from 'partysocket';
|
|
171
|
+
* import {createPartyKitPersister} from 'tinybase/persisters/persister-partykit-client';
|
|
172
|
+
* import {createStore} from 'tinybase';
|
|
173
|
+
*
|
|
166
174
|
* const store = createStore()
|
|
167
175
|
* .setTable('pets', {fido: {species: 'dog'}})
|
|
168
176
|
* .setTable('species', {dog: {price: 5}})
|
|
169
177
|
* .setValues({open: true});
|
|
170
178
|
* const partySocket = new PartySocket({
|
|
171
|
-
* host:
|
|
179
|
+
* host: '127.0.0.1:1999',
|
|
172
180
|
* room: 'my_room',
|
|
173
181
|
* });
|
|
174
182
|
* const persister = createPartyKitPersister(store, partySocket);
|