tinybase 5.0.0-beta.10 → 5.0.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/mergeable-store.cjs +1 -1
- package/lib/cjs/mergeable-store.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-browser.cjs +1 -1
- package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-file.cjs +1 -1
- package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-libsql.cjs +1 -1
- package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
- package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-powersync.cjs +1 -1
- package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -1
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -1
- package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -1
- package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-ws-server.cjs +1 -1
- package/lib/cjs/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
- package/lib/cjs/synchronizers.cjs +1 -1
- package/lib/cjs/synchronizers.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs/ui-react.cjs +1 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/mergeable-store.cjs +1 -1
- package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -1
- package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -1
- package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -1
- package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers.cjs +1 -1
- package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/mergeable-store.js +1 -1
- package/lib/debug/persisters/persister-automerge.js +113 -101
- package/lib/debug/persisters/persister-browser.js +113 -97
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +113 -102
- package/lib/debug/persisters/persister-electric-sql.js +113 -102
- package/lib/debug/persisters/persister-expo-sqlite-next.js +113 -102
- package/lib/debug/persisters/persister-expo-sqlite.js +113 -102
- package/lib/debug/persisters/persister-file.js +108 -96
- package/lib/debug/persisters/persister-indexed-db.js +108 -96
- package/lib/debug/persisters/persister-libsql.js +113 -102
- package/lib/debug/persisters/persister-partykit-client.js +112 -100
- package/lib/debug/persisters/persister-powersync.js +113 -102
- package/lib/debug/persisters/persister-remote.js +108 -96
- package/lib/debug/persisters/persister-sqlite-wasm.js +113 -102
- package/lib/debug/persisters/persister-sqlite3.js +113 -102
- package/lib/debug/persisters/persister-yjs.js +113 -101
- package/lib/debug/persisters.js +107 -95
- package/lib/debug/store.js +1 -1
- package/lib/debug/synchronizers/synchronizer-local.js +114 -102
- package/lib/debug/synchronizers/synchronizer-ws-client.js +113 -101
- package/lib/debug/synchronizers/synchronizer-ws-server.js +151 -6
- package/lib/debug/synchronizers.js +113 -101
- package/lib/debug/tinybase.js +114 -102
- package/lib/debug/ui-react-dom.js +114 -98
- package/lib/debug/ui-react.js +10 -21
- package/lib/es6/mergeable-store.js +1 -1
- package/lib/es6/mergeable-store.js.gz +0 -0
- package/lib/es6/persisters/persister-automerge.js +1 -1
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-browser.js +1 -1
- package/lib/es6/persisters/persister-browser.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-electric-sql.js +1 -1
- package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-file.js +1 -1
- package/lib/es6/persisters/persister-file.js.gz +0 -0
- package/lib/es6/persisters/persister-indexed-db.js +1 -1
- package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/es6/persisters/persister-libsql.js +1 -1
- package/lib/es6/persisters/persister-libsql.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-client.js +1 -1
- package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/es6/persisters/persister-powersync.js +1 -1
- package/lib/es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -1
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-local.js +1 -1
- package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -1
- package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/es6/synchronizers.js +1 -1
- package/lib/es6/synchronizers.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/ui-react-dom-debug.js +1 -1
- package/lib/es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/mergeable-store.js +1 -1
- package/lib/mergeable-store.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -1
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-browser.js +1 -1
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-electric-sql.js +1 -1
- package/lib/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +1 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-file.js +1 -1
- package/lib/persisters/persister-file.js.gz +0 -0
- package/lib/persisters/persister-indexed-db.js +1 -1
- package/lib/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/persisters/persister-libsql.js +1 -1
- package/lib/persisters/persister-libsql.js.gz +0 -0
- package/lib/persisters/persister-partykit-client.js +1 -1
- package/lib/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/persisters/persister-powersync.js +1 -1
- package/lib/persisters/persister-powersync.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -1
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/synchronizers/synchronizer-local.js +1 -1
- package/lib/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/synchronizers/synchronizer-ws-server.js +1 -1
- package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/synchronizers.js +1 -1
- package/lib/synchronizers.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/types/persisters/persister-browser.d.ts +2 -2
- package/lib/types/persisters/persister-file.d.ts +1 -1
- package/lib/types/persisters/persister-partykit-client.d.ts +0 -1
- package/lib/types/persisters/persister-partykit-server.d.ts +0 -1
- package/lib/types/persisters.d.ts +73 -47
- package/lib/types/synchronizers/synchronizer-ws-client.d.ts +1 -0
- package/lib/types/synchronizers/synchronizer-ws-server.d.ts +25 -3
- package/lib/types/synchronizers.d.ts +1 -1
- package/lib/types/ui-react.d.ts +1 -19
- package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -2
- package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +0 -1
- package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +0 -1
- package/lib/types/with-schemas/persisters.d.ts +99 -87
- package/lib/types/with-schemas/synchronizers/synchronizer-ws-client.d.ts +1 -0
- package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +25 -3
- package/lib/types/with-schemas/synchronizers.d.ts +1 -1
- package/lib/types/with-schemas/ui-react.d.ts +1 -21
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/mergeable-store.js +1 -1
- package/lib/umd/mergeable-store.js.gz +0 -0
- package/lib/umd/persisters/persister-automerge.js +1 -1
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +1 -1
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-electric-sql.js +1 -1
- package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +1 -1
- package/lib/umd/persisters/persister-file.js.gz +0 -0
- package/lib/umd/persisters/persister-indexed-db.js +1 -1
- package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd/persisters/persister-libsql.js +1 -1
- package/lib/umd/persisters/persister-libsql.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-client.js +1 -1
- package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd/persisters/persister-powersync.js +1 -1
- package/lib/umd/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -1
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-local.js +1 -1
- package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-ws-server.js +1 -1
- package/lib/umd/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/umd/synchronizers.js +1 -1
- package/lib/umd/synchronizers.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/ui-react-dom-debug.js +1 -1
- package/lib/umd/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd/ui-react.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/mergeable-store.js +1 -1
- package/lib/umd-es6/mergeable-store.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -1
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +1 -1
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
- package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +1 -1
- package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
- package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-libsql.js +1 -1
- package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
- package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-powersync.js +1 -1
- package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -1
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -1
- package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-server.js +1 -1
- package/lib/umd-es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/umd-es6/synchronizers.js +1 -1
- package/lib/umd-es6/synchronizers.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom-debug.js +1 -1
- package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +1 -1
- package/readme.md +2 -2
package/lib/debug/tinybase.js
CHANGED
|
@@ -1118,24 +1118,27 @@ const createMetrics = getCreateFunction((store) => {
|
|
|
1118
1118
|
|
|
1119
1119
|
const scheduleRunning = mapNew();
|
|
1120
1120
|
const scheduleActions = mapNew();
|
|
1121
|
-
const getStoreFunctions = (
|
|
1122
|
-
|
|
1121
|
+
const getStoreFunctions = (supportedStoreType = 1, store) =>
|
|
1122
|
+
supportedStoreType > 1 && 'getMergeableContent' in store
|
|
1123
1123
|
? [
|
|
1124
|
-
0,
|
|
1125
|
-
store.getContent,
|
|
1126
|
-
store.getTransactionChanges,
|
|
1127
|
-
([changedTables, changedValues]) =>
|
|
1128
|
-
!objIsEmpty(changedTables) || !objIsEmpty(changedValues),
|
|
1129
|
-
store.setContent,
|
|
1130
|
-
]
|
|
1131
|
-
: [
|
|
1132
1124
|
1,
|
|
1133
1125
|
store.getMergeableContent,
|
|
1134
1126
|
store.getTransactionMergeableChanges,
|
|
1135
1127
|
([[changedTables], [changedValues]]) =>
|
|
1136
1128
|
!objIsEmpty(changedTables) || !objIsEmpty(changedValues),
|
|
1137
1129
|
store.setDefaultContent,
|
|
1138
|
-
]
|
|
1130
|
+
]
|
|
1131
|
+
: supportedStoreType != 2
|
|
1132
|
+
? [
|
|
1133
|
+
0,
|
|
1134
|
+
store.getContent,
|
|
1135
|
+
store.getTransactionChanges,
|
|
1136
|
+
([changedTables, changedValues]) =>
|
|
1137
|
+
!objIsEmpty(changedTables) || !objIsEmpty(changedValues),
|
|
1138
|
+
store.setContent,
|
|
1139
|
+
]
|
|
1140
|
+
: /* istanbul ignore next */
|
|
1141
|
+
0;
|
|
1139
1142
|
const createCustomPersister = (
|
|
1140
1143
|
store,
|
|
1141
1144
|
getPersisted,
|
|
@@ -1143,7 +1146,7 @@ const createCustomPersister = (
|
|
|
1143
1146
|
addPersisterListener,
|
|
1144
1147
|
delPersisterListener,
|
|
1145
1148
|
onIgnoredError,
|
|
1146
|
-
|
|
1149
|
+
supportedStoreType,
|
|
1147
1150
|
extra = {},
|
|
1148
1151
|
scheduleId = [],
|
|
1149
1152
|
) => {
|
|
@@ -1161,7 +1164,7 @@ const createCustomPersister = (
|
|
|
1161
1164
|
getChanges,
|
|
1162
1165
|
hasChanges,
|
|
1163
1166
|
setDefaultContent,
|
|
1164
|
-
] = getStoreFunctions(
|
|
1167
|
+
] = getStoreFunctions(supportedStoreType, store);
|
|
1165
1168
|
const run = async () => {
|
|
1166
1169
|
/* istanbul ignore else */
|
|
1167
1170
|
if (!mapGet(scheduleRunning, scheduleId)) {
|
|
@@ -1179,20 +1182,6 @@ const createCustomPersister = (
|
|
|
1179
1182
|
mapSet(scheduleRunning, scheduleId, 0);
|
|
1180
1183
|
}
|
|
1181
1184
|
};
|
|
1182
|
-
const loadLock = async (actions) => {
|
|
1183
|
-
/* istanbul ignore else */
|
|
1184
|
-
if (loadSave != 2) {
|
|
1185
|
-
loadSave = 1;
|
|
1186
|
-
{
|
|
1187
|
-
loads++;
|
|
1188
|
-
}
|
|
1189
|
-
await persister.schedule(async () => {
|
|
1190
|
-
await actions();
|
|
1191
|
-
loadSave = 0;
|
|
1192
|
-
});
|
|
1193
|
-
}
|
|
1194
|
-
return persister;
|
|
1195
|
-
};
|
|
1196
1185
|
const setContentOrChanges = (contentOrChanges) => {
|
|
1197
1186
|
(isMergeableStore && isArray(contentOrChanges?.[0])
|
|
1198
1187
|
? contentOrChanges?.[2] === 1
|
|
@@ -1202,9 +1191,14 @@ const createCustomPersister = (
|
|
|
1202
1191
|
? store.applyChanges
|
|
1203
1192
|
: store.setContent)(contentOrChanges);
|
|
1204
1193
|
};
|
|
1205
|
-
const
|
|
1206
|
-
|
|
1207
|
-
|
|
1194
|
+
const load = async (initialContent) => {
|
|
1195
|
+
/* istanbul ignore else */
|
|
1196
|
+
if (loadSave != 2) {
|
|
1197
|
+
loadSave = 1;
|
|
1198
|
+
{
|
|
1199
|
+
loads++;
|
|
1200
|
+
}
|
|
1201
|
+
await schedule(async () => {
|
|
1208
1202
|
try {
|
|
1209
1203
|
setContentOrChanges(await getPersisted());
|
|
1210
1204
|
} catch (error) {
|
|
@@ -1213,76 +1207,94 @@ const createCustomPersister = (
|
|
|
1213
1207
|
setDefaultContent(initialContent);
|
|
1214
1208
|
}
|
|
1215
1209
|
}
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
});
|
|
1231
|
-
},
|
|
1232
|
-
);
|
|
1233
|
-
return persister;
|
|
1234
|
-
},
|
|
1235
|
-
stopAutoLoad: () => {
|
|
1236
|
-
if (autoLoadHandle) {
|
|
1237
|
-
delPersisterListener(autoLoadHandle);
|
|
1238
|
-
autoLoadHandle = void 0;
|
|
1239
|
-
}
|
|
1240
|
-
return persister;
|
|
1241
|
-
},
|
|
1242
|
-
isAutoLoading: () => !isUndefined(autoLoadHandle),
|
|
1243
|
-
save: async (getChanges2) => {
|
|
1244
|
-
/* istanbul ignore else */
|
|
1245
|
-
if (loadSave != 1) {
|
|
1246
|
-
loadSave = 2;
|
|
1247
|
-
{
|
|
1248
|
-
saves++;
|
|
1249
|
-
}
|
|
1250
|
-
await persister.schedule(async () => {
|
|
1251
|
-
try {
|
|
1252
|
-
await setPersisted(getContent, getChanges2);
|
|
1253
|
-
} catch (error) {
|
|
1254
|
-
/* istanbul ignore next */
|
|
1255
|
-
onIgnoredError?.(error);
|
|
1210
|
+
loadSave = 0;
|
|
1211
|
+
});
|
|
1212
|
+
}
|
|
1213
|
+
return persister;
|
|
1214
|
+
};
|
|
1215
|
+
const startAutoLoad = async (initialContent) => {
|
|
1216
|
+
await stopAutoLoad().load(initialContent);
|
|
1217
|
+
autoLoadHandle = addPersisterListener(async (content, changes) => {
|
|
1218
|
+
if (changes || content) {
|
|
1219
|
+
/* istanbul ignore else */
|
|
1220
|
+
if (loadSave != 2) {
|
|
1221
|
+
loadSave = 1;
|
|
1222
|
+
{
|
|
1223
|
+
loads++;
|
|
1256
1224
|
}
|
|
1225
|
+
setContentOrChanges(changes ?? content);
|
|
1257
1226
|
loadSave = 0;
|
|
1258
|
-
}
|
|
1227
|
+
}
|
|
1228
|
+
} else {
|
|
1229
|
+
await load();
|
|
1259
1230
|
}
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1231
|
+
});
|
|
1232
|
+
return persister;
|
|
1233
|
+
};
|
|
1234
|
+
const stopAutoLoad = () => {
|
|
1235
|
+
if (autoLoadHandle) {
|
|
1236
|
+
delPersisterListener(autoLoadHandle);
|
|
1237
|
+
autoLoadHandle = void 0;
|
|
1238
|
+
}
|
|
1239
|
+
return persister;
|
|
1240
|
+
};
|
|
1241
|
+
const isAutoLoading = () => !isUndefined(autoLoadHandle);
|
|
1242
|
+
const save = async (changes) => {
|
|
1243
|
+
/* istanbul ignore else */
|
|
1244
|
+
if (loadSave != 1) {
|
|
1245
|
+
loadSave = 2;
|
|
1246
|
+
{
|
|
1247
|
+
saves++;
|
|
1248
|
+
}
|
|
1249
|
+
await schedule(async () => {
|
|
1250
|
+
try {
|
|
1251
|
+
await setPersisted(getContent, changes);
|
|
1252
|
+
} catch (error) {
|
|
1253
|
+
/* istanbul ignore next */
|
|
1254
|
+
onIgnoredError?.(error);
|
|
1268
1255
|
}
|
|
1256
|
+
loadSave = 0;
|
|
1269
1257
|
});
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1258
|
+
}
|
|
1259
|
+
return persister;
|
|
1260
|
+
};
|
|
1261
|
+
const startAutoSave = async () => {
|
|
1262
|
+
await stopAutoSave().save();
|
|
1263
|
+
autoSaveListenerId = store.addDidFinishTransactionListener(() => {
|
|
1264
|
+
const changes = getChanges();
|
|
1265
|
+
if (hasChanges(changes)) {
|
|
1266
|
+
save(changes);
|
|
1267
|
+
}
|
|
1268
|
+
});
|
|
1269
|
+
return persister;
|
|
1270
|
+
};
|
|
1271
|
+
const stopAutoSave = () => {
|
|
1272
|
+
ifNotUndefined(autoSaveListenerId, store.delListener);
|
|
1273
|
+
autoSaveListenerId = void 0;
|
|
1274
|
+
return persister;
|
|
1275
|
+
};
|
|
1276
|
+
const isAutoSaving = () => !isUndefined(autoSaveListenerId);
|
|
1277
|
+
const schedule = async (...actions) => {
|
|
1278
|
+
arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
|
|
1279
|
+
await run();
|
|
1280
|
+
return persister;
|
|
1281
|
+
};
|
|
1282
|
+
const getStore = () => store;
|
|
1283
|
+
const destroy = () => stopAutoLoad().stopAutoSave();
|
|
1284
|
+
const getStats = () => ({loads, saves});
|
|
1285
|
+
const persister = {
|
|
1286
|
+
load,
|
|
1287
|
+
startAutoLoad,
|
|
1288
|
+
stopAutoLoad,
|
|
1289
|
+
isAutoLoading,
|
|
1290
|
+
save,
|
|
1291
|
+
startAutoSave,
|
|
1292
|
+
stopAutoSave,
|
|
1293
|
+
isAutoSaving,
|
|
1294
|
+
schedule,
|
|
1295
|
+
getStore,
|
|
1296
|
+
destroy,
|
|
1297
|
+
getStats,
|
|
1286
1298
|
...extra,
|
|
1287
1299
|
};
|
|
1288
1300
|
return objFreeze(persister);
|
|
@@ -1442,10 +1454,10 @@ const createCustomSynchronizer = (
|
|
|
1442
1454
|
);
|
|
1443
1455
|
} else if (messageType == CONTENT_HASHES && persister.isAutoLoading()) {
|
|
1444
1456
|
getChangesFromOtherStore(fromClientId, messageBody).then((changes) => {
|
|
1445
|
-
persisterListener?.(void 0,
|
|
1457
|
+
persisterListener?.(void 0, changes);
|
|
1446
1458
|
});
|
|
1447
1459
|
} else if (messageType == CONTENT_DIFF && persister.isAutoLoading()) {
|
|
1448
|
-
persisterListener?.(void 0,
|
|
1460
|
+
persisterListener?.(void 0, messageBody);
|
|
1449
1461
|
} else {
|
|
1450
1462
|
ifNotUndefined(
|
|
1451
1463
|
messageType == GET_CONTENT_HASHES && persister.isAutoSaving()
|
|
@@ -1569,12 +1581,12 @@ const createCustomSynchronizer = (
|
|
|
1569
1581
|
? changes
|
|
1570
1582
|
: void 0;
|
|
1571
1583
|
};
|
|
1572
|
-
const setPersisted = async (
|
|
1584
|
+
const setPersisted = async (_getContent, changes) => {
|
|
1573
1585
|
{
|
|
1574
1586
|
sends++;
|
|
1575
1587
|
}
|
|
1576
|
-
if (
|
|
1577
|
-
send(null, null, CONTENT_DIFF,
|
|
1588
|
+
if (changes) {
|
|
1589
|
+
send(null, null, CONTENT_DIFF, changes);
|
|
1578
1590
|
} else {
|
|
1579
1591
|
send(null, null, CONTENT_HASHES, store.getMergeableContentHashes());
|
|
1580
1592
|
}
|
|
@@ -1596,7 +1608,7 @@ const createCustomSynchronizer = (
|
|
|
1596
1608
|
addPersisterListener,
|
|
1597
1609
|
delPersisterListener,
|
|
1598
1610
|
onIgnoredError,
|
|
1599
|
-
|
|
1611
|
+
2,
|
|
1600
1612
|
{startSync, stopSync, destroy, getSynchronizerStats, ...extra},
|
|
1601
1613
|
);
|
|
1602
1614
|
return persister;
|
|
@@ -3209,7 +3221,7 @@ const createStore = () => {
|
|
|
3209
3221
|
}
|
|
3210
3222
|
if (transactions == 1) {
|
|
3211
3223
|
internalListeners[0]?.();
|
|
3212
|
-
callListeners(startTransactionListeners
|
|
3224
|
+
callListeners(startTransactionListeners);
|
|
3213
3225
|
}
|
|
3214
3226
|
return store;
|
|
3215
3227
|
};
|
|
@@ -1624,24 +1624,27 @@ const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
|
1624
1624
|
|
|
1625
1625
|
const scheduleRunning = mapNew();
|
|
1626
1626
|
const scheduleActions = mapNew();
|
|
1627
|
-
const getStoreFunctions = (
|
|
1628
|
-
|
|
1627
|
+
const getStoreFunctions = (supportedStoreType = 1, store) =>
|
|
1628
|
+
supportedStoreType > 1 && 'getMergeableContent' in store
|
|
1629
1629
|
? [
|
|
1630
|
-
0,
|
|
1631
|
-
store.getContent,
|
|
1632
|
-
store.getTransactionChanges,
|
|
1633
|
-
([changedTables, changedValues]) =>
|
|
1634
|
-
!objIsEmpty(changedTables) || !objIsEmpty(changedValues),
|
|
1635
|
-
store.setContent,
|
|
1636
|
-
]
|
|
1637
|
-
: [
|
|
1638
1630
|
1,
|
|
1639
1631
|
store.getMergeableContent,
|
|
1640
1632
|
store.getTransactionMergeableChanges,
|
|
1641
1633
|
([[changedTables], [changedValues]]) =>
|
|
1642
1634
|
!objIsEmpty(changedTables) || !objIsEmpty(changedValues),
|
|
1643
1635
|
store.setDefaultContent,
|
|
1644
|
-
]
|
|
1636
|
+
]
|
|
1637
|
+
: supportedStoreType != 2
|
|
1638
|
+
? [
|
|
1639
|
+
0,
|
|
1640
|
+
store.getContent,
|
|
1641
|
+
store.getTransactionChanges,
|
|
1642
|
+
([changedTables, changedValues]) =>
|
|
1643
|
+
!objIsEmpty(changedTables) || !objIsEmpty(changedValues),
|
|
1644
|
+
store.setContent,
|
|
1645
|
+
]
|
|
1646
|
+
: /* istanbul ignore next */
|
|
1647
|
+
0;
|
|
1645
1648
|
const createCustomPersister = (
|
|
1646
1649
|
store,
|
|
1647
1650
|
getPersisted,
|
|
@@ -1649,7 +1652,7 @@ const createCustomPersister = (
|
|
|
1649
1652
|
addPersisterListener,
|
|
1650
1653
|
delPersisterListener,
|
|
1651
1654
|
onIgnoredError,
|
|
1652
|
-
|
|
1655
|
+
supportedStoreType,
|
|
1653
1656
|
extra = {},
|
|
1654
1657
|
scheduleId = [],
|
|
1655
1658
|
) => {
|
|
@@ -1667,7 +1670,7 @@ const createCustomPersister = (
|
|
|
1667
1670
|
getChanges,
|
|
1668
1671
|
hasChanges,
|
|
1669
1672
|
setDefaultContent,
|
|
1670
|
-
] = getStoreFunctions(
|
|
1673
|
+
] = getStoreFunctions(supportedStoreType, store);
|
|
1671
1674
|
const run = async () => {
|
|
1672
1675
|
/* istanbul ignore else */
|
|
1673
1676
|
if (!mapGet(scheduleRunning, scheduleId)) {
|
|
@@ -1685,20 +1688,6 @@ const createCustomPersister = (
|
|
|
1685
1688
|
mapSet(scheduleRunning, scheduleId, 0);
|
|
1686
1689
|
}
|
|
1687
1690
|
};
|
|
1688
|
-
const loadLock = async (actions) => {
|
|
1689
|
-
/* istanbul ignore else */
|
|
1690
|
-
if (loadSave != 2) {
|
|
1691
|
-
loadSave = 1;
|
|
1692
|
-
{
|
|
1693
|
-
loads++;
|
|
1694
|
-
}
|
|
1695
|
-
await persister.schedule(async () => {
|
|
1696
|
-
await actions();
|
|
1697
|
-
loadSave = 0;
|
|
1698
|
-
});
|
|
1699
|
-
}
|
|
1700
|
-
return persister;
|
|
1701
|
-
};
|
|
1702
1691
|
const setContentOrChanges = (contentOrChanges) => {
|
|
1703
1692
|
(isMergeableStore && isArray(contentOrChanges?.[0])
|
|
1704
1693
|
? contentOrChanges?.[2] === 1
|
|
@@ -1708,9 +1697,14 @@ const createCustomPersister = (
|
|
|
1708
1697
|
? store.applyChanges
|
|
1709
1698
|
: store.setContent)(contentOrChanges);
|
|
1710
1699
|
};
|
|
1711
|
-
const
|
|
1712
|
-
|
|
1713
|
-
|
|
1700
|
+
const load = async (initialContent) => {
|
|
1701
|
+
/* istanbul ignore else */
|
|
1702
|
+
if (loadSave != 2) {
|
|
1703
|
+
loadSave = 1;
|
|
1704
|
+
{
|
|
1705
|
+
loads++;
|
|
1706
|
+
}
|
|
1707
|
+
await schedule(async () => {
|
|
1714
1708
|
try {
|
|
1715
1709
|
setContentOrChanges(await getPersisted());
|
|
1716
1710
|
} catch (error) {
|
|
@@ -1719,76 +1713,94 @@ const createCustomPersister = (
|
|
|
1719
1713
|
setDefaultContent(initialContent);
|
|
1720
1714
|
}
|
|
1721
1715
|
}
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
});
|
|
1737
|
-
},
|
|
1738
|
-
);
|
|
1739
|
-
return persister;
|
|
1740
|
-
},
|
|
1741
|
-
stopAutoLoad: () => {
|
|
1742
|
-
if (autoLoadHandle) {
|
|
1743
|
-
delPersisterListener(autoLoadHandle);
|
|
1744
|
-
autoLoadHandle = void 0;
|
|
1745
|
-
}
|
|
1746
|
-
return persister;
|
|
1747
|
-
},
|
|
1748
|
-
isAutoLoading: () => !isUndefined(autoLoadHandle),
|
|
1749
|
-
save: async (getChanges2) => {
|
|
1750
|
-
/* istanbul ignore else */
|
|
1751
|
-
if (loadSave != 1) {
|
|
1752
|
-
loadSave = 2;
|
|
1753
|
-
{
|
|
1754
|
-
saves++;
|
|
1755
|
-
}
|
|
1756
|
-
await persister.schedule(async () => {
|
|
1757
|
-
try {
|
|
1758
|
-
await setPersisted(getContent, getChanges2);
|
|
1759
|
-
} catch (error) {
|
|
1760
|
-
/* istanbul ignore next */
|
|
1761
|
-
onIgnoredError?.(error);
|
|
1716
|
+
loadSave = 0;
|
|
1717
|
+
});
|
|
1718
|
+
}
|
|
1719
|
+
return persister;
|
|
1720
|
+
};
|
|
1721
|
+
const startAutoLoad = async (initialContent) => {
|
|
1722
|
+
await stopAutoLoad().load(initialContent);
|
|
1723
|
+
autoLoadHandle = addPersisterListener(async (content, changes) => {
|
|
1724
|
+
if (changes || content) {
|
|
1725
|
+
/* istanbul ignore else */
|
|
1726
|
+
if (loadSave != 2) {
|
|
1727
|
+
loadSave = 1;
|
|
1728
|
+
{
|
|
1729
|
+
loads++;
|
|
1762
1730
|
}
|
|
1731
|
+
setContentOrChanges(changes ?? content);
|
|
1763
1732
|
loadSave = 0;
|
|
1764
|
-
}
|
|
1733
|
+
}
|
|
1734
|
+
} else {
|
|
1735
|
+
await load();
|
|
1765
1736
|
}
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1737
|
+
});
|
|
1738
|
+
return persister;
|
|
1739
|
+
};
|
|
1740
|
+
const stopAutoLoad = () => {
|
|
1741
|
+
if (autoLoadHandle) {
|
|
1742
|
+
delPersisterListener(autoLoadHandle);
|
|
1743
|
+
autoLoadHandle = void 0;
|
|
1744
|
+
}
|
|
1745
|
+
return persister;
|
|
1746
|
+
};
|
|
1747
|
+
const isAutoLoading = () => !isUndefined(autoLoadHandle);
|
|
1748
|
+
const save = async (changes) => {
|
|
1749
|
+
/* istanbul ignore else */
|
|
1750
|
+
if (loadSave != 1) {
|
|
1751
|
+
loadSave = 2;
|
|
1752
|
+
{
|
|
1753
|
+
saves++;
|
|
1754
|
+
}
|
|
1755
|
+
await schedule(async () => {
|
|
1756
|
+
try {
|
|
1757
|
+
await setPersisted(getContent, changes);
|
|
1758
|
+
} catch (error) {
|
|
1759
|
+
/* istanbul ignore next */
|
|
1760
|
+
onIgnoredError?.(error);
|
|
1774
1761
|
}
|
|
1762
|
+
loadSave = 0;
|
|
1775
1763
|
});
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1764
|
+
}
|
|
1765
|
+
return persister;
|
|
1766
|
+
};
|
|
1767
|
+
const startAutoSave = async () => {
|
|
1768
|
+
await stopAutoSave().save();
|
|
1769
|
+
autoSaveListenerId = store.addDidFinishTransactionListener(() => {
|
|
1770
|
+
const changes = getChanges();
|
|
1771
|
+
if (hasChanges(changes)) {
|
|
1772
|
+
save(changes);
|
|
1773
|
+
}
|
|
1774
|
+
});
|
|
1775
|
+
return persister;
|
|
1776
|
+
};
|
|
1777
|
+
const stopAutoSave = () => {
|
|
1778
|
+
ifNotUndefined(autoSaveListenerId, store.delListener);
|
|
1779
|
+
autoSaveListenerId = void 0;
|
|
1780
|
+
return persister;
|
|
1781
|
+
};
|
|
1782
|
+
const isAutoSaving = () => !isUndefined(autoSaveListenerId);
|
|
1783
|
+
const schedule = async (...actions) => {
|
|
1784
|
+
arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
|
|
1785
|
+
await run();
|
|
1786
|
+
return persister;
|
|
1787
|
+
};
|
|
1788
|
+
const getStore = () => store;
|
|
1789
|
+
const destroy = () => stopAutoLoad().stopAutoSave();
|
|
1790
|
+
const getStats = () => ({loads, saves});
|
|
1791
|
+
const persister = {
|
|
1792
|
+
load,
|
|
1793
|
+
startAutoLoad,
|
|
1794
|
+
stopAutoLoad,
|
|
1795
|
+
isAutoLoading,
|
|
1796
|
+
save,
|
|
1797
|
+
startAutoSave,
|
|
1798
|
+
stopAutoSave,
|
|
1799
|
+
isAutoSaving,
|
|
1800
|
+
schedule,
|
|
1801
|
+
getStore,
|
|
1802
|
+
destroy,
|
|
1803
|
+
getStats,
|
|
1792
1804
|
...extra,
|
|
1793
1805
|
};
|
|
1794
1806
|
return objFreeze(persister);
|
|
@@ -1809,7 +1821,11 @@ const createStoragePersister = (
|
|
|
1809
1821
|
const addPersisterListener = (listener) => {
|
|
1810
1822
|
const storageListener = (event) => {
|
|
1811
1823
|
if (event.storageArea === storage && event.key === storageName) {
|
|
1812
|
-
|
|
1824
|
+
try {
|
|
1825
|
+
listener(jsonParse(event.newValue));
|
|
1826
|
+
} catch {
|
|
1827
|
+
listener();
|
|
1828
|
+
}
|
|
1813
1829
|
}
|
|
1814
1830
|
};
|
|
1815
1831
|
WINDOW.addEventListener(STORAGE, storageListener);
|
|
@@ -1824,7 +1840,7 @@ const createStoragePersister = (
|
|
|
1824
1840
|
addPersisterListener,
|
|
1825
1841
|
delPersisterListener,
|
|
1826
1842
|
onIgnoredError,
|
|
1827
|
-
|
|
1843
|
+
3,
|
|
1828
1844
|
{getStorageName: () => storageName},
|
|
1829
1845
|
);
|
|
1830
1846
|
};
|
|
@@ -2879,7 +2895,7 @@ const createStore = () => {
|
|
|
2879
2895
|
}
|
|
2880
2896
|
if (transactions == 1) {
|
|
2881
2897
|
internalListeners[0]?.();
|
|
2882
|
-
callListeners(startTransactionListeners
|
|
2898
|
+
callListeners(startTransactionListeners);
|
|
2883
2899
|
}
|
|
2884
2900
|
return store;
|
|
2885
2901
|
};
|
package/lib/debug/ui-react.js
CHANGED
|
@@ -1293,15 +1293,13 @@ const useCreatePersister = (
|
|
|
1293
1293
|
const [persister, setPersister] = useState$2();
|
|
1294
1294
|
useEffect(
|
|
1295
1295
|
() => {
|
|
1296
|
-
const
|
|
1297
|
-
setPersister(
|
|
1298
|
-
if (
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
})();
|
|
1304
|
-
}
|
|
1296
|
+
const persister2 = create(store);
|
|
1297
|
+
setPersister(persister2);
|
|
1298
|
+
if (persister2 && then) {
|
|
1299
|
+
(async () => {
|
|
1300
|
+
await then(persister2);
|
|
1301
|
+
rerender([]);
|
|
1302
|
+
})();
|
|
1305
1303
|
}
|
|
1306
1304
|
},
|
|
1307
1305
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -1323,28 +1321,19 @@ const useCreateSynchronizer = (
|
|
|
1323
1321
|
store,
|
|
1324
1322
|
create,
|
|
1325
1323
|
createDeps = EMPTY_ARRAY,
|
|
1326
|
-
then,
|
|
1327
|
-
thenDeps = EMPTY_ARRAY,
|
|
1328
1324
|
destroy,
|
|
1329
1325
|
destroyDeps = EMPTY_ARRAY,
|
|
1330
1326
|
) => {
|
|
1331
|
-
const [, rerender] = useState$2();
|
|
1332
1327
|
const [synchronizer, setSynchronizer] = useState$2();
|
|
1333
1328
|
useEffect(
|
|
1334
1329
|
() => {
|
|
1335
1330
|
(async () => {
|
|
1336
|
-
const
|
|
1337
|
-
setSynchronizer(
|
|
1338
|
-
if (newSynchronizer && then) {
|
|
1339
|
-
(async () => {
|
|
1340
|
-
await then(newSynchronizer);
|
|
1341
|
-
rerender([]);
|
|
1342
|
-
})();
|
|
1343
|
-
}
|
|
1331
|
+
const synchronizer2 = await create(store);
|
|
1332
|
+
setSynchronizer(synchronizer2);
|
|
1344
1333
|
})();
|
|
1345
1334
|
},
|
|
1346
1335
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1347
|
-
[store, ...createDeps
|
|
1336
|
+
[store, ...createDeps],
|
|
1348
1337
|
);
|
|
1349
1338
|
useEffect(
|
|
1350
1339
|
() => () => {
|