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
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
ValueProps,
|
|
65
65
|
ValuesProps,
|
|
66
66
|
} from './internal/ui-react';
|
|
67
|
-
import {Callback, Id, IdOrNull, Ids, ParameterizedCallback} from './common.d';
|
|
67
|
+
import {Callback, Id, IdOrNull, Ids, ParameterizedCallback} from './common.d.ts';
|
|
68
68
|
import {
|
|
69
69
|
Cell,
|
|
70
70
|
CellIdsListener,
|
|
@@ -98,21 +98,21 @@ import {
|
|
|
98
98
|
ValueListener,
|
|
99
99
|
Values,
|
|
100
100
|
ValuesListener,
|
|
101
|
-
} from './store.d';
|
|
101
|
+
} from './store.d.ts';
|
|
102
102
|
import {
|
|
103
103
|
CheckpointIds,
|
|
104
104
|
CheckpointIdsListener,
|
|
105
105
|
CheckpointListener,
|
|
106
106
|
Checkpoints,
|
|
107
|
-
} from './checkpoints.d';
|
|
108
|
-
import {Indexes, SliceIdsListener, SliceRowIdsListener} from './indexes.d';
|
|
107
|
+
} from './checkpoints.d.ts';
|
|
108
|
+
import {Indexes, SliceIdsListener, SliceRowIdsListener} from './indexes.d.ts';
|
|
109
109
|
import {
|
|
110
110
|
LinkedRowIdsListener,
|
|
111
111
|
LocalRowIdsListener,
|
|
112
112
|
Relationships,
|
|
113
113
|
RemoteRowIdListener,
|
|
114
|
-
} from './relationships.d';
|
|
115
|
-
import {MetricListener, Metrics} from './metrics.d';
|
|
114
|
+
} from './relationships.d.ts';
|
|
115
|
+
import {MetricListener, Metrics} from './metrics.d.ts';
|
|
116
116
|
import {
|
|
117
117
|
Queries,
|
|
118
118
|
ResultCell,
|
|
@@ -126,9 +126,11 @@ import {
|
|
|
126
126
|
ResultTable,
|
|
127
127
|
ResultTableCellIdsListener,
|
|
128
128
|
ResultTableListener,
|
|
129
|
-
} from './queries.d';
|
|
130
|
-
import {
|
|
129
|
+
} from './queries.d.ts';
|
|
130
|
+
import {MergeableStore} from './mergeable-store';
|
|
131
|
+
import {Persister} from './persisters.d.ts';
|
|
131
132
|
import {ReactElement} from 'react';
|
|
133
|
+
import {Synchronizer} from './synchronizers.d.ts';
|
|
132
134
|
|
|
133
135
|
export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
134
136
|
/**
|
|
@@ -301,9 +303,9 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
301
303
|
*
|
|
302
304
|
* It is possible to create a Store outside of the React app with the regular
|
|
303
305
|
* createStore function and pass it in, but you may prefer to create it within
|
|
304
|
-
* the app, perhaps inside the top-level component. To
|
|
305
|
-
*
|
|
306
|
-
*
|
|
306
|
+
* the app, perhaps inside the top-level component. To prevent a new Store being
|
|
307
|
+
* created every time the app renders or re-renders, the useCreateStore hook
|
|
308
|
+
* wraps the creation in a memoization.
|
|
307
309
|
*
|
|
308
310
|
* The useCreateStore hook is a very thin wrapper around the React `useMemo`
|
|
309
311
|
* hook, defaulting to an empty array for its dependencies, so that by default,
|
|
@@ -380,6 +382,14 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
380
382
|
createDeps?: React.DependencyList,
|
|
381
383
|
) => Store<Schemas>;
|
|
382
384
|
|
|
385
|
+
/**
|
|
386
|
+
* The useCreateMergeableStore hook
|
|
387
|
+
*/
|
|
388
|
+
useCreateMergeableStore: (
|
|
389
|
+
create: () => MergeableStore<Schemas>,
|
|
390
|
+
createDeps?: React.DependencyList,
|
|
391
|
+
) => MergeableStore<Schemas>;
|
|
392
|
+
|
|
383
393
|
/**
|
|
384
394
|
* The useStoreIds hook is used to retrieve the Ids of all the named Store
|
|
385
395
|
* objects present in the current Provider component context.
|
|
@@ -2830,8 +2840,8 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
2830
2840
|
* specify `reuseRowIds` to be `false`, then the Id will be a monotonically
|
|
2831
2841
|
* increasing string representation of an increasing integer, regardless of any
|
|
2832
2842
|
* you may have previously deleted.
|
|
2833
|
-
* @param tableId The Id of the Table in the Store, or a GetId function
|
|
2834
|
-
*
|
|
2843
|
+
* @param tableId The Id of the Table in the Store, or a GetId function that
|
|
2844
|
+
* will return it.
|
|
2835
2845
|
* @param getRow A function which returns the Row object that will be used to
|
|
2836
2846
|
* update the Store, based on the parameter the callback will receive (and which
|
|
2837
2847
|
* is most likely a DOM event).
|
|
@@ -4199,8 +4209,8 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
4199
4209
|
* dependencies) or the component unmounts, the listener on the underlying Store
|
|
4200
4210
|
* will be deleted.
|
|
4201
4211
|
* @param tableId The Id of the Table to listen to, or `null` as a wildcard.
|
|
4202
|
-
* @param listener The function that will be called whenever the matching
|
|
4203
|
-
*
|
|
4212
|
+
* @param listener The function that will be called whenever the matching Table
|
|
4213
|
+
* is added or removed.
|
|
4204
4214
|
* @param listenerDeps An optional array of dependencies for the `listener`
|
|
4205
4215
|
* function, which, if any change, result in the re-registration of the
|
|
4206
4216
|
* listener. This parameter defaults to an empty array.
|
|
@@ -4805,8 +4815,8 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
4805
4815
|
* more easily done with the useHasRow hook).
|
|
4806
4816
|
*
|
|
4807
4817
|
* You can either listen to a single Row being added or removed (by specifying
|
|
4808
|
-
* the Table Id and Row Id, as the method's first two parameters) or changes
|
|
4809
|
-
*
|
|
4818
|
+
* the Table Id and Row Id, as the method's first two parameters) or changes to
|
|
4819
|
+
* any Row (by providing `null` wildcards).
|
|
4810
4820
|
*
|
|
4811
4821
|
* Both, either, or neither of the `tableId` and `rowId` parameters can be
|
|
4812
4822
|
* wildcarded with `null`. You can listen to a specific Row in a specific Table,
|
|
@@ -4819,8 +4829,8 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
4819
4829
|
* the component unmounts, the listener on the underlying Store will be deleted.
|
|
4820
4830
|
* @param tableId The Id of the Table to listen to, or `null` as a wildcard.
|
|
4821
4831
|
* @param rowId The Id of the Row to listen to, or `null` as a wildcard.
|
|
4822
|
-
* @param listener The function that will be called whenever the matching Row
|
|
4823
|
-
*
|
|
4832
|
+
* @param listener The function that will be called whenever the matching Row is
|
|
4833
|
+
* added or removed.
|
|
4824
4834
|
* @param listenerDeps An optional array of dependencies for the `listener`
|
|
4825
4835
|
* function, which, if any change, result in the re-registration of the
|
|
4826
4836
|
* listener. This parameter defaults to an empty array.
|
|
@@ -5081,14 +5091,14 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
5081
5091
|
* own specific listener to do more than simply tracking the value (which is
|
|
5082
5092
|
* more easily done with the useHasCell hook).
|
|
5083
5093
|
*
|
|
5084
|
-
* You can either listen to a single Cell being added or removed (by
|
|
5085
|
-
*
|
|
5086
|
-
*
|
|
5094
|
+
* You can either listen to a single Cell being added or removed (by specifying
|
|
5095
|
+
* the Table Id, Row Id, and Cell Id as the method's first three parameters) or
|
|
5096
|
+
* changes to any Cell (by providing `null` wildcards).
|
|
5087
5097
|
*
|
|
5088
|
-
* All, some, or none of the `tableId`, `rowId`, and `cellId` parameters can
|
|
5089
|
-
*
|
|
5090
|
-
*
|
|
5091
|
-
*
|
|
5098
|
+
* All, some, or none of the `tableId`, `rowId`, and `cellId` parameters can be
|
|
5099
|
+
* wildcarded with `null`. You can listen to a specific Cell in a specific Row
|
|
5100
|
+
* in a specific Table, any Cell in any Row in any Table, for example - or every
|
|
5101
|
+
* other combination of wildcards.
|
|
5092
5102
|
*
|
|
5093
5103
|
* Unlike the addHasCellListener method, which returns a listener Id and
|
|
5094
5104
|
* requires you to remove it manually, the useHasCellListener hook manages this
|
|
@@ -5518,8 +5528,8 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
5518
5528
|
* dependencies) or the component unmounts, the listener on the underlying Store
|
|
5519
5529
|
* will be deleted.
|
|
5520
5530
|
* @param valueId The Id of the Value to listen to, or `null` as a wildcard.
|
|
5521
|
-
* @param listener The function that will be called whenever the matching
|
|
5522
|
-
*
|
|
5531
|
+
* @param listener The function that will be called whenever the matching Value
|
|
5532
|
+
* is added or removed.
|
|
5523
5533
|
* @param listenerDeps An optional array of dependencies for the `listener`
|
|
5524
5534
|
* function, which, if any change, result in the re-registration of the
|
|
5525
5535
|
* listener. This parameter defaults to an empty array.
|
|
@@ -5869,18 +5879,16 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
5869
5879
|
* store: Store,
|
|
5870
5880
|
* create: (store: Store) => Metrics,
|
|
5871
5881
|
* createDeps?: React.DependencyList,
|
|
5872
|
-
* ): Metrics;
|
|
5882
|
+
* ): Metrics | undefined;
|
|
5873
5883
|
* ```
|
|
5874
5884
|
*
|
|
5875
5885
|
* It is possible to create a Metrics object outside of the React app with the
|
|
5876
5886
|
* regular createMetrics function and pass it in, but you may prefer to create
|
|
5877
|
-
* it within the app, perhaps inside the top-level component. To
|
|
5878
|
-
*
|
|
5879
|
-
* the useCreateMetrics hook
|
|
5880
|
-
*
|
|
5881
|
-
*
|
|
5882
|
-
* hook, defaulting to the provided Store as its dependency, so that by default,
|
|
5883
|
-
* the creation only occurs once per Store.
|
|
5887
|
+
* it within the app, perhaps inside the top-level component. To prevent a new
|
|
5888
|
+
* Metrics object being created every time the app renders or re-renders, since
|
|
5889
|
+
* v5.0 the useCreateMetrics hook performs the creation in an effect. As a
|
|
5890
|
+
* result this hook will return `undefined` on the brief first render, which you
|
|
5891
|
+
* should defend against.
|
|
5884
5892
|
*
|
|
5885
5893
|
* If your `create` function contains other dependencies, the changing of which
|
|
5886
5894
|
* should also cause the Metrics object to be recreated, you can provide them in
|
|
@@ -5915,7 +5923,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
5915
5923
|
* 'species',
|
|
5916
5924
|
* );
|
|
5917
5925
|
* });
|
|
5918
|
-
* return <span>{metrics
|
|
5926
|
+
* return <span>{metrics?.getMetric('speciesCount')}</span>;
|
|
5919
5927
|
* };
|
|
5920
5928
|
*
|
|
5921
5929
|
* const app = document.createElement('div');
|
|
@@ -5953,7 +5961,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
5953
5961
|
* },
|
|
5954
5962
|
* [tableToCount],
|
|
5955
5963
|
* );
|
|
5956
|
-
* return <span>{metrics
|
|
5964
|
+
* return <span>{metrics?.getMetric('tableCount')}</span>;
|
|
5957
5965
|
* };
|
|
5958
5966
|
*
|
|
5959
5967
|
* const app = document.createElement('div');
|
|
@@ -5976,7 +5984,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
5976
5984
|
store: Store<Schemas>,
|
|
5977
5985
|
create: (store: Store<Schemas>) => Metrics<Schemas>,
|
|
5978
5986
|
createDeps?: React.DependencyList,
|
|
5979
|
-
) => Metrics<Schemas
|
|
5987
|
+
) => Metrics<Schemas> | undefined;
|
|
5980
5988
|
|
|
5981
5989
|
/**
|
|
5982
5990
|
* The useMetricsIds hook is used to retrieve the Ids of all the named Metrics
|
|
@@ -6401,18 +6409,16 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
6401
6409
|
* store: Store,
|
|
6402
6410
|
* create: (store: Store) => Indexes,
|
|
6403
6411
|
* createDeps?: React.DependencyList,
|
|
6404
|
-
* ): Indexes;
|
|
6412
|
+
* ): Indexes | undefined;
|
|
6405
6413
|
* ```
|
|
6406
6414
|
*
|
|
6407
6415
|
* It is possible to create an Indexes object outside of the React app with the
|
|
6408
6416
|
* regular createIndexes function and pass it in, but you may prefer to create
|
|
6409
|
-
* it within the app, perhaps inside the top-level component. To
|
|
6410
|
-
*
|
|
6411
|
-
* the useCreateIndexes hook
|
|
6412
|
-
*
|
|
6413
|
-
*
|
|
6414
|
-
* hook, defaulting to the provided Store as its dependency, so that by default,
|
|
6415
|
-
* the creation only occurs once per Store.
|
|
6417
|
+
* it within the app, perhaps inside the top-level component. To prevent a new
|
|
6418
|
+
* Indexes object being created every time the app renders or re-renders, since
|
|
6419
|
+
* v5.0 the useCreateIndexes hook performs the creation in an effect. As a
|
|
6420
|
+
* result this hook will return `undefined` on the brief first render, which you
|
|
6421
|
+
* should defend against.
|
|
6416
6422
|
*
|
|
6417
6423
|
* If your `create` function contains other dependencies, the changing of which
|
|
6418
6424
|
* should also cause the Indexes object to be recreated, you can provide them in
|
|
@@ -6452,7 +6458,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
6452
6458
|
* 'species',
|
|
6453
6459
|
* );
|
|
6454
6460
|
* });
|
|
6455
|
-
* return <span>{JSON.stringify(indexes
|
|
6461
|
+
* return <span>{JSON.stringify(indexes?.getSliceIds('bySpecies'))}</span>;
|
|
6456
6462
|
* };
|
|
6457
6463
|
*
|
|
6458
6464
|
* const app = document.createElement('div');
|
|
@@ -6493,7 +6499,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
6493
6499
|
* },
|
|
6494
6500
|
* [cellToIndex],
|
|
6495
6501
|
* );
|
|
6496
|
-
* return <span>{JSON.stringify(indexes
|
|
6502
|
+
* return <span>{JSON.stringify(indexes?.getSliceIds('byCell'))}</span>;
|
|
6497
6503
|
* };
|
|
6498
6504
|
*
|
|
6499
6505
|
* const app = document.createElement('div');
|
|
@@ -6516,7 +6522,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
6516
6522
|
store: Store<Schemas>,
|
|
6517
6523
|
create: (store: Store<Schemas>) => Indexes<Schemas>,
|
|
6518
6524
|
createDeps?: React.DependencyList,
|
|
6519
|
-
) => Indexes<Schemas
|
|
6525
|
+
) => Indexes<Schemas> | undefined;
|
|
6520
6526
|
|
|
6521
6527
|
/**
|
|
6522
6528
|
* The useIndexesIds hook is used to retrieve the Ids of all the named Indexes
|
|
@@ -7160,19 +7166,16 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
7160
7166
|
* store: Store,
|
|
7161
7167
|
* create: (store: Store) => Relationships,
|
|
7162
7168
|
* createDeps?: React.DependencyList,
|
|
7163
|
-
* ): Relationships;
|
|
7169
|
+
* ): Relationships | undefined;
|
|
7164
7170
|
* ```
|
|
7165
7171
|
*
|
|
7166
7172
|
* It is possible to create a Relationships object outside of the React app with
|
|
7167
7173
|
* the regular createRelationships function and pass it in, but you may prefer
|
|
7168
7174
|
* to create it within the app, perhaps inside the top-level component. To
|
|
7169
|
-
*
|
|
7170
|
-
*
|
|
7171
|
-
* a
|
|
7172
|
-
*
|
|
7173
|
-
* The useCreateRelationships hook is a very thin wrapper around the React
|
|
7174
|
-
* `useMemo` hook, defaulting to the provided Store as its dependency, so that
|
|
7175
|
-
* by default, the creation only occurs once per Store.
|
|
7175
|
+
* prevent a new Relationships object being created every time the app renders
|
|
7176
|
+
* or re-renders, since v5.0 the useCreateRelationships hook performs the
|
|
7177
|
+
* creation in an effect. As a result this hook will return `undefined` on the
|
|
7178
|
+
* brief first render, which you should defend against.
|
|
7176
7179
|
*
|
|
7177
7180
|
* If your `create` function contains other dependencies, the changing of which
|
|
7178
7181
|
* should also cause the Relationships object to be recreated, you can provide
|
|
@@ -7214,7 +7217,9 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
7214
7217
|
* 'species',
|
|
7215
7218
|
* );
|
|
7216
7219
|
* });
|
|
7217
|
-
* return
|
|
7220
|
+
* return (
|
|
7221
|
+
* <span>{relationships?.getRemoteRowId('petSpecies', 'fido')}</span>
|
|
7222
|
+
* );
|
|
7218
7223
|
* };
|
|
7219
7224
|
*
|
|
7220
7225
|
* const app = document.createElement('div');
|
|
@@ -7260,7 +7265,9 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
7260
7265
|
* },
|
|
7261
7266
|
* [remoteTableAndCellToLink],
|
|
7262
7267
|
* );
|
|
7263
|
-
* return
|
|
7268
|
+
* return (
|
|
7269
|
+
* <span>{relationships?.getRemoteRowId('cellLinked', 'fido')}</span>
|
|
7270
|
+
* );
|
|
7264
7271
|
* };
|
|
7265
7272
|
*
|
|
7266
7273
|
* const app = document.createElement('div');
|
|
@@ -7283,7 +7290,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
7283
7290
|
store: Store<Schemas>,
|
|
7284
7291
|
create: (store: Store<Schemas>) => Relationships<Schemas>,
|
|
7285
7292
|
createDeps?: React.DependencyList,
|
|
7286
|
-
) => Relationships<Schemas
|
|
7293
|
+
) => Relationships<Schemas> | undefined;
|
|
7287
7294
|
|
|
7288
7295
|
/**
|
|
7289
7296
|
* The useRelationshipsIds hook is used to retrieve the Ids of all the named
|
|
@@ -8222,18 +8229,16 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
8222
8229
|
* store: Store,
|
|
8223
8230
|
* create: (store: Store) => Queries,
|
|
8224
8231
|
* createDeps?: React.DependencyList,
|
|
8225
|
-
* ): Queries;
|
|
8232
|
+
* ): Queries | undefined;
|
|
8226
8233
|
* ```
|
|
8227
8234
|
*
|
|
8228
8235
|
* It is possible to create a Queries object outside of the React app with the
|
|
8229
8236
|
* regular createQueries function and pass it in, but you may prefer to create
|
|
8230
|
-
* it within the app, perhaps inside the top-level component. To
|
|
8231
|
-
*
|
|
8232
|
-
* the useCreateQueries hook
|
|
8233
|
-
*
|
|
8234
|
-
*
|
|
8235
|
-
* hook, defaulting to the provided Store as its dependency, so that by default,
|
|
8236
|
-
* the creation only occurs once per Store.
|
|
8237
|
+
* it within the app, perhaps inside the top-level component. To prevent a new
|
|
8238
|
+
* Queries object being created every time the app renders or re-renders, since
|
|
8239
|
+
* v5.0 the useCreateQueries hook performs the creation in an effect. As a
|
|
8240
|
+
* result this hook will return `undefined` on the brief first render, which you
|
|
8241
|
+
* should defend against.
|
|
8237
8242
|
*
|
|
8238
8243
|
* If your `create` function contains other dependencies, the changing of which
|
|
8239
8244
|
* should also cause the Queries object to be recreated, you can provide them in
|
|
@@ -8276,7 +8281,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
8276
8281
|
* );
|
|
8277
8282
|
* });
|
|
8278
8283
|
* return (
|
|
8279
|
-
* <span>{queries
|
|
8284
|
+
* <span>{queries?.getResultCell('dogColors', 'fido', 'color')}</span>
|
|
8280
8285
|
* );
|
|
8281
8286
|
* };
|
|
8282
8287
|
*
|
|
@@ -8318,7 +8323,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
8318
8323
|
* );
|
|
8319
8324
|
* });
|
|
8320
8325
|
* return (
|
|
8321
|
-
* <span>{queries
|
|
8326
|
+
* <span>{queries?.getResultCell('dogColors', 'fido', 'color')}</span>
|
|
8322
8327
|
* );
|
|
8323
8328
|
* };
|
|
8324
8329
|
*
|
|
@@ -8340,7 +8345,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
8340
8345
|
store: Store<Schemas>,
|
|
8341
8346
|
create: (store: Store<Schemas>) => Queries<Schemas>,
|
|
8342
8347
|
createDeps?: React.DependencyList,
|
|
8343
|
-
) => Queries<Schemas
|
|
8348
|
+
) => Queries<Schemas> | undefined;
|
|
8344
8349
|
|
|
8345
8350
|
/**
|
|
8346
8351
|
* The useQueriesIds hook is used to retrieve the Ids of all the named Queries
|
|
@@ -10432,19 +10437,16 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
10432
10437
|
* store: Store,
|
|
10433
10438
|
* create: (store: Store) => Checkpoints,
|
|
10434
10439
|
* createDeps?: React.DependencyList,
|
|
10435
|
-
* ): Checkpoints;
|
|
10440
|
+
* ): Checkpoints | undefined;
|
|
10436
10441
|
* ```
|
|
10437
10442
|
*
|
|
10438
10443
|
* It is possible to create a Checkpoints object outside of the React app with
|
|
10439
10444
|
* the regular createCheckpoints function and pass it in, but you may prefer to
|
|
10440
|
-
* create it within the app, perhaps inside the top-level component. To
|
|
10441
|
-
*
|
|
10442
|
-
* re-renders, the
|
|
10443
|
-
*
|
|
10444
|
-
*
|
|
10445
|
-
* The useCreateCheckpoints hook is a very thin wrapper around the React
|
|
10446
|
-
* `useMemo` hook, defaulting to the provided Store as its dependency, so that
|
|
10447
|
-
* by default, the creation only occurs once per Store.
|
|
10445
|
+
* create it within the app, perhaps inside the top-level component. To prevent
|
|
10446
|
+
* a new Checkpoints object being created every time the app renders or
|
|
10447
|
+
* re-renders, since v5.0 the useCreateMetrics hook performs the creation in an
|
|
10448
|
+
* effect. As a result this hook will return `undefined` on the brief first
|
|
10449
|
+
* render, which you should defend against.
|
|
10448
10450
|
*
|
|
10449
10451
|
* If your `create` function contains other dependencies, the changing of which
|
|
10450
10452
|
* should also cause the Checkpoints object to be recreated, you can provide
|
|
@@ -10474,7 +10476,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
10474
10476
|
* console.log('Checkpoints created');
|
|
10475
10477
|
* return createCheckpoints(store).setSize(10);
|
|
10476
10478
|
* });
|
|
10477
|
-
* return <span>{JSON.stringify(checkpoints
|
|
10479
|
+
* return <span>{JSON.stringify(checkpoints?.getCheckpointIds())}</span>;
|
|
10478
10480
|
* };
|
|
10479
10481
|
*
|
|
10480
10482
|
* const app = document.createElement('div');
|
|
@@ -10506,7 +10508,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
10506
10508
|
* },
|
|
10507
10509
|
* [size],
|
|
10508
10510
|
* );
|
|
10509
|
-
* return <span>{JSON.stringify(checkpoints
|
|
10511
|
+
* return <span>{JSON.stringify(checkpoints?.getCheckpointIds())}</span>;
|
|
10510
10512
|
* };
|
|
10511
10513
|
*
|
|
10512
10514
|
* const app = document.createElement('div');
|
|
@@ -10529,7 +10531,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
10529
10531
|
store: Store<Schemas>,
|
|
10530
10532
|
create: (store: Store<Schemas>) => Checkpoints<Schemas>,
|
|
10531
10533
|
createDeps?: React.DependencyList,
|
|
10532
|
-
) => Checkpoints<Schemas
|
|
10534
|
+
) => Checkpoints<Schemas> | undefined;
|
|
10533
10535
|
|
|
10534
10536
|
/**
|
|
10535
10537
|
* The useCheckpointsIds hook is used to retrieve the Ids of all the named
|
|
@@ -11487,20 +11489,18 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
11487
11489
|
* store: Store,
|
|
11488
11490
|
* create: (store: Store) => PersisterOrUndefined,
|
|
11489
11491
|
* createDeps?: React.DependencyList,
|
|
11490
|
-
* then?: (persister:
|
|
11492
|
+
* then?: (persister: Persister) => Promise<void>,
|
|
11491
11493
|
* thenDeps?: React.DependencyList,
|
|
11492
|
-
* destroy?: (persister:
|
|
11494
|
+
* destroy?: (persister: Persister) => void,
|
|
11493
11495
|
* destroyDeps?: React.DependencyList,
|
|
11494
11496
|
* ): PersisterOrUndefined;
|
|
11495
11497
|
* ```
|
|
11496
11498
|
*
|
|
11497
11499
|
* It is possible to create a Persister outside of the React app with the
|
|
11498
11500
|
* regular createPersister function and pass it in, but you may prefer to create
|
|
11499
|
-
* it within the app, perhaps inside the top-level component. To
|
|
11500
|
-
*
|
|
11501
|
-
*
|
|
11502
|
-
* second callback so that you can configure the Persister, once, and
|
|
11503
|
-
* asynchronously, when it is created.
|
|
11501
|
+
* it within the app, perhaps inside the top-level component. To prevent a new
|
|
11502
|
+
* Persister being created every time the app renders or re-renders, since v5.0
|
|
11503
|
+
* the useCreateMetrics hook performs the creation in an effect.
|
|
11504
11504
|
*
|
|
11505
11505
|
* If your `create` function (the second parameter to the hook) contains
|
|
11506
11506
|
* dependencies, the changing of which should cause the Persister to be
|
|
@@ -11508,19 +11508,18 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
11508
11508
|
* you would for any React hook with dependencies. The Store passed in as the
|
|
11509
11509
|
* first parameter of this hook is used as a dependency by default.
|
|
11510
11510
|
*
|
|
11511
|
-
* A second `then
|
|
11512
|
-
* called after the creation, and, importantly, can be asynchronous, so
|
|
11513
|
-
* can configure the Persister with the startAutoLoad method and
|
|
11514
|
-
* method, for example. If this callback contains dependencies,
|
|
11515
|
-
* which should cause the Persister to be reconfigured, you can
|
|
11516
|
-
* an array in the fifth parameter. The Persister itself is used
|
|
11517
|
-
* by default.
|
|
11511
|
+
* A second callback, called `then`, can be provided as the fourth parameter.
|
|
11512
|
+
* This is called after the creation, and, importantly, can be asynchronous, so
|
|
11513
|
+
* that you can configure the Persister with the startAutoLoad method and
|
|
11514
|
+
* startAutoSave method, for example. If this callback contains dependencies,
|
|
11515
|
+
* the changing of which should cause the Persister to be reconfigured, you can
|
|
11516
|
+
* provide them in an array in the fifth parameter. The Persister itself is used
|
|
11517
|
+
* as a dependency by default.
|
|
11518
11518
|
*
|
|
11519
11519
|
* Since v4.3.0, the `create` function can return undefined, meaning that you
|
|
11520
11520
|
* can enable or disable persistence conditionally within this hook. This is
|
|
11521
11521
|
* useful for applications which might turn on or off their cloud persistence or
|
|
11522
|
-
* collaboration features.
|
|
11523
|
-
* undefined, which you should handle accordingly.
|
|
11522
|
+
* collaboration features.
|
|
11524
11523
|
*
|
|
11525
11524
|
* Since v4.3.19, a `destroy` function can be provided which will be called
|
|
11526
11525
|
* after an old Persister is destroyed due to a change in the `createDeps`
|
|
@@ -11657,12 +11656,170 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
11657
11656
|
store: Store<Schemas>,
|
|
11658
11657
|
create: (store: Store<Schemas>) => PersisterOrUndefined,
|
|
11659
11658
|
createDeps?: React.DependencyList,
|
|
11660
|
-
then?: (persister
|
|
11659
|
+
then?: (persister: Persister<Schemas>) => Promise<void>,
|
|
11661
11660
|
thenDeps?: React.DependencyList,
|
|
11662
|
-
destroy?: (persister:
|
|
11661
|
+
destroy?: (persister: Persister<Schemas>) => void,
|
|
11663
11662
|
destroyDeps?: React.DependencyList,
|
|
11664
11663
|
) => PersisterOrUndefined;
|
|
11665
11664
|
|
|
11665
|
+
/**
|
|
11666
|
+
* The useCreateSynchronizer hook is used to create a Synchronizer within a
|
|
11667
|
+
* React application along with convenient memoization and callbacks.
|
|
11668
|
+
*
|
|
11669
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
11670
|
+
*
|
|
11671
|
+
* ```ts override
|
|
11672
|
+
* useCreateSynchronizer<
|
|
11673
|
+
* SynchronizerOrUndefined extends Synchronizer | undefined,
|
|
11674
|
+
* >(
|
|
11675
|
+
* store: MergeableStore,
|
|
11676
|
+
* create: (store: MergeableStore) => Promise<SynchronizerOrUndefined>,
|
|
11677
|
+
* createDeps?: React.DependencyList,
|
|
11678
|
+
* then?: (synchronizer: Synchronizer) => Promise<void>,
|
|
11679
|
+
* thenDeps?: React.DependencyList,
|
|
11680
|
+
* destroy?: (synchronizer: Synchronizer) => void,
|
|
11681
|
+
* destroyDeps?: React.DependencyList,
|
|
11682
|
+
* ): SynchronizerOrUndefined;
|
|
11683
|
+
* ```
|
|
11684
|
+
*
|
|
11685
|
+
* It is possible to create a Synchronizer outside of the React app with the
|
|
11686
|
+
* regular createSynchronizer function and pass it in, but you may prefer to
|
|
11687
|
+
* create it within the app, perhaps inside the top-level component. To prevent
|
|
11688
|
+
* a new Synchronizer being created every time the app renders or re-renders,
|
|
11689
|
+
* the useCreateMetrics hook performs the creation in an effect.
|
|
11690
|
+
*
|
|
11691
|
+
* If your asynchronous `create` function (the second parameter to the hook)
|
|
11692
|
+
* contains dependencies, the changing of which should cause the Synchronizer to
|
|
11693
|
+
* be recreated, you can provide them in an array in the third parameter, just
|
|
11694
|
+
* as you would for any React hook with dependencies. The MergeableStore passed
|
|
11695
|
+
* in as the first parameter of this hook is used as a dependency by default.
|
|
11696
|
+
*
|
|
11697
|
+
* A second callback, called `then`, can be provided as the fourth parameter.
|
|
11698
|
+
* This is called after the creation, and can also be asynchronous, so that you
|
|
11699
|
+
* can configure the Synchronizer with the startSync method, for example. If
|
|
11700
|
+
* this callback contains dependencies, the changing of which should cause the
|
|
11701
|
+
* Synchronizer to be reconfigured, you can provide them in an array in the
|
|
11702
|
+
* fifth parameter. The Synchronizer itself is used as a dependency by default.
|
|
11703
|
+
*
|
|
11704
|
+
* The `create` function can return undefined, meaning that you can enable or
|
|
11705
|
+
* disable synchronization conditionally within this hook. This is useful for
|
|
11706
|
+
* applications which might turn on or off their cloud synchronization or
|
|
11707
|
+
* collaboration features.
|
|
11708
|
+
*
|
|
11709
|
+
* This hook ensures the Synchronizer object is destroyed whenever a new one is
|
|
11710
|
+
* created or the component is unmounted.
|
|
11711
|
+
* @param store A reference to the MergeableStore for which to create a new
|
|
11712
|
+
* Synchronizer object.
|
|
11713
|
+
* @param create An asynchronous function for performing the creation steps of
|
|
11714
|
+
* the Synchronizer object for the Store.
|
|
11715
|
+
* @param createDeps An optional array of dependencies for the `create`
|
|
11716
|
+
* function, which, if any change, result in its rerun. This parameter defaults
|
|
11717
|
+
* to an empty array.
|
|
11718
|
+
* @param then An optional callback for performing asynchronous post-creation
|
|
11719
|
+
* steps on the Synchronizer, such as starting automatic synchronization.
|
|
11720
|
+
* @param thenDeps An optional array of dependencies for the `then` callback,
|
|
11721
|
+
* which, if any change, result in its rerun. This parameter defaults to an
|
|
11722
|
+
* empty array.
|
|
11723
|
+
* @param destroy An optional callback whenever the Synchronizer is destroyed
|
|
11724
|
+
* due to a change in the `createDeps` dependencies.
|
|
11725
|
+
* @param destroyDeps An optional array of dependencies for the `destroy`
|
|
11726
|
+
* callback, which, if any change, result in `destroy` and `then` being rerun.
|
|
11727
|
+
* This parameter defaults to an empty array.
|
|
11728
|
+
* @returns A reference to the Synchronizer.
|
|
11729
|
+
* @example
|
|
11730
|
+
* This example creates a Synchronizer at the top level of a React application.
|
|
11731
|
+
* Even though the App component is rendered twice, the Synchronizer creation
|
|
11732
|
+
* only occurs once by default.
|
|
11733
|
+
*
|
|
11734
|
+
* ```jsx
|
|
11735
|
+
* const App = () => {
|
|
11736
|
+
* const store = useCreateMergeableStore(() => createMergeableStore('s1'));
|
|
11737
|
+
* const synchronizer = useCreateSynchronizer(store, async (store) => {
|
|
11738
|
+
* console.log('Synchronizer created');
|
|
11739
|
+
* return await createLocalSynchronizer(store, 'pets');
|
|
11740
|
+
* });
|
|
11741
|
+
* return <span>{JSON.stringify(useTables(store))}</span>;
|
|
11742
|
+
* };
|
|
11743
|
+
*
|
|
11744
|
+
* const app = document.createElement('div');
|
|
11745
|
+
* const root = ReactDOMClient.createRoot(app);
|
|
11746
|
+
* root.render(<App />); // !act
|
|
11747
|
+
* // -> 'Synchronizer created'
|
|
11748
|
+
*
|
|
11749
|
+
* // ... // !act
|
|
11750
|
+
* root.render(<App />); // !act
|
|
11751
|
+
* // No second Synchronizer creation
|
|
11752
|
+
*
|
|
11753
|
+
* root.unmount(); // !act
|
|
11754
|
+
* ```
|
|
11755
|
+
* @example
|
|
11756
|
+
* This example creates a Synchronizer at the top level of a React application.
|
|
11757
|
+
* The App component is rendered twice, each with a different top-level prop.
|
|
11758
|
+
* The useCreateSynchronizer hook takes the `url` prop as a dependency, and so
|
|
11759
|
+
* the Synchronizer object is created again on the second render. The first is
|
|
11760
|
+
* destroyed and the `destroy` parameter is called for it. A `then` parameter
|
|
11761
|
+
* is provided to start both Synchronizers' synchronization.
|
|
11762
|
+
*
|
|
11763
|
+
* ```jsx
|
|
11764
|
+
* const server1 = createWsServer(new ws.WebSocketServer({port: 8044}));
|
|
11765
|
+
* const server2 = createWsServer(new ws.WebSocketServer({port: 8045}));
|
|
11766
|
+
*
|
|
11767
|
+
* const App = ({url}) => {
|
|
11768
|
+
* const store = useCreateMergeableStore(() => createMergeableStore('s1'));
|
|
11769
|
+
* const synchronizer = useCreateSynchronizer(
|
|
11770
|
+
* store,
|
|
11771
|
+
* async (store) => {
|
|
11772
|
+
* const webSocket = new WebSocket(url);
|
|
11773
|
+
* console.log(`Synchronizer created for ${webSocket.url}`);
|
|
11774
|
+
* return await createWsSynchronizer(store, webSocket);
|
|
11775
|
+
* },
|
|
11776
|
+
* [url],
|
|
11777
|
+
* async (synchronizer) => {
|
|
11778
|
+
* await synchronizer.startSync();
|
|
11779
|
+
* },
|
|
11780
|
+
* [],
|
|
11781
|
+
* (synchronizer) => {
|
|
11782
|
+
* const webSocket = synchronizer.getWebSocket();
|
|
11783
|
+
* console.log(`Synchronizer destroyed for ${webSocket.url}`);
|
|
11784
|
+
* },
|
|
11785
|
+
* );
|
|
11786
|
+
* return <span>{JSON.stringify(useTables(store))}</span>;
|
|
11787
|
+
* };
|
|
11788
|
+
*
|
|
11789
|
+
* const app = document.createElement('div');
|
|
11790
|
+
* const root = ReactDOMClient.createRoot(app);
|
|
11791
|
+
* root.render(<App url="ws://localhost:8044/" />); // !act
|
|
11792
|
+
* // ... // !act
|
|
11793
|
+
* // -> 'Synchronizer created for ws://localhost:8044/'
|
|
11794
|
+
*
|
|
11795
|
+
* root.render(<App url="ws://localhost:8045/" />); // !act
|
|
11796
|
+
* // ... // !act
|
|
11797
|
+
* // -> 'Synchronizer created for ws://localhost:8045/'
|
|
11798
|
+
* // -> 'Synchronizer destroyed for ws://localhost:8044/'
|
|
11799
|
+
*
|
|
11800
|
+
* root.unmount(); // !act
|
|
11801
|
+
* // -> 'Synchronizer destroyed for ws://localhost:8045/'
|
|
11802
|
+
*
|
|
11803
|
+
* server1.destroy();
|
|
11804
|
+
* server2.destroy();
|
|
11805
|
+
* ```
|
|
11806
|
+
* @category Synchronizer hooks
|
|
11807
|
+
* @since v5.0.0
|
|
11808
|
+
*/
|
|
11809
|
+
useCreateSynchronizer: <
|
|
11810
|
+
SynchronizerOrUndefined extends Synchronizer<Schemas> | undefined,
|
|
11811
|
+
>(
|
|
11812
|
+
store: MergeableStore<Schemas>,
|
|
11813
|
+
create: (
|
|
11814
|
+
store: MergeableStore<Schemas>,
|
|
11815
|
+
) => Promise<SynchronizerOrUndefined>,
|
|
11816
|
+
createDeps?: React.DependencyList,
|
|
11817
|
+
then?: (synchronizer: Synchronizer<Schemas>) => Promise<void>,
|
|
11818
|
+
thenDeps?: React.DependencyList,
|
|
11819
|
+
destroy?: (synchronizer: Synchronizer<Schemas>) => void,
|
|
11820
|
+
destroyDeps?: React.DependencyList,
|
|
11821
|
+
) => SynchronizerOrUndefined;
|
|
11822
|
+
|
|
11666
11823
|
/**
|
|
11667
11824
|
* The ExtraProps type represents a set of arbitrary additional props.
|
|
11668
11825
|
* @category Props
|