tinybase 5.0.0-beta.0 → 5.0.0-beta.10
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/bin/cli.js +1 -1
- 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 +254 -235
- package/lib/debug/indexes.js +10 -6
- package/lib/debug/mergeable-store.js +2230 -0
- package/lib/debug/metrics.js +10 -6
- package/lib/debug/persisters/persister-automerge.js +113 -87
- package/lib/debug/persisters/persister-browser.js +95 -57
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +175 -109
- package/lib/debug/persisters/persister-electric-sql.js +176 -109
- package/lib/debug/persisters/persister-expo-sqlite-next.js +176 -110
- package/lib/debug/persisters/persister-expo-sqlite.js +175 -109
- package/lib/debug/persisters/persister-file.js +94 -57
- package/lib/debug/persisters/persister-indexed-db.js +94 -57
- package/lib/debug/persisters/persister-libsql.js +913 -0
- package/lib/debug/persisters/persister-partykit-client.js +90 -59
- package/lib/debug/persisters/persister-partykit-server.js +19 -26
- package/lib/debug/persisters/persister-powersync.js +928 -0
- package/lib/debug/persisters/persister-remote.js +86 -53
- package/lib/debug/persisters/persister-sqlite-wasm.js +175 -109
- package/lib/debug/persisters/persister-sqlite3.js +175 -109
- package/lib/debug/persisters/persister-yjs.js +111 -84
- package/lib/debug/persisters.js +82 -50
- package/lib/debug/queries.js +18 -12
- package/lib/debug/relationships.js +10 -6
- package/lib/debug/store.js +150 -127
- package/lib/debug/synchronizers/synchronizer-local.js +559 -0
- package/lib/debug/synchronizers/synchronizer-ws-client.js +586 -0
- package/lib/debug/synchronizers/synchronizer-ws-server.js +96 -0
- package/lib/debug/synchronizers.js +519 -0
- package/lib/debug/tinybase.js +1281 -409
- package/lib/debug/tools.js +41 -64
- package/lib/debug/ui-react-dom.js +277 -213
- package/lib/debug/ui-react.js +213 -198
- 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 +7 -3
- 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 +125 -48
- 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 +36 -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 +235 -95
- 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/queries.d.ts +4 -3
- package/lib/types/with-schemas/internal/store.d.ts +8 -3
- 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 +8 -4
- 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 +161 -101
- 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 +36 -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 +259 -102
- 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 +68 -48
- 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,13 @@
|
|
|
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';
|
|
43
50
|
|
|
44
51
|
/**
|
|
45
52
|
* The PersisterStats type describes the number of times a Persister object has
|
|
@@ -64,23 +71,27 @@ export type PersisterStats = {
|
|
|
64
71
|
* A PersisterListener is a callback that lets a Persister inform the Store that
|
|
65
72
|
* a change has happened to the underlying data.
|
|
66
73
|
*
|
|
67
|
-
* If the listener has the `
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
74
|
+
* If the listener has the `getChanges` parameter, it will be used to make an
|
|
75
|
+
* incremental change to the Store. If not, but the `getContent` function _is_
|
|
76
|
+
* available, that will be used to make a wholesale change to the Store. If
|
|
77
|
+
* neither are present, the content will be loaded from the Persister's load
|
|
78
|
+
* method.
|
|
72
79
|
* @param getContent An optional function that, if provided, returns an array of
|
|
73
80
|
* Store content and can be used to immediately wholesale update the Store.
|
|
74
|
-
* @param
|
|
75
|
-
*
|
|
76
|
-
* update the Store.
|
|
81
|
+
* @param getChanges An optional function that, if provided, returns a Changes
|
|
82
|
+
* object and can be used to immediately incrementally update the Store.
|
|
77
83
|
* @category Creation
|
|
78
84
|
* @since v4.0.0
|
|
79
85
|
*/
|
|
80
|
-
export type PersisterListener =
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
86
|
+
export type PersisterListener<SupportsMergeableStore extends boolean = false> =
|
|
87
|
+
(
|
|
88
|
+
getContent?: () =>
|
|
89
|
+
| Content
|
|
90
|
+
| (SupportsMergeableStore extends true ? MergeableContent : never),
|
|
91
|
+
getChanges?: () =>
|
|
92
|
+
| Changes
|
|
93
|
+
| (SupportsMergeableStore extends true ? MergeableChanges : never),
|
|
94
|
+
) => void;
|
|
84
95
|
|
|
85
96
|
/**
|
|
86
97
|
* The DatabasePersisterConfig type describes the configuration of a
|
|
@@ -548,9 +559,9 @@ export type DpcTabularValues = {
|
|
|
548
559
|
*
|
|
549
560
|
* Creating a Persister depends on the choice of underlying storage where the
|
|
550
561
|
* 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.
|
|
562
|
+
* the createLocalPersister function, the createRemotePersister function, and
|
|
563
|
+
* the createFilePersister function. The createCustomPersister function can also
|
|
564
|
+
* be used to easily create a fully customized way to save and load Store data.
|
|
554
565
|
*
|
|
555
566
|
* A Persister lets you explicit save or load data, with the save method and the
|
|
556
567
|
* load method respectively. These methods are both asynchronous (since the
|
|
@@ -619,7 +630,7 @@ export type DpcTabularValues = {
|
|
|
619
630
|
* const store = createStore();
|
|
620
631
|
* const persister = createSessionPersister(store, 'pets');
|
|
621
632
|
*
|
|
622
|
-
* await persister.startAutoLoad({pets: {fido: {species: 'dog'}}});
|
|
633
|
+
* await persister.startAutoLoad([{pets: {fido: {species: 'dog'}}}, {}]);
|
|
623
634
|
* await persister.startAutoSave();
|
|
624
635
|
*
|
|
625
636
|
* store.setTables({pets: {felix: {species: 'cat'}}});
|
|
@@ -640,13 +651,13 @@ export type DpcTabularValues = {
|
|
|
640
651
|
* ```
|
|
641
652
|
* @category Persister
|
|
642
653
|
*/
|
|
643
|
-
export interface Persister {
|
|
654
|
+
export interface Persister<SupportsMergeableStore extends boolean = false> {
|
|
644
655
|
//
|
|
645
656
|
/**
|
|
646
657
|
* The load method gets persisted data from storage, and loads it into the
|
|
647
658
|
* Store with which the Persister is associated, once.
|
|
648
659
|
*
|
|
649
|
-
* The optional
|
|
660
|
+
* The optional parameter allows you to specify what the initial content for
|
|
650
661
|
* the Store will be if there is nothing currently persisted or if the load
|
|
651
662
|
* fails (for example when the Persister is remote and the environment is
|
|
652
663
|
* offline). This allows you to fallback or instantiate a Store whether it's
|
|
@@ -656,10 +667,8 @@ export interface Persister {
|
|
|
656
667
|
* machine or a filesystem. Even for those storage types that are synchronous
|
|
657
668
|
* (like browser storage) it is still recommended that you `await` calls to
|
|
658
669
|
* this method or handle the return type natively as a Promise.
|
|
659
|
-
* @param
|
|
670
|
+
* @param initialContent An optional Content object used when the underlying
|
|
660
671
|
* 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
672
|
* @returns A Promise containing a reference to the Persister object.
|
|
664
673
|
* @example
|
|
665
674
|
* This example creates an empty Store, and loads data into it from the
|
|
@@ -688,7 +697,7 @@ export interface Persister {
|
|
|
688
697
|
* const store = createStore();
|
|
689
698
|
* const persister = createSessionPersister(store, 'pets');
|
|
690
699
|
*
|
|
691
|
-
* await persister.load({pets: {fido: {species: 'dog'}}});
|
|
700
|
+
* await persister.load([{pets: {fido: {species: 'dog'}}}, {}]);
|
|
692
701
|
* console.log(store.getTables());
|
|
693
702
|
* // -> {pets: {fido: {species: 'dog'}}}
|
|
694
703
|
*
|
|
@@ -701,14 +710,14 @@ export interface Persister {
|
|
|
701
710
|
* ```
|
|
702
711
|
* @category Load
|
|
703
712
|
*/
|
|
704
|
-
load(
|
|
713
|
+
load(initialContent?: Content): Promise<this>;
|
|
705
714
|
|
|
706
715
|
/**
|
|
707
716
|
* The startAutoLoad method gets persisted data from storage, and loads it
|
|
708
717
|
* into the Store with which the Persister is associated, once, and then
|
|
709
718
|
* continuously.
|
|
710
719
|
*
|
|
711
|
-
* The optional
|
|
720
|
+
* The optional parameter allows you to specify what the initial content for
|
|
712
721
|
* the Store will be if there is nothing currently persisted or if the load
|
|
713
722
|
* fails (for example when the Persister is remote and the environment is
|
|
714
723
|
* offline). This allows you to fallback or instantiate a Store whether it's
|
|
@@ -723,10 +732,8 @@ export interface Persister {
|
|
|
723
732
|
* the asynchronous load method. Even for those storage types that are
|
|
724
733
|
* synchronous (like browser storage) it is still recommended that you `await`
|
|
725
734
|
* calls to this method or handle the return type natively as a Promise.
|
|
726
|
-
* @param
|
|
735
|
+
* @param initialContent An optional Content object used when the underlying
|
|
727
736
|
* 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
737
|
* @returns A Promise containing a reference to the Persister object.
|
|
731
738
|
* @example
|
|
732
739
|
* This example creates an empty Store, and loads data into it from the
|
|
@@ -739,7 +746,7 @@ export interface Persister {
|
|
|
739
746
|
* const store = createStore();
|
|
740
747
|
* const persister = createSessionPersister(store, 'pets');
|
|
741
748
|
*
|
|
742
|
-
* await persister.startAutoLoad({pets: {fido: {species: 'dog'}}});
|
|
749
|
+
* await persister.startAutoLoad([{pets: {fido: {species: 'dog'}}}, {}]);
|
|
743
750
|
* console.log(store.getTables());
|
|
744
751
|
* // -> {pets: {fido: {species: 'dog'}}}
|
|
745
752
|
*
|
|
@@ -756,10 +763,7 @@ export interface Persister {
|
|
|
756
763
|
* ```
|
|
757
764
|
* @category Load
|
|
758
765
|
*/
|
|
759
|
-
startAutoLoad(
|
|
760
|
-
initialTables?: Tables,
|
|
761
|
-
initialValues?: Values,
|
|
762
|
-
): Promise<Persister>;
|
|
766
|
+
startAutoLoad(initialContent?: Content): Promise<this>;
|
|
763
767
|
|
|
764
768
|
/**
|
|
765
769
|
* The stopAutoLoad method stops the automatic loading of data from storage
|
|
@@ -803,7 +807,34 @@ export interface Persister {
|
|
|
803
807
|
* ```
|
|
804
808
|
* @category Load
|
|
805
809
|
*/
|
|
806
|
-
stopAutoLoad():
|
|
810
|
+
stopAutoLoad(): this;
|
|
811
|
+
|
|
812
|
+
/**
|
|
813
|
+
* The isAutoLoading method lets you find out if the Persister is currently
|
|
814
|
+
* automatically loading its content.
|
|
815
|
+
* @returns A boolean indicating whether the Persister is currently
|
|
816
|
+
* autoLoading.
|
|
817
|
+
* @example
|
|
818
|
+
* This example creates a Persister and queries whether it is autoLoading.
|
|
819
|
+
*
|
|
820
|
+
* ```js
|
|
821
|
+
* const persister = createSessionPersister(createStore(), 'pets');
|
|
822
|
+
*
|
|
823
|
+
* console.log(persister.isAutoLoading());
|
|
824
|
+
* // -> false
|
|
825
|
+
*
|
|
826
|
+
* await persister.startAutoLoad();
|
|
827
|
+
* console.log(persister.isAutoLoading());
|
|
828
|
+
* // -> true
|
|
829
|
+
*
|
|
830
|
+
* await persister.stopAutoLoad();
|
|
831
|
+
* console.log(persister.isAutoLoading());
|
|
832
|
+
* // -> false
|
|
833
|
+
* ```
|
|
834
|
+
* @category Load
|
|
835
|
+
* @since v5.0.0
|
|
836
|
+
*/
|
|
837
|
+
isAutoLoading(): boolean;
|
|
807
838
|
|
|
808
839
|
/**
|
|
809
840
|
* The save method takes data from the Store with which the Persister is
|
|
@@ -831,7 +862,7 @@ export interface Persister {
|
|
|
831
862
|
* ```
|
|
832
863
|
* @category Save
|
|
833
864
|
*/
|
|
834
|
-
save(): Promise<
|
|
865
|
+
save(): Promise<this>;
|
|
835
866
|
|
|
836
867
|
/**
|
|
837
868
|
* The save method takes data from the Store with which the Persister is
|
|
@@ -868,7 +899,7 @@ export interface Persister {
|
|
|
868
899
|
* ```
|
|
869
900
|
* @category Save
|
|
870
901
|
*/
|
|
871
|
-
startAutoSave(): Promise<
|
|
902
|
+
startAutoSave(): Promise<this>;
|
|
872
903
|
|
|
873
904
|
/**
|
|
874
905
|
* The stopAutoSave method stops the automatic save of data to storage
|
|
@@ -905,7 +936,34 @@ export interface Persister {
|
|
|
905
936
|
* ```
|
|
906
937
|
* @category Save
|
|
907
938
|
*/
|
|
908
|
-
stopAutoSave():
|
|
939
|
+
stopAutoSave(): this;
|
|
940
|
+
|
|
941
|
+
/**
|
|
942
|
+
* The isAutoSaving method lets you find out if the Persister is currently
|
|
943
|
+
* automatically saving its content.
|
|
944
|
+
* @returns A boolean indicating whether the Persister is currently
|
|
945
|
+
* autoSaving.
|
|
946
|
+
* @example
|
|
947
|
+
* This example creates a Persister and queries whether it is autoSaving.
|
|
948
|
+
*
|
|
949
|
+
* ```js
|
|
950
|
+
* const persister = createSessionPersister(createStore(), 'pets');
|
|
951
|
+
*
|
|
952
|
+
* console.log(persister.isAutoSaving());
|
|
953
|
+
* // -> false
|
|
954
|
+
*
|
|
955
|
+
* await persister.startAutoSave();
|
|
956
|
+
* console.log(persister.isAutoSaving());
|
|
957
|
+
* // -> true
|
|
958
|
+
*
|
|
959
|
+
* await persister.stopAutoSave();
|
|
960
|
+
* console.log(persister.isAutoSaving());
|
|
961
|
+
* // -> false
|
|
962
|
+
* ```
|
|
963
|
+
* @category Save
|
|
964
|
+
* @since v5.0.0
|
|
965
|
+
*/
|
|
966
|
+
isAutoSaving(): boolean;
|
|
909
967
|
|
|
910
968
|
/**
|
|
911
969
|
* The schedule method allows you to queue up a series of asynchronous actions
|
|
@@ -948,7 +1006,7 @@ export interface Persister {
|
|
|
948
1006
|
* @category Lifecycle
|
|
949
1007
|
* @since v4.0.0
|
|
950
1008
|
*/
|
|
951
|
-
schedule(...actions: Promise<any>[]): Promise<
|
|
1009
|
+
schedule(...actions: Promise<any>[]): Promise<this>;
|
|
952
1010
|
|
|
953
1011
|
/**
|
|
954
1012
|
* The getStore method returns a reference to the underlying Store that is
|
|
@@ -971,7 +1029,9 @@ export interface Persister {
|
|
|
971
1029
|
* ```
|
|
972
1030
|
* @category Getter
|
|
973
1031
|
*/
|
|
974
|
-
getStore():
|
|
1032
|
+
getStore(): SupportsMergeableStore extends true
|
|
1033
|
+
? Store | MergeableStore
|
|
1034
|
+
: Store;
|
|
975
1035
|
|
|
976
1036
|
/**
|
|
977
1037
|
* The destroy method should be called when this Persister object is no longer
|
|
@@ -1001,7 +1061,7 @@ export interface Persister {
|
|
|
1001
1061
|
* ```
|
|
1002
1062
|
* @category Lifecycle
|
|
1003
1063
|
*/
|
|
1004
|
-
destroy():
|
|
1064
|
+
destroy(): this;
|
|
1005
1065
|
|
|
1006
1066
|
/**
|
|
1007
1067
|
* The getStats method provides a set of statistics about the Persister, and
|
|
@@ -1086,6 +1146,9 @@ export interface Persister {
|
|
|
1086
1146
|
* @param onIgnoredError An optional handler for the errors that the Persister
|
|
1087
1147
|
* would otherwise ignore when trying to save or load data. This is suitable for
|
|
1088
1148
|
* debugging persistence issues in a development environment, since v4.0.4.
|
|
1149
|
+
* @param supportsMergeableStore An optional boolean to indicate that this
|
|
1150
|
+
* Persister will be able to handle MergeableStore persistence as well as
|
|
1151
|
+
* regular Store persistence, since v5.0.
|
|
1089
1152
|
* @returns A reference to the new Persister object.
|
|
1090
1153
|
* @example
|
|
1091
1154
|
* This example creates a custom Persister object and persists the Store to a
|
|
@@ -1124,14 +1187,28 @@ export interface Persister {
|
|
|
1124
1187
|
* ```
|
|
1125
1188
|
* @category Creation
|
|
1126
1189
|
*/
|
|
1127
|
-
export function createCustomPersister<
|
|
1128
|
-
|
|
1129
|
-
|
|
1190
|
+
export function createCustomPersister<
|
|
1191
|
+
ListeningHandle,
|
|
1192
|
+
SupportsMergeableStore extends boolean = false,
|
|
1193
|
+
>(
|
|
1194
|
+
store: Store | (SupportsMergeableStore extends true ? MergeableStore : never),
|
|
1195
|
+
getPersisted: () => Promise<
|
|
1196
|
+
| Content
|
|
1197
|
+
| (SupportsMergeableStore extends true ? MergeableContent : never)
|
|
1198
|
+
| undefined
|
|
1199
|
+
>,
|
|
1130
1200
|
setPersisted: (
|
|
1131
|
-
getContent: () =>
|
|
1132
|
-
|
|
1201
|
+
getContent: () =>
|
|
1202
|
+
| Content
|
|
1203
|
+
| (SupportsMergeableStore extends true ? MergeableContent : never),
|
|
1204
|
+
getChanges?: () =>
|
|
1205
|
+
| Changes
|
|
1206
|
+
| (SupportsMergeableStore extends true ? MergeableChanges : never),
|
|
1133
1207
|
) => Promise<void>,
|
|
1134
|
-
addPersisterListener: (
|
|
1208
|
+
addPersisterListener: (
|
|
1209
|
+
listener: PersisterListener<SupportsMergeableStore>,
|
|
1210
|
+
) => ListeningHandle,
|
|
1135
1211
|
delPersisterListener: (listeningHandle: ListeningHandle) => void,
|
|
1136
1212
|
onIgnoredError?: (error: any) => void,
|
|
1137
|
-
|
|
1213
|
+
supportsMergeableStore?: SupportsMergeableStore,
|
|
1214
|
+
): Persister<SupportsMergeableStore>;
|
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
|