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
package/lib/types/store.d.ts
CHANGED
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
* @module store
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import {Id, IdOrNull, Ids, Json} from './common.d';
|
|
13
|
+
import {Id, IdOrNull, Ids, Json} from './common.d.ts';
|
|
14
|
+
import {StoreAlias} from './internal/store.d.ts';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* The TablesSchema type describes the tabular structure of a Store in terms of
|
|
@@ -155,6 +156,37 @@ export type OptionalSchemas = [OptionalTablesSchema, OptionalValuesSchema];
|
|
|
155
156
|
*/
|
|
156
157
|
export type NoSchemas = [NoTablesSchema, NoValuesSchema];
|
|
157
158
|
|
|
159
|
+
/**
|
|
160
|
+
* The Content type describes both the Tables and Values in a Store.
|
|
161
|
+
*
|
|
162
|
+
* It is an array of two objects, representing tabular and keyed value content.
|
|
163
|
+
* @example
|
|
164
|
+
* The following is a valid Content array:
|
|
165
|
+
* ```json
|
|
166
|
+
* [
|
|
167
|
+
* {
|
|
168
|
+
* "pets": {
|
|
169
|
+
* "fido": {
|
|
170
|
+
* "sold": false,
|
|
171
|
+
* "price": 4,
|
|
172
|
+
* },
|
|
173
|
+
* "felix": {
|
|
174
|
+
* "sold": true,
|
|
175
|
+
* "price": 5,
|
|
176
|
+
* },
|
|
177
|
+
* },
|
|
178
|
+
* },
|
|
179
|
+
* {
|
|
180
|
+
* open: true,
|
|
181
|
+
* employees: 3,
|
|
182
|
+
* },
|
|
183
|
+
* ]
|
|
184
|
+
* ```
|
|
185
|
+
* @category Store
|
|
186
|
+
* @since v5.0.0
|
|
187
|
+
*/
|
|
188
|
+
export type Content = [Tables, Values];
|
|
189
|
+
|
|
158
190
|
/**
|
|
159
191
|
* The Tables type is the data structure representing all of the data in a
|
|
160
192
|
* Store.
|
|
@@ -489,20 +521,13 @@ export type ChangedValueIds = {[valueId: Id]: IdAddedOrRemoved};
|
|
|
489
521
|
* A DoRollback can be provided when calling the transaction method or the
|
|
490
522
|
* finishTransaction method. See those methods for specific examples.
|
|
491
523
|
*
|
|
492
|
-
* Since
|
|
493
|
-
*
|
|
494
|
-
*
|
|
495
|
-
*
|
|
496
|
-
* @param getTransactionChanges A function to be called to get the changes made
|
|
497
|
-
* to the Store during the transaction, since v4.0.
|
|
498
|
-
* @param getTransactionChanges A function to be called to get a more detailed
|
|
499
|
-
* log of the changes made or attempted during the transaction, since v4.0.
|
|
524
|
+
* Since v5.0, this function is called with the Store as a single argument. You
|
|
525
|
+
* can use the getTransactionChanges method and getTransactionLog method of the
|
|
526
|
+
* Store directly to decide whether to do the rollback.
|
|
527
|
+
* @param store A reference to the Store that is completing a transaction.
|
|
500
528
|
* @category Callback
|
|
501
529
|
*/
|
|
502
|
-
export type DoRollback = (
|
|
503
|
-
getTransactionChanges: GetTransactionChanges,
|
|
504
|
-
getTransactionLog: GetTransactionLog,
|
|
505
|
-
) => boolean;
|
|
530
|
+
export type DoRollback = (store: Store) => boolean;
|
|
506
531
|
|
|
507
532
|
/**
|
|
508
533
|
* The TransactionListener type describes a function that is used to listen to
|
|
@@ -512,21 +537,15 @@ export type DoRollback = (
|
|
|
512
537
|
* addWillFinishTransactionListener and addDidFinishTransactionListener methods.
|
|
513
538
|
* See those methods for specific examples.
|
|
514
539
|
*
|
|
515
|
-
*
|
|
516
|
-
*
|
|
517
|
-
*
|
|
518
|
-
*
|
|
540
|
+
* Since v5.0, this listener is called with no arguments other than the Store.
|
|
541
|
+
* You can use the getTransactionChanges method and getTransactionLog method of
|
|
542
|
+
* the Store directly to get information about the changes made within the
|
|
543
|
+
* transaction.
|
|
519
544
|
* @param store A reference to the Store that is completing a transaction.
|
|
520
|
-
* @param getTransactionChanges A function to be called to get the changes made
|
|
521
|
-
* to the Store during the transaction, since v4.0.
|
|
522
|
-
* @param getTransactionChanges A function to be called to get a more detailed
|
|
523
|
-
* log of the changes made or attempted during the transaction, since v4.0.
|
|
524
545
|
* @category Listener
|
|
525
546
|
*/
|
|
526
|
-
export type TransactionListener = (
|
|
547
|
+
export type TransactionListener<Store extends StoreAlias = StoreAlias> = (
|
|
527
548
|
store: Store,
|
|
528
|
-
getTransactionChanges: GetTransactionChanges,
|
|
529
|
-
getTransactionLog: GetTransactionLog,
|
|
530
549
|
) => void;
|
|
531
550
|
|
|
532
551
|
/**
|
|
@@ -544,7 +563,10 @@ export type TransactionListener = (
|
|
|
544
563
|
* @category Listener
|
|
545
564
|
* @since v4.4.0
|
|
546
565
|
*/
|
|
547
|
-
export type HasTablesListener
|
|
566
|
+
export type HasTablesListener<Store extends StoreAlias = StoreAlias> = (
|
|
567
|
+
store: Store,
|
|
568
|
+
hasTables: boolean,
|
|
569
|
+
) => void;
|
|
548
570
|
|
|
549
571
|
/**
|
|
550
572
|
* The TablesListener type describes a function that is used to listen to
|
|
@@ -565,7 +587,7 @@ export type HasTablesListener = (store: Store, hasTables: boolean) => void;
|
|
|
565
587
|
* changes.
|
|
566
588
|
* @category Listener
|
|
567
589
|
*/
|
|
568
|
-
export type TablesListener = (
|
|
590
|
+
export type TablesListener<Store extends StoreAlias = StoreAlias> = (
|
|
569
591
|
store: Store,
|
|
570
592
|
getCellChange: GetCellChange | undefined,
|
|
571
593
|
) => void;
|
|
@@ -586,7 +608,7 @@ export type TablesListener = (
|
|
|
586
608
|
* since v3.3.
|
|
587
609
|
* @category Listener
|
|
588
610
|
*/
|
|
589
|
-
export type TableIdsListener = (
|
|
611
|
+
export type TableIdsListener<Store extends StoreAlias = StoreAlias> = (
|
|
590
612
|
store: Store,
|
|
591
613
|
getIdChanges: GetIdChanges | undefined,
|
|
592
614
|
) => void;
|
|
@@ -608,7 +630,7 @@ export type TableIdsListener = (
|
|
|
608
630
|
* @category Listener
|
|
609
631
|
* @since v4.4.0
|
|
610
632
|
*/
|
|
611
|
-
export type HasTableListener = (
|
|
633
|
+
export type HasTableListener<Store extends StoreAlias = StoreAlias> = (
|
|
612
634
|
store: Store,
|
|
613
635
|
tableId: Id,
|
|
614
636
|
hasTable: boolean,
|
|
@@ -634,7 +656,7 @@ export type HasTableListener = (
|
|
|
634
656
|
* changes.
|
|
635
657
|
* @category Listener
|
|
636
658
|
*/
|
|
637
|
-
export type TableListener = (
|
|
659
|
+
export type TableListener<Store extends StoreAlias = StoreAlias> = (
|
|
638
660
|
store: Store,
|
|
639
661
|
tableId: Id,
|
|
640
662
|
getCellChange: GetCellChange | undefined,
|
|
@@ -656,7 +678,7 @@ export type TableListener = (
|
|
|
656
678
|
* @category Listener
|
|
657
679
|
* @since v3.3.0
|
|
658
680
|
*/
|
|
659
|
-
export type TableCellIdsListener = (
|
|
681
|
+
export type TableCellIdsListener<Store extends StoreAlias = StoreAlias> = (
|
|
660
682
|
store: Store,
|
|
661
683
|
tableId: Id,
|
|
662
684
|
getIdChanges: GetIdChanges | undefined,
|
|
@@ -680,7 +702,7 @@ export type TableCellIdsListener = (
|
|
|
680
702
|
* @category Listener
|
|
681
703
|
* @since v4.4.0
|
|
682
704
|
*/
|
|
683
|
-
export type HasTableCellListener = (
|
|
705
|
+
export type HasTableCellListener<Store extends StoreAlias = StoreAlias> = (
|
|
684
706
|
store: Store,
|
|
685
707
|
tableId: Id,
|
|
686
708
|
cellId: Id,
|
|
@@ -702,7 +724,7 @@ export type HasTableCellListener = (
|
|
|
702
724
|
* @category Listener
|
|
703
725
|
* @since v4.1.0
|
|
704
726
|
*/
|
|
705
|
-
export type RowCountListener = (
|
|
727
|
+
export type RowCountListener<Store extends StoreAlias = StoreAlias> = (
|
|
706
728
|
store: Store,
|
|
707
729
|
tableId: Id,
|
|
708
730
|
count: number,
|
|
@@ -726,7 +748,7 @@ export type RowCountListener = (
|
|
|
726
748
|
* since v3.3.
|
|
727
749
|
* @category Listener
|
|
728
750
|
*/
|
|
729
|
-
export type RowIdsListener = (
|
|
751
|
+
export type RowIdsListener<Store extends StoreAlias = StoreAlias> = (
|
|
730
752
|
store: Store,
|
|
731
753
|
tableId: Id,
|
|
732
754
|
getIdChanges: GetIdChanges | undefined,
|
|
@@ -755,7 +777,7 @@ export type RowIdsListener = (
|
|
|
755
777
|
* @category Listener
|
|
756
778
|
* @since v2.0.0
|
|
757
779
|
*/
|
|
758
|
-
export type SortedRowIdsListener = (
|
|
780
|
+
export type SortedRowIdsListener<Store extends StoreAlias = StoreAlias> = (
|
|
759
781
|
store: Store,
|
|
760
782
|
tableId: Id,
|
|
761
783
|
cellId: Id | undefined,
|
|
@@ -783,7 +805,7 @@ export type SortedRowIdsListener = (
|
|
|
783
805
|
* @category Listener
|
|
784
806
|
* @since v4.4.0
|
|
785
807
|
*/
|
|
786
|
-
export type HasRowListener = (
|
|
808
|
+
export type HasRowListener<Store extends StoreAlias = StoreAlias> = (
|
|
787
809
|
store: Store,
|
|
788
810
|
tableId: Id,
|
|
789
811
|
rowId: Id,
|
|
@@ -812,7 +834,7 @@ export type HasRowListener = (
|
|
|
812
834
|
* changes.
|
|
813
835
|
* @category Listener
|
|
814
836
|
*/
|
|
815
|
-
export type RowListener = (
|
|
837
|
+
export type RowListener<Store extends StoreAlias = StoreAlias> = (
|
|
816
838
|
store: Store,
|
|
817
839
|
tableId: Id,
|
|
818
840
|
rowId: Id,
|
|
@@ -838,7 +860,7 @@ export type RowListener = (
|
|
|
838
860
|
* since v3.3.
|
|
839
861
|
* @category Listener
|
|
840
862
|
*/
|
|
841
|
-
export type CellIdsListener = (
|
|
863
|
+
export type CellIdsListener<Store extends StoreAlias = StoreAlias> = (
|
|
842
864
|
store: Store,
|
|
843
865
|
tableId: Id,
|
|
844
866
|
rowId: Id,
|
|
@@ -864,7 +886,7 @@ export type CellIdsListener = (
|
|
|
864
886
|
* @category Listener
|
|
865
887
|
* @since v4.4.0
|
|
866
888
|
*/
|
|
867
|
-
export type HasCellListener = (
|
|
889
|
+
export type HasCellListener<Store extends StoreAlias = StoreAlias> = (
|
|
868
890
|
store: Store,
|
|
869
891
|
tableId: Id,
|
|
870
892
|
rowId: Id,
|
|
@@ -899,7 +921,7 @@ export type HasCellListener = (
|
|
|
899
921
|
* changes.
|
|
900
922
|
* @category Listener
|
|
901
923
|
*/
|
|
902
|
-
export type CellListener = (
|
|
924
|
+
export type CellListener<Store extends StoreAlias = StoreAlias> = (
|
|
903
925
|
store: Store,
|
|
904
926
|
tableId: Id,
|
|
905
927
|
rowId: Id,
|
|
@@ -924,7 +946,10 @@ export type CellListener = (
|
|
|
924
946
|
* @category Listener
|
|
925
947
|
* @since v4.4.0
|
|
926
948
|
*/
|
|
927
|
-
export type HasValuesListener
|
|
949
|
+
export type HasValuesListener<Store extends StoreAlias = StoreAlias> = (
|
|
950
|
+
store: Store,
|
|
951
|
+
hasValues: boolean,
|
|
952
|
+
) => void;
|
|
928
953
|
|
|
929
954
|
/**
|
|
930
955
|
* The ValuesListener type describes a function that is used to listen to
|
|
@@ -945,7 +970,7 @@ export type HasValuesListener = (store: Store, hasValues: boolean) => void;
|
|
|
945
970
|
* changes.
|
|
946
971
|
* @category Listener
|
|
947
972
|
*/
|
|
948
|
-
export type ValuesListener = (
|
|
973
|
+
export type ValuesListener<Store extends StoreAlias = StoreAlias> = (
|
|
949
974
|
store: Store,
|
|
950
975
|
getValueChange: GetValueChange | undefined,
|
|
951
976
|
) => void;
|
|
@@ -966,7 +991,7 @@ export type ValuesListener = (
|
|
|
966
991
|
* since v3.3.
|
|
967
992
|
* @category Listener
|
|
968
993
|
*/
|
|
969
|
-
export type ValueIdsListener = (
|
|
994
|
+
export type ValueIdsListener<Store extends StoreAlias = StoreAlias> = (
|
|
970
995
|
store: Store,
|
|
971
996
|
getIdChanges: GetIdChanges | undefined,
|
|
972
997
|
) => void;
|
|
@@ -988,7 +1013,7 @@ export type ValueIdsListener = (
|
|
|
988
1013
|
* @category Listener
|
|
989
1014
|
* @since v4.4.0
|
|
990
1015
|
*/
|
|
991
|
-
export type HasValueListener = (
|
|
1016
|
+
export type HasValueListener<Store extends StoreAlias = StoreAlias> = (
|
|
992
1017
|
store: Store,
|
|
993
1018
|
valueId: Id,
|
|
994
1019
|
hasValue: boolean,
|
|
@@ -1019,7 +1044,7 @@ export type HasValueListener = (
|
|
|
1019
1044
|
* @category Listener
|
|
1020
1045
|
* @since v3.0.0
|
|
1021
1046
|
*/
|
|
1022
|
-
export type ValueListener = (
|
|
1047
|
+
export type ValueListener<Store extends StoreAlias = StoreAlias> = (
|
|
1023
1048
|
store: Store,
|
|
1024
1049
|
valueId: Id,
|
|
1025
1050
|
newValue: Value,
|
|
@@ -1048,7 +1073,7 @@ export type ValueListener = (
|
|
|
1048
1073
|
* @category Listener
|
|
1049
1074
|
* @since v1.1.0
|
|
1050
1075
|
*/
|
|
1051
|
-
export type InvalidCellListener = (
|
|
1076
|
+
export type InvalidCellListener<Store extends StoreAlias = StoreAlias> = (
|
|
1052
1077
|
store: Store,
|
|
1053
1078
|
tableId: Id,
|
|
1054
1079
|
rowId: Id,
|
|
@@ -1075,7 +1100,7 @@ export type InvalidCellListener = (
|
|
|
1075
1100
|
* @category Listener
|
|
1076
1101
|
* @since v3.0.0
|
|
1077
1102
|
*/
|
|
1078
|
-
export type InvalidValueListener = (
|
|
1103
|
+
export type InvalidValueListener<Store extends StoreAlias = StoreAlias> = (
|
|
1079
1104
|
store: Store,
|
|
1080
1105
|
valueId: Id,
|
|
1081
1106
|
invalidValues: any[],
|
|
@@ -1205,7 +1230,7 @@ export type ChangedCells = {
|
|
|
1205
1230
|
* @category Transaction
|
|
1206
1231
|
* @since v1.2.0
|
|
1207
1232
|
*/
|
|
1208
|
-
export type ChangedCell = [CellOrUndefined, CellOrUndefined];
|
|
1233
|
+
export type ChangedCell = [oldCell: CellOrUndefined, newCell: CellOrUndefined];
|
|
1209
1234
|
|
|
1210
1235
|
/**
|
|
1211
1236
|
* The InvalidCells type describes the invalid Cell values that have been
|
|
@@ -1273,7 +1298,10 @@ export type ChangedValues = {
|
|
|
1273
1298
|
* @category Transaction
|
|
1274
1299
|
* @since v3.0.0
|
|
1275
1300
|
*/
|
|
1276
|
-
export type ChangedValue = [
|
|
1301
|
+
export type ChangedValue = [
|
|
1302
|
+
oldValue: ValueOrUndefined,
|
|
1303
|
+
newValue: ValueOrUndefined,
|
|
1304
|
+
];
|
|
1277
1305
|
|
|
1278
1306
|
/**
|
|
1279
1307
|
* The InvalidValues type describes the invalid Values that have been attempted
|
|
@@ -1293,8 +1321,8 @@ export type ChangedValue = [ValueOrUndefined, ValueOrUndefined];
|
|
|
1293
1321
|
export type InvalidValues = {[valueId: Id]: any[]};
|
|
1294
1322
|
|
|
1295
1323
|
/**
|
|
1296
|
-
* The
|
|
1297
|
-
*
|
|
1324
|
+
* The Changes type describes the net meaningful changes that were made to a
|
|
1325
|
+
* Store during a transaction.
|
|
1298
1326
|
*
|
|
1299
1327
|
* This contains mostly equivalent information to a TransactionLog, but in a
|
|
1300
1328
|
* form that can be more efficiently parsed and serialized (for example in the
|
|
@@ -1317,8 +1345,11 @@ export type InvalidValues = {[valueId: Id]: any[]};
|
|
|
1317
1345
|
* If not empty, the second object has an entry for each Value in a Store that
|
|
1318
1346
|
* has had a change. If the entry is null, the Value was deleted, otherwise it
|
|
1319
1347
|
* will contain the new Value it was changed to during the transaction.
|
|
1348
|
+
*
|
|
1349
|
+
* A third, required, item in the array is the digit `1`, so that instances of
|
|
1350
|
+
* Content and Changes types can be disambiguated.
|
|
1320
1351
|
* @example
|
|
1321
|
-
* The following is a valid
|
|
1352
|
+
* The following is a valid Changes array that conveys the following:
|
|
1322
1353
|
* ```json
|
|
1323
1354
|
* [
|
|
1324
1355
|
* { // changes to tabular data in the Store
|
|
@@ -1332,33 +1363,27 @@ export type InvalidValues = {[valueId: Id]: any[]};
|
|
|
1332
1363
|
* "pendingSales": null, // this Table was deleted
|
|
1333
1364
|
* },
|
|
1334
1365
|
* {}, // no changes to keyed value data in the Store
|
|
1366
|
+
* 1, // indicates that this is a Changes array
|
|
1335
1367
|
* ]
|
|
1336
1368
|
* ```
|
|
1337
1369
|
* @category Transaction
|
|
1338
1370
|
* @since v4.0.0
|
|
1339
1371
|
*/
|
|
1340
|
-
export type
|
|
1341
|
-
|
|
1342
|
-
|
|
1372
|
+
export type Changes = [
|
|
1373
|
+
changedTables: {
|
|
1374
|
+
[tableId: Id]:
|
|
1375
|
+
| {[rowId: Id]: {[cellId: Id]: CellOrUndefined} | undefined}
|
|
1376
|
+
| undefined;
|
|
1377
|
+
},
|
|
1378
|
+
changedValues: {[valueId: Id]: ValueOrUndefined},
|
|
1379
|
+
isChanges: 1,
|
|
1343
1380
|
];
|
|
1344
1381
|
|
|
1345
|
-
/**
|
|
1346
|
-
* The GetTransactionChanges type describes a function that returns the net
|
|
1347
|
-
* meaningful changes that were made to a Store during a transaction.
|
|
1348
|
-
*
|
|
1349
|
-
* It is provided to the DoRollback callback and to a TransactionListener
|
|
1350
|
-
* listener when a transaction completes. See the TransactionChanges type for
|
|
1351
|
-
* more information and an example of the returned data structure.
|
|
1352
|
-
* @category Transaction
|
|
1353
|
-
* @since v4.0.0
|
|
1354
|
-
*/
|
|
1355
|
-
export type GetTransactionChanges = () => TransactionChanges;
|
|
1356
|
-
|
|
1357
1382
|
/**
|
|
1358
1383
|
* The TransactionLog type describes the changes that were made to a Store
|
|
1359
1384
|
* during a transaction in detail.
|
|
1360
1385
|
*
|
|
1361
|
-
* This contains equivalent information to a
|
|
1386
|
+
* This contains equivalent information to a Changes object, but also
|
|
1362
1387
|
* information about what the previous state of the Store was. The changedCells
|
|
1363
1388
|
* and changedValues entries contain information about all changes to those
|
|
1364
1389
|
* parts of the Store, with their before and after values, for example.
|
|
@@ -1374,34 +1399,25 @@ export type GetTransactionChanges = () => TransactionChanges;
|
|
|
1374
1399
|
* of `cellsTouched` and `valuesTouched` in the listener will be `false` because
|
|
1375
1400
|
* all changes have been reverted.
|
|
1376
1401
|
*
|
|
1377
|
-
*
|
|
1378
|
-
*
|
|
1379
|
-
* @since v4.0.0
|
|
1380
|
-
*/
|
|
1381
|
-
export type TransactionLog = {
|
|
1382
|
-
cellsTouched: boolean;
|
|
1383
|
-
valuesTouched: boolean;
|
|
1384
|
-
changedCells: ChangedCells;
|
|
1385
|
-
invalidCells: InvalidCells;
|
|
1386
|
-
changedValues: ChangedValues;
|
|
1387
|
-
invalidValues: InvalidValues;
|
|
1388
|
-
changedTableIds: ChangedTableIds;
|
|
1389
|
-
changedRowIds: ChangedRowIds;
|
|
1390
|
-
changedCellIds: ChangedCellIds;
|
|
1391
|
-
changedValueIds: ChangedValueIds;
|
|
1392
|
-
};
|
|
1393
|
-
|
|
1394
|
-
/**
|
|
1395
|
-
* The GetTransactionLog type describes a function that returns the changes that
|
|
1396
|
-
* were made to a Store during a transaction in detail.
|
|
1402
|
+
* In v5.0, this type changed from an object to an array, but still contains the
|
|
1403
|
+
* same values.
|
|
1397
1404
|
*
|
|
1398
|
-
*
|
|
1399
|
-
* listener when a transaction completes. See the TransactionLog type for more
|
|
1400
|
-
* information.
|
|
1405
|
+
* See the documentation for the types of the inner objects for other details.
|
|
1401
1406
|
* @category Transaction
|
|
1402
1407
|
* @since v4.0.0
|
|
1403
1408
|
*/
|
|
1404
|
-
export type
|
|
1409
|
+
export type TransactionLog = [
|
|
1410
|
+
cellsTouched: boolean,
|
|
1411
|
+
valuesTouched: boolean,
|
|
1412
|
+
changedCells: ChangedCells,
|
|
1413
|
+
invalidCells: InvalidCells,
|
|
1414
|
+
changedValues: ChangedValues,
|
|
1415
|
+
invalidValues: InvalidValues,
|
|
1416
|
+
changedTableIds: ChangedTableIds,
|
|
1417
|
+
changedRowIds: ChangedRowIds,
|
|
1418
|
+
changedCellIds: ChangedCellIds,
|
|
1419
|
+
changedValueIds: ChangedValueIds,
|
|
1420
|
+
];
|
|
1405
1421
|
|
|
1406
1422
|
/**
|
|
1407
1423
|
* The StoreListenerStats type describes the number of listeners registered with
|
|
@@ -1736,7 +1752,7 @@ export interface Store {
|
|
|
1736
1752
|
* @category Getter
|
|
1737
1753
|
* @since v4.0.0
|
|
1738
1754
|
*/
|
|
1739
|
-
getContent():
|
|
1755
|
+
getContent(): Content;
|
|
1740
1756
|
|
|
1741
1757
|
/**
|
|
1742
1758
|
* The getTables method returns a Tables object containing the entire tabular
|
|
@@ -2657,7 +2673,7 @@ export interface Store {
|
|
|
2657
2673
|
* @category Setter
|
|
2658
2674
|
* @since v4.0.0
|
|
2659
2675
|
*/
|
|
2660
|
-
setContent(
|
|
2676
|
+
setContent(content: Content): this;
|
|
2661
2677
|
|
|
2662
2678
|
/**
|
|
2663
2679
|
* The setTables method takes an object and sets the entire tabular data of
|
|
@@ -2705,7 +2721,7 @@ export interface Store {
|
|
|
2705
2721
|
* ```
|
|
2706
2722
|
* @category Setter
|
|
2707
2723
|
*/
|
|
2708
|
-
setTables(tables: Tables):
|
|
2724
|
+
setTables(tables: Tables): this;
|
|
2709
2725
|
|
|
2710
2726
|
/**
|
|
2711
2727
|
* The setTable method takes an object and sets the entire data of a single
|
|
@@ -2755,7 +2771,7 @@ export interface Store {
|
|
|
2755
2771
|
* ```
|
|
2756
2772
|
* @category Setter
|
|
2757
2773
|
*/
|
|
2758
|
-
setTable(tableId: Id, table: Table):
|
|
2774
|
+
setTable(tableId: Id, table: Table): this;
|
|
2759
2775
|
|
|
2760
2776
|
/**
|
|
2761
2777
|
* The setRow method takes an object and sets the entire data of a single Row
|
|
@@ -2804,7 +2820,7 @@ export interface Store {
|
|
|
2804
2820
|
* ```
|
|
2805
2821
|
* @category Setter
|
|
2806
2822
|
*/
|
|
2807
|
-
setRow(tableId: Id, rowId: Id, row: Row):
|
|
2823
|
+
setRow(tableId: Id, rowId: Id, row: Row): this;
|
|
2808
2824
|
|
|
2809
2825
|
/**
|
|
2810
2826
|
* The addRow method takes an object and creates a new Row in the Store,
|
|
@@ -2916,7 +2932,7 @@ export interface Store {
|
|
|
2916
2932
|
* ```
|
|
2917
2933
|
* @category Setter
|
|
2918
2934
|
*/
|
|
2919
|
-
setPartialRow(tableId: Id, rowId: Id, partialRow: Row):
|
|
2935
|
+
setPartialRow(tableId: Id, rowId: Id, partialRow: Row): this;
|
|
2920
2936
|
|
|
2921
2937
|
/**
|
|
2922
2938
|
* The setCell method sets the value of a single Cell in the Store.
|
|
@@ -2973,7 +2989,7 @@ export interface Store {
|
|
|
2973
2989
|
* ```
|
|
2974
2990
|
* @category Setter
|
|
2975
2991
|
*/
|
|
2976
|
-
setCell(tableId: Id, rowId: Id, cellId: Id, cell: Cell | MapCell):
|
|
2992
|
+
setCell(tableId: Id, rowId: Id, cellId: Id, cell: Cell | MapCell): this;
|
|
2977
2993
|
|
|
2978
2994
|
/**
|
|
2979
2995
|
* The setValues method takes an object and sets all the Values in the Store.
|
|
@@ -3020,7 +3036,7 @@ export interface Store {
|
|
|
3020
3036
|
* @category Setter
|
|
3021
3037
|
* @since v3.0.0
|
|
3022
3038
|
*/
|
|
3023
|
-
setValues(values: Values):
|
|
3039
|
+
setValues(values: Values): this;
|
|
3024
3040
|
|
|
3025
3041
|
/**
|
|
3026
3042
|
* The setPartialValues method takes an object and sets its Values in the
|
|
@@ -3069,7 +3085,7 @@ export interface Store {
|
|
|
3069
3085
|
* @category Setter
|
|
3070
3086
|
* @since v3.0.0
|
|
3071
3087
|
*/
|
|
3072
|
-
setPartialValues(partialValues: Values):
|
|
3088
|
+
setPartialValues(partialValues: Values): this;
|
|
3073
3089
|
|
|
3074
3090
|
/**
|
|
3075
3091
|
* The setValue method sets a single keyed Value in the Store.
|
|
@@ -3122,28 +3138,29 @@ export interface Store {
|
|
|
3122
3138
|
* @category Setter
|
|
3123
3139
|
* @since v3.0.0
|
|
3124
3140
|
*/
|
|
3125
|
-
setValue(valueId: Id, value: Value | MapValue):
|
|
3141
|
+
setValue(valueId: Id, value: Value | MapValue): this;
|
|
3126
3142
|
|
|
3127
3143
|
/**
|
|
3128
|
-
* The
|
|
3129
|
-
* Store.
|
|
3144
|
+
* The applyChanges method applies a set of Changes to the Store.
|
|
3130
3145
|
*
|
|
3131
|
-
* This method will take a
|
|
3132
|
-
*
|
|
3133
|
-
*
|
|
3134
|
-
*
|
|
3135
|
-
*
|
|
3146
|
+
* This method will take a Changes object (which is available at the end of a
|
|
3147
|
+
* transaction) and apply it to a Store. The most likely need to do this is to
|
|
3148
|
+
* take the changes made during the transaction of one Store, and apply it to
|
|
3149
|
+
* the content of _another_ Store - such as when persisting and synchronizing
|
|
3150
|
+
* data.
|
|
3136
3151
|
*
|
|
3137
|
-
* Any part of the provided
|
|
3138
|
-
*
|
|
3139
|
-
*
|
|
3152
|
+
* Any part of the provided Changes object are invalid (either because of its
|
|
3153
|
+
* type, or because it does not match the schemas associated with the Store)
|
|
3154
|
+
* will be ignored silently.
|
|
3140
3155
|
*
|
|
3141
3156
|
* The method returns a reference to the Store so that subsequent operations
|
|
3142
3157
|
* can be chained in a fluent style.
|
|
3143
|
-
*
|
|
3158
|
+
*
|
|
3159
|
+
* Prior to v5.0, this method was named `setTransactionChanges`.
|
|
3160
|
+
* @param changes The Changes to apply to the Store.
|
|
3144
3161
|
* @returns A reference to the Store.
|
|
3145
3162
|
* @example
|
|
3146
|
-
* This example applies a
|
|
3163
|
+
* This example applies a Changes object that sets a Cell and
|
|
3147
3164
|
* removes a Value.
|
|
3148
3165
|
*
|
|
3149
3166
|
* ```js
|
|
@@ -3151,19 +3168,16 @@ export interface Store {
|
|
|
3151
3168
|
* .setTables({pets: {fido: {species: 'dog', color: 'brown'}}})
|
|
3152
3169
|
* .setValues({open: true});
|
|
3153
3170
|
*
|
|
3154
|
-
* store.
|
|
3155
|
-
* {pets: {fido: {color: 'black'}}},
|
|
3156
|
-
* {open: null},
|
|
3157
|
-
* ]);
|
|
3171
|
+
* store.applyChanges([{pets: {fido: {color: 'black'}}}, {open: null}]);
|
|
3158
3172
|
* console.log(store.getTables());
|
|
3159
3173
|
* // -> {pets: {fido: {species: 'dog', color: 'black'}}}
|
|
3160
3174
|
* console.log(store.getValues());
|
|
3161
3175
|
* // -> {}
|
|
3162
3176
|
* ```
|
|
3163
3177
|
* @category Setter
|
|
3164
|
-
* @since
|
|
3178
|
+
* @since v5.0.0
|
|
3165
3179
|
*/
|
|
3166
|
-
|
|
3180
|
+
applyChanges(changes: Changes): this;
|
|
3167
3181
|
|
|
3168
3182
|
/**
|
|
3169
3183
|
* The setTablesJson method takes a string serialization of all of the Tables
|
|
@@ -3197,7 +3211,7 @@ export interface Store {
|
|
|
3197
3211
|
* @category Setter
|
|
3198
3212
|
* @since v3.0.0
|
|
3199
3213
|
*/
|
|
3200
|
-
setTablesJson(tablesJson: Json):
|
|
3214
|
+
setTablesJson(tablesJson: Json): this;
|
|
3201
3215
|
|
|
3202
3216
|
/**
|
|
3203
3217
|
* The setValuesJson method takes a string serialization of all of the Values
|
|
@@ -3231,7 +3245,7 @@ export interface Store {
|
|
|
3231
3245
|
* @category Setter
|
|
3232
3246
|
* @since v3.0.0
|
|
3233
3247
|
*/
|
|
3234
|
-
setValuesJson(valuesJson: Json):
|
|
3248
|
+
setValuesJson(valuesJson: Json): this;
|
|
3235
3249
|
|
|
3236
3250
|
/**
|
|
3237
3251
|
* The setJson method takes a string serialization of all of the Tables and
|
|
@@ -3289,7 +3303,7 @@ export interface Store {
|
|
|
3289
3303
|
* ```
|
|
3290
3304
|
* @category Setter
|
|
3291
3305
|
*/
|
|
3292
|
-
setJson(tablesAndValuesJson: Json):
|
|
3306
|
+
setJson(tablesAndValuesJson: Json): this;
|
|
3293
3307
|
|
|
3294
3308
|
/**
|
|
3295
3309
|
* The setTablesSchema method lets you specify the TablesSchema of the tabular
|
|
@@ -3321,7 +3335,7 @@ export interface Store {
|
|
|
3321
3335
|
* @category Setter
|
|
3322
3336
|
* @since v3.0.0
|
|
3323
3337
|
*/
|
|
3324
|
-
setTablesSchema(tablesSchema: TablesSchema):
|
|
3338
|
+
setTablesSchema(tablesSchema: TablesSchema): this;
|
|
3325
3339
|
|
|
3326
3340
|
/**
|
|
3327
3341
|
* The setValuesSchema method lets you specify the ValuesSchema of the keyed
|
|
@@ -3350,7 +3364,7 @@ export interface Store {
|
|
|
3350
3364
|
* @category Setter
|
|
3351
3365
|
* @since v3.0.0
|
|
3352
3366
|
*/
|
|
3353
|
-
setValuesSchema(valuesSchema: ValuesSchema):
|
|
3367
|
+
setValuesSchema(valuesSchema: ValuesSchema): this;
|
|
3354
3368
|
|
|
3355
3369
|
/**
|
|
3356
3370
|
* The setSchema method lets you specify the TablesSchema and ValuesSchema of
|
|
@@ -3408,7 +3422,7 @@ export interface Store {
|
|
|
3408
3422
|
* ```
|
|
3409
3423
|
* @category Setter
|
|
3410
3424
|
*/
|
|
3411
|
-
setSchema(tablesSchema: TablesSchema, valuesSchema?: ValuesSchema):
|
|
3425
|
+
setSchema(tablesSchema: TablesSchema, valuesSchema?: ValuesSchema): this;
|
|
3412
3426
|
|
|
3413
3427
|
/**
|
|
3414
3428
|
* The delTables method lets you remove all of the data in a Store.
|
|
@@ -3425,7 +3439,7 @@ export interface Store {
|
|
|
3425
3439
|
* ```
|
|
3426
3440
|
* @category Deleter
|
|
3427
3441
|
*/
|
|
3428
|
-
delTables():
|
|
3442
|
+
delTables(): this;
|
|
3429
3443
|
|
|
3430
3444
|
/**
|
|
3431
3445
|
* The delTable method lets you remove a single Table from the Store.
|
|
@@ -3446,7 +3460,7 @@ export interface Store {
|
|
|
3446
3460
|
* ```
|
|
3447
3461
|
* @category Deleter
|
|
3448
3462
|
*/
|
|
3449
|
-
delTable(tableId: Id):
|
|
3463
|
+
delTable(tableId: Id): this;
|
|
3450
3464
|
|
|
3451
3465
|
/**
|
|
3452
3466
|
* The delRow method lets you remove a single Row from a Table.
|
|
@@ -3469,7 +3483,7 @@ export interface Store {
|
|
|
3469
3483
|
* ```
|
|
3470
3484
|
* @category Deleter
|
|
3471
3485
|
*/
|
|
3472
|
-
delRow(tableId: Id, rowId: Id):
|
|
3486
|
+
delRow(tableId: Id, rowId: Id): this;
|
|
3473
3487
|
|
|
3474
3488
|
/**
|
|
3475
3489
|
* The delCell method lets you remove a single Cell from a Row.
|
|
@@ -3552,7 +3566,7 @@ export interface Store {
|
|
|
3552
3566
|
* ```
|
|
3553
3567
|
* @category Deleter
|
|
3554
3568
|
*/
|
|
3555
|
-
delCell(tableId: Id, rowId: Id, cellId: Id, forceDel?: boolean):
|
|
3569
|
+
delCell(tableId: Id, rowId: Id, cellId: Id, forceDel?: boolean): this;
|
|
3556
3570
|
|
|
3557
3571
|
/**
|
|
3558
3572
|
* The delValues method lets you remove all the Values from a Store.
|
|
@@ -3590,7 +3604,7 @@ export interface Store {
|
|
|
3590
3604
|
* @category Deleter
|
|
3591
3605
|
* @since v3.0.0
|
|
3592
3606
|
*/
|
|
3593
|
-
delValues():
|
|
3607
|
+
delValues(): this;
|
|
3594
3608
|
|
|
3595
3609
|
/**
|
|
3596
3610
|
* The delValue method lets you remove a single Value from a Store.
|
|
@@ -3629,7 +3643,7 @@ export interface Store {
|
|
|
3629
3643
|
* @category Deleter
|
|
3630
3644
|
* @since v3.0.0
|
|
3631
3645
|
*/
|
|
3632
|
-
delValue(valueId: Id):
|
|
3646
|
+
delValue(valueId: Id): this;
|
|
3633
3647
|
|
|
3634
3648
|
/**
|
|
3635
3649
|
* The delTablesSchema method lets you remove the TablesSchema of the Store.
|
|
@@ -3647,7 +3661,7 @@ export interface Store {
|
|
|
3647
3661
|
* ```
|
|
3648
3662
|
* @category Deleter
|
|
3649
3663
|
*/
|
|
3650
|
-
delTablesSchema():
|
|
3664
|
+
delTablesSchema(): this;
|
|
3651
3665
|
|
|
3652
3666
|
/**
|
|
3653
3667
|
* The delValuesSchema method lets you remove the ValuesSchema of the Store.
|
|
@@ -3666,7 +3680,7 @@ export interface Store {
|
|
|
3666
3680
|
* @category Deleter
|
|
3667
3681
|
* @since v3.0.0
|
|
3668
3682
|
*/
|
|
3669
|
-
delValuesSchema():
|
|
3683
|
+
delValuesSchema(): this;
|
|
3670
3684
|
|
|
3671
3685
|
/**
|
|
3672
3686
|
* The delSchema method lets you remove both the TablesSchema and ValuesSchema
|
|
@@ -3692,7 +3706,7 @@ export interface Store {
|
|
|
3692
3706
|
* @category Deleter
|
|
3693
3707
|
* @since v3.0.0
|
|
3694
3708
|
*/
|
|
3695
|
-
delSchema():
|
|
3709
|
+
delSchema(): this;
|
|
3696
3710
|
|
|
3697
3711
|
/**
|
|
3698
3712
|
* The transaction method takes a function that makes multiple mutations to
|
|
@@ -3718,10 +3732,7 @@ export interface Store {
|
|
|
3718
3732
|
*
|
|
3719
3733
|
* The second, optional parameter, `doRollback` is a DoRollback callback that
|
|
3720
3734
|
* you can use to rollback the transaction if it did not complete to your
|
|
3721
|
-
* satisfaction.
|
|
3722
|
-
* `getTransactionLog` parameters, which inform you of the net changes that
|
|
3723
|
-
* have been made during the transaction, at different levels of detail. See
|
|
3724
|
-
* the DoRollback documentation for more details.
|
|
3735
|
+
* satisfaction. See the DoRollback documentation for more details.
|
|
3725
3736
|
* @param actions The function to be executed as a transaction.
|
|
3726
3737
|
* @param doRollback An optional callback that should return `true` if you
|
|
3727
3738
|
* want to rollback the transaction at the end. Since v1.2.
|
|
@@ -3797,9 +3808,9 @@ export interface Store {
|
|
|
3797
3808
|
* .setCell('pets', 'fido', 'info', {sold: null})
|
|
3798
3809
|
* .setValue('open', false)
|
|
3799
3810
|
* .setValue('employees', ['alice', 'bob']),
|
|
3800
|
-
* (
|
|
3801
|
-
* const
|
|
3802
|
-
* getTransactionLog();
|
|
3811
|
+
* () => {
|
|
3812
|
+
* const [, , changedCells, invalidCells, changedValues, invalidValues] =
|
|
3813
|
+
* store.getTransactionLog();
|
|
3803
3814
|
* console.log(store.getTables());
|
|
3804
3815
|
* console.log(changedCells);
|
|
3805
3816
|
* console.log(invalidCells);
|
|
@@ -3871,7 +3882,82 @@ export interface Store {
|
|
|
3871
3882
|
* @category Transaction
|
|
3872
3883
|
* @since v1.3.0
|
|
3873
3884
|
*/
|
|
3874
|
-
startTransaction():
|
|
3885
|
+
startTransaction(): this;
|
|
3886
|
+
|
|
3887
|
+
/**
|
|
3888
|
+
* The getTransactionChanges method returns the net meaningful changes that
|
|
3889
|
+
* have been made to a Store during a transaction.
|
|
3890
|
+
*
|
|
3891
|
+
* This is useful for deciding whether to rollback a transaction, for example.
|
|
3892
|
+
* The returned object is only meaningful if the method is called when the
|
|
3893
|
+
* Store is in a transaction - such as in a TransactionListener.
|
|
3894
|
+
* @example
|
|
3895
|
+
* This example makes changes to the Store. At the end of the transaction,
|
|
3896
|
+
* detail about what changed is enumerated.
|
|
3897
|
+
*
|
|
3898
|
+
* ```js
|
|
3899
|
+
* const store = createStore()
|
|
3900
|
+
* .setTables({pets: {fido: {species: 'dog', color: 'brown'}}})
|
|
3901
|
+
* .setValues({open: true});
|
|
3902
|
+
*
|
|
3903
|
+
* store
|
|
3904
|
+
* .startTransaction()
|
|
3905
|
+
* .setCell('pets', 'fido', 'color', 'black')
|
|
3906
|
+
* .setValue('open', false)
|
|
3907
|
+
* .finishTransaction(() => {
|
|
3908
|
+
* const [changedCells, changedValues] = store.getTransactionChanges();
|
|
3909
|
+
* console.log(changedCells);
|
|
3910
|
+
* console.log(changedValues);
|
|
3911
|
+
* });
|
|
3912
|
+
* // -> {pets: {fido: {color: 'black'}}}
|
|
3913
|
+
* // -> {open: false}
|
|
3914
|
+
* ```
|
|
3915
|
+
* @category Transaction
|
|
3916
|
+
* @since v5.0.0
|
|
3917
|
+
*/
|
|
3918
|
+
getTransactionChanges(): Changes;
|
|
3919
|
+
|
|
3920
|
+
/**
|
|
3921
|
+
* The getTransactionLog method returns the changes that were made to a Store
|
|
3922
|
+
* during a transaction in more detail, including invalid changes, and what
|
|
3923
|
+
* previous values were.
|
|
3924
|
+
*
|
|
3925
|
+
* This is useful for deciding whether to rollback a transaction, for example.
|
|
3926
|
+
* The returned object is only meaningful if the method is called when the
|
|
3927
|
+
* Store is in a transaction - such as in a TransactionListener.
|
|
3928
|
+
* @example
|
|
3929
|
+
* This example makes changes to the Store. At the end of the transaction,
|
|
3930
|
+
* detail about what changed is enumerated.
|
|
3931
|
+
*
|
|
3932
|
+
* ```js
|
|
3933
|
+
* const store = createStore()
|
|
3934
|
+
* .setTables({pets: {fido: {species: 'dog', color: 'brown'}}})
|
|
3935
|
+
* .setValues({open: true});
|
|
3936
|
+
*
|
|
3937
|
+
* store
|
|
3938
|
+
* .startTransaction()
|
|
3939
|
+
* .setCell('pets', 'fido', 'color', 'black')
|
|
3940
|
+
* .setCell('pets', 'fido', 'eyes', ['left', 'right'])
|
|
3941
|
+
* .setCell('pets', 'fido', 'info', {sold: null})
|
|
3942
|
+
* .setValue('open', false)
|
|
3943
|
+
* .setValue('employees', ['alice', 'bob'])
|
|
3944
|
+
* .finishTransaction(() => {
|
|
3945
|
+
* const [, , changedCells, invalidCells, changedValues, invalidValues] =
|
|
3946
|
+
* store.getTransactionLog();
|
|
3947
|
+
* console.log(changedCells);
|
|
3948
|
+
* console.log(invalidCells);
|
|
3949
|
+
* console.log(changedValues);
|
|
3950
|
+
* console.log(invalidValues);
|
|
3951
|
+
* });
|
|
3952
|
+
* // -> {pets: {fido: {color: ['brown', 'black']}}}
|
|
3953
|
+
* // -> {pets: {fido: {eyes: [['left', 'right']], info: [{sold: null}]}}}
|
|
3954
|
+
* // -> {open: [true, false]}
|
|
3955
|
+
* // -> {employees: [['alice', 'bob']]}
|
|
3956
|
+
* ```
|
|
3957
|
+
* @category Transaction
|
|
3958
|
+
* @since v5.0.0
|
|
3959
|
+
*/
|
|
3960
|
+
getTransactionLog(): TransactionLog;
|
|
3875
3961
|
|
|
3876
3962
|
/**
|
|
3877
3963
|
* The finishTransaction method allows you to explicitly finish a transaction
|
|
@@ -3944,9 +4030,9 @@ export interface Store {
|
|
|
3944
4030
|
* .setCell('pets', 'fido', 'info', {sold: null})
|
|
3945
4031
|
* .setValue('open', false)
|
|
3946
4032
|
* .setValue('employees', ['alice', 'bob'])
|
|
3947
|
-
* .finishTransaction((
|
|
3948
|
-
* const
|
|
3949
|
-
* getTransactionLog();
|
|
4033
|
+
* .finishTransaction(() => {
|
|
4034
|
+
* const [, , changedCells, invalidCells, changedValues, invalidValues] =
|
|
4035
|
+
* store.getTransactionLog();
|
|
3950
4036
|
* console.log(store.getTables());
|
|
3951
4037
|
* console.log(changedCells);
|
|
3952
4038
|
* console.log(invalidCells);
|
|
@@ -3968,7 +4054,7 @@ export interface Store {
|
|
|
3968
4054
|
* @category Transaction
|
|
3969
4055
|
* @since v1.3.0
|
|
3970
4056
|
*/
|
|
3971
|
-
finishTransaction(doRollback?: DoRollback):
|
|
4057
|
+
finishTransaction(doRollback?: DoRollback): this;
|
|
3972
4058
|
|
|
3973
4059
|
/**
|
|
3974
4060
|
* The forEachTable method takes a function that it will then call for each
|
|
@@ -4179,7 +4265,10 @@ export interface Store {
|
|
|
4179
4265
|
* @category Listener
|
|
4180
4266
|
* @since v4.4.0
|
|
4181
4267
|
*/
|
|
4182
|
-
addHasTablesListener(
|
|
4268
|
+
addHasTablesListener(
|
|
4269
|
+
listener: HasTablesListener<this>,
|
|
4270
|
+
mutator?: boolean,
|
|
4271
|
+
): Id;
|
|
4183
4272
|
|
|
4184
4273
|
/**
|
|
4185
4274
|
* The addTablesListener method registers a listener function with the Store
|
|
@@ -4242,7 +4331,7 @@ export interface Store {
|
|
|
4242
4331
|
* ```
|
|
4243
4332
|
* @category Listener
|
|
4244
4333
|
*/
|
|
4245
|
-
addTablesListener(listener: TablesListener
|
|
4334
|
+
addTablesListener(listener: TablesListener<this>, mutator?: boolean): Id;
|
|
4246
4335
|
|
|
4247
4336
|
/**
|
|
4248
4337
|
* The addTableIdsListener method registers a listener function with the Store
|
|
@@ -4304,7 +4393,7 @@ export interface Store {
|
|
|
4304
4393
|
* ```
|
|
4305
4394
|
* @category Listener
|
|
4306
4395
|
*/
|
|
4307
|
-
addTableIdsListener(listener: TableIdsListener
|
|
4396
|
+
addTableIdsListener(listener: TableIdsListener<this>, mutator?: boolean): Id;
|
|
4308
4397
|
|
|
4309
4398
|
/**
|
|
4310
4399
|
* The addHasTableListener method registers a listener function with the Store
|
|
@@ -4403,7 +4492,7 @@ export interface Store {
|
|
|
4403
4492
|
*/
|
|
4404
4493
|
addHasTableListener(
|
|
4405
4494
|
tableId: IdOrNull,
|
|
4406
|
-
listener: HasTableListener
|
|
4495
|
+
listener: HasTableListener<this>,
|
|
4407
4496
|
mutator?: boolean,
|
|
4408
4497
|
): Id;
|
|
4409
4498
|
|
|
@@ -4499,7 +4588,7 @@ export interface Store {
|
|
|
4499
4588
|
*/
|
|
4500
4589
|
addTableListener(
|
|
4501
4590
|
tableId: IdOrNull,
|
|
4502
|
-
listener: TableListener
|
|
4591
|
+
listener: TableListener<this>,
|
|
4503
4592
|
mutator?: boolean,
|
|
4504
4593
|
): Id;
|
|
4505
4594
|
|
|
@@ -4603,7 +4692,7 @@ export interface Store {
|
|
|
4603
4692
|
*/
|
|
4604
4693
|
addTableCellIdsListener(
|
|
4605
4694
|
tableId: IdOrNull,
|
|
4606
|
-
listener: TableCellIdsListener
|
|
4695
|
+
listener: TableCellIdsListener<this>,
|
|
4607
4696
|
mutator?: boolean,
|
|
4608
4697
|
): Id;
|
|
4609
4698
|
|
|
@@ -4722,7 +4811,7 @@ export interface Store {
|
|
|
4722
4811
|
addHasTableCellListener(
|
|
4723
4812
|
tableId: IdOrNull,
|
|
4724
4813
|
cellId: IdOrNull,
|
|
4725
|
-
listener: HasTableCellListener
|
|
4814
|
+
listener: HasTableCellListener<this>,
|
|
4726
4815
|
mutator?: boolean,
|
|
4727
4816
|
): Id;
|
|
4728
4817
|
|
|
@@ -4815,7 +4904,7 @@ export interface Store {
|
|
|
4815
4904
|
*/
|
|
4816
4905
|
addRowCountListener(
|
|
4817
4906
|
tableId: IdOrNull,
|
|
4818
|
-
listener: RowCountListener
|
|
4907
|
+
listener: RowCountListener<this>,
|
|
4819
4908
|
mutator?: boolean,
|
|
4820
4909
|
): Id;
|
|
4821
4910
|
|
|
@@ -4906,7 +4995,7 @@ export interface Store {
|
|
|
4906
4995
|
*/
|
|
4907
4996
|
addRowIdsListener(
|
|
4908
4997
|
tableId: IdOrNull,
|
|
4909
|
-
listener: RowIdsListener
|
|
4998
|
+
listener: RowIdsListener<this>,
|
|
4910
4999
|
mutator?: boolean,
|
|
4911
5000
|
): Id;
|
|
4912
5001
|
|
|
@@ -5131,7 +5220,7 @@ export interface Store {
|
|
|
5131
5220
|
descending: boolean,
|
|
5132
5221
|
offset: number,
|
|
5133
5222
|
limit: number | undefined,
|
|
5134
|
-
listener: SortedRowIdsListener
|
|
5223
|
+
listener: SortedRowIdsListener<this>,
|
|
5135
5224
|
mutator?: boolean,
|
|
5136
5225
|
): Id;
|
|
5137
5226
|
|
|
@@ -5248,7 +5337,7 @@ export interface Store {
|
|
|
5248
5337
|
addHasRowListener(
|
|
5249
5338
|
tableId: IdOrNull,
|
|
5250
5339
|
rowId: IdOrNull,
|
|
5251
|
-
listener: HasRowListener
|
|
5340
|
+
listener: HasRowListener<this>,
|
|
5252
5341
|
mutator?: boolean,
|
|
5253
5342
|
): Id;
|
|
5254
5343
|
|
|
@@ -5357,7 +5446,7 @@ export interface Store {
|
|
|
5357
5446
|
addRowListener(
|
|
5358
5447
|
tableId: IdOrNull,
|
|
5359
5448
|
rowId: IdOrNull,
|
|
5360
|
-
listener: RowListener
|
|
5449
|
+
listener: RowListener<this>,
|
|
5361
5450
|
mutator?: boolean,
|
|
5362
5451
|
): Id;
|
|
5363
5452
|
|
|
@@ -5462,7 +5551,7 @@ export interface Store {
|
|
|
5462
5551
|
addCellIdsListener(
|
|
5463
5552
|
tableId: IdOrNull,
|
|
5464
5553
|
rowId: IdOrNull,
|
|
5465
|
-
listener: CellIdsListener
|
|
5554
|
+
listener: CellIdsListener<this>,
|
|
5466
5555
|
mutator?: boolean,
|
|
5467
5556
|
): Id;
|
|
5468
5557
|
|
|
@@ -5586,7 +5675,7 @@ export interface Store {
|
|
|
5586
5675
|
tableId: IdOrNull,
|
|
5587
5676
|
rowId: IdOrNull,
|
|
5588
5677
|
cellId: IdOrNull,
|
|
5589
|
-
listener: HasCellListener
|
|
5678
|
+
listener: HasCellListener<this>,
|
|
5590
5679
|
mutator?: boolean,
|
|
5591
5680
|
): Id;
|
|
5592
5681
|
|
|
@@ -5705,7 +5794,7 @@ export interface Store {
|
|
|
5705
5794
|
tableId: IdOrNull,
|
|
5706
5795
|
rowId: IdOrNull,
|
|
5707
5796
|
cellId: IdOrNull,
|
|
5708
|
-
listener: CellListener
|
|
5797
|
+
listener: CellListener<this>,
|
|
5709
5798
|
mutator?: boolean,
|
|
5710
5799
|
): Id;
|
|
5711
5800
|
|
|
@@ -5770,7 +5859,10 @@ export interface Store {
|
|
|
5770
5859
|
* @category Listener
|
|
5771
5860
|
* @since v4.4.0
|
|
5772
5861
|
*/
|
|
5773
|
-
addHasValuesListener(
|
|
5862
|
+
addHasValuesListener(
|
|
5863
|
+
listener: HasValuesListener<this>,
|
|
5864
|
+
mutator?: boolean,
|
|
5865
|
+
): Id;
|
|
5774
5866
|
|
|
5775
5867
|
/**
|
|
5776
5868
|
* The addValuesListener method registers a listener function with the Store
|
|
@@ -5830,7 +5922,7 @@ export interface Store {
|
|
|
5830
5922
|
* @category Listener
|
|
5831
5923
|
* @since v3.0.0
|
|
5832
5924
|
*/
|
|
5833
|
-
addValuesListener(listener: ValuesListener
|
|
5925
|
+
addValuesListener(listener: ValuesListener<this>, mutator?: boolean): Id;
|
|
5834
5926
|
|
|
5835
5927
|
/**
|
|
5836
5928
|
* The addValueIdsListener method registers a listener function with the Store
|
|
@@ -5893,7 +5985,7 @@ export interface Store {
|
|
|
5893
5985
|
* @category Listener
|
|
5894
5986
|
* @since v3.0.0
|
|
5895
5987
|
*/
|
|
5896
|
-
addValueIdsListener(listener: ValueIdsListener
|
|
5988
|
+
addValueIdsListener(listener: ValueIdsListener<this>, mutator?: boolean): Id;
|
|
5897
5989
|
|
|
5898
5990
|
/**
|
|
5899
5991
|
* The addHasValueListener method registers a listener function with the Store
|
|
@@ -5986,7 +6078,7 @@ export interface Store {
|
|
|
5986
6078
|
*/
|
|
5987
6079
|
addHasValueListener(
|
|
5988
6080
|
valueId: IdOrNull,
|
|
5989
|
-
listener: HasValueListener
|
|
6081
|
+
listener: HasValueListener<this>,
|
|
5990
6082
|
mutator?: boolean,
|
|
5991
6083
|
): Id;
|
|
5992
6084
|
|
|
@@ -6078,7 +6170,7 @@ export interface Store {
|
|
|
6078
6170
|
*/
|
|
6079
6171
|
addValueListener(
|
|
6080
6172
|
valueId: IdOrNull,
|
|
6081
|
-
listener: ValueListener
|
|
6173
|
+
listener: ValueListener<this>,
|
|
6082
6174
|
mutator?: boolean,
|
|
6083
6175
|
): Id;
|
|
6084
6176
|
|
|
@@ -6308,7 +6400,7 @@ export interface Store {
|
|
|
6308
6400
|
tableId: IdOrNull,
|
|
6309
6401
|
rowId: IdOrNull,
|
|
6310
6402
|
cellId: IdOrNull,
|
|
6311
|
-
listener: InvalidCellListener
|
|
6403
|
+
listener: InvalidCellListener<this>,
|
|
6312
6404
|
mutator?: boolean,
|
|
6313
6405
|
): Id;
|
|
6314
6406
|
|
|
@@ -6483,7 +6575,7 @@ export interface Store {
|
|
|
6483
6575
|
*/
|
|
6484
6576
|
addInvalidValueListener(
|
|
6485
6577
|
valueId: IdOrNull,
|
|
6486
|
-
listener: InvalidValueListener
|
|
6578
|
+
listener: InvalidValueListener<this>,
|
|
6487
6579
|
mutator?: boolean,
|
|
6488
6580
|
): Id;
|
|
6489
6581
|
|
|
@@ -6531,7 +6623,7 @@ export interface Store {
|
|
|
6531
6623
|
* @category Listener
|
|
6532
6624
|
* @since v3.2.0
|
|
6533
6625
|
*/
|
|
6534
|
-
addStartTransactionListener(listener: TransactionListener): Id;
|
|
6626
|
+
addStartTransactionListener(listener: TransactionListener<this>): Id;
|
|
6535
6627
|
|
|
6536
6628
|
/**
|
|
6537
6629
|
* The addWillFinishTransactionListener method registers a listener function
|
|
@@ -6572,12 +6664,10 @@ export interface Store {
|
|
|
6572
6664
|
* pets: {fido: {species: 'dog', color: 'brown'}},
|
|
6573
6665
|
* })
|
|
6574
6666
|
* .setValues({open: true, employees: 3});
|
|
6575
|
-
* const listenerId = store.addWillFinishTransactionListener(
|
|
6576
|
-
*
|
|
6577
|
-
*
|
|
6578
|
-
*
|
|
6579
|
-
* },
|
|
6580
|
-
* );
|
|
6667
|
+
* const listenerId = store.addWillFinishTransactionListener((store) => {
|
|
6668
|
+
* const [cellsTouched, valuesTouched] = store.getTransactionLog() ?? {};
|
|
6669
|
+
* console.log(`Cells/Values touched: ${cellsTouched}/${valuesTouched}`);
|
|
6670
|
+
* });
|
|
6581
6671
|
* const listenerId2 = store.addTablesListener(() =>
|
|
6582
6672
|
* console.log('Tables changed'),
|
|
6583
6673
|
* );
|
|
@@ -6619,7 +6709,7 @@ export interface Store {
|
|
|
6619
6709
|
* // Transaction was rolled back.
|
|
6620
6710
|
*
|
|
6621
6711
|
* store.callListener(listenerId);
|
|
6622
|
-
* // -> 'Cells/Values touched:
|
|
6712
|
+
* // -> 'Cells/Values touched: false/false'
|
|
6623
6713
|
* // It is meaningless to call this listener directly.
|
|
6624
6714
|
*
|
|
6625
6715
|
* store
|
|
@@ -6630,7 +6720,7 @@ export interface Store {
|
|
|
6630
6720
|
* @category Listener
|
|
6631
6721
|
* @since v1.3.0
|
|
6632
6722
|
*/
|
|
6633
|
-
addWillFinishTransactionListener(listener: TransactionListener): Id;
|
|
6723
|
+
addWillFinishTransactionListener(listener: TransactionListener<this>): Id;
|
|
6634
6724
|
|
|
6635
6725
|
/**
|
|
6636
6726
|
* The addDidFinishTransactionListener method registers a listener function
|
|
@@ -6670,12 +6760,10 @@ export interface Store {
|
|
|
6670
6760
|
* pets: {fido: {species: 'dog', color: 'brown'}},
|
|
6671
6761
|
* })
|
|
6672
6762
|
* .setValues({open: true, employees: 3});
|
|
6673
|
-
* const listenerId = store.addDidFinishTransactionListener(
|
|
6674
|
-
*
|
|
6675
|
-
*
|
|
6676
|
-
*
|
|
6677
|
-
* },
|
|
6678
|
-
* );
|
|
6763
|
+
* const listenerId = store.addDidFinishTransactionListener((store) => {
|
|
6764
|
+
* const [cellsTouched, valuesTouched] = store.getTransactionLog() ?? {};
|
|
6765
|
+
* console.log(`Cells/Values touched: ${cellsTouched}/${valuesTouched}`);
|
|
6766
|
+
* });
|
|
6679
6767
|
* const listenerId2 = store.addTablesListener(() =>
|
|
6680
6768
|
* console.log('Tables changed'),
|
|
6681
6769
|
* );
|
|
@@ -6717,7 +6805,7 @@ export interface Store {
|
|
|
6717
6805
|
* // Transaction was rolled back.
|
|
6718
6806
|
*
|
|
6719
6807
|
* store.callListener(listenerId);
|
|
6720
|
-
* // -> 'Cells/Values touched:
|
|
6808
|
+
* // -> 'Cells/Values touched: false/false'
|
|
6721
6809
|
* // It is meaningless to call this listener directly.
|
|
6722
6810
|
*
|
|
6723
6811
|
* store
|
|
@@ -6728,7 +6816,7 @@ export interface Store {
|
|
|
6728
6816
|
* @category Listener
|
|
6729
6817
|
* @since v1.3.0
|
|
6730
6818
|
*/
|
|
6731
|
-
addDidFinishTransactionListener(listener: TransactionListener): Id;
|
|
6819
|
+
addDidFinishTransactionListener(listener: TransactionListener<this>): Id;
|
|
6732
6820
|
|
|
6733
6821
|
/**
|
|
6734
6822
|
* The callListener method provides a way for you to manually provoke a
|
|
@@ -6844,7 +6932,7 @@ export interface Store {
|
|
|
6844
6932
|
* ```
|
|
6845
6933
|
* @category Listener
|
|
6846
6934
|
*/
|
|
6847
|
-
callListener(listenerId: Id):
|
|
6935
|
+
callListener(listenerId: Id): this;
|
|
6848
6936
|
|
|
6849
6937
|
/**
|
|
6850
6938
|
* The delListener method removes a listener that was previously added to the
|
|
@@ -6876,7 +6964,7 @@ export interface Store {
|
|
|
6876
6964
|
* ```
|
|
6877
6965
|
* @category Listener
|
|
6878
6966
|
*/
|
|
6879
|
-
delListener(listenerId: Id):
|
|
6967
|
+
delListener(listenerId: Id): this;
|
|
6880
6968
|
|
|
6881
6969
|
/**
|
|
6882
6970
|
* The getListenerStats method provides a set of statistics about the
|