tinybase 5.0.0-beta.1 → 5.0.0-beta.11
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/checkpoints.js +1 -1
- package/lib/checkpoints.js.gz +0 -0
- package/lib/cjs/checkpoints.cjs +1 -1
- package/lib/cjs/checkpoints.cjs.gz +0 -0
- package/lib/cjs/indexes.cjs +1 -1
- package/lib/cjs/indexes.cjs.gz +0 -0
- package/lib/cjs/mergeable-store.cjs +1 -0
- package/lib/cjs/mergeable-store.cjs.gz +0 -0
- package/lib/cjs/metrics.cjs +1 -1
- package/lib/cjs/metrics.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 -0
- 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-partykit-server.cjs +1 -1
- package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-powersync.cjs +1 -0
- package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -1
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/queries.cjs +1 -1
- package/lib/cjs/queries.cjs.gz +0 -0
- package/lib/cjs/relationships.cjs +1 -1
- package/lib/cjs/relationships.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -0
- package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -0
- package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-ws-server.cjs +1 -0
- package/lib/cjs/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
- package/lib/cjs/synchronizers.cjs +1 -0
- package/lib/cjs/synchronizers.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom.cjs +1 -1
- package/lib/cjs/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs/ui-react.cjs +1 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/checkpoints.cjs +1 -1
- package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
- package/lib/cjs-es6/indexes.cjs +1 -1
- package/lib/cjs-es6/indexes.cjs.gz +0 -0
- package/lib/cjs-es6/mergeable-store.cjs +1 -0
- package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
- package/lib/cjs-es6/metrics.cjs +1 -1
- package/lib/cjs-es6/metrics.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 -0
- 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-partykit-server.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/queries.cjs +1 -1
- package/lib/cjs-es6/queries.cjs.gz +0 -0
- package/lib/cjs-es6/relationships.cjs +1 -1
- package/lib/cjs-es6/relationships.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -0
- package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers.cjs +1 -0
- package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/checkpoints.js +3 -1
- package/lib/debug/indexes.js +3 -1
- package/lib/debug/mergeable-store.js +2230 -0
- package/lib/debug/metrics.js +3 -1
- package/lib/debug/persisters/persister-automerge.js +167 -131
- package/lib/debug/persisters/persister-browser.js +155 -102
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +225 -152
- package/lib/debug/persisters/persister-electric-sql.js +225 -152
- package/lib/debug/persisters/persister-expo-sqlite-next.js +225 -152
- package/lib/debug/persisters/persister-expo-sqlite.js +225 -152
- package/lib/debug/persisters/persister-file.js +149 -101
- package/lib/debug/persisters/persister-indexed-db.js +146 -100
- package/lib/debug/persisters/persister-libsql.js +924 -0
- package/lib/debug/persisters/persister-partykit-client.js +146 -104
- package/lib/debug/persisters/persister-partykit-server.js +17 -25
- package/lib/debug/persisters/persister-powersync.js +939 -0
- package/lib/debug/persisters/persister-remote.js +141 -97
- package/lib/debug/persisters/persister-sqlite-wasm.js +225 -152
- package/lib/debug/persisters/persister-sqlite3.js +225 -152
- package/lib/debug/persisters/persister-yjs.js +164 -127
- package/lib/debug/persisters.js +137 -94
- package/lib/debug/queries.js +9 -6
- package/lib/debug/relationships.js +3 -1
- package/lib/debug/store.js +147 -126
- package/lib/debug/synchronizers/synchronizer-local.js +571 -0
- package/lib/debug/synchronizers/synchronizer-ws-client.js +598 -0
- package/lib/debug/synchronizers/synchronizer-ws-server.js +241 -0
- package/lib/debug/synchronizers.js +531 -0
- package/lib/debug/tinybase.js +1080 -215
- package/lib/debug/tools.js +22 -21
- package/lib/debug/ui-react-dom.js +336 -258
- package/lib/debug/ui-react.js +55 -6
- package/lib/es6/checkpoints.js +1 -1
- package/lib/es6/checkpoints.js.gz +0 -0
- package/lib/es6/indexes.js +1 -1
- package/lib/es6/indexes.js.gz +0 -0
- package/lib/es6/mergeable-store.js +1 -0
- package/lib/es6/mergeable-store.js.gz +0 -0
- package/lib/es6/metrics.js +1 -1
- package/lib/es6/metrics.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 -0
- 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-partykit-server.js +1 -1
- package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/es6/persisters/persister-powersync.js +1 -0
- package/lib/es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -1
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/queries.js +1 -1
- package/lib/es6/queries.js.gz +0 -0
- package/lib/es6/relationships.js +1 -1
- package/lib/es6/relationships.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-local.js +1 -0
- package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -0
- package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -0
- package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/es6/synchronizers.js +1 -0
- package/lib/es6/synchronizers.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/es6/ui-react-dom-debug.js +1 -1
- package/lib/es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/es6/ui-react-dom.js +1 -1
- package/lib/es6/ui-react-dom.js.gz +0 -0
- package/lib/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/indexes.js +1 -1
- package/lib/indexes.js.gz +0 -0
- package/lib/mergeable-store.js +1 -0
- package/lib/mergeable-store.js.gz +0 -0
- package/lib/metrics.js +1 -1
- package/lib/metrics.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 -0
- 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-partykit-server.js +1 -1
- package/lib/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/persisters/persister-powersync.js +1 -0
- package/lib/persisters/persister-powersync.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -1
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/queries.js +1 -1
- package/lib/queries.js.gz +0 -0
- package/lib/relationships.js +1 -1
- package/lib/relationships.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/synchronizers/synchronizer-local.js +1 -0
- package/lib/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/synchronizers/synchronizer-ws-client.js +1 -0
- package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/synchronizers/synchronizer-ws-server.js +1 -0
- package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/synchronizers.js +1 -0
- package/lib/synchronizers.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/checkpoints.d.ts +2 -2
- package/lib/types/indexes.d.ts +2 -2
- package/lib/types/mergeable-store.d.ts +214 -0
- package/lib/types/metrics.d.ts +2 -2
- package/lib/types/persisters/persister-automerge.d.ts +11 -7
- package/lib/types/persisters/persister-browser.d.ts +13 -4
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +4 -0
- package/lib/types/persisters/persister-electric-sql.d.ts +4 -0
- package/lib/types/persisters/persister-expo-sqlite-next.d.ts +4 -0
- package/lib/types/persisters/persister-expo-sqlite.d.ts +4 -0
- package/lib/types/persisters/persister-file.d.ts +7 -2
- package/lib/types/persisters/persister-indexed-db.d.ts +4 -0
- package/lib/types/persisters/persister-libsql.d.ts +142 -0
- package/lib/types/persisters/persister-partykit-client.d.ts +4 -0
- package/lib/types/persisters/persister-partykit-server.d.ts +12 -8
- package/lib/types/persisters/persister-powersync.d.ts +157 -0
- package/lib/types/persisters/persister-remote.d.ts +4 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +4 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +4 -0
- package/lib/types/persisters/persister-yjs.d.ts +6 -2
- package/lib/types/persisters.d.ts +162 -59
- package/lib/types/queries.d.ts +2 -2
- package/lib/types/relationships.d.ts +2 -2
- package/lib/types/store.d.ts +275 -187
- package/lib/types/synchronizers/synchronizer-local.d.ts +27 -0
- package/lib/types/synchronizers/synchronizer-ws-client.d.ts +35 -0
- package/lib/types/synchronizers/synchronizer-ws-server.d.ts +57 -0
- package/lib/types/synchronizers.d.ts +132 -0
- package/lib/types/tinybase.d.ts +10 -8
- package/lib/types/tools.d.ts +4 -4
- package/lib/types/ui-react.d.ts +160 -9
- package/lib/types/with-schemas/checkpoints.d.ts +2 -2
- package/lib/types/with-schemas/indexes.d.ts +2 -2
- package/lib/types/with-schemas/internal/store.d.ts +4 -0
- package/lib/types/with-schemas/mergeable-store.d.ts +492 -0
- package/lib/types/with-schemas/metrics.d.ts +2 -2
- package/lib/types/with-schemas/persisters/persister-automerge.d.ts +12 -8
- package/lib/types/with-schemas/persisters/persister-browser.d.ts +17 -8
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +5 -1
- package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +5 -1
- package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +5 -1
- package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +5 -1
- package/lib/types/with-schemas/persisters/persister-file.d.ts +9 -4
- package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +5 -1
- package/lib/types/with-schemas/persisters/persister-libsql.d.ts +155 -0
- package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +5 -1
- package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +15 -11
- package/lib/types/with-schemas/persisters/persister-powersync.d.ts +170 -0
- package/lib/types/with-schemas/persisters/persister-remote.d.ts +5 -1
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +5 -1
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +5 -1
- package/lib/types/with-schemas/persisters/persister-yjs.d.ts +7 -3
- package/lib/types/with-schemas/persisters.d.ts +193 -121
- package/lib/types/with-schemas/queries.d.ts +3 -3
- package/lib/types/with-schemas/relationships.d.ts +2 -2
- package/lib/types/with-schemas/store.d.ts +483 -345
- package/lib/types/with-schemas/synchronizers/synchronizer-local.d.ts +29 -0
- package/lib/types/with-schemas/synchronizers/synchronizer-ws-client.d.ts +41 -0
- package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +57 -0
- package/lib/types/with-schemas/synchronizers.d.ts +146 -0
- package/lib/types/with-schemas/tinybase.d.ts +9 -8
- package/lib/types/with-schemas/tools.d.ts +4 -4
- package/lib/types/with-schemas/ui-react.d.ts +177 -9
- package/lib/ui-react-dom.js +1 -1
- package/lib/ui-react-dom.js.gz +0 -0
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/checkpoints.js +1 -1
- package/lib/umd/checkpoints.js.gz +0 -0
- package/lib/umd/indexes.js +1 -1
- package/lib/umd/indexes.js.gz +0 -0
- package/lib/umd/mergeable-store.js +1 -0
- package/lib/umd/mergeable-store.js.gz +0 -0
- package/lib/umd/metrics.js +1 -1
- package/lib/umd/metrics.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 -0
- 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-partykit-server.js +1 -1
- package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/umd/persisters/persister-powersync.js +1 -0
- package/lib/umd/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -1
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/queries.js +1 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd/relationships.js +1 -1
- package/lib/umd/relationships.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-local.js +1 -0
- package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -0
- package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-ws-server.js +1 -0
- package/lib/umd/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/umd/synchronizers.js +1 -0
- package/lib/umd/synchronizers.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd/ui-react-dom-debug.js +1 -1
- package/lib/umd/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd/ui-react-dom.js +1 -1
- package/lib/umd/ui-react-dom.js.gz +0 -0
- package/lib/umd/ui-react.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/checkpoints.js +1 -1
- package/lib/umd-es6/checkpoints.js.gz +0 -0
- package/lib/umd-es6/indexes.js +1 -1
- package/lib/umd-es6/indexes.js.gz +0 -0
- package/lib/umd-es6/mergeable-store.js +1 -0
- package/lib/umd-es6/mergeable-store.js.gz +0 -0
- package/lib/umd-es6/metrics.js +1 -1
- package/lib/umd-es6/metrics.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 -0
- 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-partykit-server.js +1 -1
- package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-powersync.js +1 -0
- package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -1
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/queries.js +1 -1
- package/lib/umd-es6/queries.js.gz +0 -0
- package/lib/umd-es6/relationships.js +1 -1
- package/lib/umd-es6/relationships.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -0
- package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-server.js +1 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/umd-es6/synchronizers.js +1 -0
- package/lib/umd-es6/synchronizers.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom-debug.js +1 -1
- package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom.js +1 -1
- package/lib/umd-es6/ui-react-dom.js.gz +0 -0
- package/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +65 -45
- package/readme.md +2 -2
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
* |persister-expo-sqlite|createExpoSqlitePersister|SQLite in React Native, via [expo-sqlite](https://github.com/expo/expo/tree/main/packages/expo-sqlite)|
|
|
23
23
|
* |persister-expo-sqlite-next|createExpoSqliteNextPersister|SQLite in React Native, via [expo-sqlite/next](https://github.com/expo/expo/tree/main/packages/expo-sqlite/next)|
|
|
24
24
|
* |persister-electric-sql|createElectricSqlPersister|Electric SQL, via [electric-sql](https://github.com/electric-sql/electric)|
|
|
25
|
+
* |persister-libsql|createLibSqlPersister|LibSQL for Turso, via [libsql-client](https://github.com/tursodatabase/libsql-client-ts)|
|
|
26
|
+
* |persister-powersync|createPowerSyncPersister|PowerSync, via [powersync-sdk](https://github.com/powersync-ja/powersync-js)|
|
|
25
27
|
* |persister-yjs|createYjsPersister|Yjs CRDTs, via [yjs](https://github.com/yjs/yjs)|
|
|
26
28
|
* |persister-automerge|createSqliteWasmPersister|Automerge CRDTs, via [automerge-repo](https://github.com/automerge/automerge-repo)|
|
|
27
29
|
*
|
|
@@ -38,8 +40,73 @@
|
|
|
38
40
|
* @module persisters
|
|
39
41
|
*/
|
|
40
42
|
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
43
|
+
import {Changes, Content, Store} from './store.d.ts';
|
|
44
|
+
import {
|
|
45
|
+
MergeableChanges,
|
|
46
|
+
MergeableContent,
|
|
47
|
+
MergeableStore,
|
|
48
|
+
} from './mergeable-store';
|
|
49
|
+
import {Id} from './common.d.ts';
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* The StoreTypes type
|
|
53
|
+
*/
|
|
54
|
+
export type StoreTypes =
|
|
55
|
+
| 1 // Store only
|
|
56
|
+
| 2 // MergeableStore only
|
|
57
|
+
| 3; // Store and MergeableStore
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* The PersistedStore type
|
|
61
|
+
*/
|
|
62
|
+
export type PersistedStore<StoreType extends StoreTypes = 1> =
|
|
63
|
+
StoreType extends 3
|
|
64
|
+
? Store | MergeableStore
|
|
65
|
+
: StoreType extends 2
|
|
66
|
+
? MergeableStore
|
|
67
|
+
: Store;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* The PersistedContent type
|
|
71
|
+
*/
|
|
72
|
+
export type PersistedContent<StoreType extends StoreTypes = 1> =
|
|
73
|
+
StoreType extends 3
|
|
74
|
+
? Content | MergeableContent
|
|
75
|
+
: StoreType extends 2
|
|
76
|
+
? MergeableContent
|
|
77
|
+
: Content;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* The PersistedChanges type
|
|
81
|
+
*/
|
|
82
|
+
export type PersistedChanges<StoreType extends StoreTypes = 1> =
|
|
83
|
+
StoreType extends 3
|
|
84
|
+
? Changes | MergeableChanges
|
|
85
|
+
: StoreType extends 2
|
|
86
|
+
? MergeableChanges
|
|
87
|
+
: Changes;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* A PersisterListener is a callback that lets a Persister inform the Store that
|
|
91
|
+
* a change has happened to the underlying data.
|
|
92
|
+
*
|
|
93
|
+
* If the listener is called with the `changes` parameter, it will be used to
|
|
94
|
+
* make an incremental change to the Store. If not, but the `content` parameter
|
|
95
|
+
* is available, that will be used to make a wholesale change to the Store. If
|
|
96
|
+
* neither are present, the content will be loaded using the Persister's load
|
|
97
|
+
* method. Prior to v5.0, these parameters were callbacks.
|
|
98
|
+
* @param content If provided, this is a Content object from the the Persister
|
|
99
|
+
* that will be used to immediately wholesale update the Store.
|
|
100
|
+
* @param changes If provided, this is a Changes object from the the Persister
|
|
101
|
+
* that will be used to immediately incrementally update the Store. This takes
|
|
102
|
+
* priority over the content argument above if present.
|
|
103
|
+
* @category Creation
|
|
104
|
+
* @since v4.0.0
|
|
105
|
+
*/
|
|
106
|
+
export type PersisterListener<StoreType extends StoreTypes = 1> = (
|
|
107
|
+
content?: PersistedContent<StoreType>,
|
|
108
|
+
changes?: PersistedChanges<StoreType>,
|
|
109
|
+
) => void;
|
|
43
110
|
|
|
44
111
|
/**
|
|
45
112
|
* The PersisterStats type describes the number of times a Persister object has
|
|
@@ -60,28 +127,6 @@ export type PersisterStats = {
|
|
|
60
127
|
saves?: number;
|
|
61
128
|
};
|
|
62
129
|
|
|
63
|
-
/**
|
|
64
|
-
* A PersisterListener is a callback that lets a Persister inform the Store that
|
|
65
|
-
* a change has happened to the underlying data.
|
|
66
|
-
*
|
|
67
|
-
* If the listener has the `getTransactionChanges` parameter, it will be used to
|
|
68
|
-
* make an incremental change to the Store. If not, but the `getContent`
|
|
69
|
-
* function _is_ available, that will be used to make a wholesale change to the
|
|
70
|
-
* Store. If neither are present, the content will be loaded from the
|
|
71
|
-
* Persister's load method.
|
|
72
|
-
* @param getContent An optional function that, if provided, returns an array of
|
|
73
|
-
* Store content and can be used to immediately wholesale update the Store.
|
|
74
|
-
* @param getTransactionChanges An optional function that, if provided, returns
|
|
75
|
-
* a TransactionChanges object and can be used to immediately incrementally
|
|
76
|
-
* update the Store.
|
|
77
|
-
* @category Creation
|
|
78
|
-
* @since v4.0.0
|
|
79
|
-
*/
|
|
80
|
-
export type PersisterListener = (
|
|
81
|
-
getContent?: () => [Tables, Values],
|
|
82
|
-
getTransactionChanges?: GetTransactionChanges,
|
|
83
|
-
) => void;
|
|
84
|
-
|
|
85
130
|
/**
|
|
86
131
|
* The DatabasePersisterConfig type describes the configuration of a
|
|
87
132
|
* database-oriented Persister, such as those for SQLite.
|
|
@@ -548,9 +593,9 @@ export type DpcTabularValues = {
|
|
|
548
593
|
*
|
|
549
594
|
* Creating a Persister depends on the choice of underlying storage where the
|
|
550
595
|
* data is to be stored. Options include the createSessionPersister function,
|
|
551
|
-
* the createLocalPersister, the createRemotePersister function, and
|
|
552
|
-
* createFilePersister function. The createCustomPersister function can also
|
|
553
|
-
* used to easily create a fully customized way to save and load Store data.
|
|
596
|
+
* the createLocalPersister function, the createRemotePersister function, and
|
|
597
|
+
* the createFilePersister function. The createCustomPersister function can also
|
|
598
|
+
* be used to easily create a fully customized way to save and load Store data.
|
|
554
599
|
*
|
|
555
600
|
* A Persister lets you explicit save or load data, with the save method and the
|
|
556
601
|
* load method respectively. These methods are both asynchronous (since the
|
|
@@ -619,7 +664,7 @@ export type DpcTabularValues = {
|
|
|
619
664
|
* const store = createStore();
|
|
620
665
|
* const persister = createSessionPersister(store, 'pets');
|
|
621
666
|
*
|
|
622
|
-
* await persister.startAutoLoad({pets: {fido: {species: 'dog'}}});
|
|
667
|
+
* await persister.startAutoLoad([{pets: {fido: {species: 'dog'}}}, {}]);
|
|
623
668
|
* await persister.startAutoSave();
|
|
624
669
|
*
|
|
625
670
|
* store.setTables({pets: {felix: {species: 'cat'}}});
|
|
@@ -640,13 +685,13 @@ export type DpcTabularValues = {
|
|
|
640
685
|
* ```
|
|
641
686
|
* @category Persister
|
|
642
687
|
*/
|
|
643
|
-
export interface Persister {
|
|
688
|
+
export interface Persister<StoreType extends StoreTypes = 1> {
|
|
644
689
|
//
|
|
645
690
|
/**
|
|
646
691
|
* The load method gets persisted data from storage, and loads it into the
|
|
647
692
|
* Store with which the Persister is associated, once.
|
|
648
693
|
*
|
|
649
|
-
* The optional
|
|
694
|
+
* The optional parameter allows you to specify what the initial content for
|
|
650
695
|
* the Store will be if there is nothing currently persisted or if the load
|
|
651
696
|
* fails (for example when the Persister is remote and the environment is
|
|
652
697
|
* offline). This allows you to fallback or instantiate a Store whether it's
|
|
@@ -656,10 +701,8 @@ export interface Persister {
|
|
|
656
701
|
* machine or a filesystem. Even for those storage types that are synchronous
|
|
657
702
|
* (like browser storage) it is still recommended that you `await` calls to
|
|
658
703
|
* this method or handle the return type natively as a Promise.
|
|
659
|
-
* @param
|
|
704
|
+
* @param initialContent An optional Content object used when the underlying
|
|
660
705
|
* storage has not previously been populated.
|
|
661
|
-
* @param initialValues An optional Values object used when the underlying
|
|
662
|
-
* storage has not previously been populated, since v3.0.
|
|
663
706
|
* @returns A Promise containing a reference to the Persister object.
|
|
664
707
|
* @example
|
|
665
708
|
* This example creates an empty Store, and loads data into it from the
|
|
@@ -688,7 +731,7 @@ export interface Persister {
|
|
|
688
731
|
* const store = createStore();
|
|
689
732
|
* const persister = createSessionPersister(store, 'pets');
|
|
690
733
|
*
|
|
691
|
-
* await persister.load({pets: {fido: {species: 'dog'}}});
|
|
734
|
+
* await persister.load([{pets: {fido: {species: 'dog'}}}, {}]);
|
|
692
735
|
* console.log(store.getTables());
|
|
693
736
|
* // -> {pets: {fido: {species: 'dog'}}}
|
|
694
737
|
*
|
|
@@ -701,14 +744,14 @@ export interface Persister {
|
|
|
701
744
|
* ```
|
|
702
745
|
* @category Load
|
|
703
746
|
*/
|
|
704
|
-
load(
|
|
747
|
+
load(initialContent?: Content): Promise<this>;
|
|
705
748
|
|
|
706
749
|
/**
|
|
707
750
|
* The startAutoLoad method gets persisted data from storage, and loads it
|
|
708
751
|
* into the Store with which the Persister is associated, once, and then
|
|
709
752
|
* continuously.
|
|
710
753
|
*
|
|
711
|
-
* The optional
|
|
754
|
+
* The optional parameter allows you to specify what the initial content for
|
|
712
755
|
* the Store will be if there is nothing currently persisted or if the load
|
|
713
756
|
* fails (for example when the Persister is remote and the environment is
|
|
714
757
|
* offline). This allows you to fallback or instantiate a Store whether it's
|
|
@@ -723,10 +766,8 @@ export interface Persister {
|
|
|
723
766
|
* the asynchronous load method. Even for those storage types that are
|
|
724
767
|
* synchronous (like browser storage) it is still recommended that you `await`
|
|
725
768
|
* calls to this method or handle the return type natively as a Promise.
|
|
726
|
-
* @param
|
|
769
|
+
* @param initialContent An optional Content object used when the underlying
|
|
727
770
|
* storage has not previously been populated.
|
|
728
|
-
* @param initialValues An optional Values object used when the underlying
|
|
729
|
-
* storage has not previously been populated, since v3.0.
|
|
730
771
|
* @returns A Promise containing a reference to the Persister object.
|
|
731
772
|
* @example
|
|
732
773
|
* This example creates an empty Store, and loads data into it from the
|
|
@@ -739,7 +780,7 @@ export interface Persister {
|
|
|
739
780
|
* const store = createStore();
|
|
740
781
|
* const persister = createSessionPersister(store, 'pets');
|
|
741
782
|
*
|
|
742
|
-
* await persister.startAutoLoad({pets: {fido: {species: 'dog'}}});
|
|
783
|
+
* await persister.startAutoLoad([{pets: {fido: {species: 'dog'}}}, {}]);
|
|
743
784
|
* console.log(store.getTables());
|
|
744
785
|
* // -> {pets: {fido: {species: 'dog'}}}
|
|
745
786
|
*
|
|
@@ -756,10 +797,7 @@ export interface Persister {
|
|
|
756
797
|
* ```
|
|
757
798
|
* @category Load
|
|
758
799
|
*/
|
|
759
|
-
startAutoLoad(
|
|
760
|
-
initialTables?: Tables,
|
|
761
|
-
initialValues?: Values,
|
|
762
|
-
): Promise<Persister>;
|
|
800
|
+
startAutoLoad(initialContent?: Content): Promise<this>;
|
|
763
801
|
|
|
764
802
|
/**
|
|
765
803
|
* The stopAutoLoad method stops the automatic loading of data from storage
|
|
@@ -803,7 +841,34 @@ export interface Persister {
|
|
|
803
841
|
* ```
|
|
804
842
|
* @category Load
|
|
805
843
|
*/
|
|
806
|
-
stopAutoLoad():
|
|
844
|
+
stopAutoLoad(): this;
|
|
845
|
+
|
|
846
|
+
/**
|
|
847
|
+
* The isAutoLoading method lets you find out if the Persister is currently
|
|
848
|
+
* automatically loading its content.
|
|
849
|
+
* @returns A boolean indicating whether the Persister is currently
|
|
850
|
+
* autoLoading.
|
|
851
|
+
* @example
|
|
852
|
+
* This example creates a Persister and queries whether it is autoLoading.
|
|
853
|
+
*
|
|
854
|
+
* ```js
|
|
855
|
+
* const persister = createSessionPersister(createStore(), 'pets');
|
|
856
|
+
*
|
|
857
|
+
* console.log(persister.isAutoLoading());
|
|
858
|
+
* // -> false
|
|
859
|
+
*
|
|
860
|
+
* await persister.startAutoLoad();
|
|
861
|
+
* console.log(persister.isAutoLoading());
|
|
862
|
+
* // -> true
|
|
863
|
+
*
|
|
864
|
+
* await persister.stopAutoLoad();
|
|
865
|
+
* console.log(persister.isAutoLoading());
|
|
866
|
+
* // -> false
|
|
867
|
+
* ```
|
|
868
|
+
* @category Load
|
|
869
|
+
* @since v5.0.0
|
|
870
|
+
*/
|
|
871
|
+
isAutoLoading(): boolean;
|
|
807
872
|
|
|
808
873
|
/**
|
|
809
874
|
* The save method takes data from the Store with which the Persister is
|
|
@@ -831,7 +896,7 @@ export interface Persister {
|
|
|
831
896
|
* ```
|
|
832
897
|
* @category Save
|
|
833
898
|
*/
|
|
834
|
-
save(): Promise<
|
|
899
|
+
save(): Promise<this>;
|
|
835
900
|
|
|
836
901
|
/**
|
|
837
902
|
* The save method takes data from the Store with which the Persister is
|
|
@@ -868,7 +933,7 @@ export interface Persister {
|
|
|
868
933
|
* ```
|
|
869
934
|
* @category Save
|
|
870
935
|
*/
|
|
871
|
-
startAutoSave(): Promise<
|
|
936
|
+
startAutoSave(): Promise<this>;
|
|
872
937
|
|
|
873
938
|
/**
|
|
874
939
|
* The stopAutoSave method stops the automatic save of data to storage
|
|
@@ -905,7 +970,34 @@ export interface Persister {
|
|
|
905
970
|
* ```
|
|
906
971
|
* @category Save
|
|
907
972
|
*/
|
|
908
|
-
stopAutoSave():
|
|
973
|
+
stopAutoSave(): this;
|
|
974
|
+
|
|
975
|
+
/**
|
|
976
|
+
* The isAutoSaving method lets you find out if the Persister is currently
|
|
977
|
+
* automatically saving its content.
|
|
978
|
+
* @returns A boolean indicating whether the Persister is currently
|
|
979
|
+
* autoSaving.
|
|
980
|
+
* @example
|
|
981
|
+
* This example creates a Persister and queries whether it is autoSaving.
|
|
982
|
+
*
|
|
983
|
+
* ```js
|
|
984
|
+
* const persister = createSessionPersister(createStore(), 'pets');
|
|
985
|
+
*
|
|
986
|
+
* console.log(persister.isAutoSaving());
|
|
987
|
+
* // -> false
|
|
988
|
+
*
|
|
989
|
+
* await persister.startAutoSave();
|
|
990
|
+
* console.log(persister.isAutoSaving());
|
|
991
|
+
* // -> true
|
|
992
|
+
*
|
|
993
|
+
* await persister.stopAutoSave();
|
|
994
|
+
* console.log(persister.isAutoSaving());
|
|
995
|
+
* // -> false
|
|
996
|
+
* ```
|
|
997
|
+
* @category Save
|
|
998
|
+
* @since v5.0.0
|
|
999
|
+
*/
|
|
1000
|
+
isAutoSaving(): boolean;
|
|
909
1001
|
|
|
910
1002
|
/**
|
|
911
1003
|
* The schedule method allows you to queue up a series of asynchronous actions
|
|
@@ -948,7 +1040,7 @@ export interface Persister {
|
|
|
948
1040
|
* @category Lifecycle
|
|
949
1041
|
* @since v4.0.0
|
|
950
1042
|
*/
|
|
951
|
-
schedule(...actions: Promise<any>[]): Promise<
|
|
1043
|
+
schedule(...actions: Promise<any>[]): Promise<this>;
|
|
952
1044
|
|
|
953
1045
|
/**
|
|
954
1046
|
* The getStore method returns a reference to the underlying Store that is
|
|
@@ -971,7 +1063,7 @@ export interface Persister {
|
|
|
971
1063
|
* ```
|
|
972
1064
|
* @category Getter
|
|
973
1065
|
*/
|
|
974
|
-
getStore():
|
|
1066
|
+
getStore(): PersistedStore<StoreType>;
|
|
975
1067
|
|
|
976
1068
|
/**
|
|
977
1069
|
* The destroy method should be called when this Persister object is no longer
|
|
@@ -1001,7 +1093,7 @@ export interface Persister {
|
|
|
1001
1093
|
* ```
|
|
1002
1094
|
* @category Lifecycle
|
|
1003
1095
|
*/
|
|
1004
|
-
destroy():
|
|
1096
|
+
destroy(): this;
|
|
1005
1097
|
|
|
1006
1098
|
/**
|
|
1007
1099
|
* The getStats method provides a set of statistics about the Persister, and
|
|
@@ -1075,7 +1167,9 @@ export interface Persister {
|
|
|
1075
1167
|
* the persistence layer (or `undefined` if not present).
|
|
1076
1168
|
* @param setPersisted An asynchronous function which will send content to the
|
|
1077
1169
|
* persistence layer. Since v4.0, it receives functions for getting the Store
|
|
1078
|
-
* content and information about the changes made during a transaction.
|
|
1170
|
+
* content and information about the changes made during a transaction. Since
|
|
1171
|
+
* v5.0, the changes are received directly by reference, rather than an
|
|
1172
|
+
* accessor.
|
|
1079
1173
|
* @param addPersisterListener A function that will register a `listener`
|
|
1080
1174
|
* listener on underlying changes to the persistence layer. You can return a
|
|
1081
1175
|
* listening handle that will be provided again when `delPersisterListener` is
|
|
@@ -1086,6 +1180,9 @@ export interface Persister {
|
|
|
1086
1180
|
* @param onIgnoredError An optional handler for the errors that the Persister
|
|
1087
1181
|
* would otherwise ignore when trying to save or load data. This is suitable for
|
|
1088
1182
|
* debugging persistence issues in a development environment, since v4.0.4.
|
|
1183
|
+
* @param supportsMergeableStore An optional boolean to indicate that this
|
|
1184
|
+
* Persister will be able to handle MergeableStore persistence as well as
|
|
1185
|
+
* regular Store persistence, since v5.0.
|
|
1089
1186
|
* @returns A reference to the new Persister object.
|
|
1090
1187
|
* @example
|
|
1091
1188
|
* This example creates a custom Persister object and persists the Store to a
|
|
@@ -1124,14 +1221,20 @@ export interface Persister {
|
|
|
1124
1221
|
* ```
|
|
1125
1222
|
* @category Creation
|
|
1126
1223
|
*/
|
|
1127
|
-
export function createCustomPersister<
|
|
1128
|
-
|
|
1129
|
-
|
|
1224
|
+
export function createCustomPersister<
|
|
1225
|
+
ListeningHandle,
|
|
1226
|
+
StoreType extends StoreTypes = 1,
|
|
1227
|
+
>(
|
|
1228
|
+
store: PersistedStore<StoreType>,
|
|
1229
|
+
getPersisted: () => Promise<PersistedContent<StoreType> | undefined>,
|
|
1130
1230
|
setPersisted: (
|
|
1131
|
-
getContent: () =>
|
|
1132
|
-
|
|
1231
|
+
getContent: () => PersistedContent<StoreType>,
|
|
1232
|
+
changes?: PersistedChanges<StoreType>,
|
|
1133
1233
|
) => Promise<void>,
|
|
1134
|
-
addPersisterListener: (
|
|
1234
|
+
addPersisterListener: (
|
|
1235
|
+
listener: PersisterListener<StoreType>,
|
|
1236
|
+
) => ListeningHandle,
|
|
1135
1237
|
delPersisterListener: (listeningHandle: ListeningHandle) => void,
|
|
1136
1238
|
onIgnoredError?: (error: any) => void,
|
|
1137
|
-
|
|
1239
|
+
supportedStoreType?: StoreType,
|
|
1240
|
+
): Persister<StoreType>;
|
package/lib/types/queries.d.ts
CHANGED
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
* @since v2.0.0
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
import {Cell, CellOrUndefined, GetCell, GetIdChanges, Store} from './store.d';
|
|
15
|
-
import {Id, IdOrNull, Ids} from './common.d';
|
|
14
|
+
import {Cell, CellOrUndefined, GetCell, GetIdChanges, Store} from './store.d.ts';
|
|
15
|
+
import {Id, IdOrNull, Ids} from './common.d.ts';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* The ResultTable type is the data structure representing the results of a
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
* @module relationships
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import {GetCell, RowCallback, Store} from './store.d';
|
|
14
|
-
import {Id, IdOrNull, Ids} from './common.d';
|
|
13
|
+
import {GetCell, RowCallback, Store} from './store.d.ts';
|
|
14
|
+
import {Id, IdOrNull, Ids} from './common.d.ts';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* The Relationship type represents the concept of a map that connects one Row
|