tinybase 5.0.0-beta.7 → 5.0.0-beta.9
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/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/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 +6 -0
- package/lib/debug/persisters/persister-automerge.js +15 -6
- package/lib/debug/persisters/persister-browser.js +15 -6
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +15 -6
- package/lib/debug/persisters/persister-electric-sql.js +15 -6
- package/lib/debug/persisters/persister-expo-sqlite-next.js +15 -6
- package/lib/debug/persisters/persister-expo-sqlite.js +15 -6
- package/lib/debug/persisters/persister-file.js +15 -6
- package/lib/debug/persisters/persister-indexed-db.js +15 -6
- package/lib/debug/persisters/persister-libsql.js +15 -6
- package/lib/debug/persisters/persister-partykit-client.js +15 -6
- package/lib/debug/persisters/persister-powersync.js +15 -6
- package/lib/debug/persisters/persister-remote.js +15 -6
- package/lib/debug/persisters/persister-sqlite-wasm.js +15 -6
- package/lib/debug/persisters/persister-sqlite3.js +15 -6
- package/lib/debug/persisters/persister-yjs.js +15 -6
- package/lib/debug/persisters.js +15 -6
- package/lib/debug/synchronizers/synchronizer-local.js +27 -18
- package/lib/debug/synchronizers/synchronizer-ws-client.js +45 -33
- package/lib/debug/synchronizers/synchronizer-ws-server.js +65 -26
- package/lib/debug/synchronizers.js +27 -18
- package/lib/debug/tinybase.js +33 -18
- package/lib/debug/ui-react-dom.js +22 -10
- package/lib/debug/ui-react.js +54 -5
- 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/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/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/mergeable-store.d.ts +7 -1
- package/lib/types/persisters.d.ts +10 -14
- package/lib/types/synchronizers/synchronizer-ws-client.d.ts +10 -5
- package/lib/types/synchronizers/synchronizer-ws-server.d.ts +12 -0
- package/lib/types/synchronizers.d.ts +3 -2
- package/lib/types/ui-react.d.ts +151 -1
- package/lib/types/with-schemas/mergeable-store.d.ts +7 -0
- package/lib/types/with-schemas/persisters.d.ts +11 -23
- package/lib/types/with-schemas/synchronizers/synchronizer-ws-client.d.ts +15 -6
- package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +12 -0
- package/lib/types/with-schemas/synchronizers.d.ts +4 -4
- package/lib/types/with-schemas/ui-react.d.ts +169 -1
- 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/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/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
|
@@ -46,8 +46,6 @@ import {
|
|
|
46
46
|
OptionalSchemas,
|
|
47
47
|
OptionalTablesSchema,
|
|
48
48
|
Store,
|
|
49
|
-
Tables,
|
|
50
|
-
Values,
|
|
51
49
|
} from './store.d.ts';
|
|
52
50
|
import {
|
|
53
51
|
MergeableChanges,
|
|
@@ -662,7 +660,7 @@ export type DpcTabularValues = {
|
|
|
662
660
|
* const store = createStore();
|
|
663
661
|
* const persister = createSessionPersister(store, 'pets');
|
|
664
662
|
*
|
|
665
|
-
* await persister.startAutoLoad({pets: {fido: {species: 'dog'}}});
|
|
663
|
+
* await persister.startAutoLoad([{pets: {fido: {species: 'dog'}}}, {}]);
|
|
666
664
|
* await persister.startAutoSave();
|
|
667
665
|
*
|
|
668
666
|
* store.setTables({pets: {felix: {species: 'cat'}}});
|
|
@@ -694,10 +692,10 @@ export interface Persister<
|
|
|
694
692
|
* This has schema-based typing. The following is a simplified representation:
|
|
695
693
|
*
|
|
696
694
|
* ```ts override
|
|
697
|
-
* load(
|
|
695
|
+
* load(initialContent?: Content): Promise<this>;
|
|
698
696
|
* ```
|
|
699
697
|
*
|
|
700
|
-
* The optional
|
|
698
|
+
* The optional parameter allows you to specify what the initial content for
|
|
701
699
|
* the Store will be if there is nothing currently persisted or if the load
|
|
702
700
|
* fails (for example when the Persister is remote and the environment is
|
|
703
701
|
* offline). This allows you to fallback or instantiate a Store whether it's
|
|
@@ -707,10 +705,8 @@ export interface Persister<
|
|
|
707
705
|
* machine or a filesystem. Even for those storage types that are synchronous
|
|
708
706
|
* (like browser storage) it is still recommended that you `await` calls to
|
|
709
707
|
* this method or handle the return type natively as a Promise.
|
|
710
|
-
* @param
|
|
708
|
+
* @param initialContent An optional Content object used when the underlying
|
|
711
709
|
* storage has not previously been populated.
|
|
712
|
-
* @param initialValues An optional Values object used when the underlying
|
|
713
|
-
* storage has not previously been populated, since v3.0.
|
|
714
710
|
* @returns A Promise containing a reference to the Persister object.
|
|
715
711
|
* @example
|
|
716
712
|
* This example creates an empty Store, and loads data into it from the
|
|
@@ -739,7 +735,7 @@ export interface Persister<
|
|
|
739
735
|
* const store = createStore();
|
|
740
736
|
* const persister = createSessionPersister(store, 'pets');
|
|
741
737
|
*
|
|
742
|
-
* await persister.load({pets: {fido: {species: 'dog'}}});
|
|
738
|
+
* await persister.load([{pets: {fido: {species: 'dog'}}}, {}]);
|
|
743
739
|
* console.log(store.getTables());
|
|
744
740
|
* // -> {pets: {fido: {species: 'dog'}}}
|
|
745
741
|
*
|
|
@@ -752,10 +748,7 @@ export interface Persister<
|
|
|
752
748
|
* ```
|
|
753
749
|
* @category Load
|
|
754
750
|
*/
|
|
755
|
-
load(
|
|
756
|
-
initialTables?: Tables<Schemas[0], true>,
|
|
757
|
-
initialValues?: Values<Schemas[1], true>,
|
|
758
|
-
): Promise<this>;
|
|
751
|
+
load(initialContent?: Content<Schemas, true>): Promise<this>;
|
|
759
752
|
|
|
760
753
|
/**
|
|
761
754
|
* The startAutoLoad method gets persisted data from storage, and loads it
|
|
@@ -765,10 +758,10 @@ export interface Persister<
|
|
|
765
758
|
* This has schema-based typing. The following is a simplified representation:
|
|
766
759
|
*
|
|
767
760
|
* ```ts override
|
|
768
|
-
* startAutoLoad(
|
|
761
|
+
* startAutoLoad(initialContent?: Content): Promise<this>;
|
|
769
762
|
* ```
|
|
770
763
|
*
|
|
771
|
-
* The optional
|
|
764
|
+
* The optional parameter allows you to specify what the initial content for
|
|
772
765
|
* the Store will be if there is nothing currently persisted or if the load
|
|
773
766
|
* fails (for example when the Persister is remote and the environment is
|
|
774
767
|
* offline). This allows you to fallback or instantiate a Store whether it's
|
|
@@ -783,10 +776,8 @@ export interface Persister<
|
|
|
783
776
|
* the asynchronous load method. Even for those storage types that are
|
|
784
777
|
* synchronous (like browser storage) it is still recommended that you `await`
|
|
785
778
|
* calls to this method or handle the return type natively as a Promise.
|
|
786
|
-
* @param
|
|
779
|
+
* @param initialContent An optional Content object used when the underlying
|
|
787
780
|
* storage has not previously been populated.
|
|
788
|
-
* @param initialValues An optional Values object used when the underlying
|
|
789
|
-
* storage has not previously been populated, since v3.0.
|
|
790
781
|
* @returns A Promise containing a reference to the Persister object.
|
|
791
782
|
* @example
|
|
792
783
|
* This example creates an empty Store, and loads data into it from the
|
|
@@ -799,7 +790,7 @@ export interface Persister<
|
|
|
799
790
|
* const store = createStore();
|
|
800
791
|
* const persister = createSessionPersister(store, 'pets');
|
|
801
792
|
*
|
|
802
|
-
* await persister.startAutoLoad({pets: {fido: {species: 'dog'}}});
|
|
793
|
+
* await persister.startAutoLoad([{pets: {fido: {species: 'dog'}}}, {}]);
|
|
803
794
|
* console.log(store.getTables());
|
|
804
795
|
* // -> {pets: {fido: {species: 'dog'}}}
|
|
805
796
|
*
|
|
@@ -816,10 +807,7 @@ export interface Persister<
|
|
|
816
807
|
* ```
|
|
817
808
|
* @category Load
|
|
818
809
|
*/
|
|
819
|
-
startAutoLoad(
|
|
820
|
-
initialTables?: Tables<Schemas[0], true>,
|
|
821
|
-
initialValues?: Values<Schemas[1], true>,
|
|
822
|
-
): Promise<this>;
|
|
810
|
+
startAutoLoad(initialContent?: Content<Schemas, true>): Promise<this>;
|
|
823
811
|
|
|
824
812
|
/**
|
|
825
813
|
* The stopAutoLoad method stops the automatic loading of data from storage
|
|
@@ -11,22 +11,31 @@
|
|
|
11
11
|
import {MergeableStore} from '../mergeable-store';
|
|
12
12
|
import {OptionalSchemas} from '../store';
|
|
13
13
|
import {Synchronizer} from '../synchronizers';
|
|
14
|
-
import {WebSocket} from 'ws';
|
|
14
|
+
import {WebSocket as WsWebSocket} from 'ws';
|
|
15
|
+
|
|
16
|
+
export type WebSocketTypes = WebSocket | WsWebSocket;
|
|
15
17
|
|
|
16
18
|
/**
|
|
17
19
|
* The WsSynchronizer interface
|
|
18
20
|
* @category Synchronizer
|
|
19
21
|
*/
|
|
20
|
-
export interface WsSynchronizer<
|
|
21
|
-
extends
|
|
22
|
+
export interface WsSynchronizer<
|
|
23
|
+
Schemas extends OptionalSchemas,
|
|
24
|
+
WebSocketType extends WebSocketTypes,
|
|
25
|
+
> extends Synchronizer<Schemas> {
|
|
26
|
+
getWebSocket(): WebSocketType;
|
|
27
|
+
}
|
|
22
28
|
|
|
23
29
|
/**
|
|
24
30
|
* The createWsSynchronizer function
|
|
25
31
|
* @category Creation
|
|
26
32
|
*/
|
|
27
|
-
export function createWsSynchronizer<
|
|
33
|
+
export function createWsSynchronizer<
|
|
34
|
+
Schemas extends OptionalSchemas,
|
|
35
|
+
WebSocketType extends WebSocketTypes,
|
|
36
|
+
>(
|
|
28
37
|
store: MergeableStore<Schemas>,
|
|
29
|
-
webSocket:
|
|
38
|
+
webSocket: WebSocketType,
|
|
30
39
|
requestTimeoutSeconds?: number,
|
|
31
40
|
onIgnoredError?: (error: any) => void,
|
|
32
|
-
): Promise<WsSynchronizer<Schemas>>;
|
|
41
|
+
): Promise<WsSynchronizer<Schemas, WebSocketType>>;
|
|
@@ -7,13 +7,25 @@
|
|
|
7
7
|
* @since v5.0.0
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
+
import {Ids} from '../common';
|
|
10
11
|
import {WebSocketServer} from 'ws';
|
|
11
12
|
|
|
13
|
+
/**
|
|
14
|
+
* The WsServerStats type
|
|
15
|
+
*/
|
|
16
|
+
export type WsServerStats = {
|
|
17
|
+
paths?: number;
|
|
18
|
+
clients?: number;
|
|
19
|
+
};
|
|
20
|
+
|
|
12
21
|
/**
|
|
13
22
|
* The WsServer interface
|
|
14
23
|
*/
|
|
15
24
|
export interface WsServer {
|
|
16
25
|
getWebSocketServer: () => WebSocketServer;
|
|
26
|
+
getPaths: () => string[];
|
|
27
|
+
getClientIds: (path: string) => Ids;
|
|
28
|
+
getStats: () => WsServerStats;
|
|
17
29
|
destroy: () => void;
|
|
18
30
|
}
|
|
19
31
|
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
* @since v5.0.0
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
+
import {Content, OptionalSchemas} from './store';
|
|
10
11
|
import {Id, IdOrNull} from './common';
|
|
11
12
|
import {MergeableStore} from './mergeable-store';
|
|
12
|
-
import {OptionalSchemas} from './store';
|
|
13
13
|
import {Persister} from './persisters';
|
|
14
14
|
|
|
15
15
|
/**
|
|
@@ -66,7 +66,7 @@ export interface Synchronizer<Schemas extends OptionalSchemas>
|
|
|
66
66
|
* The startSync method
|
|
67
67
|
* @category Synchronization
|
|
68
68
|
*/
|
|
69
|
-
startSync(): Promise<this>;
|
|
69
|
+
startSync(initialContent?: Content<Schemas, true>): Promise<this>;
|
|
70
70
|
/**
|
|
71
71
|
* The stopSync method
|
|
72
72
|
* @category Synchronization
|
|
@@ -91,7 +91,7 @@ export interface Synchronizer<Schemas extends OptionalSchemas>
|
|
|
91
91
|
* send: Send,
|
|
92
92
|
* onReceive: (receive: Receive) => void,
|
|
93
93
|
* destroy: () => void,
|
|
94
|
-
* requestTimeoutSeconds
|
|
94
|
+
* requestTimeoutSeconds: number,
|
|
95
95
|
* onIgnoredError?: (error: any) => void,
|
|
96
96
|
* ): Synchronizer;
|
|
97
97
|
* ```
|
|
@@ -141,6 +141,6 @@ export function createCustomSynchronizer<Schemas extends OptionalSchemas>(
|
|
|
141
141
|
send: Send,
|
|
142
142
|
onReceive: (receive: Receive) => void,
|
|
143
143
|
destroy: () => void,
|
|
144
|
-
requestTimeoutSeconds
|
|
144
|
+
requestTimeoutSeconds: number,
|
|
145
145
|
onIgnoredError?: (error: any) => void,
|
|
146
146
|
): Synchronizer<Schemas>;
|
|
@@ -127,8 +127,10 @@ import {
|
|
|
127
127
|
ResultTableCellIdsListener,
|
|
128
128
|
ResultTableListener,
|
|
129
129
|
} from './queries.d.ts';
|
|
130
|
+
import {MergeableStore} from './mergeable-store';
|
|
130
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
|
/**
|
|
@@ -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.
|
|
@@ -11628,8 +11638,8 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
11628
11638
|
* // -> '<span>{\"pets\":{\"fido\":{\"species\":\"dog\"}}}</span>'
|
|
11629
11639
|
*
|
|
11630
11640
|
* root.render(<App sessionKey="cujoStore" />); // !act
|
|
11631
|
-
* // -> 'Persister destroyed for session key fidoStore'
|
|
11632
11641
|
* // -> 'Persister created for session key cujoStore'
|
|
11642
|
+
* // -> 'Persister destroyed for session key fidoStore'
|
|
11633
11643
|
*
|
|
11634
11644
|
* // ... // !act
|
|
11635
11645
|
* console.log(app.innerHTML);
|
|
@@ -11652,6 +11662,164 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
11652
11662
|
destroyDeps?: React.DependencyList,
|
|
11653
11663
|
) => PersisterOrUndefined;
|
|
11654
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
|
+
|
|
11655
11823
|
/**
|
|
11656
11824
|
* The ExtraProps type represents a set of arbitrary additional props.
|
|
11657
11825
|
* @category Props
|
package/lib/ui-react.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"react";const t=e=>typeof e,o="",s=t(o),r=t(t),d="Listener",n="Result",u="Has",c="Ids",I="Table",l=I+"s",i=I+c,a="Row",p=a+"Count",g=a+c,b="Sorted"+a+c,C="Cell",m=C+c,y="Value",k=y+"s",w=y+c,h=e=>null==e,R=(e,t,o)=>h(e)?o?.():t(e),f=e=>t(e)==s,q=e=>t(e)==r,P=e=>e.length,v=()=>{},x=(e,t)=>e.every(t),S=(e,t)=>P(e)===P(t)&&x(e,((e,o)=>t[o]===e)),L=(e,t)=>e.map(t),B=Object,T=e=>B.getPrototypeOf(e),E=B.entries,M=e=>!h(e)&&R(T(e),(e=>e==B.prototype||h(T(e))),(()=>!0)),F=B.keys,V=(e,t)=>R(e,(e=>e[t])),A=(e,t)=>(delete e[t],e),O=(e,t)=>{const o=E(e);return P(o)===P(F(t))&&x(o,(([e,o])=>M(o)?!!M(t[e])&&O(t[e],o):t[e]===o))},{createContext:j,useContext:D,useEffect:H}=e,Q=j([]),W=(e,t)=>{const o=D(Q);return h(e)?o[t]:f(e)?V(o[t+1]??{},e):e},z=(e,t)=>{const o=W(e,t);return h(e)||f(e)?o:e},G=e=>F(D(Q)[e]??{}),J=e=>W(e,0),K=e=>z(e,0),N=(e,t)=>{const{12:o,13:s}=D(Q);H((()=>(o?.(e,t),()=>s?.(e))),[o,e,t,s])},U=e=>W(e,2),X=e=>z(e,2),Y=e=>W(e,4),Z=e=>z(e,4),$=e=>W(e,6),_=e=>z(e,6),ee=e=>W(e,8),te=e=>z(e,8),oe=e=>W(e,10),se=e=>z(e,10),re=e=>e.toLowerCase();re(d);const de="Transaction";re(de);const{useCallback:ne,useEffect:ue,useMemo:ce,useLayoutEffect:Ie,useRef:le,useState:ie,useSyncExternalStore:ae}=e,pe=[],ge=[{},[],[pe,void 0,pe],void 0,!1,0],be=(e,t)=>e===t,Ce=[O,S,([e,t,o],[s,r,d])=>t===r&&S(e,s)&&S(o,d)],me=(e,t,o=pe)=>{const[,s]=ie(),[r,d]=ie();return ue((()=>{const o=t(e);return d(o),s([]),o.destroy}),[e,...o]),r},ye=(e,t,...o)=>{const s=e?.["add"+t+d]?.(...o);return()=>e?.delListener(s)},ke=(e,t,s,r=pe)=>{const d=le(ge[s]),n=ne((()=>{const o=t?.[(4==s?"has":"get")+e]?.(...r)??ge[s];return(Ce[s]??be)(o,d.current)?d.current:d.current=o}),[t,s,e,...r]),c=ne((d=>ye(t,(4==s?u:o)+e,...r,d)),[t,s,e,...r]);return ae(c,n)},we=(e,t,o,s=pe,r=pe,...d)=>Ie((()=>ye(t,e,...r,o,...d)),[t,e,...r,...s,...d]),he=(e,t,o,s=pe,r=v,d=pe,...n)=>{const u=K(e);return ne((e=>R(u,(s=>R(o(e,s),(o=>r(s["set"+t](...L(n,(t=>q(t)?t(e,s):t)),o),o)))))),[u,t,...s,...d,...n])},Re=(e,t,o=v,s=pe,...r)=>{const d=K(e);return ne((()=>o(d?.["del"+t](...r))),[d,t,...s,...r])},fe=(e,t,o)=>{const s=se(e);return ne((()=>s?.[t](o)),[s,t,o])},qe=(e,t=pe)=>ce(e,t),Pe=()=>G(1),ve=e=>ke(l,K(e),4,[]),xe=e=>ke(l,K(e),0),Se=e=>ke(i,K(e),1),Le=(e,t)=>ke(I,K(t),4,[e]),Be=(e,t)=>ke(I,K(t),0,[e]),Te=(e,t)=>ke(I+m,K(t),1,[e]),Ee=(e,t,o)=>ke(I+C,K(o),4,[e,t]),Me=(e,t)=>ke(p,K(t),5,[e]),Fe=(e,t)=>ke(g,K(t),1,[e]),Ve=(e,t,o,s=0,r,d)=>ke(b,K(d),1,[e,t,o,s,r]),Ae=(e,t,o)=>ke(a,K(o),4,[e,t]),Oe=(e,t,o)=>ke(a,K(o),0,[e,t]),je=(e,t,o)=>ke(m,K(o),1,[e,t]),De=(e,t,o,s)=>ke(C,K(s),4,[e,t,o]),He=(e,t,o,s)=>ke(C,K(s),3,[e,t,o]),Qe=e=>ke(k,K(e),4,[]),We=e=>ke(k,K(e),0),ze=e=>ke(w,K(e),1),Ge=(e,t)=>ke(y,K(t),4,[e]),Je=(e,t)=>ke(y,K(t),3,[e]),Ke=(e,t,o,s,r)=>he(o,l,e,t,s,r),Ne=(e,t,o,s,r,d)=>he(s,I,t,o,r,d,e),Ue=(e,t,o,s,r,d,n)=>he(r,a,o,s,d,n,e,t),Xe=(e,t,o=pe,s,r=v,d=pe,n=!0)=>{const u=K(s);return ne((o=>R(u,(s=>R(t(o,s),(t=>r(s.addRow(q(e)?e(o,s):e,t,n),s,t)))))),[u,e,...o,...d,n])},Ye=(e,t,o,s,r,d,n)=>he(r,"PartialRow",o,s,d,n,e,t),Ze=(e,t,o,s,r,d,n,u)=>he(d,C,s,r,n,u,e,t,o),$e=(e,t,o,s,r)=>he(o,k,e,t,s,r),_e=(e,t,o,s,r)=>he(o,"PartialValues",e,t,s,r),et=(e,t,o,s,r,d)=>he(s,y,t,o,r,d,e),tt=(e,t,o)=>Re(e,l,t,o),ot=(e,t,o,s)=>Re(t,I,o,s,e),st=(e,t,o,s,r)=>Re(o,a,s,r,e,t),rt=(e,t,o,s,r,d,n)=>Re(r,C,d,n,e,t,o,s),dt=(e,t,o)=>Re(e,k,t,o),nt=(e,t,o,s)=>Re(t,y,o,s,e),ut=(e,t,o,s)=>we(u+l,K(s),e,t,[],o),ct=(e,t,o,s)=>we(l,K(s),e,t,pe,o),It=(e,t,o,s)=>we(i,K(s),e,t,pe,o),lt=(e,t,o,s,r)=>we(u+I,K(r),t,o,[e],s),it=(e,t,o,s,r)=>we(I,K(r),t,o,[e],s),at=(e,t,o,s,r)=>we(I+m,K(r),t,o,[e],s),pt=(e,t,o,s,r,d)=>we(u+I+C,K(d),o,s,[e,t],r),gt=(e,t,o,s,r)=>we(p,K(r),t,o,[e],s),bt=(e,t,o,s,r)=>we(g,K(r),t,o,[e],s),Ct=(e,t,o,s,r,d,n,u,c)=>we(b,K(c),d,n,[e,t,o,s,r],u),mt=(e,t,o,s,r,d)=>we(u+a,K(d),o,s,[e,t],r),yt=(e,t,o,s,r,d)=>we(a,K(d),o,s,[e,t],r),kt=(e,t,o,s,r,d)=>we(m,K(d),o,s,[e,t],r),wt=(e,t,o,s,r,d,n)=>we(u+C,K(n),s,r,[e,t,o],d),ht=(e,t,o,s,r,d,n)=>we(C,K(n),s,r,[e,t,o],d),Rt=(e,t,o,s)=>we(u+k,K(s),e,t,[],o),ft=(e,t,o,s)=>we(k,K(s),e,t,pe,o),qt=(e,t,o,s)=>we(w,K(s),e,t,pe,o),Pt=(e,t,o,s,r)=>we(u+y,K(r),t,o,[e],s),vt=(e,t,o,s,r)=>we(y,K(r),t,o,[e],s),xt=(e,t,o)=>we("Start"+de,K(o),e,t),St=(e,t,o)=>we("WillFinish"+de,K(o),e,t),Lt=(e,t,o)=>we("DidFinish"+de,K(o),e,t),Bt=(e,t,o)=>me(e,t,o),Tt=()=>G(3),Et=e=>ke("MetricIds",X(e),1),Mt=(e,t)=>ke("Metric",X(t),3,[e]),Ft=(e,t,o,s)=>we("Metric",X(s),t,o,[e]),Vt=(e,t,o)=>me(e,t,o),At=()=>G(5),Ot=(e,t)=>ke("SliceIds",Z(t),1,[e]),jt=e=>ke("IndexIds",Z(e),1),Dt=(e,t,o)=>ke("Slice"+g,Z(o),1,[e,t]),Ht=(e,t,o,s)=>we("SliceIds",Z(s),t,o,[e]),Qt=(e,t,o,s,r)=>we("Slice"+g,Z(r),o,s,[e,t]),Wt=(e,t,o)=>me(e,t,o),zt=()=>G(7),Gt=e=>ke("RelationshipIds",_(e),1),Jt=(e,t,o)=>ke("RemoteRowId",_(o),3,[e,t]),Kt=(e,t,o)=>ke("Local"+g,_(o),1,[e,t]),Nt=(e,t,o)=>ke("Linked"+g,_(o),1,[e,t]),Ut=(e,t,o,s,r)=>we("RemoteRowId",_(r),o,s,[e,t]),Xt=(e,t,o,s,r)=>we("Local"+g,_(r),o,s,[e,t]),Yt=(e,t,o,s,r)=>we("Linked"+g,_(r),o,s,[e,t]),Zt=(e,t,o)=>me(e,t,o),$t=()=>G(9),_t=e=>ke("QueryIds",te(e),1),eo=(e,t)=>ke(n+I,te(t),0,[e]),to=(e,t)=>ke(n+I+m,te(t),1,[e]),oo=(e,t)=>ke(n+p,te(t),5,[e]),so=(e,t)=>ke(n+g,te(t),1,[e]),ro=(e,t,o,s=0,r,d)=>ke(n+b,te(d),1,[e,t,o,s,r]),no=(e,t,o)=>ke(n+a,te(o),0,[e,t]),uo=(e,t,o)=>ke(n+m,te(o),1,[e,t]),co=(e,t,o,s)=>ke(n+C,te(s),3,[e,t,o]),Io=(e,t,o,s)=>we(n+I,te(s),t,o,[e]),lo=(e,t,o,s)=>we(n+I+m,te(s),t,o,[e]),io=(e,t,o,s)=>we(n+p,te(s),t,o,[e]),ao=(e,t,o,s)=>we(n+g,te(s),t,o,[e]),po=(e,t,o,s,r,d,u,c)=>we(n+b,te(c),d,u,[e,t,o,s,r]),go=(e,t,o,s,r)=>we(n+a,te(r),o,s,[e,t]),bo=(e,t,o,s,r)=>we(n+m,te(r),o,s,[e,t]),Co=(e,t,o,s,r,d)=>we(n+C,te(d),s,r,[e,t,o]),mo=(e,t,o)=>me(e,t,o),yo=()=>G(11),ko=e=>ke("CheckpointIds",se(e),2),wo=(e,t)=>ke("Checkpoint",se(t),3,[e]),ho=(e=v,t=pe,o,s=v,r=pe)=>{const d=se(o);return ne((t=>R(d,(o=>{const r=e(t);s(o.addCheckpoint(r),o,r)}))),[d,...t,...r])},Ro=e=>fe(e,"goBackward"),fo=e=>fe(e,"goForward"),qo=(e,t=pe,o,s=v,r=pe)=>{const d=se(o);return ne((t=>R(d,(o=>R(e(t),(e=>s(o.goTo(e),e)))))),[d,...t,...r])},Po=e=>{const t=se(e),[s,r]=ko(t);return[(d=s,!(0==P(d))),Ro(t),r,R(r,(e=>t?.getCheckpoint(e)))??o];var d},vo=e=>{const t=se(e),[,,[s]]=ko(t);return[!h(s),fo(t),s,R(s,(e=>t?.getCheckpoint(e)))??o]},xo=(e,t,o)=>we("CheckpointIds",se(o),e,t),So=(e,t,o,s)=>we("Checkpoint",se(s),t,o,[e]),Lo=(e,t,o=pe,s,r=pe,d,n=pe)=>{const[,u]=ie(),[c,I]=ie();return ue((()=>{const o=t(e);if(I(o),o)return s&&(async()=>{await s(o),u([])})(),()=>{o.destroy(),d?.(o)}}),[e,...o,...r,...n]),c},{PureComponent:Bo,Fragment:To,createElement:Eo,useCallback:Mo,useLayoutEffect:Fo,useRef:Vo,useState:Ao}=e,Oo=(e,...t)=>h(e)?{}:e(...t),jo=(e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)],{useCallback:Do,useContext:Ho,useMemo:Qo,useState:Wo}=e,zo=({tableId:e,store:t,rowComponent:o=Yo,getRowComponentProps:s,customCellIds:r,separator:d,debugIds:n},u)=>Uo(L(u,(d=>Eo(o,{...Oo(s,d),key:d,tableId:e,rowId:d,customCellIds:r,store:t,debugIds:n}))),d,n,e),Go=({queryId:e,queries:t,resultRowComponent:o=Is,getResultRowComponentProps:s,separator:r,debugIds:d},n)=>Uo(L(n,(r=>Eo(o,{...Oo(s,r),key:r,queryId:e,rowId:r,queries:t,debugIds:d}))),r,d,e),Jo=({relationshipId:e,relationships:t,rowComponent:o=Yo,getRowComponentProps:s,separator:r,debugIds:d},n,u)=>{const[c,I,l]=jo(_(t),e),i=n(e,u,c);return Uo(L(i,(e=>Eo(o,{...Oo(s,e),key:e,tableId:l,rowId:e,store:I,debugIds:d}))),r,d,u)},Ko=e=>({checkpoints:t,checkpointComponent:o=as,getCheckpointComponentProps:s,separator:r,debugIds:d})=>{const n=se(t);return Uo(L(e(ko(n)),(e=>Eo(o,{...Oo(s,e),key:e,checkpoints:n,checkpointId:e,debugIds:d}))),r)},No=({store:e,storesById:t,metrics:o,metricsById:s,indexes:r,indexesById:d,relationships:n,relationshipsById:u,queries:c,queriesById:I,checkpoints:l,checkpointsById:i,children:a})=>{const p=Ho(Q),[g,b]=Wo({}),C=Do(((e,t)=>b((o=>V(o,e)==t?o:{...o,[e]:t}))),[]),m=Do((e=>b((t=>({...A(t,e)})))),[]);return Eo(Q.Provider,{value:Qo((()=>[e??p[0],{...p[1],...t,...g},o??p[2],{...p[3],...s},r??p[4],{...p[5],...d},n??p[6],{...p[7],...u},c??p[8],{...p[9],...I},l??p[10],{...p[11],...i},C,m]),[e,t,g,o,s,r,d,n,u,c,I,l,i,p,C,m])},a)},Uo=(e,t,o,s)=>{const r=h(t)||!Array.isArray(e)?e:L(e,((e,o)=>o>0?[t,e]:e));return o?[s,":{",r,"}"]:r},Xo=({tableId:e,rowId:t,cellId:s,store:r,debugIds:d})=>Uo(o+(He(e,t,s,r)??o),void 0,d,s),Yo=({tableId:e,rowId:t,store:o,cellComponent:s=Xo,getCellComponentProps:r,customCellIds:d,separator:n,debugIds:u})=>Uo(L(((e,t,o,s)=>{const r=je(t,o,s);return e??r})(d,e,t,o),(d=>Eo(s,{...Oo(r,d),key:d,tableId:e,rowId:t,cellId:d,store:o,debugIds:u}))),n,u,t),Zo=e=>zo(e,Fe(e.tableId,e.store)),$o=({cellId:e,descending:t,offset:o,limit:s,...r})=>zo(r,Ve(r.tableId,e,t,o,s,r.store)),_o=({store:e,tableComponent:t=Zo,getTableComponentProps:o,separator:s,debugIds:r})=>Uo(L(Se(e),(s=>Eo(t,{...Oo(o,s),key:s,tableId:s,store:e,debugIds:r}))),s),es=({valueId:e,store:t,debugIds:s})=>Uo(o+(Je(e,t)??o),void 0,s,e),ts=({store:e,valueComponent:t=es,getValueComponentProps:o,separator:s,debugIds:r})=>Uo(L(ze(e),(s=>Eo(t,{...Oo(o,s),key:s,valueId:s,store:e,debugIds:r}))),s),os=({metricId:e,metrics:t,debugIds:s})=>Uo(Mt(e,t)??o,void 0,s,e),ss=({indexId:e,sliceId:t,indexes:o,rowComponent:s=Yo,getRowComponentProps:r,separator:d,debugIds:n})=>{const[u,c,I]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(Z(o),e),l=Dt(e,t,u);return Uo(L(l,(e=>Eo(s,{...Oo(r,e),key:e,tableId:I,rowId:e,store:c,debugIds:n}))),d,n,t)},rs=({indexId:e,indexes:t,sliceComponent:o=ss,getSliceComponentProps:s,separator:r,debugIds:d})=>Uo(L(Ot(e,t),(r=>Eo(o,{...Oo(s,r),key:r,indexId:e,sliceId:r,indexes:t,debugIds:d}))),r,d,e),ds=({relationshipId:e,localRowId:t,relationships:o,rowComponent:s=Yo,getRowComponentProps:r,debugIds:d})=>{const[n,u,,c]=jo(_(o),e),I=Jt(e,t,n);return Uo(h(c)||h(I)?null:Eo(s,{...Oo(r,I),key:I,tableId:c,rowId:I,store:u,debugIds:d}),void 0,d,t)},ns=e=>Jo(e,Kt,e.remoteRowId),us=e=>Jo(e,Nt,e.firstRowId),cs=({queryId:e,rowId:t,cellId:s,queries:r,debugIds:d})=>Uo(o+(co(e,t,s,r)??o),void 0,d,s),Is=({queryId:e,rowId:t,queries:o,resultCellComponent:s=cs,getResultCellComponentProps:r,separator:d,debugIds:n})=>Uo(L(uo(e,t,o),(d=>Eo(s,{...Oo(r,d),key:d,queryId:e,rowId:t,cellId:d,queries:o,debugIds:n}))),d,n,t),ls=e=>Go(e,so(e.queryId,e.queries)),is=({cellId:e,descending:t,offset:o,limit:s,...r})=>Go(r,ro(r.queryId,e,t,o,s,r.queries)),as=({checkpoints:e,checkpointId:t,debugIds:s})=>Uo(wo(t,e)??o,void 0,s,t),ps=Ko((e=>e[0])),gs=Ko((e=>h(e[1])?[]:[e[1]])),bs=Ko((e=>e[2]));export{ps as BackwardCheckpointsView,Xo as CellView,as as CheckpointView,gs as CurrentCheckpointView,bs as ForwardCheckpointsView,rs as IndexView,us as LinkedRowsView,ns as LocalRowsView,os as MetricView,No as Provider,ds as RemoteRowView,cs as ResultCellView,Is as ResultRowView,is as ResultSortedTableView,ls as ResultTableView,Yo as RowView,ss as SliceView,$o as SortedTableView,Zo as TableView,_o as TablesView,es as ValueView,ts as ValuesView,Xe as useAddRowCallback,He as useCell,je as useCellIds,kt as useCellIdsListener,ht as useCellListener,wo as useCheckpoint,ko as useCheckpointIds,xo as useCheckpointIdsListener,So as useCheckpointListener,oe as useCheckpoints,yo as useCheckpointsIds,se as useCheckpointsOrCheckpointsById,mo as useCreateCheckpoints,Vt as useCreateIndexes,Bt as useCreateMetrics,Lo as useCreatePersister,Zt as useCreateQueries,Wt as useCreateRelationships,qe as useCreateStore,rt as useDelCellCallback,st as useDelRowCallback,ot as useDelTableCallback,tt as useDelTablesCallback,nt as useDelValueCallback,dt as useDelValuesCallback,Lt as useDidFinishTransactionListener,Ro as useGoBackwardCallback,fo as useGoForwardCallback,qo as useGoToCallback,De as useHasCell,wt as useHasCellListener,Ae as useHasRow,mt as useHasRowListener,Le as useHasTable,Ee as useHasTableCell,pt as useHasTableCellListener,lt as useHasTableListener,ve as useHasTables,ut as useHasTablesListener,Ge as useHasValue,Pt as useHasValueListener,Qe as useHasValues,Rt as useHasValuesListener,jt as useIndexIds,Y as useIndexes,At as useIndexesIds,Z as useIndexesOrIndexesById,Nt as useLinkedRowIds,Yt as useLinkedRowIdsListener,Kt as useLocalRowIds,Xt as useLocalRowIdsListener,Mt as useMetric,Et as useMetricIds,Ft as useMetricListener,U as useMetrics,Tt as useMetricsIds,X as useMetricsOrMetricsById,N as useProvideStore,ee as useQueries,$t as useQueriesIds,te as useQueriesOrQueriesById,_t as useQueryIds,vo as useRedoInformation,Gt as useRelationshipIds,$ as useRelationships,zt as useRelationshipsIds,_ as useRelationshipsOrRelationshipsById,Jt as useRemoteRowId,Ut as useRemoteRowIdListener,co as useResultCell,uo as useResultCellIds,bo as useResultCellIdsListener,Co as useResultCellListener,no as useResultRow,oo as useResultRowCount,io as useResultRowCountListener,so as useResultRowIds,ao as useResultRowIdsListener,go as useResultRowListener,ro as useResultSortedRowIds,po as useResultSortedRowIdsListener,eo as useResultTable,to as useResultTableCellIds,lo as useResultTableCellIdsListener,Io as useResultTableListener,Oe as useRow,Me as useRowCount,gt as useRowCountListener,Fe as useRowIds,bt as useRowIdsListener,yt as useRowListener,Ze as useSetCellCallback,ho as useSetCheckpointCallback,Ye as useSetPartialRowCallback,_e as useSetPartialValuesCallback,Ue as useSetRowCallback,Ne as useSetTableCallback,Ke as useSetTablesCallback,et as useSetValueCallback,$e as useSetValuesCallback,Ot as useSliceIds,Ht as useSliceIdsListener,Dt as useSliceRowIds,Qt as useSliceRowIdsListener,Ve as useSortedRowIds,Ct as useSortedRowIdsListener,xt as useStartTransactionListener,J as useStore,Pe as useStoreIds,K as useStoreOrStoreById,Be as useTable,Te as useTableCellIds,at as useTableCellIdsListener,Se as useTableIds,It as useTableIdsListener,it as useTableListener,xe as useTables,ct as useTablesListener,Po as useUndoInformation,Je as useValue,ze as useValueIds,qt as useValueIdsListener,vt as useValueListener,We as useValues,ft as useValuesListener,St as useWillFinishTransactionListener};
|
|
1
|
+
import e from"react";const t=e=>typeof e,o="",s=t(o),r=t(t),d="Listener",n="Result",u="Has",c="Ids",I="Table",a=I+"s",l=I+c,i="Row",p=i+"Count",g=i+c,b="Sorted"+i+c,C="Cell",m=C+c,y="Value",w=y+"s",k=y+c,h=e=>null==e,R=(e,t,o)=>h(e)?o?.():t(e),f=e=>t(e)==s,q=e=>t(e)==r,P=e=>e.length,v=()=>{},x=(e,t)=>e.every(t),S=(e,t)=>P(e)===P(t)&&x(e,((e,o)=>t[o]===e)),L=(e,t)=>e.map(t),B=Object,T=e=>B.getPrototypeOf(e),E=B.entries,M=e=>!h(e)&&R(T(e),(e=>e==B.prototype||h(T(e))),(()=>!0)),F=B.keys,V=(e,t)=>R(e,(e=>e[t])),A=(e,t)=>(delete e[t],e),O=(e,t)=>{const o=E(e);return P(o)===P(F(t))&&x(o,(([e,o])=>M(o)?!!M(t[e])&&O(t[e],o):t[e]===o))},{createContext:j,useContext:D,useEffect:H}=e,Q=j([]),W=(e,t)=>{const o=D(Q);return h(e)?o[t]:f(e)?V(o[t+1]??{},e):e},z=(e,t)=>{const o=W(e,t);return h(e)||f(e)?o:e},G=e=>F(D(Q)[e]??{}),J=e=>W(e,0),K=e=>z(e,0),N=(e,t)=>{const{12:o,13:s}=D(Q);H((()=>(o?.(e,t),()=>s?.(e))),[o,e,t,s])},U=e=>W(e,2),X=e=>z(e,2),Y=e=>W(e,4),Z=e=>z(e,4),$=e=>W(e,6),_=e=>z(e,6),ee=e=>W(e,8),te=e=>z(e,8),oe=e=>W(e,10),se=e=>z(e,10),re=e=>e.toLowerCase();re(d);const de="Transaction";re(de);const{useCallback:ne,useEffect:ue,useMemo:ce,useLayoutEffect:Ie,useRef:ae,useState:le,useSyncExternalStore:ie}=e,pe=[],ge=[{},[],[pe,void 0,pe],void 0,!1,0],be=(e,t)=>e===t,Ce=[O,S,([e,t,o],[s,r,d])=>t===r&&S(e,s)&&S(o,d)],me=(e,t,o=pe)=>{const[,s]=le(),[r,d]=le();return ue((()=>{const o=t(e);return d(o),s([]),o.destroy}),[e,...o]),r},ye=(e,t,...o)=>{const s=e?.["add"+t+d]?.(...o);return()=>e?.delListener(s)},we=(e,t,s,r=pe)=>{const d=ae(ge[s]),n=ne((()=>{const o=t?.[(4==s?"has":"get")+e]?.(...r)??ge[s];return(Ce[s]??be)(o,d.current)?d.current:d.current=o}),[t,s,e,...r]),c=ne((d=>ye(t,(4==s?u:o)+e,...r,d)),[t,s,e,...r]);return ie(c,n)},ke=(e,t,o,s=pe,r=pe,...d)=>Ie((()=>ye(t,e,...r,o,...d)),[t,e,...r,...s,...d]),he=(e,t,o,s=pe,r=v,d=pe,...n)=>{const u=K(e);return ne((e=>R(u,(s=>R(o(e,s),(o=>r(s["set"+t](...L(n,(t=>q(t)?t(e,s):t)),o),o)))))),[u,t,...s,...d,...n])},Re=(e,t,o=v,s=pe,...r)=>{const d=K(e);return ne((()=>o(d?.["del"+t](...r))),[d,t,...s,...r])},fe=(e,t,o)=>{const s=se(e);return ne((()=>s?.[t](o)),[s,t,o])},qe=(e,t=pe)=>ce(e,t),Pe=(e,t=pe)=>ce(e,t),ve=()=>G(1),xe=e=>we(a,K(e),4,[]),Se=e=>we(a,K(e),0),Le=e=>we(l,K(e),1),Be=(e,t)=>we(I,K(t),4,[e]),Te=(e,t)=>we(I,K(t),0,[e]),Ee=(e,t)=>we(I+m,K(t),1,[e]),Me=(e,t,o)=>we(I+C,K(o),4,[e,t]),Fe=(e,t)=>we(p,K(t),5,[e]),Ve=(e,t)=>we(g,K(t),1,[e]),Ae=(e,t,o,s=0,r,d)=>we(b,K(d),1,[e,t,o,s,r]),Oe=(e,t,o)=>we(i,K(o),4,[e,t]),je=(e,t,o)=>we(i,K(o),0,[e,t]),De=(e,t,o)=>we(m,K(o),1,[e,t]),He=(e,t,o,s)=>we(C,K(s),4,[e,t,o]),Qe=(e,t,o,s)=>we(C,K(s),3,[e,t,o]),We=e=>we(w,K(e),4,[]),ze=e=>we(w,K(e),0),Ge=e=>we(k,K(e),1),Je=(e,t)=>we(y,K(t),4,[e]),Ke=(e,t)=>we(y,K(t),3,[e]),Ne=(e,t,o,s,r)=>he(o,a,e,t,s,r),Ue=(e,t,o,s,r,d)=>he(s,I,t,o,r,d,e),Xe=(e,t,o,s,r,d,n)=>he(r,i,o,s,d,n,e,t),Ye=(e,t,o=pe,s,r=v,d=pe,n=!0)=>{const u=K(s);return ne((o=>R(u,(s=>R(t(o,s),(t=>r(s.addRow(q(e)?e(o,s):e,t,n),s,t)))))),[u,e,...o,...d,n])},Ze=(e,t,o,s,r,d,n)=>he(r,"PartialRow",o,s,d,n,e,t),$e=(e,t,o,s,r,d,n,u)=>he(d,C,s,r,n,u,e,t,o),_e=(e,t,o,s,r)=>he(o,w,e,t,s,r),et=(e,t,o,s,r)=>he(o,"PartialValues",e,t,s,r),tt=(e,t,o,s,r,d)=>he(s,y,t,o,r,d,e),ot=(e,t,o)=>Re(e,a,t,o),st=(e,t,o,s)=>Re(t,I,o,s,e),rt=(e,t,o,s,r)=>Re(o,i,s,r,e,t),dt=(e,t,o,s,r,d,n)=>Re(r,C,d,n,e,t,o,s),nt=(e,t,o)=>Re(e,w,t,o),ut=(e,t,o,s)=>Re(t,y,o,s,e),ct=(e,t,o,s)=>ke(u+a,K(s),e,t,[],o),It=(e,t,o,s)=>ke(a,K(s),e,t,pe,o),at=(e,t,o,s)=>ke(l,K(s),e,t,pe,o),lt=(e,t,o,s,r)=>ke(u+I,K(r),t,o,[e],s),it=(e,t,o,s,r)=>ke(I,K(r),t,o,[e],s),pt=(e,t,o,s,r)=>ke(I+m,K(r),t,o,[e],s),gt=(e,t,o,s,r,d)=>ke(u+I+C,K(d),o,s,[e,t],r),bt=(e,t,o,s,r)=>ke(p,K(r),t,o,[e],s),Ct=(e,t,o,s,r)=>ke(g,K(r),t,o,[e],s),mt=(e,t,o,s,r,d,n,u,c)=>ke(b,K(c),d,n,[e,t,o,s,r],u),yt=(e,t,o,s,r,d)=>ke(u+i,K(d),o,s,[e,t],r),wt=(e,t,o,s,r,d)=>ke(i,K(d),o,s,[e,t],r),kt=(e,t,o,s,r,d)=>ke(m,K(d),o,s,[e,t],r),ht=(e,t,o,s,r,d,n)=>ke(u+C,K(n),s,r,[e,t,o],d),Rt=(e,t,o,s,r,d,n)=>ke(C,K(n),s,r,[e,t,o],d),ft=(e,t,o,s)=>ke(u+w,K(s),e,t,[],o),qt=(e,t,o,s)=>ke(w,K(s),e,t,pe,o),Pt=(e,t,o,s)=>ke(k,K(s),e,t,pe,o),vt=(e,t,o,s,r)=>ke(u+y,K(r),t,o,[e],s),xt=(e,t,o,s,r)=>ke(y,K(r),t,o,[e],s),St=(e,t,o)=>ke("Start"+de,K(o),e,t),Lt=(e,t,o)=>ke("WillFinish"+de,K(o),e,t),Bt=(e,t,o)=>ke("DidFinish"+de,K(o),e,t),Tt=(e,t,o)=>me(e,t,o),Et=()=>G(3),Mt=e=>we("MetricIds",X(e),1),Ft=(e,t)=>we("Metric",X(t),3,[e]),Vt=(e,t,o,s)=>ke("Metric",X(s),t,o,[e]),At=(e,t,o)=>me(e,t,o),Ot=()=>G(5),jt=(e,t)=>we("SliceIds",Z(t),1,[e]),Dt=e=>we("IndexIds",Z(e),1),Ht=(e,t,o)=>we("Slice"+g,Z(o),1,[e,t]),Qt=(e,t,o,s)=>ke("SliceIds",Z(s),t,o,[e]),Wt=(e,t,o,s,r)=>ke("Slice"+g,Z(r),o,s,[e,t]),zt=(e,t,o)=>me(e,t,o),Gt=()=>G(7),Jt=e=>we("RelationshipIds",_(e),1),Kt=(e,t,o)=>we("RemoteRowId",_(o),3,[e,t]),Nt=(e,t,o)=>we("Local"+g,_(o),1,[e,t]),Ut=(e,t,o)=>we("Linked"+g,_(o),1,[e,t]),Xt=(e,t,o,s,r)=>ke("RemoteRowId",_(r),o,s,[e,t]),Yt=(e,t,o,s,r)=>ke("Local"+g,_(r),o,s,[e,t]),Zt=(e,t,o,s,r)=>ke("Linked"+g,_(r),o,s,[e,t]),$t=(e,t,o)=>me(e,t,o),_t=()=>G(9),eo=e=>we("QueryIds",te(e),1),to=(e,t)=>we(n+I,te(t),0,[e]),oo=(e,t)=>we(n+I+m,te(t),1,[e]),so=(e,t)=>we(n+p,te(t),5,[e]),ro=(e,t)=>we(n+g,te(t),1,[e]),no=(e,t,o,s=0,r,d)=>we(n+b,te(d),1,[e,t,o,s,r]),uo=(e,t,o)=>we(n+i,te(o),0,[e,t]),co=(e,t,o)=>we(n+m,te(o),1,[e,t]),Io=(e,t,o,s)=>we(n+C,te(s),3,[e,t,o]),ao=(e,t,o,s)=>ke(n+I,te(s),t,o,[e]),lo=(e,t,o,s)=>ke(n+I+m,te(s),t,o,[e]),io=(e,t,o,s)=>ke(n+p,te(s),t,o,[e]),po=(e,t,o,s)=>ke(n+g,te(s),t,o,[e]),go=(e,t,o,s,r,d,u,c)=>ke(n+b,te(c),d,u,[e,t,o,s,r]),bo=(e,t,o,s,r)=>ke(n+i,te(r),o,s,[e,t]),Co=(e,t,o,s,r)=>ke(n+m,te(r),o,s,[e,t]),mo=(e,t,o,s,r,d)=>ke(n+C,te(d),s,r,[e,t,o]),yo=(e,t,o)=>me(e,t,o),wo=()=>G(11),ko=e=>we("CheckpointIds",se(e),2),ho=(e,t)=>we("Checkpoint",se(t),3,[e]),Ro=(e=v,t=pe,o,s=v,r=pe)=>{const d=se(o);return ne((t=>R(d,(o=>{const r=e(t);s(o.addCheckpoint(r),o,r)}))),[d,...t,...r])},fo=e=>fe(e,"goBackward"),qo=e=>fe(e,"goForward"),Po=(e,t=pe,o,s=v,r=pe)=>{const d=se(o);return ne((t=>R(d,(o=>R(e(t),(e=>s(o.goTo(e),e)))))),[d,...t,...r])},vo=e=>{const t=se(e),[s,r]=ko(t);return[(d=s,!(0==P(d))),fo(t),r,R(r,(e=>t?.getCheckpoint(e)))??o];var d},xo=e=>{const t=se(e),[,,[s]]=ko(t);return[!h(s),qo(t),s,R(s,(e=>t?.getCheckpoint(e)))??o]},So=(e,t,o)=>ke("CheckpointIds",se(o),e,t),Lo=(e,t,o,s)=>ke("Checkpoint",se(s),t,o,[e]),Bo=(e,t,o=pe,s,r=pe,d,n=pe)=>{const[,u]=le(),[c,I]=le();return ue((()=>{const o=t(e);I(o),o&&s&&(async()=>{await s(o),u([])})()}),[e,...o,...r]),ue((()=>()=>{c&&(c.destroy(),d?.(c))}),[c,...n]),c},To=(e,t,o=pe,s,r=pe,d,n=pe)=>{const[,u]=le(),[c,I]=le();return ue((()=>{(async()=>{const o=await t(e);I(o),o&&s&&(async()=>{await s(o),u([])})()})()}),[e,...o,...r]),ue((()=>()=>{c&&(c.destroy(),d?.(c))}),[c,...n]),c},{PureComponent:Eo,Fragment:Mo,createElement:Fo,useCallback:Vo,useLayoutEffect:Ao,useRef:Oo,useState:jo}=e,Do=(e,...t)=>h(e)?{}:e(...t),Ho=(e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)],{useCallback:Qo,useContext:Wo,useMemo:zo,useState:Go}=e,Jo=({tableId:e,store:t,rowComponent:o=$o,getRowComponentProps:s,customCellIds:r,separator:d,debugIds:n},u)=>Yo(L(u,(d=>Fo(o,{...Do(s,d),key:d,tableId:e,rowId:d,customCellIds:r,store:t,debugIds:n}))),d,n,e),Ko=({queryId:e,queries:t,resultRowComponent:o=ls,getResultRowComponentProps:s,separator:r,debugIds:d},n)=>Yo(L(n,(r=>Fo(o,{...Do(s,r),key:r,queryId:e,rowId:r,queries:t,debugIds:d}))),r,d,e),No=({relationshipId:e,relationships:t,rowComponent:o=$o,getRowComponentProps:s,separator:r,debugIds:d},n,u)=>{const[c,I,a]=Ho(_(t),e),l=n(e,u,c);return Yo(L(l,(e=>Fo(o,{...Do(s,e),key:e,tableId:a,rowId:e,store:I,debugIds:d}))),r,d,u)},Uo=e=>({checkpoints:t,checkpointComponent:o=gs,getCheckpointComponentProps:s,separator:r,debugIds:d})=>{const n=se(t);return Yo(L(e(ko(n)),(e=>Fo(o,{...Do(s,e),key:e,checkpoints:n,checkpointId:e,debugIds:d}))),r)},Xo=({store:e,storesById:t,metrics:o,metricsById:s,indexes:r,indexesById:d,relationships:n,relationshipsById:u,queries:c,queriesById:I,checkpoints:a,checkpointsById:l,children:i})=>{const p=Wo(Q),[g,b]=Go({}),C=Qo(((e,t)=>b((o=>V(o,e)==t?o:{...o,[e]:t}))),[]),m=Qo((e=>b((t=>({...A(t,e)})))),[]);return Fo(Q.Provider,{value:zo((()=>[e??p[0],{...p[1],...t,...g},o??p[2],{...p[3],...s},r??p[4],{...p[5],...d},n??p[6],{...p[7],...u},c??p[8],{...p[9],...I},a??p[10],{...p[11],...l},C,m]),[e,t,g,o,s,r,d,n,u,c,I,a,l,p,C,m])},i)},Yo=(e,t,o,s)=>{const r=h(t)||!Array.isArray(e)?e:L(e,((e,o)=>o>0?[t,e]:e));return o?[s,":{",r,"}"]:r},Zo=({tableId:e,rowId:t,cellId:s,store:r,debugIds:d})=>Yo(o+(Qe(e,t,s,r)??o),void 0,d,s),$o=({tableId:e,rowId:t,store:o,cellComponent:s=Zo,getCellComponentProps:r,customCellIds:d,separator:n,debugIds:u})=>Yo(L(((e,t,o,s)=>{const r=De(t,o,s);return e??r})(d,e,t,o),(d=>Fo(s,{...Do(r,d),key:d,tableId:e,rowId:t,cellId:d,store:o,debugIds:u}))),n,u,t),_o=e=>Jo(e,Ve(e.tableId,e.store)),es=({cellId:e,descending:t,offset:o,limit:s,...r})=>Jo(r,Ae(r.tableId,e,t,o,s,r.store)),ts=({store:e,tableComponent:t=_o,getTableComponentProps:o,separator:s,debugIds:r})=>Yo(L(Le(e),(s=>Fo(t,{...Do(o,s),key:s,tableId:s,store:e,debugIds:r}))),s),os=({valueId:e,store:t,debugIds:s})=>Yo(o+(Ke(e,t)??o),void 0,s,e),ss=({store:e,valueComponent:t=os,getValueComponentProps:o,separator:s,debugIds:r})=>Yo(L(Ge(e),(s=>Fo(t,{...Do(o,s),key:s,valueId:s,store:e,debugIds:r}))),s),rs=({metricId:e,metrics:t,debugIds:s})=>Yo(Ft(e,t)??o,void 0,s,e),ds=({indexId:e,sliceId:t,indexes:o,rowComponent:s=$o,getRowComponentProps:r,separator:d,debugIds:n})=>{const[u,c,I]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(Z(o),e),a=Ht(e,t,u);return Yo(L(a,(e=>Fo(s,{...Do(r,e),key:e,tableId:I,rowId:e,store:c,debugIds:n}))),d,n,t)},ns=({indexId:e,indexes:t,sliceComponent:o=ds,getSliceComponentProps:s,separator:r,debugIds:d})=>Yo(L(jt(e,t),(r=>Fo(o,{...Do(s,r),key:r,indexId:e,sliceId:r,indexes:t,debugIds:d}))),r,d,e),us=({relationshipId:e,localRowId:t,relationships:o,rowComponent:s=$o,getRowComponentProps:r,debugIds:d})=>{const[n,u,,c]=Ho(_(o),e),I=Kt(e,t,n);return Yo(h(c)||h(I)?null:Fo(s,{...Do(r,I),key:I,tableId:c,rowId:I,store:u,debugIds:d}),void 0,d,t)},cs=e=>No(e,Nt,e.remoteRowId),Is=e=>No(e,Ut,e.firstRowId),as=({queryId:e,rowId:t,cellId:s,queries:r,debugIds:d})=>Yo(o+(Io(e,t,s,r)??o),void 0,d,s),ls=({queryId:e,rowId:t,queries:o,resultCellComponent:s=as,getResultCellComponentProps:r,separator:d,debugIds:n})=>Yo(L(co(e,t,o),(d=>Fo(s,{...Do(r,d),key:d,queryId:e,rowId:t,cellId:d,queries:o,debugIds:n}))),d,n,t),is=e=>Ko(e,ro(e.queryId,e.queries)),ps=({cellId:e,descending:t,offset:o,limit:s,...r})=>Ko(r,no(r.queryId,e,t,o,s,r.queries)),gs=({checkpoints:e,checkpointId:t,debugIds:s})=>Yo(ho(t,e)??o,void 0,s,t),bs=Uo((e=>e[0])),Cs=Uo((e=>h(e[1])?[]:[e[1]])),ms=Uo((e=>e[2]));export{bs as BackwardCheckpointsView,Zo as CellView,gs as CheckpointView,Cs as CurrentCheckpointView,ms as ForwardCheckpointsView,ns as IndexView,Is as LinkedRowsView,cs as LocalRowsView,rs as MetricView,Xo as Provider,us as RemoteRowView,as as ResultCellView,ls as ResultRowView,ps as ResultSortedTableView,is as ResultTableView,$o as RowView,ds as SliceView,es as SortedTableView,_o as TableView,ts as TablesView,os as ValueView,ss as ValuesView,Ye as useAddRowCallback,Qe as useCell,De as useCellIds,kt as useCellIdsListener,Rt as useCellListener,ho as useCheckpoint,ko as useCheckpointIds,So as useCheckpointIdsListener,Lo as useCheckpointListener,oe as useCheckpoints,wo as useCheckpointsIds,se as useCheckpointsOrCheckpointsById,yo as useCreateCheckpoints,At as useCreateIndexes,Pe as useCreateMergeableStore,Tt as useCreateMetrics,Bo as useCreatePersister,$t as useCreateQueries,zt as useCreateRelationships,qe as useCreateStore,To as useCreateSynchronizer,dt as useDelCellCallback,rt as useDelRowCallback,st as useDelTableCallback,ot as useDelTablesCallback,ut as useDelValueCallback,nt as useDelValuesCallback,Bt as useDidFinishTransactionListener,fo as useGoBackwardCallback,qo as useGoForwardCallback,Po as useGoToCallback,He as useHasCell,ht as useHasCellListener,Oe as useHasRow,yt as useHasRowListener,Be as useHasTable,Me as useHasTableCell,gt as useHasTableCellListener,lt as useHasTableListener,xe as useHasTables,ct as useHasTablesListener,Je as useHasValue,vt as useHasValueListener,We as useHasValues,ft as useHasValuesListener,Dt as useIndexIds,Y as useIndexes,Ot as useIndexesIds,Z as useIndexesOrIndexesById,Ut as useLinkedRowIds,Zt as useLinkedRowIdsListener,Nt as useLocalRowIds,Yt as useLocalRowIdsListener,Ft as useMetric,Mt as useMetricIds,Vt as useMetricListener,U as useMetrics,Et as useMetricsIds,X as useMetricsOrMetricsById,N as useProvideStore,ee as useQueries,_t as useQueriesIds,te as useQueriesOrQueriesById,eo as useQueryIds,xo as useRedoInformation,Jt as useRelationshipIds,$ as useRelationships,Gt as useRelationshipsIds,_ as useRelationshipsOrRelationshipsById,Kt as useRemoteRowId,Xt as useRemoteRowIdListener,Io as useResultCell,co as useResultCellIds,Co as useResultCellIdsListener,mo as useResultCellListener,uo as useResultRow,so as useResultRowCount,io as useResultRowCountListener,ro as useResultRowIds,po as useResultRowIdsListener,bo as useResultRowListener,no as useResultSortedRowIds,go as useResultSortedRowIdsListener,to as useResultTable,oo as useResultTableCellIds,lo as useResultTableCellIdsListener,ao as useResultTableListener,je as useRow,Fe as useRowCount,bt as useRowCountListener,Ve as useRowIds,Ct as useRowIdsListener,wt as useRowListener,$e as useSetCellCallback,Ro as useSetCheckpointCallback,Ze as useSetPartialRowCallback,et as useSetPartialValuesCallback,Xe as useSetRowCallback,Ue as useSetTableCallback,Ne as useSetTablesCallback,tt as useSetValueCallback,_e as useSetValuesCallback,jt as useSliceIds,Qt as useSliceIdsListener,Ht as useSliceRowIds,Wt as useSliceRowIdsListener,Ae as useSortedRowIds,mt as useSortedRowIdsListener,St as useStartTransactionListener,J as useStore,ve as useStoreIds,K as useStoreOrStoreById,Te as useTable,Ee as useTableCellIds,pt as useTableCellIdsListener,Le as useTableIds,at as useTableIdsListener,it as useTableListener,Se as useTables,It as useTablesListener,vo as useUndoInformation,Ke as useValue,Ge as useValueIds,Pt as useValueIdsListener,xt as useValueListener,ze as useValues,qt as useValuesListener,Lt as useWillFinishTransactionListener};
|
package/lib/ui-react.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),r=t(t),o="type",i="default",c="Has",d="Ids",u="Table",g=u+"s",h=u+d,f="Row",b=f+"Count",T=f+d,C="Cell",v=C+d,p="Value",V=p+"s",y=p+d,w=e=>s+e,S=(e,t)=>e.startsWith(t),I=(e,t)=>e.endsWith(t),M=Math.max,m=isFinite,R=e=>null==e,L=(e,t,s)=>R(e)?s?.():t(e),H=e=>e==n||e==a,J=e=>t(e)==r,E=e=>Array.isArray(e),x=(e,t,s)=>e.slice(t,s),D=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),A=Object,P=e=>A.getPrototypeOf(e),W=A.entries,j=A.isFrozen,k=e=>!R(e)&&L(P(e),(e=>e==A.prototype||R(P(e))),(()=>!0)),N=A.keys,B=A.freeze,$=(e=[])=>A.fromEntries(e),q=(e,t)=>t in e,G=(e,t)=>(delete e[t],e),K=(e,t)=>F(W(e),(([e,s])=>t(s,e))),Q=(e,t)=>O(W(e),(([e,s])=>t(s,e))),U=(e,t)=>$(Q(e,((e,s)=>[s,t(e,s)]))),X=e=>k(e)&&0==(e=>D(N(e)))(e),Y=(e,t,s)=>(q(e,t)||(e[t]=s()),e[t]),Z=(e,t,s,n=0)=>R(e)||!k(e)||!n&&X(e)||j(e)?(s?.(),!1):(Q(e,((s,n)=>{t(s,n)||G(e,n)})),!!n||!X(e)),_=e=>e?.size??0,ee=(e,t)=>e?.has(t)??!1,te=e=>R(e)||0==_(e),se=e=>e.clear(),ne=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),le=e=>new Map(e),re=e=>[...e?.keys()??[]],oe=(e,t)=>e?.get(t),ie=(e,t)=>ne(e,((e,s)=>t(s,e))),ce=(e,t,s)=>R(s)?(ae(e,t),e):e?.set(t,s),de=(e,t,s,n)=>(ee(e,t)?n?.(oe(e,t)):ce(e,t,s()),oe(e,t)),ue=(e,t,s,n=ce)=>(Q(t,((t,n)=>s(e,n,t))),ie(e,(s=>q(t,s)?0:n(e,s))),e),ge=(e,t,s,n)=>{const a={};return ne(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},he=(e,t,s)=>ge(e,(e=>ge(e,t,s)),te,X),fe=(e,t,s)=>ge(e,(e=>he(e,t,s)),te,X),be=(e,t)=>{const s=le();return ne(e,((e,n)=>s.set(n,t?.(e)??e))),s},Te=e=>be(e,be),Ce=e=>be(e,Te),ve=(e,t,s,n,a=0)=>L((s?de:oe)(e,t[a],a>D(t)-2?s:le),(l=>{if(a>D(t)-2)return n?.(l)&&ce(e,t[a]),l;const r=ve(l,t,s,n,a+1);return te(l)&&ce(e,t[a]),r})),pe=new globalThis.TextEncoder,Ve=e=>{let t=2166136261;return F(pe.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},ye=([e,t,s])=>[e,t,s],we=([e,t])=>[e,t],Se=e=>e[2],Ie=(e,t)=>Ve(e+":"+t),Me=(e,t,s)=>{e[2]=t>>>0,s>e[0]&&(e[0]=s)},me=e=>[e,$()],Re=(e="")=>[e,le(),0],Le=([e,t,s],n=ye)=>[e,ge(t,n),s],He=(e,s)=>{return E(e)&&3==D(e)&&(a=e[0],t(a)==n)&&s(e[1])&&t(e[2])==l&&m(e[2]);var a},Je=e=>new Set(E(e)||R(e)?e:[e]),Ee=(e,t)=>e?.add(t),xe=/^\d+$/,De=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{xe.test(t)&&D(e)<1e3&&z(e,t)}]},Fe=e=>[e,e],Oe=()=>[le(),le()],ze=e=>[...e],Ae=([e,t])=>e===t,Pe=e=>{const s=t(e);return H(s)||s==l&&m(e)?s:void 0},We=e=>null===e||!R(Pe(e)),je=(e,t,s,n,a)=>R(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>R(s)?e.delValue(t):e.setValue(t,s),Ne=e=>JSON.stringify(e,((e,t)=>t instanceof Map?A.fromEntries([...t]):t)),Be=JSON.parse,$e=(e,t,s)=>ce(e,t,oe(e,t)==-s?void 0:s),qe=()=>{let e,t,n=!1,a=!1,r=0,d=[];const S=le(),I=le(),M=le(),m=le(),E=le(),A=le(),P=le(),W=le(),j=le(),k=le(),N=le(),$=le(),K=le(),U=le(),Y=Je(),pe=le(),Ve=le(),ye=le(),we=le(),Se=Oe(),Ie=Oe(),Me=Oe(),me=Oe(),Re=Oe(),Le=Oe(),He=Oe(),xe=Oe(),We=Oe(),Ge=Oe(),Ke=Oe(),Qe=Oe(),Ue=Oe(),Xe=Oe(),Ye=Oe(),Ze=Oe(),_e=Oe(),et=Oe(),tt=Oe(),st=Oe(),nt=Oe(),at=Oe(),lt=le(),rt=Oe(),[ot,it,ct,dt]=(e=>{let t;const[n,a]=De(),l=le();return[(e,a,r,o=[],i=(()=>[]))=>{t??=Js;const c=n(1);return ce(l,c,[e,a,r,o,i]),Ee(ve(a,r??[s],Je),c),c},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==D(t)?z(n,e):null===t[s]?ne(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(oe(e,t),s+1)));return a(e,0),n})(e,n),(e=>ne(e,(e=>oe(l,e)[0](t,...n??[],...a))))),e=>L(oe(l,e),(([,t,n])=>(ve(t,n??[s],void 0,(t=>(ae(t,e),te(t)?1:0))),ce(l,e),a(e),n))),e=>L(oe(l,e),(([e,,s=[],n,a])=>{const l=(...r)=>{const o=D(r);o==D(s)?e(t,...r,...a(r)):R(s[o])?F(n[o]?.(...r)??[],(e=>l(...r,e))):l(...r,s[o])};l()}))]})(),ut=e=>{if(!Z(e,((e,t)=>[o,i].includes(t))))return!1;const t=e[o];return!(!H(t)&&t!=l||(Pe(e[i])!=t&&G(e,i),0))},gt=(t,s)=>(!e||ee(N,s)||Nt(s))&&Z(t,((e,t)=>ht(s,t,e)),(()=>Nt(s))),ht=(e,t,s,n)=>Z(n?s:Ct(s,e,t),((n,a)=>L(ft(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Nt(e,t))),ft=(t,s,n,a)=>e?L(oe(oe(N,t),n),(e=>Pe(a)!=e[o]?Nt(t,s,n,a,e[i]):a),(()=>Nt(t,s,n,a))):R(Pe(a))?Nt(t,s,n,a):a,bt=(e,t)=>Z(t?e:vt(e),((t,s)=>L(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Bt())),Tt=(e,s)=>t?L(oe(K,e),(t=>Pe(s)!=t[o]?Bt(e,s,t[i]):s),(()=>Bt(e,s))):R(Pe(s))?Bt(e,s):s,Ct=(e,t,s)=>(L(oe($,t),(([n,a])=>{ne(n,((t,s)=>{q(e,s)||(e[s]=t)})),ne(a,(n=>{q(e,n)||Nt(t,s,n)}))})),e),vt=e=>(t&&(ne(U,((t,s)=>{q(e,s)||(e[s]=t)})),ne(Y,(t=>{q(e,t)||Bt(t)}))),e),pt=e=>ue(N,e,((e,t,s)=>{const n=le(),a=Je();ue(de(N,t,le),s,((e,t,s)=>{ce(e,t,s),L(s[i],(e=>ce(n,t,e)),(()=>Ee(a,t)))})),ce($,t,[n,a])}),((e,t)=>{ce(N,t),ce($,t)})),Vt=e=>ue(K,e,((e,t,s)=>{ce(K,t,s),L(s[i],(e=>ce(U,t,e)),(()=>Ee(Y,t)))}),((e,t)=>{ce(K,t),ce(U,t),ae(Y,t)})),yt=e=>X(e)?ys():Ts(e),wt=e=>ue(ye,e,((e,t,s)=>St(t,s)),((e,t)=>xt(t))),St=(e,t)=>ue(de(ye,e,(()=>(zt(e,1),ce(pe,e,De()),ce(Ve,e,le()),le()))),t,((t,s,n)=>It(e,t,s,n)),((t,s)=>Dt(e,t,s))),It=(e,t,s,n,a)=>ue(de(t,s,(()=>(At(e,s,1),le()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,l)=>Ft(e,t,s,n,l,a))),Mt=(e,t,s,n,a)=>{ee(s,n)||Pt(e,t,n,1);const l=oe(s,n);a!==l&&(Wt(e,t,n,l,a),ce(s,n,a))},mt=(e,t,s,n,a)=>L(oe(t,s),(t=>Mt(e,s,t,n,a)),(()=>It(e,t,s,Ct({[n]:a},e,s)))),Rt=e=>X(e)?Is():Cs(e),Lt=e=>ue(we,e,((e,t,s)=>Ht(t,s)),((e,t)=>Ot(t))),Ht=(e,t)=>{ee(we,e)||jt(e,1);const s=oe(we,e);t!==s&&(kt(e,s,t),ce(we,e,t))},Jt=(e,t)=>{const[s]=oe(pe,e),n=s(t);return ee(oe(ye,e),n)?Jt(e,t):n},Et=e=>oe(ye,e)??St(e,{}),xt=e=>St(e,{}),Dt=(e,t,s)=>{const[,n]=oe(pe,e);n(s),It(e,t,s,{},!0)},Ft=(e,t,s,n,a,l)=>{const r=oe(oe($,e)?.[0],a);if(!R(r)&&!l)return Mt(e,s,n,a,r);const o=t=>{Wt(e,s,t,oe(n,t)),Pt(e,s,t,-1),ce(n,t)};R(r)?o(a):ie(n,o),te(n)&&(At(e,s,-1),te(ce(t,s))&&(zt(e,-1),ce(ye,e),ce(pe,e),ce(Ve,e)))},Ot=e=>{const t=oe(U,e);if(!R(t))return Ht(e,t);kt(e,oe(we,e)),jt(e,-1),ce(we,e)},zt=(e,t)=>$e(S,e,t),At=(e,t,s)=>$e(de(m,e,le),t,s)&&ce(M,e,de(M,e,(()=>0))+s),Pt=(e,t,s,n)=>{const a=oe(Ve,e),l=oe(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&$e(de(I,e,le),s,n),ce(a,s,l!=-n?l+n:null),$e(de(de(E,e,le),t,le),s,n)},Wt=(e,t,s,n,a)=>de(de(de(A,e,le),t,le),s,(()=>[n,0]))[1]=a,jt=(e,t)=>$e(P,e,t),kt=(e,t,s)=>de(W,e,(()=>[t,0]))[1]=s,Nt=(e,t,s,n,a)=>(z(de(de(de(j,e,le),t,le),s,(()=>[])),n),a),Bt=(e,t,s)=>(z(de(k,e,(()=>[])),t),s),$t=(e,t,s)=>L(oe(oe(oe(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Fe(ls(e,t,s))])),qt=e=>L(oe(W,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Fe(is(e))])),Gt=e=>te(j)||te(Ze[e])?0:ne(e?Ce(j):j,((t,s)=>ne(t,((t,n)=>ne(t,((t,a)=>it(Ze[e],[s,n,a],t))))))),Kt=e=>te(k)||te(_e[e])?0:ne(e?be(k):k,((t,s)=>it(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!te(e))return it(t,n,(()=>ge(e))),ie(e,((e,t)=>it(s,[...n??[],e],1==t))),1},Ut=e=>{const t=cs();t!=n&&it(Se[e],void 0,t);const s=te(Ge[e]),a=te(Ue[e])&&te(Xe[e])&&te(We[e])&&te(Ke[e])&&te(Le[e])&&te(He[e])&&te(xe[e])&&s&&te(Me[e])&&te(me[e]),l=te(Ye[e])&&te(Qe[e])&&te(Re[e])&&te(Ie[e]);if(!a||!l){const t=e?[be(S),Te(I),be(M),Te(m),Ce(E),Ce(A)]:[S,I,M,m,E,A];if(!a){Qt(t[0],Me[e],me[e]),ne(t[1],((t,s)=>Qt(t,Le[e],He[e],[s]))),ne(t[2],((t,s)=>{0!=t&&it(xe[e],[s],ts(s))}));const n=Je();ne(t[3],((t,a)=>{Qt(t,We[e],Ke[e],[a])&&!s&&(it(Ge[e],[a,null]),Ee(n,a))})),s||ne(t[5],((t,s)=>{if(!ee(n,s)){const n=Je();ne(t,(e=>ne(e,(([t,s],a)=>s!==t?Ee(n,a):ae(e,a))))),ne(n,(t=>it(Ge[e],[s,t])))}})),ne(t[4],((t,s)=>ne(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;ne(t[5],((t,n)=>{let a;ne(t,((t,l)=>{let r;ne(t,(([t,o],i)=>{o!==t&&(it(Ye[e],[n,l,i],o,t,$t),s=a=r=1)})),r&&it(Qe[e],[n,l],$t)})),a&&it(Re[e],[n],$t)})),s&&it(Ie[e],void 0,$t)}}},Xt=e=>{const t=fs();t!=a&&it(et[e],void 0,t);const s=te(st[e])&&te(nt[e]),n=te(at[e])&&te(tt[e]);if(!s||!n){const t=e?[be(P),be(W)]:[P,W];if(s||Qt(t[0],st[e],nt[e]),!n){let s;ne(t[1],(([t,n],a)=>{n!==t&&(it(at[e],[a],n,t,qt),s=1)})),s&&it(tt[e],void 0,qt)}}},Yt=(e,...t)=>(Rs((()=>e(...O(t,w)))),Js),Zt=()=>fe(ye),_t=()=>re(ye),es=e=>re(oe(Ve,w(e))),ts=e=>_(oe(ye,w(e))),ss=e=>re(oe(ye,w(e))),ns=(e,t,s,n=0,a)=>{return O(x((r=oe(ye,w(e)),o=(e,s)=>[R(t)?s:oe(e,w(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(l)),n,R(a)?a:n+a),(([,e])=>e));var l,r,o},as=(e,t)=>re(oe(oe(ye,w(e)),w(t))),ls=(e,t,s)=>oe(oe(oe(ye,w(e)),w(t)),w(s)),rs=()=>ge(we),os=()=>re(we),is=e=>oe(we,w(e)),cs=()=>!te(ye),ds=e=>ee(ye,w(e)),us=(e,t)=>ee(oe(Ve,w(e)),w(t)),gs=(e,t)=>ee(oe(ye,w(e)),w(t)),hs=(e,t,s)=>ee(oe(oe(ye,w(e)),w(t)),w(s)),fs=()=>!te(we),bs=e=>ee(we,w(e)),Ts=e=>Yt((()=>(e=>Z(e,gt,Nt))(e)?wt(e):0)),Cs=e=>Yt((()=>bt(e)?Lt(e):0)),vs=e=>{try{yt(Be(e))}catch{}return Js},ps=t=>Yt((()=>{if((e=Z(t,(e=>Z(e,ut))))&&(pt(t),!te(ye))){const e=Zt();ys(),Ts(e)}})),Vs=e=>Yt((()=>{if(t=(e=>Z(e,ut))(e)){const s=rs();ms(),Is(),t=!0,Vt(e),Cs(s)}})),ys=()=>Yt((()=>wt({}))),ws=e=>Yt((e=>ee(ye,e)?xt(e):0),e),Ss=(e,t)=>Yt(((e,t)=>L(oe(ye,e),(s=>ee(s,t)?Dt(e,s,t):0))),e,t),Is=()=>Yt((()=>Lt({}))),Ms=()=>Yt((()=>{pt({}),e=!1})),ms=()=>Yt((()=>{Vt({}),t=!1})),Rs=(e,t)=>{if(-1!=r){Ls();const s=e();return Hs(t),s}},Ls=()=>(-1!=r&&r++,1==r&&it(lt,void 0),Js),Hs=e=>(r>0&&(r--,0==r&&(r=1,Gt(1),te(A)||Ut(1),Kt(1),te(W)||Xt(1),e?.(Js)&&(ne(A,((e,t)=>ne(e,((e,s)=>ne(e,(([e],n)=>je(Js,t,s,n,e))))))),se(A),ne(W,(([e],t)=>ke(Js,t,e))),se(W)),it(rt[0],void 0),r=-1,Gt(0),te(A)||Ut(0),Kt(0),te(W)||Xt(0),d[0]?.(Js),it(rt[1],void 0),d[1]?.(Js),r=0,n=cs(),a=fs(),F([S,I,M,m,E,A,j,P,W,k],se))),Js),Js={getContent:()=>[Zt(),rs()],getTables:Zt,getTableIds:_t,getTable:e=>he(oe(ye,w(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ge(oe(oe(ye,w(e)),w(t))),getCellIds:as,getCell:ls,getValues:rs,getValueIds:os,getValue:is,hasTables:cs,hasTable:ds,hasTableCell:us,hasRow:gs,hasCell:hs,hasValues:fs,hasValue:bs,getTablesJson:()=>Ne(ye),getValuesJson:()=>Ne(we),getJson:()=>Ne([ye,we]),getTablesSchemaJson:()=>Ne(N),getValuesSchemaJson:()=>Ne(K),getSchemaJson:()=>Ne([N,K]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Yt((()=>{(X(e)?ys:Ts)(e),(X(t)?Is:Cs)(t)})),setTables:Ts,setTable:(e,t)=>Yt((e=>gt(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?It(e,Et(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Rs((()=>{let n;return ht(e,n,t)&&(e=w(e),It(e,Et(e),n=Jt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Et(e);Q(s,((s,a)=>mt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>L(ft(e,t,s,J(n)?n(ls(e,t,s)):n),(n=>mt(e,Et(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>Yt((()=>bt(e,1)?Q(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>Yt((e=>L(Tt(e,J(t)?t(is(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>Yt((()=>{Q(e[0],((e,t)=>R(e)?ws(t):Q(e,((e,s)=>R(e)?Ss(t,s):Q(e,((e,n)=>je(Js,t,s,n,e))))))),Q(e[1],((e,t)=>ke(Js,t,e)))})),setTablesJson:vs,setValuesJson:e=>{try{Rt(Be(e))}catch{}return Js},setJson:e=>Yt((()=>{try{const[t,s]=Be(e);yt(t),Rt(s)}catch{vs(e)}})),setTablesSchema:ps,setValuesSchema:Vs,setSchema:(e,t)=>Yt((()=>{ps(e),Vs(t)})),delTables:ys,delTable:ws,delRow:Ss,delCell:(e,t,s,n)=>Yt(((e,t,s)=>L(oe(ye,e),(a=>L(oe(a,t),(l=>ee(l,s)?Ft(e,a,t,l,s,n):0))))),e,t,s),delValues:Is,delValue:e=>Yt((e=>ee(we,e)?Ot(e):0),e),delTablesSchema:Ms,delValuesSchema:ms,delSchema:()=>Yt((()=>{Ms(),ms()})),transaction:Rs,startTransaction:Ls,getTransactionChanges:()=>[ge(A,((e,t)=>-1===oe(S,t)?void 0:ge(e,((e,s)=>-1===oe(oe(m,t),s)?void 0:ge(e,(([,e])=>e),(e=>Ae(e)))),te,X)),te,X),ge(W,(([,e])=>e),(e=>Ae(e))),1],getTransactionLog:()=>[!te(A),!te(W),fe(A,ze,Ae),fe(j),ge(W,ze,Ae),ge(k),ge(S),he(m),fe(E),ge(P)],finishTransaction:Hs,forEachTable:e=>ne(ye,((t,s)=>e(s,(e=>ne(t,((t,s)=>e(s,(e=>ie(t,e))))))))),forEachTableCell:(e,t)=>ie(oe(Ve,w(e)),t),forEachRow:(e,t)=>ne(oe(ye,w(e)),((e,s)=>t(s,(t=>ie(e,t))))),forEachCell:(e,t,s)=>ie(oe(oe(ye,w(e)),w(t)),s),forEachValue:e=>ie(we,e),addSortedRowIdsListener:(e,t,s,n,a,l,r)=>{let o=ns(e,t,s,n,a);return ot((()=>{const r=ns(e,t,s,n,a);var i,c,d;c=o,D(i=r)===D(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(o=r,l(Js,e,t,s,n,a,o))}),Ge[r?1:0],[e,t],[_t])},addStartTransactionListener:e=>ot(e,lt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Js),delListener:e=>(ct(e),Js),getListenerStats:()=>({}),createStore:qe,addListener:ot,callListeners:it,setInternalListeners:(e,t)=>d=[e,t]};return Q({[c+g]:[0,Se,[],()=>[cs()]],[g]:[0,Ie],[h]:[0,Me],[c+u]:[1,me,[_t],e=>[ds(...e)]],[u]:[1,Re,[_t]],[u+v]:[1,Le,[_t]],[c+u+C]:[2,He,[_t,es],e=>[us(...e)]],[b]:[1,xe,[_t]],[T]:[1,We,[_t]],[c+f]:[2,Ke,[_t,ss],e=>[gs(...e)]],[f]:[2,Qe,[_t,ss]],[v]:[2,Ue,[_t,ss]],[c+C]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[C]:[3,Ye,[_t,ss,as],e=>Fe(ls(...e))],InvalidCell:[3,Ze],[c+V]:[0,et,[],()=>[fs()]],[V]:[0,tt],[y]:[0,st],[c+p]:[1,nt,[os],e=>[bs(...e)]],[p]:[1,at,[os],e=>Fe(is(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Js["add"+a+"Listener"]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?x(a,0,e):void 0,s,n)})),B(Js)},Ge=2**36,Ke=2**30,Qe=2**24,Ue=2**18,Xe=4096,Ye=64,Ze=e=>String.fromCharCode(48+(63&e)),_e=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,et={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},tt=(e="")=>[e,[Re(e),Re(e)],0];e.createMergeableStore=e=>{let t,n,a=1,l=tt();const[r,o]=(e=>{let t=0,s=-1;const n=Ve(e),a=e=>{const n=t,[a,l]=R(e)||""==e?[0,0]:[_e(r=e,0)*Ge+_e(r,1)*Ke+_e(r,2)*Qe+_e(r,3)*Ue+_e(r,4)*Xe+_e(r,5)*Ye+_e(r,6),_e(r,7)*Ue+_e(r,8)*Xe+_e(r,9)*Ye+_e(r,10),_e(r,11)*Qe+_e(r,12)*Ue+_e(r,13)*Xe+_e(r,14)*Ye+_e(r,15)];var r;t=M(n,a,Date.now()),s=t==n?t==a?M(s,l):s:t==a?l:-1};return[()=>{return a(),l=++s,r=n,Ze((e=t)/Ge)+Ze(e/Ke)+Ze(e/Qe)+Ze(e/Ue)+Ze(e/Xe)+Ze(e/Ye)+Ze(e)+Ze(l/Ue)+Ze(l/Xe)+Ze(l/Ye)+Ze(l)+Ze(r/Qe)+Ze(r/Ue)+Ze(r/Xe)+Ze(r/Ye)+Ze(r);var e,l,r},a]})(e),i=qe(),c=e=>{const t=a;return a=0,e(),a=t,b},d=(e,t=0)=>{const s={},n={},[a,[[r,o,i],c],d]=e,[,[g,h]]=l,[f,b,T]=g;if(r){let e=t?i:T^(r>f?(f?Ve(f):0)^Ve(r):0);K(o,(([n,a,l],r)=>{const o=de(b,r,Re),[i,c,d]=o;let g=t?l:d^(n>i?(i?Ve(i):0)^Ve(n):0);K(a,((e,n)=>{const[a,l]=u(e,de(c,n,Re),Y(Y(s,r,$),n,$),t);g^=t?0:(a?Ie(n,a):0)^Ie(n,l)})),Me(o,g,n),e^=t?0:(d?Ie(r,d):0)^Ie(r,o[2])})),Me(g,e,r)}return u(c,h,n,t),Me(l,t?d:g[2]^h[2],a),[s,n,1]},u=(e,t,n,a)=>{const[l,r,o]=e,[i,c,d]=t;if(l){let e=a?o:d^(l>i?(i?Ve(i):0)^Ve(l):0);K(r,(([t,l,r],o)=>{const i=de(c,o,(()=>[s,void 0,0])),[d,,u]=i;t>d&&(Me(i,a?r:Ve(Ne(l??null)+":"+t),t),i[1]=l,n[o]=l,e^=a?0:Ie(o,u)^Ie(o,i[2]))})),Me(t,e,l)}return[d,t[2]]},g=()=>[l[0],[Le(l[1][0],(e=>Le(e,(e=>Le(e))))),Le(l[1][1])],l[2]],h=()=>{if(R(n)){const[,,e,,n]=i.getTransactionLog(),a=X(e)&&X(n)?s:t??(t=r()),l=[a,[me(X(e)?s:a),me(X(n)?s:a),1]],[[,o],[,c]]=l[1];return Q(e,((e,t)=>{const[,s]=o[t]=me(a);Q(e,((e,t)=>{const[,n]=s[t]=me(a);Q(e,(([,e],t)=>n[t]=[a,e]))}))})),Q(n,(([,e],t)=>c[t]=[a,e])),l}return n},f=e=>c((()=>{o(e[0]),i.applyChanges(d(e))})),b={getId:()=>e,getMergeableContent:g,getMergeableContentHashes:()=>[l[0],[l[1][0][2],l[1][1][2]]],getMergeableTableHashes:()=>ge(l[1][0][1],Se),getMergeableTableIdsDiff:e=>{const t=[];return ie(l[1][0][1],((s,[,,n])=>{n!==e?.[s]&&z(t,s)})),t},getMergeableRowHashes:e=>$(O(e,(e=>[e,ge(oe(l[1][0][1],e)?.[1],Se)]))),getMergeableRowIdsDiff:e=>U(e,((e,t)=>{const s=[];return ie(oe(l[1][0][1],t)?.[1],((t,[,,n])=>{n!==e?.[t]&&z(s,t)})),s})),getMergeableCellHashes:e=>U(e,((e,t)=>$(O(e,(e=>[e,ge(oe(oe(l[1][0][1],t)?.[1],e)?.[1],Se)]))))),getMergeableTablesChanges:e=>{const[,[[t,s]]]=l,n={};return K(e,((e,t)=>L(oe(s,t),(([s,a])=>{const l={};K(e,((e,t)=>L(oe(a,t),(([s,n])=>{const a=ge(n,we,(([,,t],s)=>t==e?.[s]));X(a)||(l[t]=[s,a])})))),X(l)||(n[t]=[s,l])})))),[t,n]},getMergeableValuesHashes:()=>ge(l[1][1][1],Se),getMergeableValuesChanges:e=>[l[1][1][0],ge(l[1][1][1],we,(([,,t],s)=>t==e?.[s]))],setMergeableContent:e=>c((()=>(e=>He(e,(e=>E(e)&&2==D(e)&&He(e[0],(e=>Z(e,(e=>He(e,(e=>Z(e,(e=>He(e,(e=>Z(e,(e=>He(e,We)),void 0,1)))),void 0,1)))),void 0,1)))&&He(e[1],(e=>Z(e,(e=>He(e,We)),void 0,1))))))(e)?i.transaction((()=>{i.delTables().delValues(),l=tt(),o(e[0]),i.applyChanges(d(e,1))})):0)),getTransactionMergeableChanges:h,applyMergeableChanges:f,merge:e=>{const t=g(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return i.setInternalListeners((()=>{a&&(n=h(),d(n))}),(()=>t=n=void 0)),Q(i,((e,t)=>b[t]=S(t,"set")||S(t,"del")||S(t,"apply")||I(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):S(t,"add")&&I(t,"Listener")?(...s)=>{const n=et[x(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:e)),B(b)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),r=t(t),o="type",i="default",c="Has",d="Ids",u="Table",g=u+"s",h=u+d,f="Row",b=f+"Count",C=f+d,T="Cell",v=T+d,p="Value",V=p+"s",y=p+d,w=e=>s+e,S=(e,t)=>e.startsWith(t),I=(e,t)=>e.endsWith(t),M=Math.max,m=isFinite,R=e=>null==e,L=(e,t,s)=>R(e)?s?.():t(e),H=e=>e==n||e==a,J=e=>t(e)==r,E=e=>Array.isArray(e),x=(e,t,s)=>e.slice(t,s),D=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),A=Object,P=e=>A.getPrototypeOf(e),W=A.entries,j=A.isFrozen,k=e=>!R(e)&&L(P(e),(e=>e==A.prototype||R(P(e))),(()=>!0)),N=A.keys,B=A.freeze,$=(e=[])=>A.fromEntries(e),q=(e,t)=>t in e,G=(e,t)=>(delete e[t],e),K=(e,t)=>F(W(e),(([e,s])=>t(s,e))),Q=(e,t)=>O(W(e),(([e,s])=>t(s,e))),U=(e,t)=>$(Q(e,((e,s)=>[s,t(e,s)]))),X=e=>k(e)&&0==(e=>D(N(e)))(e),Y=(e,t,s)=>(q(e,t)||(e[t]=s()),e[t]),Z=(e,t,s,n=0)=>R(e)||!k(e)||!n&&X(e)||j(e)?(s?.(),!1):(Q(e,((s,n)=>{t(s,n)||G(e,n)})),!!n||!X(e)),_=e=>e?.size??0,ee=(e,t)=>e?.has(t)??!1,te=e=>R(e)||0==_(e),se=e=>e.clear(),ne=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),le=e=>new Map(e),re=e=>[...e?.keys()??[]],oe=(e,t)=>e?.get(t),ie=(e,t)=>ne(e,((e,s)=>t(s,e))),ce=(e,t,s)=>R(s)?(ae(e,t),e):e?.set(t,s),de=(e,t,s,n)=>(ee(e,t)?n?.(oe(e,t)):ce(e,t,s()),oe(e,t)),ue=(e,t,s,n=ce)=>(Q(t,((t,n)=>s(e,n,t))),ie(e,(s=>q(t,s)?0:n(e,s))),e),ge=(e,t,s,n)=>{const a={};return ne(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},he=(e,t,s)=>ge(e,(e=>ge(e,t,s)),te,X),fe=(e,t,s)=>ge(e,(e=>he(e,t,s)),te,X),be=(e,t)=>{const s=le();return ne(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>be(e,be),Te=e=>be(e,Ce),ve=(e,t,s,n,a=0)=>L((s?de:oe)(e,t[a],a>D(t)-2?s:le),(l=>{if(a>D(t)-2)return n?.(l)&&ce(e,t[a]),l;const r=ve(l,t,s,n,a+1);return te(l)&&ce(e,t[a]),r})),pe=new globalThis.TextEncoder,Ve=e=>{let t=2166136261;return F(pe.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},ye=([e,t,s])=>[e,t,s],we=([e,t])=>[e,t],Se=e=>e[2],Ie=(e,t)=>Ve(e+":"+t),Me=(e,t,s)=>{e[2]=t>>>0,s>e[0]&&(e[0]=s)},me=e=>[e,$()],Re=(e="")=>[e,le(),0],Le=([e,t,s],n=ye)=>[e,ge(t,n),s],He=(e,s)=>{return E(e)&&3==D(e)&&(a=e[0],t(a)==n)&&s(e[1])&&t(e[2])==l&&m(e[2]);var a},Je=e=>new Set(E(e)||R(e)?e:[e]),Ee=(e,t)=>e?.add(t),xe=/^\d+$/,De=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{xe.test(t)&&D(e)<1e3&&z(e,t)}]},Fe=e=>[e,e],Oe=()=>[le(),le()],ze=e=>[...e],Ae=([e,t])=>e===t,Pe=e=>{const s=t(e);return H(s)||s==l&&m(e)?s:void 0},We=e=>null===e||!R(Pe(e)),je=(e,t,s,n,a)=>R(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>R(s)?e.delValue(t):e.setValue(t,s),Ne=e=>JSON.stringify(e,((e,t)=>t instanceof Map?A.fromEntries([...t]):t)),Be=JSON.parse,$e=(e,t,s)=>ce(e,t,oe(e,t)==-s?void 0:s),qe=()=>{let e,t,n=!1,a=!1,r=0,d=[];const S=le(),I=le(),M=le(),m=le(),E=le(),A=le(),P=le(),W=le(),j=le(),k=le(),N=le(),$=le(),K=le(),U=le(),Y=Je(),pe=le(),Ve=le(),ye=le(),we=le(),Se=Oe(),Ie=Oe(),Me=Oe(),me=Oe(),Re=Oe(),Le=Oe(),He=Oe(),xe=Oe(),We=Oe(),Ge=Oe(),Ke=Oe(),Qe=Oe(),Ue=Oe(),Xe=Oe(),Ye=Oe(),Ze=Oe(),_e=Oe(),et=Oe(),tt=Oe(),st=Oe(),nt=Oe(),at=Oe(),lt=le(),rt=Oe(),[ot,it,ct,dt]=(e=>{let t;const[n,a]=De(),l=le();return[(e,a,r,o=[],i=(()=>[]))=>{t??=Js;const c=n(1);return ce(l,c,[e,a,r,o,i]),Ee(ve(a,r??[s],Je),c),c},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==D(t)?z(n,e):null===t[s]?ne(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(oe(e,t),s+1)));return a(e,0),n})(e,n),(e=>ne(e,(e=>oe(l,e)[0](t,...n??[],...a))))),e=>L(oe(l,e),(([,t,n])=>(ve(t,n??[s],void 0,(t=>(ae(t,e),te(t)?1:0))),ce(l,e),a(e),n))),e=>L(oe(l,e),(([e,,s=[],n,a])=>{const l=(...r)=>{const o=D(r);o==D(s)?e(t,...r,...a(r)):R(s[o])?F(n[o]?.(...r)??[],(e=>l(...r,e))):l(...r,s[o])};l()}))]})(),ut=e=>{if(!Z(e,((e,t)=>[o,i].includes(t))))return!1;const t=e[o];return!(!H(t)&&t!=l||(Pe(e[i])!=t&&G(e,i),0))},gt=(t,s)=>(!e||ee(N,s)||Nt(s))&&Z(t,((e,t)=>ht(s,t,e)),(()=>Nt(s))),ht=(e,t,s,n)=>Z(n?s:Tt(s,e,t),((n,a)=>L(ft(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Nt(e,t))),ft=(t,s,n,a)=>e?L(oe(oe(N,t),n),(e=>Pe(a)!=e[o]?Nt(t,s,n,a,e[i]):a),(()=>Nt(t,s,n,a))):R(Pe(a))?Nt(t,s,n,a):a,bt=(e,t)=>Z(t?e:vt(e),((t,s)=>L(Ct(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Bt())),Ct=(e,s)=>t?L(oe(K,e),(t=>Pe(s)!=t[o]?Bt(e,s,t[i]):s),(()=>Bt(e,s))):R(Pe(s))?Bt(e,s):s,Tt=(e,t,s)=>(L(oe($,t),(([n,a])=>{ne(n,((t,s)=>{q(e,s)||(e[s]=t)})),ne(a,(n=>{q(e,n)||Nt(t,s,n)}))})),e),vt=e=>(t&&(ne(U,((t,s)=>{q(e,s)||(e[s]=t)})),ne(Y,(t=>{q(e,t)||Bt(t)}))),e),pt=e=>ue(N,e,((e,t,s)=>{const n=le(),a=Je();ue(de(N,t,le),s,((e,t,s)=>{ce(e,t,s),L(s[i],(e=>ce(n,t,e)),(()=>Ee(a,t)))})),ce($,t,[n,a])}),((e,t)=>{ce(N,t),ce($,t)})),Vt=e=>ue(K,e,((e,t,s)=>{ce(K,t,s),L(s[i],(e=>ce(U,t,e)),(()=>Ee(Y,t)))}),((e,t)=>{ce(K,t),ce(U,t),ae(Y,t)})),yt=e=>X(e)?ys():Cs(e),wt=e=>ue(ye,e,((e,t,s)=>St(t,s)),((e,t)=>xt(t))),St=(e,t)=>ue(de(ye,e,(()=>(zt(e,1),ce(pe,e,De()),ce(Ve,e,le()),le()))),t,((t,s,n)=>It(e,t,s,n)),((t,s)=>Dt(e,t,s))),It=(e,t,s,n,a)=>ue(de(t,s,(()=>(At(e,s,1),le()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,l)=>Ft(e,t,s,n,l,a))),Mt=(e,t,s,n,a)=>{ee(s,n)||Pt(e,t,n,1);const l=oe(s,n);a!==l&&(Wt(e,t,n,l,a),ce(s,n,a))},mt=(e,t,s,n,a)=>L(oe(t,s),(t=>Mt(e,s,t,n,a)),(()=>It(e,t,s,Tt({[n]:a},e,s)))),Rt=e=>X(e)?Is():Ts(e),Lt=e=>ue(we,e,((e,t,s)=>Ht(t,s)),((e,t)=>Ot(t))),Ht=(e,t)=>{ee(we,e)||jt(e,1);const s=oe(we,e);t!==s&&(kt(e,s,t),ce(we,e,t))},Jt=(e,t)=>{const[s]=oe(pe,e),n=s(t);return ee(oe(ye,e),n)?Jt(e,t):n},Et=e=>oe(ye,e)??St(e,{}),xt=e=>St(e,{}),Dt=(e,t,s)=>{const[,n]=oe(pe,e);n(s),It(e,t,s,{},!0)},Ft=(e,t,s,n,a,l)=>{const r=oe(oe($,e)?.[0],a);if(!R(r)&&!l)return Mt(e,s,n,a,r);const o=t=>{Wt(e,s,t,oe(n,t)),Pt(e,s,t,-1),ce(n,t)};R(r)?o(a):ie(n,o),te(n)&&(At(e,s,-1),te(ce(t,s))&&(zt(e,-1),ce(ye,e),ce(pe,e),ce(Ve,e)))},Ot=e=>{const t=oe(U,e);if(!R(t))return Ht(e,t);kt(e,oe(we,e)),jt(e,-1),ce(we,e)},zt=(e,t)=>$e(S,e,t),At=(e,t,s)=>$e(de(m,e,le),t,s)&&ce(M,e,de(M,e,(()=>0))+s),Pt=(e,t,s,n)=>{const a=oe(Ve,e),l=oe(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&$e(de(I,e,le),s,n),ce(a,s,l!=-n?l+n:null),$e(de(de(E,e,le),t,le),s,n)},Wt=(e,t,s,n,a)=>de(de(de(A,e,le),t,le),s,(()=>[n,0]))[1]=a,jt=(e,t)=>$e(P,e,t),kt=(e,t,s)=>de(W,e,(()=>[t,0]))[1]=s,Nt=(e,t,s,n,a)=>(z(de(de(de(j,e,le),t,le),s,(()=>[])),n),a),Bt=(e,t,s)=>(z(de(k,e,(()=>[])),t),s),$t=(e,t,s)=>L(oe(oe(oe(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Fe(ls(e,t,s))])),qt=e=>L(oe(W,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Fe(is(e))])),Gt=e=>te(j)||te(Ze[e])?0:ne(e?Te(j):j,((t,s)=>ne(t,((t,n)=>ne(t,((t,a)=>it(Ze[e],[s,n,a],t))))))),Kt=e=>te(k)||te(_e[e])?0:ne(e?be(k):k,((t,s)=>it(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!te(e))return it(t,n,(()=>ge(e))),ie(e,((e,t)=>it(s,[...n??[],e],1==t))),1},Ut=e=>{const t=cs();t!=n&&it(Se[e],void 0,t);const s=te(Ge[e]),a=te(Ue[e])&&te(Xe[e])&&te(We[e])&&te(Ke[e])&&te(Le[e])&&te(He[e])&&te(xe[e])&&s&&te(Me[e])&&te(me[e]),l=te(Ye[e])&&te(Qe[e])&&te(Re[e])&&te(Ie[e]);if(!a||!l){const t=e?[be(S),Ce(I),be(M),Ce(m),Te(E),Te(A)]:[S,I,M,m,E,A];if(!a){Qt(t[0],Me[e],me[e]),ne(t[1],((t,s)=>Qt(t,Le[e],He[e],[s]))),ne(t[2],((t,s)=>{0!=t&&it(xe[e],[s],ts(s))}));const n=Je();ne(t[3],((t,a)=>{Qt(t,We[e],Ke[e],[a])&&!s&&(it(Ge[e],[a,null]),Ee(n,a))})),s||ne(t[5],((t,s)=>{if(!ee(n,s)){const n=Je();ne(t,(e=>ne(e,(([t,s],a)=>s!==t?Ee(n,a):ae(e,a))))),ne(n,(t=>it(Ge[e],[s,t])))}})),ne(t[4],((t,s)=>ne(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;ne(t[5],((t,n)=>{let a;ne(t,((t,l)=>{let r;ne(t,(([t,o],i)=>{o!==t&&(it(Ye[e],[n,l,i],o,t,$t),s=a=r=1)})),r&&it(Qe[e],[n,l],$t)})),a&&it(Re[e],[n],$t)})),s&&it(Ie[e],void 0,$t)}}},Xt=e=>{const t=fs();t!=a&&it(et[e],void 0,t);const s=te(st[e])&&te(nt[e]),n=te(at[e])&&te(tt[e]);if(!s||!n){const t=e?[be(P),be(W)]:[P,W];if(s||Qt(t[0],st[e],nt[e]),!n){let s;ne(t[1],(([t,n],a)=>{n!==t&&(it(at[e],[a],n,t,qt),s=1)})),s&&it(tt[e],void 0,qt)}}},Yt=(e,...t)=>(Rs((()=>e(...O(t,w)))),Js),Zt=()=>fe(ye),_t=()=>re(ye),es=e=>re(oe(Ve,w(e))),ts=e=>_(oe(ye,w(e))),ss=e=>re(oe(ye,w(e))),ns=(e,t,s,n=0,a)=>{return O(x((r=oe(ye,w(e)),o=(e,s)=>[R(t)?s:oe(e,w(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(l)),n,R(a)?a:n+a),(([,e])=>e));var l,r,o},as=(e,t)=>re(oe(oe(ye,w(e)),w(t))),ls=(e,t,s)=>oe(oe(oe(ye,w(e)),w(t)),w(s)),rs=()=>ge(we),os=()=>re(we),is=e=>oe(we,w(e)),cs=()=>!te(ye),ds=e=>ee(ye,w(e)),us=(e,t)=>ee(oe(Ve,w(e)),w(t)),gs=(e,t)=>ee(oe(ye,w(e)),w(t)),hs=(e,t,s)=>ee(oe(oe(ye,w(e)),w(t)),w(s)),fs=()=>!te(we),bs=e=>ee(we,w(e)),Cs=e=>Yt((()=>(e=>Z(e,gt,Nt))(e)?wt(e):0)),Ts=e=>Yt((()=>bt(e)?Lt(e):0)),vs=e=>{try{yt(Be(e))}catch{}return Js},ps=t=>Yt((()=>{if((e=Z(t,(e=>Z(e,ut))))&&(pt(t),!te(ye))){const e=Zt();ys(),Cs(e)}})),Vs=e=>Yt((()=>{if(t=(e=>Z(e,ut))(e)){const s=rs();ms(),Is(),t=!0,Vt(e),Ts(s)}})),ys=()=>Yt((()=>wt({}))),ws=e=>Yt((e=>ee(ye,e)?xt(e):0),e),Ss=(e,t)=>Yt(((e,t)=>L(oe(ye,e),(s=>ee(s,t)?Dt(e,s,t):0))),e,t),Is=()=>Yt((()=>Lt({}))),Ms=()=>Yt((()=>{pt({}),e=!1})),ms=()=>Yt((()=>{Vt({}),t=!1})),Rs=(e,t)=>{if(-1!=r){Ls();const s=e();return Hs(t),s}},Ls=()=>(-1!=r&&r++,1==r&&it(lt,void 0),Js),Hs=e=>(r>0&&(r--,0==r&&(r=1,Gt(1),te(A)||Ut(1),Kt(1),te(W)||Xt(1),e?.(Js)&&(ne(A,((e,t)=>ne(e,((e,s)=>ne(e,(([e],n)=>je(Js,t,s,n,e))))))),se(A),ne(W,(([e],t)=>ke(Js,t,e))),se(W)),it(rt[0],void 0),r=-1,Gt(0),te(A)||Ut(0),Kt(0),te(W)||Xt(0),d[0]?.(Js),it(rt[1],void 0),d[1]?.(Js),r=0,n=cs(),a=fs(),F([S,I,M,m,E,A,j,P,W,k],se))),Js),Js={getContent:()=>[Zt(),rs()],getTables:Zt,getTableIds:_t,getTable:e=>he(oe(ye,w(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ge(oe(oe(ye,w(e)),w(t))),getCellIds:as,getCell:ls,getValues:rs,getValueIds:os,getValue:is,hasTables:cs,hasTable:ds,hasTableCell:us,hasRow:gs,hasCell:hs,hasValues:fs,hasValue:bs,getTablesJson:()=>Ne(ye),getValuesJson:()=>Ne(we),getJson:()=>Ne([ye,we]),getTablesSchemaJson:()=>Ne(N),getValuesSchemaJson:()=>Ne(K),getSchemaJson:()=>Ne([N,K]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Yt((()=>{(X(e)?ys:Cs)(e),(X(t)?Is:Ts)(t)})),setTables:Cs,setTable:(e,t)=>Yt((e=>gt(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?It(e,Et(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Rs((()=>{let n;return ht(e,n,t)&&(e=w(e),It(e,Et(e),n=Jt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Et(e);Q(s,((s,a)=>mt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>L(ft(e,t,s,J(n)?n(ls(e,t,s)):n),(n=>mt(e,Et(e),t,s,n)))),e,t,s),setValues:Ts,setPartialValues:e=>Yt((()=>bt(e,1)?Q(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>Yt((e=>L(Ct(e,J(t)?t(is(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>Yt((()=>{Q(e[0],((e,t)=>R(e)?ws(t):Q(e,((e,s)=>R(e)?Ss(t,s):Q(e,((e,n)=>je(Js,t,s,n,e))))))),Q(e[1],((e,t)=>ke(Js,t,e)))})),setTablesJson:vs,setValuesJson:e=>{try{Rt(Be(e))}catch{}return Js},setJson:e=>Yt((()=>{try{const[t,s]=Be(e);yt(t),Rt(s)}catch{vs(e)}})),setTablesSchema:ps,setValuesSchema:Vs,setSchema:(e,t)=>Yt((()=>{ps(e),Vs(t)})),delTables:ys,delTable:ws,delRow:Ss,delCell:(e,t,s,n)=>Yt(((e,t,s)=>L(oe(ye,e),(a=>L(oe(a,t),(l=>ee(l,s)?Ft(e,a,t,l,s,n):0))))),e,t,s),delValues:Is,delValue:e=>Yt((e=>ee(we,e)?Ot(e):0),e),delTablesSchema:Ms,delValuesSchema:ms,delSchema:()=>Yt((()=>{Ms(),ms()})),transaction:Rs,startTransaction:Ls,getTransactionChanges:()=>[ge(A,((e,t)=>-1===oe(S,t)?void 0:ge(e,((e,s)=>-1===oe(oe(m,t),s)?void 0:ge(e,(([,e])=>e),(e=>Ae(e)))),te,X)),te,X),ge(W,(([,e])=>e),(e=>Ae(e))),1],getTransactionLog:()=>[!te(A),!te(W),fe(A,ze,Ae),fe(j),ge(W,ze,Ae),ge(k),ge(S),he(m),fe(E),ge(P)],finishTransaction:Hs,forEachTable:e=>ne(ye,((t,s)=>e(s,(e=>ne(t,((t,s)=>e(s,(e=>ie(t,e))))))))),forEachTableCell:(e,t)=>ie(oe(Ve,w(e)),t),forEachRow:(e,t)=>ne(oe(ye,w(e)),((e,s)=>t(s,(t=>ie(e,t))))),forEachCell:(e,t,s)=>ie(oe(oe(ye,w(e)),w(t)),s),forEachValue:e=>ie(we,e),addSortedRowIdsListener:(e,t,s,n,a,l,r)=>{let o=ns(e,t,s,n,a);return ot((()=>{const r=ns(e,t,s,n,a);var i,c,d;c=o,D(i=r)===D(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(o=r,l(Js,e,t,s,n,a,o))}),Ge[r?1:0],[e,t],[_t])},addStartTransactionListener:e=>ot(e,lt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Js),delListener:e=>(ct(e),Js),getListenerStats:()=>({}),createStore:qe,addListener:ot,callListeners:it,setInternalListeners:(e,t)=>d=[e,t]};return Q({[c+g]:[0,Se,[],()=>[cs()]],[g]:[0,Ie],[h]:[0,Me],[c+u]:[1,me,[_t],e=>[ds(...e)]],[u]:[1,Re,[_t]],[u+v]:[1,Le,[_t]],[c+u+T]:[2,He,[_t,es],e=>[us(...e)]],[b]:[1,xe,[_t]],[C]:[1,We,[_t]],[c+f]:[2,Ke,[_t,ss],e=>[gs(...e)]],[f]:[2,Qe,[_t,ss]],[v]:[2,Ue,[_t,ss]],[c+T]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[T]:[3,Ye,[_t,ss,as],e=>Fe(ls(...e))],InvalidCell:[3,Ze],[c+V]:[0,et,[],()=>[fs()]],[V]:[0,tt],[y]:[0,st],[c+p]:[1,nt,[os],e=>[bs(...e)]],[p]:[1,at,[os],e=>Fe(is(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Js["add"+a+"Listener"]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?x(a,0,e):void 0,s,n)})),B(Js)},Ge=2**36,Ke=2**30,Qe=2**24,Ue=2**18,Xe=4096,Ye=64,Ze=e=>String.fromCharCode(48+(63&e)),_e=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,et={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},tt=(e="")=>[e,[Re(e),Re(e)],0];e.createMergeableStore=e=>{let t,n,a=1,l=tt();const[r,o]=(e=>{let t=0,s=-1;const n=Ve(e),a=e=>{const n=t,[a,l]=R(e)||""==e?[0,0]:[_e(r=e,0)*Ge+_e(r,1)*Ke+_e(r,2)*Qe+_e(r,3)*Ue+_e(r,4)*Xe+_e(r,5)*Ye+_e(r,6),_e(r,7)*Ue+_e(r,8)*Xe+_e(r,9)*Ye+_e(r,10),_e(r,11)*Qe+_e(r,12)*Ue+_e(r,13)*Xe+_e(r,14)*Ye+_e(r,15)];var r;t=M(n,a,Date.now()),s=t==n?t==a?M(s,l):s:t==a?l:-1};return[()=>{return a(),l=++s,r=n,Ze((e=t)/Ge)+Ze(e/Ke)+Ze(e/Qe)+Ze(e/Ue)+Ze(e/Xe)+Ze(e/Ye)+Ze(e)+Ze(l/Ue)+Ze(l/Xe)+Ze(l/Ye)+Ze(l)+Ze(r/Qe)+Ze(r/Ue)+Ze(r/Xe)+Ze(r/Ye)+Ze(r);var e,l,r},a]})(e),i=qe(),c=e=>{const t=a;return a=0,e(),a=t,b},d=(e,t=0)=>{const s={},n={},[a,[[r,o,i],c],d]=e,[,[g,h]]=l,[f,b,C]=g;if(r){let e=t?i:C^(r>f?(f?Ve(f):0)^Ve(r):0);K(o,(([n,a,l],r)=>{const o=de(b,r,Re),[i,c,d]=o;let g=t?l:d^(n>i?(i?Ve(i):0)^Ve(n):0);K(a,((e,n)=>{const[a,l]=u(e,de(c,n,Re),Y(Y(s,r,$),n,$),t);g^=t?0:(a?Ie(n,a):0)^Ie(n,l)})),Me(o,g,n),e^=t?0:(d?Ie(r,d):0)^Ie(r,o[2])})),Me(g,e,r)}return u(c,h,n,t),Me(l,t?d:g[2]^h[2],a),[s,n,1]},u=(e,t,n,a)=>{const[l,r,o]=e,[i,c,d]=t;if(l){let e=a?o:d^(l>i?(i?Ve(i):0)^Ve(l):0);K(r,(([t,l,r],o)=>{const i=de(c,o,(()=>[s,void 0,0])),[d,,u]=i;t>d&&(Me(i,a?r:Ve(Ne(l??null)+":"+t),t),i[1]=l,n[o]=l,e^=a?0:Ie(o,u)^Ie(o,i[2]))})),Me(t,e,l)}return[d,t[2]]},g=()=>[l[0],[Le(l[1][0],(e=>Le(e,(e=>Le(e))))),Le(l[1][1])],l[2]],h=()=>{if(R(n)){const[,,e,,n]=i.getTransactionLog(),a=X(e)&&X(n)?s:t??(t=r()),l=[a,[me(X(e)?s:a),me(X(n)?s:a),1]],[[,o],[,c]]=l[1];return Q(e,((e,t)=>{const[,s]=o[t]=me(a);Q(e,((e,t)=>{const[,n]=s[t]=me(a);Q(e,(([,e],t)=>n[t]=[a,e]))}))})),Q(n,(([,e],t)=>c[t]=[a,e])),l}return n},f=e=>c((()=>{o(e[0]),i.applyChanges(d(e))})),b={getId:()=>e,getMergeableContent:g,getMergeableContentHashes:()=>[l[0],[l[1][0][2],l[1][1][2]]],getMergeableTableHashes:()=>ge(l[1][0][1],Se),getMergeableTableIdsDiff:e=>{const t=[];return ie(l[1][0][1],((s,[,,n])=>{n!==e?.[s]&&z(t,s)})),t},getMergeableRowHashes:e=>$(O(e,(e=>[e,ge(oe(l[1][0][1],e)?.[1],Se)]))),getMergeableRowIdsDiff:e=>U(e,((e,t)=>{const s=[];return ie(oe(l[1][0][1],t)?.[1],((t,[,,n])=>{n!==e?.[t]&&z(s,t)})),s})),getMergeableCellHashes:e=>U(e,((e,t)=>$(O(e,(e=>[e,ge(oe(oe(l[1][0][1],t)?.[1],e)?.[1],Se)]))))),getMergeableTablesChanges:e=>{const[,[[t,s]]]=l,n={};return K(e,((e,t)=>L(oe(s,t),(([s,a])=>{const l={};K(e,((e,t)=>L(oe(a,t),(([s,n])=>{const a=ge(n,we,(([,,t],s)=>t==e?.[s]));X(a)||(l[t]=[s,a])})))),X(l)||(n[t]=[s,l])})))),[t,n]},getMergeableValuesHashes:()=>ge(l[1][1][1],Se),getMergeableValuesChanges:e=>[l[1][1][0],ge(l[1][1][1],we,(([,,t],s)=>t==e?.[s]))],setMergeableContent:e=>c((()=>(e=>He(e,(e=>E(e)&&2==D(e)&&He(e[0],(e=>Z(e,(e=>He(e,(e=>Z(e,(e=>He(e,(e=>Z(e,(e=>He(e,We)),void 0,1)))),void 0,1)))),void 0,1)))&&He(e[1],(e=>Z(e,(e=>He(e,We)),void 0,1))))))(e)?i.transaction((()=>{i.delTables().delValues(),l=tt(),o(e[0]),i.applyChanges(d(e,1))})):0)),setDefaultContent:e=>(t="0",i.setContent(e),b),getTransactionMergeableChanges:h,applyMergeableChanges:f,merge:e=>{const t=g(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return i.setInternalListeners((()=>{a&&(n=h(),d(n))}),(()=>t=n=void 0)),Q(i,((e,t)=>b[t]=S(t,"set")||S(t,"del")||S(t,"apply")||I(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):S(t,"add")&&I(t,"Listener")?(...s)=>{const n=et[x(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:e)),B(b)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),n=e=>null==e,s=(e,t,a)=>n(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.entries,c=o.keys,d=o.freeze,
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),n=e=>null==e,s=(e,t,a)=>n(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.entries,c=o.keys,d=o.freeze,u=(e,t)=>s(e,(e=>e[t])),y=(e,t)=>t in e,g=(e,t)=>(delete e[t],e),l=(e,t)=>((e,t)=>e.map(t))(i(e),(([e,a])=>t(a,e))),p=e=>c(e).length,h=e=>(e=>!n(e)&&s(r(e),(e=>e==o.prototype||n(r(e))),(()=>!0)))(e)&&0==p(e),f=e=>new Map(e),v=(e,t)=>e?.get(t),w=(e,t,a)=>{return n(a)?(s=e,o=t,s?.delete(o),e):e?.set(t,a);var s,o},A=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(v(e,t)):w(e,t,a()),v(e,t)},C=f(),b=f(),L=(e,t)=>[e[t].t,e[t].v],S=(e,t,a,s)=>{const o=n(t)?e:((e,t,a)=>(y(e,t)||(e[t]={}),e[t]))(e,t);let r;return l(a,((e,t)=>{s(o,t,e)&&(r=1)})),l(o,((e,t)=>{y(a,t)||(g(o,t),r=1)})),!n(t)&&h(o)&&g(e,t),r};e.createAutomergePersister=(e,o,r="tinybase",i)=>(o.change((e=>e[r]={})),((e,o,r,i,c,u,y,g={},l=[])=>{let p,f,L,S=0;A(C,l,(()=>0)),A(b,l,(()=>[]));const[m,M,T,x,D]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!h(e)||!h(t),t.setDefaultContent])(y,e),P=async e=>(2!=S&&(S=1,await O.schedule((async()=>{await e(),S=0}))),O),j=n=>{var s;(m&&(s=n?.[0],t(s)==a)?1===n?.[1][2]?e.applyMergeableChanges:e.setMergeableContent:1===n?.[2]?e.applyChanges:e.setContent)(n)},O={load:async e=>await P((async()=>{try{j(await o())}catch(t){u?.(t),e&&D(e)}})),startAutoLoad:async e=>(await O.stopAutoLoad().load(e),f=i((async(e,t)=>{const a=t?.();await P((async()=>{try{j(a??e?.()??await o())}catch(e){u?.(e)}}))})),O),stopAutoLoad:()=>(f&&(c(f),f=void 0),O),isAutoLoading:()=>!n(f),save:async e=>(1!=S&&(S=2,await O.schedule((async()=>{try{await r(M,e)}catch(e){u?.(e)}S=0}))),O),startAutoSave:async()=>(await O.stopAutoSave().save(),L=e.addDidFinishTransactionListener((()=>{const e=T();x(e)&&O.save((()=>e))})),O),stopAutoSave:()=>(s(L,e.delListener),L=void 0,O),isAutoSaving:()=>!n(L),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(v(b,l),...e),await(async()=>{if(!v(C,l)){for(w(C,l,1);!n((e=v(b,l),p=e.shift()));)try{await p()}catch(e){u?.(e)}w(C,l,0)}var e})(),O),getStore:()=>e,destroy:()=>O.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...g};return d(O)})(e,(async()=>{const e=await o.doc();return 2==p(e[r])?L(e,r):void 0}),(async(e,t)=>o.change((a=>((e,t,a,o)=>{((e,t)=>{h(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[r,i]=L(e,t),c=()=>{d=1};let d=1;if(s(o?.(),(([e,t])=>{d=0,l(e,((e,t)=>d?0:n(e)?g(r,t):s(r[t],(t=>l(e,((e,a)=>d?0:n(e)?g(t,a):s(u(t,a),(t=>l(e,((e,a)=>n(e)?g(t,a):t[a]=e))),c)))),c))),l(t,((e,t)=>d?0:n(e)?g(i,t):i[t]=e))})),d){const[e,t]=a();S(r,void 0,e,((e,t,a)=>S(r,t,a,((e,t,a)=>S(e,t,a,((e,t,a)=>{if(u(e,t)!==a)return e[t]=a,1})))))),S(i,void 0,t,((e,t,a)=>{u(i,t)!==a&&(i[t]=a)}))}})(a,r,e,t)))),(e=>{const t=({doc:t})=>e((()=>L(t,r)));return o.on("change",t),t}),(e=>{o.removeListener("change",e)}),i,!1,{getDocHandle:()=>o}))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),s=e=>null==e,n=(e,t,a)=>s(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.keys,c=o.freeze,g=e=>(e=>!s(e)&&n(r(e),(e=>e==o.prototype||s(r(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),y=JSON.parse,
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),s=e=>null==e,n=(e,t,a)=>s(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.keys,c=o.freeze,g=e=>(e=>!s(e)&&n(r(e),(e=>e==o.prototype||s(r(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),y=JSON.parse,l=e=>new Map(e),d=(e,t)=>e?.get(t),u=(e,t,a)=>{return s(a)?(n=e,o=t,n?.delete(o),e):e?.set(t,a);var n,o},p=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(d(e,t)):u(e,t,a()),d(e,t)},f=l(),h=l(),v="storage",w=globalThis.window,S=(e,r,i,l)=>((e,o,r,i,y,l,v,w={},S=[])=>{let A,C,b,L=0;p(f,S,(()=>0)),p(h,S,(()=>[]));const[m,M,T,O,P]=((e,t)=>!e||s(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!g(e)||!g(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!g(e)||!g(t),t.setDefaultContent])(v,e),x=async e=>(2!=L&&(L=1,await N.schedule((async()=>{await e(),L=0}))),N),E=s=>{var n;(m&&(n=s?.[0],t(n)==a)?1===s?.[1][2]?e.applyMergeableChanges:e.setMergeableContent:1===s?.[2]?e.applyChanges:e.setContent)(s)},N={load:async e=>await x((async()=>{try{E(await o())}catch(t){l?.(t),e&&P(e)}})),startAutoLoad:async e=>(await N.stopAutoLoad().load(e),C=i((async(e,t)=>{const a=t?.();await x((async()=>{try{E(a??e?.()??await o())}catch(e){l?.(e)}}))})),N),stopAutoLoad:()=>(C&&(y(C),C=void 0),N),isAutoLoading:()=>!s(C),save:async e=>(1!=L&&(L=2,await N.schedule((async()=>{try{await r(M,e)}catch(e){l?.(e)}L=0}))),N),startAutoSave:async()=>(await N.stopAutoSave().save(),b=e.addDidFinishTransactionListener((()=>{const e=T();O(e)&&N.save((()=>e))})),N),stopAutoSave:()=>(n(b,e.delListener),b=void 0,N),isAutoSaving:()=>!s(b),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(d(h,S),...e),await(async()=>{if(!d(f,S)){for(u(f,S,1);!s((e=d(h,S),A=e.shift()));)try{await A()}catch(e){l?.(e)}u(f,S,0)}var e})(),N),getStore:()=>e,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...w};return c(N)})(e,(async()=>y(i.getItem(r))),(async e=>{return i.setItem(r,(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?o.fromEntries([...t]):t))));var t}),(e=>{const t=t=>{t.storageArea===i&&t.key===r&&e((()=>y(t.newValue)))};return w.addEventListener(v,t),t}),(e=>w.removeEventListener(v,e)),l,!0,{getStorageName:()=>r});e.createLocalPersister=(e,t,a)=>S(e,t,localStorage,a),e.createSessionPersister=(e,t,a)=>S(e,t,sessionStorage,a)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
|
|
Binary file
|