tinybase 5.0.0-beta.10 → 5.0.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/mergeable-store.cjs +1 -1
- package/lib/cjs/mergeable-store.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-browser.cjs +1 -1
- package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-file.cjs +1 -1
- package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-libsql.cjs +1 -1
- package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
- package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-powersync.cjs +1 -1
- package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -1
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -1
- package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -1
- package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-ws-server.cjs +1 -1
- package/lib/cjs/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
- package/lib/cjs/synchronizers.cjs +1 -1
- package/lib/cjs/synchronizers.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs-es6/mergeable-store.cjs +1 -1
- package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -1
- package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -1
- package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -1
- package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers.cjs +1 -1
- package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/debug/mergeable-store.js +1 -1
- package/lib/debug/persisters/persister-automerge.js +113 -101
- package/lib/debug/persisters/persister-browser.js +113 -97
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +113 -102
- package/lib/debug/persisters/persister-electric-sql.js +113 -102
- package/lib/debug/persisters/persister-expo-sqlite-next.js +113 -102
- package/lib/debug/persisters/persister-expo-sqlite.js +113 -102
- package/lib/debug/persisters/persister-file.js +108 -96
- package/lib/debug/persisters/persister-indexed-db.js +108 -96
- package/lib/debug/persisters/persister-libsql.js +113 -102
- package/lib/debug/persisters/persister-partykit-client.js +112 -100
- package/lib/debug/persisters/persister-powersync.js +113 -102
- package/lib/debug/persisters/persister-remote.js +108 -96
- package/lib/debug/persisters/persister-sqlite-wasm.js +113 -102
- package/lib/debug/persisters/persister-sqlite3.js +113 -102
- package/lib/debug/persisters/persister-yjs.js +113 -101
- package/lib/debug/persisters.js +107 -95
- package/lib/debug/store.js +1 -1
- package/lib/debug/synchronizers/synchronizer-local.js +114 -102
- package/lib/debug/synchronizers/synchronizer-ws-client.js +113 -101
- package/lib/debug/synchronizers/synchronizer-ws-server.js +151 -6
- package/lib/debug/synchronizers.js +113 -101
- package/lib/debug/tinybase.js +114 -102
- package/lib/debug/ui-react-dom.js +114 -98
- package/lib/es6/mergeable-store.js +1 -1
- package/lib/es6/mergeable-store.js.gz +0 -0
- package/lib/es6/persisters/persister-automerge.js +1 -1
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-browser.js +1 -1
- package/lib/es6/persisters/persister-browser.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-electric-sql.js +1 -1
- package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-file.js +1 -1
- package/lib/es6/persisters/persister-file.js.gz +0 -0
- package/lib/es6/persisters/persister-indexed-db.js +1 -1
- package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/es6/persisters/persister-libsql.js +1 -1
- package/lib/es6/persisters/persister-libsql.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-client.js +1 -1
- package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/es6/persisters/persister-powersync.js +1 -1
- package/lib/es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -1
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-local.js +1 -1
- package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -1
- package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/es6/synchronizers.js +1 -1
- package/lib/es6/synchronizers.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/ui-react-dom-debug.js +1 -1
- package/lib/es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/mergeable-store.js +1 -1
- package/lib/mergeable-store.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -1
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-browser.js +1 -1
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-electric-sql.js +1 -1
- package/lib/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +1 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-file.js +1 -1
- package/lib/persisters/persister-file.js.gz +0 -0
- package/lib/persisters/persister-indexed-db.js +1 -1
- package/lib/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/persisters/persister-libsql.js +1 -1
- package/lib/persisters/persister-libsql.js.gz +0 -0
- package/lib/persisters/persister-partykit-client.js +1 -1
- package/lib/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/persisters/persister-powersync.js +1 -1
- package/lib/persisters/persister-powersync.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -1
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/synchronizers/synchronizer-local.js +1 -1
- package/lib/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/synchronizers/synchronizer-ws-server.js +1 -1
- package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/synchronizers.js +1 -1
- package/lib/synchronizers.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/types/persisters/persister-browser.d.ts +2 -2
- package/lib/types/persisters/persister-file.d.ts +1 -1
- package/lib/types/persisters.d.ts +73 -47
- package/lib/types/synchronizers/synchronizer-ws-server.d.ts +24 -3
- package/lib/types/synchronizers.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -2
- package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -1
- package/lib/types/with-schemas/persisters.d.ts +99 -87
- package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +24 -3
- package/lib/types/with-schemas/synchronizers.d.ts +1 -1
- package/lib/umd/mergeable-store.js +1 -1
- package/lib/umd/mergeable-store.js.gz +0 -0
- package/lib/umd/persisters/persister-automerge.js +1 -1
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +1 -1
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-electric-sql.js +1 -1
- package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +1 -1
- package/lib/umd/persisters/persister-file.js.gz +0 -0
- package/lib/umd/persisters/persister-indexed-db.js +1 -1
- package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd/persisters/persister-libsql.js +1 -1
- package/lib/umd/persisters/persister-libsql.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-client.js +1 -1
- package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd/persisters/persister-powersync.js +1 -1
- package/lib/umd/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -1
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-local.js +1 -1
- package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-ws-server.js +1 -1
- package/lib/umd/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/umd/synchronizers.js +1 -1
- package/lib/umd/synchronizers.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/ui-react-dom-debug.js +1 -1
- package/lib/umd/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd-es6/mergeable-store.js +1 -1
- package/lib/umd-es6/mergeable-store.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -1
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +1 -1
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
- package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +1 -1
- package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
- package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-libsql.js +1 -1
- package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
- package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-powersync.js +1 -1
- package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -1
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -1
- package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-server.js +1 -1
- package/lib/umd-es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/umd-es6/synchronizers.js +1 -1
- package/lib/umd-es6/synchronizers.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom-debug.js +1 -1
- package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
- package/package.json +1 -1
- package/readme.md +2 -2
package/lib/umd-es6/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),o=t(!0),r=t(0),s=t(t),a="type",i="default",u="Listener",d="Result",c="add",g="Has",v="Ids",f="Table",h=f+"s",b=f+v,p="Row",y=p+"Count",C=p+v,L="Sorted"+p+v,w="Cell",S=w+v,T="Value",I=T+"s",R=T+v,M=e=>n+e,m=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),O=Promise,D=Math.max,E=Math.min,A=isFinite,x=e=>null==e,H=(e,t,n)=>x(e)?null==n?void 0:n():t(e),P=e=>e==l||e==o,k=e=>t(e)==l,j=e=>t(e)==s,J=e=>Array.isArray(e),F=(e,t,n)=>e.slice(t,n),Q=e=>e.length,z=()=>{},N=(e,t)=>e.includes(t),W=(e,t)=>e.every(t),$=(e,t)=>Q(e)===Q(t)&&W(e,((e,n)=>t[n]===e)),B=(e,t)=>W(e,((n,l)=>0==l||t(e[l-1],n)<=0)),_=(e,t)=>e.sort(t),q=(e,t)=>e.forEach(t),G=(e,t)=>e.map(t),K=e=>X(e,((e,t)=>e+t),0),U=e=>0==Q(e),X=(e,t,n)=>e.reduce(t,n),Y=(e,...t)=>e.push(...t),Z=e=>e.pop(),ee=e=>e.shift(),te=Object,ne=e=>te.getPrototypeOf(e),le=te.entries,oe=te.isFrozen,re=e=>!x(e)&&H(ne(e),(e=>e==te.prototype||x(ne(e))),(()=>!0)),se=te.keys,ae=te.freeze,ie=(e=[])=>te.fromEntries(e),ue=(e,t)=>t in e,de=(e,t)=>(delete e[t],e),ce=(e,t)=>q(le(e),(([e,n])=>t(n,e))),ge=(e,t)=>G(le(e),(([e,n])=>t(n,e))),ve=e=>re(e)&&0==(e=>Q(se(e)))(e),fe=(e,t,n)=>(ue(e,t)||(e[t]=n()),e[t]),he=(e,t,n,l=0)=>x(e)||!re(e)||!l&&ve(e)||oe(e)?(null==n||n(),!1):(ge(e,((n,l)=>{t(n,l)||de(e,l)})),!!l||!ve(e)),be=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},pe=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ye=e=>x(e)||0==be(e),Ce=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},Le=e=>e.clear(),we=(e,t)=>null==e?void 0:e.forEach(t),Se=(e,t)=>null==e?void 0:e.delete(t),Te=e=>new Map(e),Ie=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Re=(e,t)=>null==e?void 0:e.get(t),Me=(e,t)=>we(e,((e,n)=>t(n,e))),me=(e,t,n)=>x(n)?(Se(e,t),e):null==e?void 0:e.set(t,n),Ve=(e,t,n,l)=>(pe(e,t)?null==l||l(Re(e,t)):me(e,t,n()),Re(e,t)),Oe=(e,t,n,l=me)=>(ge(t,((t,l)=>n(e,l,t))),Me(e,(n=>ue(t,n)?0:l(e,n))),e),De=(e,t,n,l)=>{const o={};return we(e,((e,r)=>{if(!(null==n?void 0:n(e,r))){const n=t?t(e,r):e;!(null==l?void 0:l(n))&&(o[r]=n)}})),o},Ee=(e,t,n)=>De(e,(e=>De(e,t,n)),ye,ve),Ae=(e,t,n)=>De(e,(e=>Ee(e,t,n)),ye,ve),xe=(e,t)=>{const n=Te();return we(e,((e,l)=>{var o;return n.set(l,null!=(o=null==t?void 0:t(e))?o:e)})),n},He=e=>xe(e,xe),Pe=e=>xe(e,He),ke=(e,t,n,l,o=0)=>H((n?Ve:Re)(e,t[o],o>Q(t)-2?n:Te),(r=>{if(o>Q(t)-2)return(null==l?void 0:l(r))&&me(e,t[o]),r;const s=ke(r,t,n,l,o+1);return ye(r)&&me(e,t[o]),s})),je=e=>{const n=t(e);return P(n)||n==r&&A(e)?n:void 0},Je=e=>x(e)||!x(je(e)),Fe=(e,t,n,l,o)=>x(o)?e.delCell(t,n,l,!0):e.setCell(t,n,l,o),Qe=(e,t,n)=>x(n)?e.delValue(t):e.setValue(t,n),ze=e=>new Set(J(e)||x(e)?e:[e]),Ne=(e,t)=>null==e?void 0:e.add(t),We=(e,t,n,l,o)=>{const r=e.hasRow,s=Te(),a=Te(),i=Te(),u=Te(),d=Te(),c=Te(),g=(t,n,...l)=>{const o=Ve(c,t,ze);return q(l,(t=>Ne(o,t)&&n&&e.callListener(t))),l},v=(t,...n)=>H(Re(c,t),(l=>{q(U(n)?Ce(l):n,(t=>{e.delListener(t),Se(l,t)})),ye(l)&&me(c,t)})),f=(e,n)=>{me(s,e,n),pe(a,e)||(me(a,e,t()),me(u,e,Te()),me(d,e,Te()),o(i))},h=e=>{me(s,e),me(a,e),me(u,e),me(d,e),v(e),o(i)};return[()=>e,()=>Ie(s),e=>Me(a,e),e=>pe(a,e),e=>Re(s,e),e=>Re(a,e),(e,t)=>me(a,e,t),f,(t,l,o,s,a)=>{f(t,l);const i=Te(),c=Te(),h=Re(u,t),b=Re(d,t),p=t=>{const o=n=>e.getCell(l,t,n),u=Re(h,t),d=r(l,t)?n(s(o,t)):void 0;if(u===d||J(u)&&J(d)&&$(u,d)||me(i,t,[u,d]),!x(a)){const e=Re(b,t),n=r(l,t)?a(o,t):void 0;e!=n&&me(c,t,n)}},y=e=>{o((()=>{we(i,(([,e],t)=>me(h,t,e))),we(c,((e,t)=>me(b,t,e)))}),i,c,h,b,e),Le(i),Le(c)};Me(h,p),e.hasTable(l)&&q(e.getRowIds(l),(e=>{pe(h,e)||p(e)})),y(!0),v(t),g(t,0,e.addRowListener(l,null,((e,t,n)=>p(n))),e.addTableListener(l,(()=>y())))},h,e=>l(e,i),()=>Me(c,h),g,v]},$e=(e,t)=>k(e)?t=>t(e):null!=e?e:()=>null!=t?t:n,Be=(e,t)=>{const n=new WeakMap;return l=>{n.has(l)||n.set(l,e(l));const o=n.get(l);return null==t||t(o),o}},_e=/^\d+$/,qe=()=>{const e=[];let t=0;return[l=>{var o;return null!=(o=l?ee(e):null)?o:n+t++},t=>{_e.test(t)&&Q(e)<1e3&&Y(e,t)}]},Ge=e=>{let t;const[l,o]=qe(),r=Te();return[(o,s,a,i=[],u=(()=>[]))=>{null!=t||(t=e());const d=l(1);return me(r,d,[o,s,a,i,u]),Ne(ke(s,null!=a?a:[n],ze),d),d},(e,l,...o)=>q(((e,t=[n])=>{const l=[],o=(e,n)=>n==Q(t)?Y(l,e):null===t[n]?we(e,(e=>o(e,n+1))):q([t[n],null],(t=>o(Re(e,t),n+1)));return o(e,0),l})(e,l),(e=>we(e,(e=>Re(r,e)[0](t,...null!=l?l:[],...o))))),e=>H(Re(r,e),(([,t,l])=>(ke(t,null!=l?l:[n],void 0,(t=>(Se(t,e),ye(t)?1:0))),me(r,e),o(e),l))),e=>H(Re(r,e),(([e,,n=[],l,o])=>{const r=(...s)=>{var a,i;const u=Q(s);u==Q(n)?e(t,...s,...o(s)):x(n[u])?q(null!=(i=null==(a=l[u])?void 0:a.call(l,...s))?i:[],(e=>r(...s,e))):r(...s,n[u])};r()}))]},Ke=Be((e=>{let t,l,o,r=100,s=Te(),a=Te(),i=1;const u=Te(),d=Te(),[c,g,v]=Ge((()=>P)),f=Te(),h=Te(),b=[],p=[],y=(t,n)=>{i=0,e.transaction((()=>{const[l,o]=Re(f,n);we(l,((n,l)=>we(n,((n,o)=>we(n,((n,r)=>Fe(e,l,o,r,n[t]))))))),we(o,((n,l)=>Qe(e,l,n[t])))})),i=1},C=e=>{me(f,e),me(h,e),g(d,[e])},L=(e,t)=>q(((e,t)=>e.splice(0,t))(e,null!=t?t:Q(e)),C),w=()=>L(b,Q(b)-r),S=()=>H(t,(()=>{Y(b,t),w(),L(p),t=void 0,o=1})),T=()=>{t=Z(b),o=1};let I,R;const M=(e=n)=>(x(t)&&(t=n+l++,me(f,t,[s,a]),E(t,e),s=Te(),a=Te(),o=1),t),m=()=>{U(b)||(((e,...t)=>{e.unshift(...t)})(p,M()),y(0,t),t=Z(b),o=1)},V=()=>{U(p)||(Y(b,t),t=ee(p),y(1,t),o=1)},O=()=>{o&&(g(u),o=0)},D=e=>{const t=M(e);return O(),t},E=(e,t)=>(A(e)&&Re(h,e)!==t&&(me(h,e,t),g(d,[e])),P),A=e=>pe(f,e),P={setSize:e=>(r=e,w(),P),addCheckpoint:D,setCheckpoint:E,getStore:()=>e,getCheckpointIds:()=>[[...b],t,[...p]],forEachCheckpoint:e=>Me(h,e),hasCheckpoint:A,getCheckpoint:e=>Re(h,e),goBackward:()=>(m(),O(),P),goForward:()=>(V(),O(),P),goTo:e=>{const n=N(b,e)?m:N(p,e)?V:null;for(;!x(n)&&e!=t;)n();return O(),P},addCheckpointIdsListener:e=>c(e,u),addCheckpointListener:(e,t)=>c(t,d,[e]),delListener:e=>(v(e),P),clear:()=>(L(b),L(p),x(t)||C(t),t=void 0,l=0,D(),P),clearForward:()=>(U(p)||(L(p),g(u)),P),destroy:()=>{e.delListener(I),e.delListener(R)},getListenerStats:()=>({}),_registerListeners:()=>{I=e.addCellListener(null,null,null,((e,t,n,l,o,r)=>{if(i){S();const e=Ve(s,t,Te),a=Ve(e,n,Te),i=Ve(a,l,(()=>[r,void 0]));i[1]=o,i[0]===o&&ye(me(a,l))&&ye(me(e,n))&&ye(me(s,t))&&T(),O()}})),R=e.addValueListener(null,((e,t,n,l)=>{if(i){S();const e=Ve(a,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ye(me(a,t))&&T(),O()}}))}};return ae(P.clear())}),(e=>e._registerListeners())),Ue=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,Xe=Be((e=>{const t=Te(),l=Te(),[o,r,s]=Ge((()=>C)),[a,i,u,d,c,g,v,,f,h,b,p]=We(e,Te,(e=>x(e)?n:J(e)?G(e,M):M(e)),o,r),y=(t,n,l)=>{const o=c(t);we(l,((t,l)=>n(l,(n=>we(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},C={setIndexDefinition:(e,n,o,s,a,i=Ue)=>{const u=x(a)?void 0:([e],[t])=>a(e,t);return f(e,n,((n,o,a,d,c,f)=>{let h=0;const b=ze(),p=ze(),y=g(e);if(we(o,(([e,t],n)=>{const l=ze(e),o=ze(t);we(l,(e=>Se(o,e)?Se(l,e):0)),we(l,(e=>{Ne(b,e),H(Re(y,e),(t=>{Se(t,n),ye(t)&&(me(y,e),h=1)}))})),we(o,(e=>{Ne(b,e),pe(y,e)||(me(y,e,ze()),h=1),Ne(Re(y,e),n),x(s)||Ne(p,e)}))})),n(),ye(c)||(f?Me(y,(e=>Ne(p,e))):Me(a,(e=>H(Re(d,e),(e=>Ne(p,e))))),we(p,(e=>{const t=(t,n)=>i(Re(c,t),Re(c,n),e),n=[...Re(y,e)];B(n,t)||(me(y,e,ze(_(n,t))),Ne(b,e))}))),(h||f)&&!x(u)){const t=[...y];B(t,u)||(v(e,Te(_(t,u))),h=1)}h&&r(t,[e]),we(b,(t=>r(l,[e,t])))}),$e(o),H(s,$e)),C},delIndexDefinition:e=>(h(e),C),getStore:a,getIndexIds:i,forEachIndex:e=>u(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,g(e)),hasIndex:d,hasSlice:(e,t)=>pe(g(e),t),getTableId:c,getSliceIds:e=>Ie(g(e)),getSliceRowIds:(e,t)=>Ce(Re(g(e),t)),addIndexIdsListener:b,addSliceIdsListener:(e,n)=>o(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>o(n,l,[e,t]),delListener:e=>(s(e),C),destroy:p,getListenerStats:()=>({})};return ae(C)})),Ye=Te([["avg",[(e,t)=>K(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>D(...e),(e,t)=>D(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:D(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:E(t,e)]],["sum",[e=>K(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ze=(e,t,n,l,o,r=!1)=>{if(ye(n))return;const[s,a,i,u]=o;return r||(r=x(e)),we(l,(([n,l])=>{r||(e=x(n)?null==a?void 0:a(e,l,t++):x(l)?null==i?void 0:i(e,n,t--):null==u?void 0:u(e,l,n,t),r||(r=x(e)))})),r?s(Ce(n),be(n)):e},et=Be((e=>{const t=Te(),[l,o,r]=Ge((()=>p)),[s,a,i,u,d,c,g,,v,f,h,b]=We(e,z,(e=>isNaN(e)||x(e)||!0===e||!1===e||e===n?void 0:1*e),l,o),p={setMetricDefinition:(e,n,l,r,s,a,i)=>{var u;const d=j(l)?[l,s,a,i]:null!=(u=Re(Ye,l))?u:Re(Ye,"sum");return v(e,n,((n,l,r,s,a,i)=>{const u=c(e),v=be(s);i||(i=x(u)),n();let f=Ze(u,v,s,l,d,i);A(f)||(f=void 0),f!=u&&(g(e,f),o(t,[e],f,u))}),$e(r,1)),p},delMetricDefinition:e=>(f(e),p),getStore:s,getMetricIds:a,forEachMetric:i,hasMetric:u,getTableId:d,getMetric:c,addMetricIdsListener:h,addMetricListener:(e,n)=>l(n,t,[e]),delListener:e=>(r(e),p),destroy:b,getListenerStats:()=>({})};return ae(p)}));var tt=Object.defineProperty,nt=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,rt=(e,t,n)=>t in e?tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,st=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{a(n.next(e))}catch(e){o(e)}},s=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,s);a((n=n.apply(e,t)).next())}));const at=Te(),it=Te(),ut=(e,t,n,l,o,r,s,a={},i=[])=>{let u,d,c,g=0;Ve(at,i,(()=>0)),Ve(it,i,(()=>[]));const[v,f,h,b,p]=((e,t)=>!e||x(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ve(e)||!ve(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!ve(e)||!ve(t),t.setDefaultContent])(s,e),y=e=>st(void 0,null,(function*(){return 2!=g&&(g=1,yield L.schedule((()=>st(void 0,null,(function*(){yield e(),g=0}))))),L})),C=t=>{(v&&J(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},L=((e,t)=>{for(var n in t||(t={}))lt.call(t,n)&&rt(e,n,t[n]);if(nt)for(var n of nt(t))ot.call(t,n)&&rt(e,n,t[n]);return e})({load:e=>st(void 0,null,(function*(){return yield y((()=>st(void 0,null,(function*(){try{C(yield t())}catch(t){null==r||r(t),e&&p(e)}}))))})),startAutoLoad:e=>st(void 0,null,(function*(){return yield L.stopAutoLoad().load(e),d=l(((e,n)=>st(void 0,null,(function*(){const l=null==n?void 0:n();yield y((()=>st(void 0,null,(function*(){var n;try{C(null!=(n=null!=l?l:null==e?void 0:e())?n:yield t())}catch(e){null==r||r(e)}}))))})))),L})),stopAutoLoad:()=>(d&&(o(d),d=void 0),L),isAutoLoading:()=>!x(d),save:e=>st(void 0,null,(function*(){return 1!=g&&(g=2,yield L.schedule((()=>st(void 0,null,(function*(){try{yield n(f,e)}catch(e){null==r||r(e)}g=0}))))),L})),startAutoSave:()=>st(void 0,null,(function*(){return yield L.stopAutoSave().save(),c=e.addDidFinishTransactionListener((()=>{const e=h();b(e)&&L.save((()=>e))})),L})),stopAutoSave:()=>(H(c,e.delListener),c=void 0,L),isAutoSaving:()=>!x(c),schedule:(...e)=>st(void 0,null,(function*(){return Y(Re(it,i),...e),yield st(void 0,null,(function*(){if(!Re(at,i)){for(me(at,i,1);!x(u=ee(Re(it,i)));)try{yield u()}catch(e){null==r||r(e)}me(at,i,0)}})),L})),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})},a);return ae(L)},dt=new globalThis.TextEncoder,ct=e=>{let t=2166136261;return q(dt.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},gt=([e,t,n])=>[e,t,n],vt=([e,t])=>ft(e,t),ft=(e,t)=>t?[e,t]:[e],ht=e=>e[2],bt=(e,t)=>ct(e+":"+t),pt=(e,t)=>t>e?(e?ct(e):0)^ct(t):0,yt=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},Ct=(e,t,n)=>{e[2]=t>>>0,n>e[1]&&(e[1]=n)},Lt=(e=n)=>ft(ie(),e),wt=(e=n)=>[Te(),e,0],St=([e,t,n],l=gt)=>[De(e,l),t,n],Tt=([e,t],n=vt)=>ft(De(e,n),t),It=(e,n)=>J(e)&&3==Q(e)&&k(e[1])&&t(e[2])==r&&A(e[2])&&n(e[0]);var Rt=Math.pow;const Mt=Rt(2,36),mt=Rt(2,30),Vt=Rt(2,24),Ot=Rt(2,18),Dt=Rt(2,12),Et=Rt(2,6),At=e=>String.fromCharCode(48+(63&e)),xt=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,Ht=e=>{let t=0,n=-1;const l=ct(e),o=e=>{const l=t,[o,r]=x(e)||""==e?[0,0]:[xt(s=e,0)*Mt+xt(s,1)*mt+xt(s,2)*Vt+xt(s,3)*Ot+xt(s,4)*Dt+xt(s,5)*Et+xt(s,6),xt(s,7)*Ot+xt(s,8)*Dt+xt(s,9)*Et+xt(s,10),xt(s,11)*Vt+xt(s,12)*Ot+xt(s,13)*Dt+xt(s,14)*Et+xt(s,15)];var s;t=D(l,o,Date.now()),n=t==l?t==o?D(n,r):n:t==o?r:-1};return[()=>{return o(),r=++n,s=l,At((e=t)/Mt)+At(e/mt)+At(e/Vt)+At(e/Ot)+At(e/Dt)+At(e/Et)+At(e)+At(r/Ot)+At(r/Dt)+At(r/Et)+At(r)+At(s/Vt)+At(s/Ot)+At(s/Dt)+At(s/Et)+At(s);var e,r,s},o]};var Pt=Object.defineProperty,kt=Object.getOwnPropertySymbols,jt=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable,Ft=(e,t,n)=>t in e?Pt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qt=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{a(n.next(e))}catch(e){o(e)}},s=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,s);a((n=n.apply(e,t)).next())})),zt=Object.getOwnPropertySymbols,Nt=Object.prototype.hasOwnProperty,Wt=Object.prototype.propertyIsEnumerable;const $t=Be((e=>{const t=e.createStore,l=t(),o=t(),r=Te(),{addListener:s,callListeners:a,delListener:i}=o,[g,v,h,b,T,,,I,,R,M,m,V,O]=We(e,(()=>!0),z,s,a),D=(e,t,...n)=>q(n,(n=>Ne(Ve(Ve(r,t,Te),e,ze),n))),E=e=>{H(Re(r,e),(e=>{Me(e,((e,t)=>we(t,(t=>e.delListener(t))))),Le(e)})),q([o,l],(t=>t.delTable(e)))},A=(e,t,n)=>D(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),P={setQueryDefinition:(t,r,s)=>{I(t,r),E(t);const a=[],i=[[null,[r,null,null,[],Te()]]],u=[],d=[],c=[];s({select:(e,t)=>{const l=j(e)?[Q(a)+n,e]:[x(t)?e:t,n=>n(e,t)];return Y(a,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=x(n)||j(t)?null:t,o=x(l)?t:n,r=[e,[e,l,j(o)?o:e=>e(o),[],Te()]];return Y(i,r),{as:e=>r[0]=e}},where:(e,t,n)=>Y(u,j(e)?e:x(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,o)=>{var r;const s=[e,[e,j(t)?[t,n,l,o]:null!=(r=Re(Ye,t))?r:[(e,t)=>t]]];return Y(d,s),{as:e=>s[0]=e}},having:(e,t)=>Y(c,j(e)?e:n=>n(e)===t)});const g=Te(a);if(ye(g))return P;const v=Te(i);Me(v,((e,[,t])=>H(Re(v,t),(({3:t})=>x(e)?0:Y(t,e)))));const f=Te(d);let h=l;if(ye(f)&&U(c))h=o;else{A(t,h,o);const e=Te();Me(f,((t,[n,l])=>Ne(Ve(e,n,ze),[t,l])));const n=ze();Me(g,(t=>pe(e,t)?0:Ne(n,t)));const l=Te(),r=(n,l,r,s)=>H(n,(([a,i,u,d])=>{Me(l,((t,[n])=>{const l=Ve(a,t,Te),o=Re(l,r),i=s?void 0:n;if(o!==i){const n=ze([[o,i]]),s=be(l);me(l,r,i),we(Re(e,t),(([e,t])=>{const o=Ze(d[e],s,l,n,t);d[e]=x(je(o))?null:o}))}})),ye(i)||!W(c,(e=>e((e=>d[e]))))?o.delRow(t,u):x(u)?n[2]=o.addRow(t,d):o.setRow(t,u,d)}));D(h,t,h.addRowListener(t,null,((o,s,a,i)=>{const u=[],d=[],c=Te(),g=h.hasRow(t,a);let v=!g;we(n,(e=>{const[n,l,o]=i(t,a,e);Y(u,l),Y(d,o),v||(v=n)})),Me(e,(e=>{const[n,,l]=i(t,a,e);(v||n)&&me(c,e,[l])})),v&&r(ke(l,u,void 0,(([,e])=>(Se(e,a),ye(e)))),c,a,1),g&&r(ke(l,d,(()=>{const e={};return we(n,(n=>e[n]=h.getCell(t,a,n))),[Te(),ze(),void 0,e]}),(([,e])=>{Ne(e,a)})),c,a)})))}A(t,e,h);const b=(n,l,o,s)=>{const a=t=>e.getCell(l,o,t);q(s,(l=>{var o;const[r,,s,i,u]=Re(v,l),d=null==s?void 0:s(a,n),[c,g]=null!=(o=Re(u,n))?o:[];d!=c&&(x(g)||O(t,g),me(u,n,x(d)?null:[d,...V(t,1,e.addRowListener(r,d,(()=>b(n,r,d,i))))]))})),(n=>{const l=(t,l)=>{var o,s,a;return e.getCell(...x(l)?[r,n,t]:t===r?[r,n,l]:[null==(o=Re(v,t))?void 0:o[0],null==(a=Re(null==(s=Re(v,t))?void 0:s[4],n))?void 0:a[0],l])};h.transaction((()=>W(u,(e=>e(l)))?Me(g,((e,o)=>Fe(h,t,n,e,o(l,n)))):h.delRow(t,n)))})(n)},{3:p}=Re(v,null);return h.transaction((()=>V(t,1,e.addRowListener(r,null,((n,l,o)=>{e.hasRow(r,o)?b(o,r,o,p):(h.delRow(t,o),we(v,(({4:e})=>H(Re(e,o),(([,n])=>{O(t,n),me(e,o)})))))}))))),P},delQueryDefinition:e=>(E(e),R(e),P),getStore:g,getQueryIds:v,forEachQuery:h,hasQuery:b,getTableId:T,addQueryIdsListener:e=>M((()=>e(P))),delListener:e=>(i(e),P),destroy:m,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Nt.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&zt)for(var l of zt(e))t.indexOf(l)<0&&Wt.call(e,l)&&(n[l]=e[l]);return n})(o.getListenerStats(),["tables","tableIds","transaction"])};return ge({[f]:[1,1],[f+S]:[0,1],[y]:[0,1],[C]:[0,1],[L]:[0,5],[p]:[1,2],[S]:[0,2],[w]:[1,3]},(([e,t],n)=>{q(e?["get","has","forEach"]:["get"],(e=>P[e+d+n]=(...t)=>o[e+n](...t))),P[c+d+n+u]=(...e)=>o[c+n+u](...F(e,0,t),((n,...l)=>e[t](P,...l)),!0)})),ae(P)})),Bt=Be((e=>{const t=Te(),l=Te(),o=Te(),r=Te(),[s,a,i]=Ge((()=>S)),[u,d,c,g,v,f,,,h,b,p,y]=We(e,(()=>[Te(),Te(),Te(),Te()]),(e=>x(e)?void 0:e+n),s,a),C=(e,t,n)=>H(f(e),(([l,,o])=>{if(!pe(o,t)){const r=ze();if(v(e)!=w(e))Ne(r,t);else{let e=t;for(;!x(e)&&!pe(r,e);)Ne(r,e),e=Re(l,e)}if(n)return r;me(o,t,r)}return Re(o,t)})),L=(e,t)=>H(f(e),(([,,e])=>me(e,t))),w=e=>Re(t,e),S={setRelationshipDefinition:(e,n,s,i)=>(me(t,e,s),h(e,n,((t,n)=>{const s=ze(),i=ze(),u=ze(),[d,c]=f(e);we(n,(([t,n],l)=>{x(t)||(Ne(i,t),H(Re(c,t),(e=>{Se(e,l),ye(e)&&me(c,t)}))),x(n)||(Ne(i,n),pe(c,n)||me(c,n,ze()),Ne(Re(c,n),l)),Ne(s,l),me(d,l,n),Me(Re(r,e),(t=>{pe(C(e,t),l)&&Ne(u,t)}))})),t(),we(s,(t=>a(l,[e,t]))),we(i,(t=>a(o,[e,t]))),we(u,(t=>{L(e,t),a(r,[e,t])}))}),$e(i)),S),delRelationshipDefinition:e=>(me(t,e),b(e),S),getStore:u,getRelationshipIds:d,forEachRelationship:t=>c((n=>t(n,(t=>e.forEachRow(v(n),t))))),hasRelationship:g,getLocalTableId:v,getRemoteTableId:w,getRemoteRowId:(e,t)=>{var n;return Re(null==(n=f(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return Ce(Re(null==(n=f(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>x(f(e))?[t]:Ce(C(e,t,!0)),addRelationshipIdsListener:p,addRemoteRowIdListener:(e,t,n)=>s(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>s(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(C(e,t),s(n,r,[e,t])),delListener:e=>{var t;return L(...null!=(t=i(e))?t:[]),S},destroy:y,getListenerStats:()=>({})};return ae(S)})),_t=e=>[e,e],qt=()=>[Te(),Te()],Gt=e=>[...e],Kt=([e,t])=>e===t,Ut=e=>JSON.stringify(e,((e,t)=>t instanceof Map?te.fromEntries([...t]):t)),Xt=JSON.parse,Yt=(e,t,n)=>me(e,t,Re(e,t)==-n?void 0:n),Zt=()=>{let e,t,n=!1,l=!1,o=0,s=[];const d=Te(),v=Te(),L=Te(),m=Te(),V=Te(),O=Te(),D=Te(),E=Te(),A=Te(),k=Te(),J=Te(),Q=Te(),z=Te(),W=Te(),B=ze(),K=Te(),U=Te(),X=Te(),Z=Te(),ee=qt(),te=qt(),ne=qt(),le=qt(),oe=qt(),re=qt(),se=qt(),ie=qt(),ce=qt(),fe=qt(),Ce=qt(),ke=qt(),Je=qt(),We=qt(),$e=qt(),Be=qt(),_e=qt(),Ke=qt(),Xe=qt(),Ye=qt(),Ze=qt(),et=qt(),tt=Te(),nt=qt(),[lt,ot,rt,st]=Ge((()=>Pn)),at=e=>{if(!he(e,((e,t)=>N([a,i],t))))return!1;const t=e[a];return!(!P(t)&&t!=r||(je(e[i])!=t&&de(e,i),0))},it=(t,n)=>(!e||pe(J,n)||Jt(n))&&he(t,((e,t)=>ut(n,t,e)),(()=>Jt(n))),ut=(e,t,n,l)=>he(l?n:vt(n,e,t),((l,o)=>H(dt(e,t,o,l),(e=>(n[o]=e,!0)),(()=>!1))),(()=>Jt(e,t))),dt=(t,n,l,o)=>e?H(Re(Re(J,t),l),(e=>je(o)!=e[a]?Jt(t,n,l,o,e[i]):o),(()=>Jt(t,n,l,o))):x(je(o))?Jt(t,n,l,o):o,ct=(e,t)=>he(t?e:ft(e),((t,n)=>H(gt(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Ft())),gt=(e,n)=>t?H(Re(z,e),(t=>je(n)!=t[a]?Ft(e,n,t[i]):n),(()=>Ft(e,n))):x(je(n))?Ft(e,n):n,vt=(e,t,n)=>(H(Re(Q,t),(([l,o])=>{we(l,((t,n)=>{ue(e,n)||(e[n]=t)})),we(o,(l=>{ue(e,l)||Jt(t,n,l)}))})),e),ft=e=>(t&&(we(W,((t,n)=>{ue(e,n)||(e[n]=t)})),we(B,(t=>{ue(e,t)||Ft(t)}))),e),ht=e=>Oe(J,e,((e,t,n)=>{const l=Te(),o=ze();Oe(Ve(J,t,Te),n,((e,t,n)=>{me(e,t,n),H(n[i],(e=>me(l,t,e)),(()=>Ne(o,t)))})),me(Q,t,[l,o])}),((e,t)=>{me(J,t),me(Q,t)})),bt=e=>Oe(z,e,((e,t,n)=>{me(z,t,n),H(n[i],(e=>me(W,t,e)),(()=>Ne(B,t)))}),((e,t)=>{me(z,t),me(W,t),Se(B,t)})),pt=e=>ve(e)?Mn():wn(e),yt=e=>Oe(X,e,((e,t,n)=>Ct(t,n)),((e,t)=>Vt(t))),Ct=(e,t)=>Oe(Ve(X,e,(()=>(At(e,1),me(K,e,qe()),me(U,e,Te()),Te()))),t,((t,n,l)=>Lt(e,t,n,l)),((t,n)=>Ot(e,t,n))),Lt=(e,t,n,l,o)=>Oe(Ve(t,n,(()=>(xt(e,n,1),Te()))),l,((t,l,o)=>wt(e,n,t,l,o)),((l,r)=>Dt(e,t,n,l,r,o))),wt=(e,t,n,l,o)=>{pe(n,l)||Ht(e,t,l,1);const r=Re(n,l);o!==r&&(Pt(e,t,l,r,o),me(n,l,o))},St=(e,t,n,l,o)=>H(Re(t,n),(t=>wt(e,n,t,l,o)),(()=>Lt(e,t,n,vt({[l]:o},e,n)))),Tt=e=>ve(e)?On():Sn(e),It=e=>Oe(Z,e,((e,t,n)=>Rt(t,n)),((e,t)=>Et(t))),Rt=(e,t)=>{pe(Z,e)||kt(e,1);const n=Re(Z,e);t!==n&&(jt(e,n,t),me(Z,e,t))},Mt=(e,t)=>{const[n]=Re(K,e),l=n(t);return pe(Re(X,e),l)?Mt(e,t):l},mt=e=>{var t;return null!=(t=Re(X,e))?t:Ct(e,{})},Vt=e=>Ct(e,{}),Ot=(e,t,n)=>{const[,l]=Re(K,e);l(n),Lt(e,t,n,{},!0)},Dt=(e,t,n,l,o,r)=>{var s;const a=Re(null==(s=Re(Q,e))?void 0:s[0],o);if(!x(a)&&!r)return wt(e,n,l,o,a);const i=t=>{Pt(e,n,t,Re(l,t)),Ht(e,n,t,-1),me(l,t)};x(a)?i(o):Me(l,i),ye(l)&&(xt(e,n,-1),ye(me(t,n))&&(At(e,-1),me(X,e),me(K,e),me(U,e)))},Et=e=>{const t=Re(W,e);if(!x(t))return Rt(e,t);jt(e,Re(Z,e)),kt(e,-1),me(Z,e)},At=(e,t)=>Yt(d,e,t),xt=(e,t,n)=>Yt(Ve(m,e,Te),t,n)&&me(L,e,Ve(L,e,(()=>0))+n),Ht=(e,t,n,l)=>{var o;const r=Re(U,e),s=null!=(o=Re(r,n))?o:0;(0==s&&1==l||1==s&&-1==l)&&Yt(Ve(v,e,Te),n,l),me(r,n,s!=-l?s+l:null),Yt(Ve(Ve(V,e,Te),t,Te),n,l)},Pt=(e,t,n,l,o)=>{var r;Ve(Ve(Ve(O,e,Te),t,Te),n,(()=>[l,0]))[1]=o,null==(r=s[3])||r.call(s,e,t,n,o)},kt=(e,t)=>Yt(D,e,t),jt=(e,t,n)=>{var l;Ve(E,e,(()=>[t,0]))[1]=n,null==(l=s[4])||l.call(s,e,n)},Jt=(e,t,n,l,o)=>(Y(Ve(Ve(Ve(A,e,Te),t,Te),n,(()=>[])),l),o),Ft=(e,t,n)=>(Y(Ve(k,e,(()=>[])),t),n),Qt=(e,t,n)=>H(Re(Re(Re(O,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,..._t(dn(e,t,n))])),zt=e=>H(Re(E,e),(([e,t])=>[!0,e,t]),(()=>[!1,..._t(vn(e))])),Nt=e=>ye(A)||ye(Be[e])?0:we(e?Pe(A):A,((t,n)=>we(t,((t,l)=>we(t,((t,o)=>ot(Be[e],[n,l,o],t))))))),Wt=e=>ye(k)||ye(_e[e])?0:we(e?xe(k):k,((t,n)=>ot(_e[e],[n],t))),$t=(e,t,n,l)=>{if(!ye(e))return ot(t,l,(()=>De(e))),Me(e,((e,t)=>ot(n,[...null!=l?l:[],e],1==t))),1},Bt=e=>{const t=fn();t!=n&&ot(ee[e],void 0,t);const l=ye(fe[e]),o=ye(Je[e])&&ye(We[e])&&ye(ce[e])&&ye(Ce[e])&&ye(re[e])&&ye(se[e])&&ye(ie[e])&&l&&ye(ne[e])&&ye(le[e]),r=ye($e[e])&&ye(ke[e])&&ye(oe[e])&&ye(te[e]);if(!o||!r){const t=e?[xe(d),He(v),xe(L),He(m),Pe(V),Pe(O)]:[d,v,L,m,V,O];if(!o){$t(t[0],ne[e],le[e]),we(t[1],((t,n)=>$t(t,re[e],se[e],[n]))),we(t[2],((t,n)=>{0!=t&&ot(ie[e],[n],rn(n))}));const n=ze();we(t[3],((t,o)=>{$t(t,ce[e],Ce[e],[o])&&!l&&(ot(fe[e],[o,null]),Ne(n,o))})),l||we(t[5],((t,l)=>{if(!pe(n,l)){const n=ze();we(t,(e=>we(e,(([t,l],o)=>l!==t?Ne(n,o):Se(e,o))))),we(n,(t=>ot(fe[e],[l,t])))}})),we(t[4],((t,n)=>we(t,((t,l)=>$t(t,Je[e],We[e],[n,l])))))}if(!r){let n;we(t[5],((t,l)=>{let o;we(t,((t,r)=>{let s;we(t,(([t,a],i)=>{a!==t&&(ot($e[e],[l,r,i],a,t,Qt),n=o=s=1)})),s&&ot(ke[e],[l,r],Qt)})),o&&ot(oe[e],[l],Qt)})),n&&ot(te[e],void 0,Qt)}}},en=e=>{const t=Cn();t!=l&&ot(Ke[e],void 0,t);const n=ye(Ye[e])&&ye(Ze[e]),o=ye(et[e])&&ye(Xe[e]);if(!n||!o){const t=e?[xe(D),xe(E)]:[D,E];if(n||$t(t[0],Ye[e],Ze[e]),!o){let n;we(t[1],(([t,l],o)=>{l!==t&&(ot(et[e],[o],l,t,zt),n=1)})),n&&ot(Xe[e],void 0,zt)}}},tn=(e,...t)=>(An((()=>e(...G(t,M)))),Pn),nn=()=>Ae(X),ln=()=>Ie(X),on=e=>Ie(Re(U,M(e))),rn=e=>be(Re(X,M(e))),sn=e=>Ie(Re(X,M(e))),an=(e,t,n,l=0,o)=>{return G(F(_((r=Re(X,M(e)),s=(e,n)=>[x(t)?n:Re(e,M(t)),n],G([...null!=(a=null==r?void 0:r.entries())?a:[]],(([e,t])=>s(t,e)))),(([e],[t])=>Ue(e,t)*(n?-1:1))),l,x(o)?o:l+o),(([,e])=>e));var r,s,a},un=(e,t)=>Ie(Re(Re(X,M(e)),M(t))),dn=(e,t,n)=>Re(Re(Re(X,M(e)),M(t)),M(n)),cn=()=>De(Z),gn=()=>Ie(Z),vn=e=>Re(Z,M(e)),fn=()=>!ye(X),hn=e=>pe(X,M(e)),bn=(e,t)=>pe(Re(U,M(e)),M(t)),pn=(e,t)=>pe(Re(X,M(e)),M(t)),yn=(e,t,n)=>pe(Re(Re(X,M(e)),M(t)),M(n)),Cn=()=>!ye(Z),Ln=e=>pe(Z,M(e)),wn=e=>tn((()=>(e=>he(e,it,Jt))(e)?yt(e):0)),Sn=e=>tn((()=>ct(e)?It(e):0)),Tn=e=>{try{pt(Xt(e))}catch(e){}return Pn},In=t=>tn((()=>{if((e=he(t,(e=>he(e,at))))&&(ht(t),!ye(X))){const e=nn();Mn(),wn(e)}})),Rn=e=>tn((()=>{if(t=(e=>he(e,at))(e)){const n=cn();En(),On(),t=!0,bt(e),Sn(n)}})),Mn=()=>tn((()=>yt({}))),mn=e=>tn((e=>pe(X,e)?Vt(e):0),e),Vn=(e,t)=>tn(((e,t)=>H(Re(X,e),(n=>pe(n,t)?Ot(e,n,t):0))),e,t),On=()=>tn((()=>It({}))),Dn=()=>tn((()=>{ht({}),e=!1})),En=()=>tn((()=>{bt({}),t=!1})),An=(e,t)=>{if(-1!=o){xn();const n=e();return Hn(t),n}},xn=()=>{var e;return-1!=o&&o++,1==o&&(null==(e=s[0])||e.call(s),ot(tt,void 0)),Pn},Hn=e=>{var t,r;return o>0&&(o--,0==o&&(o=1,Nt(1),ye(O)||Bt(1),Wt(1),ye(E)||en(1),(null==e?void 0:e(Pn))&&(we(O,((e,t)=>we(e,((e,n)=>we(e,(([e],l)=>Fe(Pn,t,n,l,e))))))),Le(O),we(E,(([e],t)=>Qe(Pn,t,e))),Le(E)),ot(nt[0],void 0),o=-1,Nt(0),ye(O)||Bt(0),Wt(0),ye(E)||en(0),null==(t=s[1])||t.call(s),ot(nt[1],void 0),null==(r=s[2])||r.call(s),o=0,n=fn(),l=Cn(),q([d,v,L,m,V,O,A,D,E,k],Le))),Pn},Pn={getContent:()=>[nn(),cn()],getTables:nn,getTableIds:ln,getTable:e=>Ee(Re(X,M(e))),getTableCellIds:on,getRowCount:rn,getRowIds:sn,getSortedRowIds:an,getRow:(e,t)=>De(Re(Re(X,M(e)),M(t))),getCellIds:un,getCell:dn,getValues:cn,getValueIds:gn,getValue:vn,hasTables:fn,hasTable:hn,hasTableCell:bn,hasRow:pn,hasCell:yn,hasValues:Cn,hasValue:Ln,getTablesJson:()=>Ut(X),getValuesJson:()=>Ut(Z),getJson:()=>Ut([X,Z]),getTablesSchemaJson:()=>Ut(J),getValuesSchemaJson:()=>Ut(z),getSchemaJson:()=>Ut([J,z]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>tn((()=>{(ve(e)?Mn:wn)(e),(ve(t)?On:Sn)(t)})),setTables:wn,setTable:(e,t)=>tn((e=>it(t,e)?Ct(e,t):0),e),setRow:(e,t,n)=>tn(((e,t)=>ut(e,t,n)?Lt(e,mt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>An((()=>{let l;return ut(e,l,t)&&(e=M(e),Lt(e,mt(e),l=Mt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>tn(((e,t)=>{if(ut(e,t,n,1)){const l=mt(e);ge(n,((n,o)=>St(e,l,t,o,n)))}}),e,t),setCell:(e,t,n,l)=>tn(((e,t,n)=>H(dt(e,t,n,j(l)?l(dn(e,t,n)):l),(l=>St(e,mt(e),t,n,l)))),e,t,n),setValues:Sn,setPartialValues:e=>tn((()=>ct(e,1)?ge(e,((e,t)=>Rt(t,e))):0)),setValue:(e,t)=>tn((e=>H(gt(e,j(t)?t(vn(e)):t),(t=>Rt(e,t)))),e),applyChanges:e=>tn((()=>{ge(e[0],((e,t)=>x(e)?mn(t):ge(e,((e,n)=>x(e)?Vn(t,n):ge(e,((e,l)=>Fe(Pn,t,n,l,e))))))),ge(e[1],((e,t)=>Qe(Pn,t,e)))})),setTablesJson:Tn,setValuesJson:e=>{try{Tt(Xt(e))}catch(e){}return Pn},setJson:e=>tn((()=>{try{const[t,n]=Xt(e);pt(t),Tt(n)}catch(t){Tn(e)}})),setTablesSchema:In,setValuesSchema:Rn,setSchema:(e,t)=>tn((()=>{In(e),Rn(t)})),delTables:Mn,delTable:mn,delRow:Vn,delCell:(e,t,n,l)=>tn(((e,t,n)=>H(Re(X,e),(o=>H(Re(o,t),(r=>pe(r,n)?Dt(e,o,t,r,n,l):0))))),e,t,n),delValues:On,delValue:e=>tn((e=>pe(Z,e)?Et(e):0),e),delTablesSchema:Dn,delValuesSchema:En,delSchema:()=>tn((()=>{Dn(),En()})),transaction:An,startTransaction:xn,getTransactionChanges:()=>[De(O,((e,t)=>-1===Re(d,t)?void 0:De(e,((e,n)=>-1===Re(Re(m,t),n)?void 0:De(e,(([,e])=>e),(e=>Kt(e)))),ye,ve)),ye,ve),De(E,(([,e])=>e),(e=>Kt(e))),1],getTransactionLog:()=>[!ye(O),!ye(E),Ae(O,Gt,Kt),Ae(A),De(E,Gt,Kt),De(k),De(d),Ee(m),Ae(V),De(D)],finishTransaction:Hn,forEachTable:e=>we(X,((t,n)=>e(n,(e=>we(t,((t,n)=>e(n,(e=>Me(t,e))))))))),forEachTableCell:(e,t)=>Me(Re(U,M(e)),t),forEachRow:(e,t)=>we(Re(X,M(e)),((e,n)=>t(n,(t=>Me(e,t))))),forEachCell:(e,t,n)=>Me(Re(Re(X,M(e)),M(t)),n),forEachValue:e=>Me(Z,e),addSortedRowIdsListener:(e,t,n,l,o,r,s)=>{let a=an(e,t,n,l,o);return lt((()=>{const s=an(e,t,n,l,o);$(s,a)||(a=s,r(Pn,e,t,n,l,o,a))}),fe[s?1:0],[e,t],[ln])},addStartTransactionListener:e=>lt(e,tt),addWillFinishTransactionListener:e=>lt(e,nt[0]),addDidFinishTransactionListener:e=>lt(e,nt[1]),callListener:e=>(st(e),Pn),delListener:e=>(rt(e),Pn),getListenerStats:()=>({}),createStore:Zt,addListener:lt,callListeners:ot,setInternalListeners:(e,t,n,l,o)=>s=[e,t,n,l,o]};return ge({[g+h]:[0,ee,[],()=>[fn()]],[h]:[0,te],[b]:[0,ne],[g+f]:[1,le,[ln],e=>[hn(...e)]],[f]:[1,oe,[ln]],[f+S]:[1,re,[ln]],[g+f+w]:[2,se,[ln,on],e=>[bn(...e)]],[y]:[1,ie,[ln]],[C]:[1,ce,[ln]],[g+p]:[2,Ce,[ln,sn],e=>[pn(...e)]],[p]:[2,ke,[ln,sn]],[S]:[2,Je,[ln,sn]],[g+w]:[3,We,[ln,sn,un],e=>[yn(...e)]],[w]:[3,$e,[ln,sn,un],e=>_t(dn(...e))],InvalidCell:[3,Be],[g+I]:[0,Ke,[],()=>[Cn()]],[I]:[0,Xe],[R]:[0,Ye],[g+T]:[1,Ze,[gn],e=>[Ln(...e)]],[T]:[1,et,[gn],e=>_t(vn(e[0]))],InvalidValue:[1,_e]},(([e,t,n,l],o)=>{Pn[c+o+u]=(...o)=>lt(o[e],t[o[e+1]?1:0],e>0?F(o,0,e):void 0,n,l)})),ae(Pn)},en={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},tn=(e=n)=>[wt(e),wt(e)];e.createCheckpoints=Ke,e.createCustomPersister=ut,e.createCustomSynchronizer=(e,t,l,o,r,s,a={})=>{let i;const[u]=Ht(e.getId()),d=Te();l(((n,l,o,r)=>{0==o?H(Re(d,l),(([e,t])=>x(e)||e==n?t(r,n):0)):2==o&&f.isAutoLoading()?v(n,r).then((e=>{null==i||i(void 0,(()=>e))})):3==o&&f.isAutoLoading()?null==i||i(void 0,(()=>r)):H(1==o&&f.isAutoSaving()?e.getMergeableContentHashes():4==o?e.getMergeableTableDiff(r):5==o?e.getMergeableRowDiff(r):6==o?e.getMergeableCellDiff(r):7==o?e.getMergeableValueDiff(r):void 0,(e=>{t(n,l,0,e)}))}));const c=(e,l,...o)=>Qt(void 0,[e,l,...o],(function*(e,l,o=n){return new O(((n,s)=>{const a=u(),i=setTimeout((()=>{Se(d,a),s(`No response from ${null!=e?e:"anyone"} to '${l}'`)}),1e3*r);me(d,a,[e,(e,t)=>{clearTimeout(i),Se(d,a),n([e,t])}]),t(e,a,l,o)}))})),g=(e,[t,n])=>{ce(t,(([t,n],l)=>{const o=fe(e[0],l,Lt);ce(t,(([e,t],n)=>{const l=fe(o[0],n,Lt);ce(e,(([e,t],n)=>l[0][n]=ft(e,t))),l[1]=yt(l[1],t)})),o[1]=yt(o[1],n)})),e[1]=yt(e[1],n)},v=(t=null,n)=>Qt(void 0,null,(function*(){x(n)&&([n,t]=yield c(t,1));const[l,o]=n,[r,s]=e.getMergeableContentHashes();let a=Lt();if(r!=l){const[n,l]=(yield c(t,4,e.getMergeableTableHashes()))[0];if(a=n,!ve(l)){const[n,o]=(yield c(t,5,e.getMergeableRowHashes(l)))[0];if(g(a,n),!ve(o)){const n=(yield c(t,6,e.getMergeableCellHashes(o)))[0];g(a,n)}}}return[a,s==o?Lt():(yield c(t,7,e.getMergeableValuesHashes()))[0],1]})),f=ut(e,(()=>Qt(void 0,null,(function*(){const e=yield v();return ve(e[0][0])&&ve(e[1][0])?void 0:e}))),((n,l)=>Qt(void 0,null,(function*(){l?t(null,null,3,l()):t(null,null,2,e.getMergeableContentHashes())}))),(e=>i=e),(()=>i=void 0),s,!0,((e,t)=>{for(var n in t||(t={}))jt.call(t,n)&&Ft(e,n,t[n]);if(kt)for(var n of kt(t))Jt.call(t,n)&&Ft(e,n,t[n]);return e})({startSync:e=>Qt(void 0,null,(function*(){return yield(yield f.startAutoLoad(e)).startAutoSave()})),stopSync:()=>f.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),f.stopSync()),getSynchronizerStats:()=>({})},a));return f},e.createIndexes=Xe,e.createMergeableStore=e=>{let t=1,l=tn(),o=0;const r=Te(),s=ze(),[a,i]=Ht(e),u=Zt(),d=e=>{const n=t;return t=0,e(),t=n,h},c=(e,t=0)=>{const o={},r={},[[s,a=n,u=0],d]=e,[c,v]=l,[f,h,b]=c;let p=t?u:b,y=a;ce(s,(([e,l=n,r=0],s)=>{const a=Ve(f,s,wt),[i,u,d]=a;let c=t?r:d,v=l;ce(e,((e,n)=>{const[l,r,a]=g(e,Ve(i,n,wt),fe(fe(o,s,ie),n,ie),t);c^=t?0:(r?bt(n,r):0)^bt(n,a),v=yt(v,l)})),c^=t?0:pt(u,l),Ct(a,c,l),p^=t?0:(d?bt(s,d):0)^bt(s,a[2]),y=yt(y,v)})),p^=t?0:pt(h,a),Ct(c,p,a);const[C]=g(d,v,r,t);return i(yt(y,C)),[o,r,1]},g=(e,t,l,o)=>{const[r,s=n,a=0]=e,[i,u,d]=t;let c=s,g=o?a:d;return ce(r,(([e,t,r=0],s)=>{const a=Ve(i,s,(()=>[void 0,n,0])),[,u,d]=a;(!u||t>u)&&(Ct(a,o?r:ct(Ut(null!=e?e:null)+":"+t),t),a[0]=e,l[s]=e,g^=o?0:bt(s,d)^bt(s,a[2]),c=yt(c,t))})),g^=o?0:pt(u,s),Ct(t,g,s),[c,d,t[2]]},v=()=>[St(l[0],(e=>St(e,(e=>St(e))))),St(l[1])],f=e=>d((()=>u.applyChanges(c(e)))),h={getId:()=>e,getMergeableContent:v,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>De(l[0][0],ht),getMergeableTableDiff:e=>{const t=Lt(l[0][1]),n={};return Me(l[0][0],((l,[o,r,s])=>ue(e,l)?s!=e[l]?n[l]=s:0:t[0][l]=Tt([o,r],(e=>Tt(e))))),[t,n]},getMergeableRowHashes:e=>{const t={};return ce(e,((e,n)=>H(Re(l[0][0],n),(([l,,o])=>o!=e?Me(l,((e,[,,l])=>fe(t,n,ie)[e]=l)):0)))),t},getMergeableRowDiff:e=>{const t=Lt(l[0][1]),n={};return ce(e,((e,o)=>{var r;return Me(null==(r=Re(l[0][0],o))?void 0:r[0],((l,[r,s,a])=>ue(e,l)?a!==e[l]?fe(n,o,ie)[l]=a:0:fe(t[0],o,Lt)[0][l]=Tt([r,s])))})),[t,n]},getMergeableCellHashes:e=>{const t={};return ce(e,((e,n)=>H(Re(l[0][0],n),(([l])=>ce(e,((e,o)=>H(Re(l,o),(([l,,r])=>r!==e?Me(l,((e,[,,l])=>fe(fe(t,n,ie),o,ie)[e]=l)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,n]]=l,o={};return ce(e,((e,n)=>ce(e,((e,l)=>H(Re(t,n),(([t,r])=>H(Re(t,l),(([t,s])=>Me(t,((t,[a,i,u])=>u!==e[t]?fe(fe(o,n,(()=>Lt(r)))[0],l,(()=>Lt(s)))[0][t]=[a,i]:0)))))))))),ft(o,n)},getMergeableValuesHashes:()=>De(l[1][0],ht),getMergeableValueDiff:e=>{const[,[t,n]]=l,o=De(t,vt,(([,,t],n)=>t==(null==e?void 0:e[n])));return ft(o,n)},setMergeableContent:e=>d((()=>(e=>J(e)&&2==Q(e)&&It(e[0],(e=>he(e,(e=>It(e,(e=>he(e,(e=>It(e,(e=>he(e,(e=>It(e,Je)),void 0,1)))),void 0,1)))),void 0,1)))&&It(e[1],(e=>he(e,(e=>It(e,Je)),void 0,1))))(e)?u.transaction((()=>{u.delTables().delValues(),l=tn(),u.applyChanges(c(e,1))})):0)),setDefaultContent:e=>(u.transaction((()=>{o=1,u.setContent(e),o=0})),h),getTransactionMergeableChanges:()=>{const[[e,t],[n,o]]=l,a={};we(r,((t,n)=>H(Re(e,n),(([e,l])=>{const o={};we(t,((t,n)=>H(Re(e,n),(([e,l])=>{const r={};we(t,(t=>{H(Re(e,t),(([e,n])=>r[t]=ft(e,n)))})),o[n]=ft(r,l)})))),a[n]=ft(o,l)}))));const i={};return we(s,(e=>H(Re(n,e),(([t,n])=>i[e]=ft(t,n))))),[ft(a,t),ft(i,o),1]},applyMergeableChanges:f,merge:e=>{const t=v(),n=e.getMergeableContent();return e.applyMergeableChanges(t),f(n)}};return u.setInternalListeners((()=>{}),(()=>{}),(()=>{Le(r),Le(s)}),((e,l,s,i)=>{Ne(Ve(Ve(r,e,Te),l,ze),s),t&&c([[{[e]:[{[l]:[{[s]:[i,o?n:a()]}]}]}],[{}],1])}),((e,l)=>{Ne(s,e),t&&c([[{}],[{[e]:[l,o?n:a()]}],1])})),ge(u,((e,t)=>h[t]=m(t,"set")||m(t,"del")||m(t,"apply")||V(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),h):m(t,"add")&&V(t,"Listener")?(...n)=>{var l;const o=null!=(l=en[F(t,3,-8)])?l:0,r=n[o];return n[o]=(e,...t)=>r(h,...t),e(...n)}:e)),ae(h)},e.createMetrics=et,e.createQueries=$t,e.createRelationships=Bt,e.createStore=Zt,e.defaultSorter=Ue},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(!0),o=t(0),s=t(t),a="type",i="default",d="Listener",u="Result",c="add",g="Has",v="Ids",f="Table",h=f+"s",b=f+v,p="Row",y=p+"Count",C=p+v,L="Sorted"+p+v,w="Cell",S=w+v,T="Value",I=T+"s",R=T+v,M=e=>n+e,m=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),O=Promise,D=Math.max,E=Math.min,x=isFinite,H=e=>null==e,A=(e,t,n)=>H(e)?null==n?void 0:n():t(e),P=e=>e==l||e==r,k=e=>t(e)==l,j=e=>t(e)==s,J=e=>Array.isArray(e),F=(e,t,n)=>e.slice(t,n),Q=e=>e.length,z=()=>{},N=(e,t)=>e.includes(t),W=(e,t)=>e.every(t),$=(e,t)=>Q(e)===Q(t)&&W(e,((e,n)=>t[n]===e)),B=(e,t)=>W(e,((n,l)=>0==l||t(e[l-1],n)<=0)),_=(e,t)=>e.sort(t),q=(e,t)=>e.forEach(t),G=(e,t)=>e.map(t),K=e=>X(e,((e,t)=>e+t),0),U=e=>0==Q(e),X=(e,t,n)=>e.reduce(t,n),Y=(e,...t)=>e.push(...t),Z=e=>e.pop(),ee=e=>e.shift(),te=Object,ne=e=>te.getPrototypeOf(e),le=te.entries,re=te.isFrozen,oe=e=>!H(e)&&A(ne(e),(e=>e==te.prototype||H(ne(e))),(()=>!0)),se=te.keys,ae=te.freeze,ie=(e=[])=>te.fromEntries(e),de=(e,t)=>t in e,ue=(e,t)=>(delete e[t],e),ce=(e,t)=>q(le(e),(([e,n])=>t(n,e))),ge=(e,t)=>G(le(e),(([e,n])=>t(n,e))),ve=e=>oe(e)&&0==(e=>Q(se(e)))(e),fe=(e,t,n)=>(de(e,t)||(e[t]=n()),e[t]),he=(e,t,n,l=0)=>H(e)||!oe(e)||!l&&ve(e)||re(e)?(null==n||n(),!1):(ge(e,((n,l)=>{t(n,l)||ue(e,l)})),!!l||!ve(e)),be=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},pe=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ye=e=>H(e)||0==be(e),Ce=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},Le=e=>e.clear(),we=(e,t)=>null==e?void 0:e.forEach(t),Se=(e,t)=>null==e?void 0:e.delete(t),Te=e=>new Map(e),Ie=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Re=(e,t)=>null==e?void 0:e.get(t),Me=(e,t)=>we(e,((e,n)=>t(n,e))),me=(e,t,n)=>H(n)?(Se(e,t),e):null==e?void 0:e.set(t,n),Ve=(e,t,n,l)=>(pe(e,t)?null==l||l(Re(e,t)):me(e,t,n()),Re(e,t)),Oe=(e,t,n,l=me)=>(ge(t,((t,l)=>n(e,l,t))),Me(e,(n=>de(t,n)?0:l(e,n))),e),De=(e,t,n,l)=>{const r={};return we(e,((e,o)=>{if(!(null==n?void 0:n(e,o))){const n=t?t(e,o):e;!(null==l?void 0:l(n))&&(r[o]=n)}})),r},Ee=(e,t,n)=>De(e,(e=>De(e,t,n)),ye,ve),xe=(e,t,n)=>De(e,(e=>Ee(e,t,n)),ye,ve),He=(e,t)=>{const n=Te();return we(e,((e,l)=>{var r;return n.set(l,null!=(r=null==t?void 0:t(e))?r:e)})),n},Ae=e=>He(e,He),Pe=e=>He(e,Ae),ke=(e,t,n,l,r=0)=>A((n?Ve:Re)(e,t[r],r>Q(t)-2?n:Te),(o=>{if(r>Q(t)-2)return(null==l?void 0:l(o))&&me(e,t[r]),o;const s=ke(o,t,n,l,r+1);return ye(o)&&me(e,t[r]),s})),je=e=>{const n=t(e);return P(n)||n==o&&x(e)?n:void 0},Je=e=>H(e)||!H(je(e)),Fe=(e,t,n,l,r)=>H(r)?e.delCell(t,n,l,!0):e.setCell(t,n,l,r),Qe=(e,t,n)=>H(n)?e.delValue(t):e.setValue(t,n),ze=e=>new Set(J(e)||H(e)?e:[e]),Ne=(e,t)=>null==e?void 0:e.add(t),We=(e,t,n,l,r)=>{const o=e.hasRow,s=Te(),a=Te(),i=Te(),d=Te(),u=Te(),c=Te(),g=(t,n,...l)=>{const r=Ve(c,t,ze);return q(l,(t=>Ne(r,t)&&n&&e.callListener(t))),l},v=(t,...n)=>A(Re(c,t),(l=>{q(U(n)?Ce(l):n,(t=>{e.delListener(t),Se(l,t)})),ye(l)&&me(c,t)})),f=(e,n)=>{me(s,e,n),pe(a,e)||(me(a,e,t()),me(d,e,Te()),me(u,e,Te()),r(i))},h=e=>{me(s,e),me(a,e),me(d,e),me(u,e),v(e),r(i)};return[()=>e,()=>Ie(s),e=>Me(a,e),e=>pe(a,e),e=>Re(s,e),e=>Re(a,e),(e,t)=>me(a,e,t),f,(t,l,r,s,a)=>{f(t,l);const i=Te(),c=Te(),h=Re(d,t),b=Re(u,t),p=t=>{const r=n=>e.getCell(l,t,n),d=Re(h,t),u=o(l,t)?n(s(r,t)):void 0;if(d===u||J(d)&&J(u)&&$(d,u)||me(i,t,[d,u]),!H(a)){const e=Re(b,t),n=o(l,t)?a(r,t):void 0;e!=n&&me(c,t,n)}},y=e=>{r((()=>{we(i,(([,e],t)=>me(h,t,e))),we(c,((e,t)=>me(b,t,e)))}),i,c,h,b,e),Le(i),Le(c)};Me(h,p),e.hasTable(l)&&q(e.getRowIds(l),(e=>{pe(h,e)||p(e)})),y(!0),v(t),g(t,0,e.addRowListener(l,null,((e,t,n)=>p(n))),e.addTableListener(l,(()=>y())))},h,e=>l(e,i),()=>Me(c,h),g,v]},$e=(e,t)=>k(e)?t=>t(e):null!=e?e:()=>null!=t?t:n,Be=(e,t)=>{const n=new WeakMap;return l=>{n.has(l)||n.set(l,e(l));const r=n.get(l);return null==t||t(r),r}},_e=/^\d+$/,qe=()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?ee(e):null)?r:n+t++},t=>{_e.test(t)&&Q(e)<1e3&&Y(e,t)}]},Ge=e=>{let t;const[l,r]=qe(),o=Te();return[(r,s,a,i=[],d=(()=>[]))=>{null!=t||(t=e());const u=l(1);return me(o,u,[r,s,a,i,d]),Ne(ke(s,null!=a?a:[n],ze),u),u},(e,l,...r)=>q(((e,t=[n])=>{const l=[],r=(e,n)=>n==Q(t)?Y(l,e):null===t[n]?we(e,(e=>r(e,n+1))):q([t[n],null],(t=>r(Re(e,t),n+1)));return r(e,0),l})(e,l),(e=>we(e,(e=>Re(o,e)[0](t,...null!=l?l:[],...r))))),e=>A(Re(o,e),(([,t,l])=>(ke(t,null!=l?l:[n],void 0,(t=>(Se(t,e),ye(t)?1:0))),me(o,e),r(e),l))),e=>A(Re(o,e),(([e,,n=[],l,r])=>{const o=(...s)=>{var a,i;const d=Q(s);d==Q(n)?e(t,...s,...r(s)):H(n[d])?q(null!=(i=null==(a=l[d])?void 0:a.call(l,...s))?i:[],(e=>o(...s,e))):o(...s,n[d])};o()}))]},Ke=Be((e=>{let t,l,r,o=100,s=Te(),a=Te(),i=1;const d=Te(),u=Te(),[c,g,v]=Ge((()=>P)),f=Te(),h=Te(),b=[],p=[],y=(t,n)=>{i=0,e.transaction((()=>{const[l,r]=Re(f,n);we(l,((n,l)=>we(n,((n,r)=>we(n,((n,o)=>Fe(e,l,r,o,n[t]))))))),we(r,((n,l)=>Qe(e,l,n[t])))})),i=1},C=e=>{me(f,e),me(h,e),g(u,[e])},L=(e,t)=>q(((e,t)=>e.splice(0,t))(e,null!=t?t:Q(e)),C),w=()=>L(b,Q(b)-o),S=()=>A(t,(()=>{Y(b,t),w(),L(p),t=void 0,r=1})),T=()=>{t=Z(b),r=1};let I,R;const M=(e=n)=>(H(t)&&(t=n+l++,me(f,t,[s,a]),E(t,e),s=Te(),a=Te(),r=1),t),m=()=>{U(b)||(((e,...t)=>{e.unshift(...t)})(p,M()),y(0,t),t=Z(b),r=1)},V=()=>{U(p)||(Y(b,t),t=ee(p),y(1,t),r=1)},O=()=>{r&&(g(d),r=0)},D=e=>{const t=M(e);return O(),t},E=(e,t)=>(x(e)&&Re(h,e)!==t&&(me(h,e,t),g(u,[e])),P),x=e=>pe(f,e),P={setSize:e=>(o=e,w(),P),addCheckpoint:D,setCheckpoint:E,getStore:()=>e,getCheckpointIds:()=>[[...b],t,[...p]],forEachCheckpoint:e=>Me(h,e),hasCheckpoint:x,getCheckpoint:e=>Re(h,e),goBackward:()=>(m(),O(),P),goForward:()=>(V(),O(),P),goTo:e=>{const n=N(b,e)?m:N(p,e)?V:null;for(;!H(n)&&e!=t;)n();return O(),P},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(v(e),P),clear:()=>(L(b),L(p),H(t)||C(t),t=void 0,l=0,D(),P),clearForward:()=>(U(p)||(L(p),g(d)),P),destroy:()=>{e.delListener(I),e.delListener(R)},getListenerStats:()=>({}),_registerListeners:()=>{I=e.addCellListener(null,null,null,((e,t,n,l,r,o)=>{if(i){S();const e=Ve(s,t,Te),a=Ve(e,n,Te),i=Ve(a,l,(()=>[o,void 0]));i[1]=r,i[0]===r&&ye(me(a,l))&&ye(me(e,n))&&ye(me(s,t))&&T(),O()}})),R=e.addValueListener(null,((e,t,n,l)=>{if(i){S();const e=Ve(a,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ye(me(a,t))&&T(),O()}}))}};return ae(P.clear())}),(e=>e._registerListeners())),Ue=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,Xe=Be((e=>{const t=Te(),l=Te(),[r,o,s]=Ge((()=>C)),[a,i,d,u,c,g,v,,f,h,b,p]=We(e,Te,(e=>H(e)?n:J(e)?G(e,M):M(e)),r,o),y=(t,n,l)=>{const r=c(t);we(l,((t,l)=>n(l,(n=>we(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},C={setIndexDefinition:(e,n,r,s,a,i=Ue)=>{const d=H(a)?void 0:([e],[t])=>a(e,t);return f(e,n,((n,r,a,u,c,f)=>{let h=0;const b=ze(),p=ze(),y=g(e);if(we(r,(([e,t],n)=>{const l=ze(e),r=ze(t);we(l,(e=>Se(r,e)?Se(l,e):0)),we(l,(e=>{Ne(b,e),A(Re(y,e),(t=>{Se(t,n),ye(t)&&(me(y,e),h=1)}))})),we(r,(e=>{Ne(b,e),pe(y,e)||(me(y,e,ze()),h=1),Ne(Re(y,e),n),H(s)||Ne(p,e)}))})),n(),ye(c)||(f?Me(y,(e=>Ne(p,e))):Me(a,(e=>A(Re(u,e),(e=>Ne(p,e))))),we(p,(e=>{const t=(t,n)=>i(Re(c,t),Re(c,n),e),n=[...Re(y,e)];B(n,t)||(me(y,e,ze(_(n,t))),Ne(b,e))}))),(h||f)&&!H(d)){const t=[...y];B(t,d)||(v(e,Te(_(t,d))),h=1)}h&&o(t,[e]),we(b,(t=>o(l,[e,t])))}),$e(r),A(s,$e)),C},delIndexDefinition:e=>(h(e),C),getStore:a,getIndexIds:i,forEachIndex:e=>d(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,g(e)),hasIndex:u,hasSlice:(e,t)=>pe(g(e),t),getTableId:c,getSliceIds:e=>Ie(g(e)),getSliceRowIds:(e,t)=>Ce(Re(g(e),t)),addIndexIdsListener:b,addSliceIdsListener:(e,n)=>r(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>r(n,l,[e,t]),delListener:e=>(s(e),C),destroy:p,getListenerStats:()=>({})};return ae(C)})),Ye=Te([["avg",[(e,t)=>K(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>D(...e),(e,t)=>D(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:D(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:E(t,e)]],["sum",[e=>K(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ze=(e,t,n,l,r,o=!1)=>{if(ye(n))return;const[s,a,i,d]=r;return o||(o=H(e)),we(l,(([n,l])=>{o||(e=H(n)?null==a?void 0:a(e,l,t++):H(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=H(e)))})),o?s(Ce(n),be(n)):e},et=Be((e=>{const t=Te(),[l,r,o]=Ge((()=>p)),[s,a,i,d,u,c,g,,v,f,h,b]=We(e,z,(e=>isNaN(e)||H(e)||!0===e||!1===e||e===n?void 0:1*e),l,r),p={setMetricDefinition:(e,n,l,o,s,a,i)=>{var d;const u=j(l)?[l,s,a,i]:null!=(d=Re(Ye,l))?d:Re(Ye,"sum");return v(e,n,((n,l,o,s,a,i)=>{const d=c(e),v=be(s);i||(i=H(d)),n();let f=Ze(d,v,s,l,u,i);x(f)||(f=void 0),f!=d&&(g(e,f),r(t,[e],f,d))}),$e(o,1)),p},delMetricDefinition:e=>(f(e),p),getStore:s,getMetricIds:a,forEachMetric:i,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:h,addMetricListener:(e,n)=>l(n,t,[e]),delListener:e=>(o(e),p),destroy:b,getListenerStats:()=>({})};return ae(p)}));var tt=Object.defineProperty,nt=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,rt=Object.prototype.propertyIsEnumerable,ot=(e,t,n)=>t in e?tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,st=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const at=Te(),it=Te(),dt=(e,t,n,l,r,o,s,a={},i=[])=>{let d,u,c,g=0;Ve(at,i,(()=>0)),Ve(it,i,(()=>[]));const[v,f,h,b,p]=((e=1,t)=>e>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!ve(e)||!ve(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ve(e)||!ve(t),t.setContent]:0)(s,e),y=t=>{(v&&J(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},C=e=>st(void 0,null,(function*(){return 2!=g&&(g=1,yield T((()=>st(void 0,null,(function*(){try{y(yield t())}catch(t){null==o||o(t),e&&p(e)}g=0}))))),I})),L=()=>(u&&(r(u),u=void 0),I),w=e=>st(void 0,null,(function*(){return 1!=g&&(g=2,yield T((()=>st(void 0,null,(function*(){try{yield n(f,e)}catch(e){null==o||o(e)}g=0}))))),I})),S=()=>(A(c,e.delListener),c=void 0,I),T=(...e)=>st(void 0,null,(function*(){return Y(Re(it,i),...e),yield st(void 0,null,(function*(){if(!Re(at,i)){for(me(at,i,1);!H(d=ee(Re(it,i)));)try{yield d()}catch(e){null==o||o(e)}me(at,i,0)}})),I})),I=((e,t)=>{for(var n in t||(t={}))lt.call(t,n)&&ot(e,n,t[n]);if(nt)for(var n of nt(t))rt.call(t,n)&&ot(e,n,t[n]);return e})({load:C,startAutoLoad:e=>st(void 0,null,(function*(){return yield L().load(e),u=l(((e,t)=>st(void 0,null,(function*(){t||e?2!=g&&(g=1,y(null!=t?t:e),g=0):yield C()})))),I})),stopAutoLoad:L,isAutoLoading:()=>!H(u),save:w,startAutoSave:()=>st(void 0,null,(function*(){return yield S().save(),c=e.addDidFinishTransactionListener((()=>{const e=h();b(e)&&w(e)})),I})),stopAutoSave:S,isAutoSaving:()=>!H(c),schedule:T,getStore:()=>e,destroy:()=>L().stopAutoSave(),getStats:()=>({})},a);return ae(I)},ut=new globalThis.TextEncoder,ct=e=>{let t=2166136261;return q(ut.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},gt=([e,t,n])=>[e,t,n],vt=([e,t])=>ft(e,t),ft=(e,t)=>t?[e,t]:[e],ht=e=>e[2],bt=(e,t)=>ct(e+":"+t),pt=(e,t)=>t>e?(e?ct(e):0)^ct(t):0,yt=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},Ct=(e,t,n)=>{e[2]=t>>>0,n>e[1]&&(e[1]=n)},Lt=(e=n)=>ft(ie(),e),wt=(e=n)=>[Te(),e,0],St=([e,t,n],l=gt)=>[De(e,l),t,n],Tt=([e,t],n=vt)=>ft(De(e,n),t),It=(e,n)=>J(e)&&3==Q(e)&&k(e[1])&&t(e[2])==o&&x(e[2])&&n(e[0]);var Rt=Math.pow;const Mt=Rt(2,36),mt=Rt(2,30),Vt=Rt(2,24),Ot=Rt(2,18),Dt=Rt(2,12),Et=Rt(2,6),xt=e=>String.fromCharCode(48+(63&e)),Ht=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,At=e=>{let t=0,n=-1;const l=ct(e),r=e=>{const l=t,[r,o]=H(e)||""==e?[0,0]:[Ht(s=e,0)*Mt+Ht(s,1)*mt+Ht(s,2)*Vt+Ht(s,3)*Ot+Ht(s,4)*Dt+Ht(s,5)*Et+Ht(s,6),Ht(s,7)*Ot+Ht(s,8)*Dt+Ht(s,9)*Et+Ht(s,10),Ht(s,11)*Vt+Ht(s,12)*Ot+Ht(s,13)*Dt+Ht(s,14)*Et+Ht(s,15)];var s;t=D(l,r,Date.now()),n=t==l?t==r?D(n,o):n:t==r?o:-1};return[()=>{return r(),o=++n,s=l,xt((e=t)/Mt)+xt(e/mt)+xt(e/Vt)+xt(e/Ot)+xt(e/Dt)+xt(e/Et)+xt(e)+xt(o/Ot)+xt(o/Dt)+xt(o/Et)+xt(o)+xt(s/Vt)+xt(s/Ot)+xt(s/Dt)+xt(s/Et)+xt(s);var e,o,s},r]};var Pt=Object.defineProperty,kt=Object.getOwnPropertySymbols,jt=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable,Ft=(e,t,n)=>t in e?Pt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qt=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())})),zt=Object.getOwnPropertySymbols,Nt=Object.prototype.hasOwnProperty,Wt=Object.prototype.propertyIsEnumerable;const $t=Be((e=>{const t=e.createStore,l=t(),r=t(),o=Te(),{addListener:s,callListeners:a,delListener:i}=r,[g,v,h,b,T,,,I,,R,M,m,V,O]=We(e,(()=>!0),z,s,a),D=(e,t,...n)=>q(n,(n=>Ne(Ve(Ve(o,t,Te),e,ze),n))),E=e=>{A(Re(o,e),(e=>{Me(e,((e,t)=>we(t,(t=>e.delListener(t))))),Le(e)})),q([r,l],(t=>t.delTable(e)))},x=(e,t,n)=>D(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),P={setQueryDefinition:(t,o,s)=>{I(t,o),E(t);const a=[],i=[[null,[o,null,null,[],Te()]]],d=[],u=[],c=[];s({select:(e,t)=>{const l=j(e)?[Q(a)+n,e]:[H(t)?e:t,n=>n(e,t)];return Y(a,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=H(n)||j(t)?null:t,r=H(l)?t:n,o=[e,[e,l,j(r)?r:e=>e(r),[],Te()]];return Y(i,o),{as:e=>o[0]=e}},where:(e,t,n)=>Y(d,j(e)?e:H(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,r)=>{var o;const s=[e,[e,j(t)?[t,n,l,r]:null!=(o=Re(Ye,t))?o:[(e,t)=>t]]];return Y(u,s),{as:e=>s[0]=e}},having:(e,t)=>Y(c,j(e)?e:n=>n(e)===t)});const g=Te(a);if(ye(g))return P;const v=Te(i);Me(v,((e,[,t])=>A(Re(v,t),(({3:t})=>H(e)?0:Y(t,e)))));const f=Te(u);let h=l;if(ye(f)&&U(c))h=r;else{x(t,h,r);const e=Te();Me(f,((t,[n,l])=>Ne(Ve(e,n,ze),[t,l])));const n=ze();Me(g,(t=>pe(e,t)?0:Ne(n,t)));const l=Te(),o=(n,l,o,s)=>A(n,(([a,i,d,u])=>{Me(l,((t,[n])=>{const l=Ve(a,t,Te),r=Re(l,o),i=s?void 0:n;if(r!==i){const n=ze([[r,i]]),s=be(l);me(l,o,i),we(Re(e,t),(([e,t])=>{const r=Ze(u[e],s,l,n,t);u[e]=H(je(r))?null:r}))}})),ye(i)||!W(c,(e=>e((e=>u[e]))))?r.delRow(t,d):H(d)?n[2]=r.addRow(t,u):r.setRow(t,d,u)}));D(h,t,h.addRowListener(t,null,((r,s,a,i)=>{const d=[],u=[],c=Te(),g=h.hasRow(t,a);let v=!g;we(n,(e=>{const[n,l,r]=i(t,a,e);Y(d,l),Y(u,r),v||(v=n)})),Me(e,(e=>{const[n,,l]=i(t,a,e);(v||n)&&me(c,e,[l])})),v&&o(ke(l,d,void 0,(([,e])=>(Se(e,a),ye(e)))),c,a,1),g&&o(ke(l,u,(()=>{const e={};return we(n,(n=>e[n]=h.getCell(t,a,n))),[Te(),ze(),void 0,e]}),(([,e])=>{Ne(e,a)})),c,a)})))}x(t,e,h);const b=(n,l,r,s)=>{const a=t=>e.getCell(l,r,t);q(s,(l=>{var r;const[o,,s,i,d]=Re(v,l),u=null==s?void 0:s(a,n),[c,g]=null!=(r=Re(d,n))?r:[];u!=c&&(H(g)||O(t,g),me(d,n,H(u)?null:[u,...V(t,1,e.addRowListener(o,u,(()=>b(n,o,u,i))))]))})),(n=>{const l=(t,l)=>{var r,s,a;return e.getCell(...H(l)?[o,n,t]:t===o?[o,n,l]:[null==(r=Re(v,t))?void 0:r[0],null==(a=Re(null==(s=Re(v,t))?void 0:s[4],n))?void 0:a[0],l])};h.transaction((()=>W(d,(e=>e(l)))?Me(g,((e,r)=>Fe(h,t,n,e,r(l,n)))):h.delRow(t,n)))})(n)},{3:p}=Re(v,null);return h.transaction((()=>V(t,1,e.addRowListener(o,null,((n,l,r)=>{e.hasRow(o,r)?b(r,o,r,p):(h.delRow(t,r),we(v,(({4:e})=>A(Re(e,r),(([,n])=>{O(t,n),me(e,r)})))))}))))),P},delQueryDefinition:e=>(E(e),R(e),P),getStore:g,getQueryIds:v,forEachQuery:h,hasQuery:b,getTableId:T,addQueryIdsListener:e=>M((()=>e(P))),delListener:e=>(i(e),P),destroy:m,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Nt.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&zt)for(var l of zt(e))t.indexOf(l)<0&&Wt.call(e,l)&&(n[l]=e[l]);return n})(r.getListenerStats(),["tables","tableIds","transaction"])};return ge({[f]:[1,1],[f+S]:[0,1],[y]:[0,1],[C]:[0,1],[L]:[0,5],[p]:[1,2],[S]:[0,2],[w]:[1,3]},(([e,t],n)=>{q(e?["get","has","forEach"]:["get"],(e=>P[e+u+n]=(...t)=>r[e+n](...t))),P[c+u+n+d]=(...e)=>r[c+n+d](...F(e,0,t),((n,...l)=>e[t](P,...l)),!0)})),ae(P)})),Bt=Be((e=>{const t=Te(),l=Te(),r=Te(),o=Te(),[s,a,i]=Ge((()=>S)),[d,u,c,g,v,f,,,h,b,p,y]=We(e,(()=>[Te(),Te(),Te(),Te()]),(e=>H(e)?void 0:e+n),s,a),C=(e,t,n)=>A(f(e),(([l,,r])=>{if(!pe(r,t)){const o=ze();if(v(e)!=w(e))Ne(o,t);else{let e=t;for(;!H(e)&&!pe(o,e);)Ne(o,e),e=Re(l,e)}if(n)return o;me(r,t,o)}return Re(r,t)})),L=(e,t)=>A(f(e),(([,,e])=>me(e,t))),w=e=>Re(t,e),S={setRelationshipDefinition:(e,n,s,i)=>(me(t,e,s),h(e,n,((t,n)=>{const s=ze(),i=ze(),d=ze(),[u,c]=f(e);we(n,(([t,n],l)=>{H(t)||(Ne(i,t),A(Re(c,t),(e=>{Se(e,l),ye(e)&&me(c,t)}))),H(n)||(Ne(i,n),pe(c,n)||me(c,n,ze()),Ne(Re(c,n),l)),Ne(s,l),me(u,l,n),Me(Re(o,e),(t=>{pe(C(e,t),l)&&Ne(d,t)}))})),t(),we(s,(t=>a(l,[e,t]))),we(i,(t=>a(r,[e,t]))),we(d,(t=>{L(e,t),a(o,[e,t])}))}),$e(i)),S),delRelationshipDefinition:e=>(me(t,e),b(e),S),getStore:d,getRelationshipIds:u,forEachRelationship:t=>c((n=>t(n,(t=>e.forEachRow(v(n),t))))),hasRelationship:g,getLocalTableId:v,getRemoteTableId:w,getRemoteRowId:(e,t)=>{var n;return Re(null==(n=f(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return Ce(Re(null==(n=f(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>H(f(e))?[t]:Ce(C(e,t,!0)),addRelationshipIdsListener:p,addRemoteRowIdListener:(e,t,n)=>s(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>s(n,r,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(C(e,t),s(n,o,[e,t])),delListener:e=>{var t;return L(...null!=(t=i(e))?t:[]),S},destroy:y,getListenerStats:()=>({})};return ae(S)})),_t=e=>[e,e],qt=()=>[Te(),Te()],Gt=e=>[...e],Kt=([e,t])=>e===t,Ut=e=>JSON.stringify(e,((e,t)=>t instanceof Map?te.fromEntries([...t]):t)),Xt=JSON.parse,Yt=(e,t,n)=>me(e,t,Re(e,t)==-n?void 0:n),Zt=()=>{let e,t,n=!1,l=!1,r=0,s=[];const u=Te(),v=Te(),L=Te(),m=Te(),V=Te(),O=Te(),D=Te(),E=Te(),x=Te(),k=Te(),J=Te(),Q=Te(),z=Te(),W=Te(),B=ze(),K=Te(),U=Te(),X=Te(),Z=Te(),ee=qt(),te=qt(),ne=qt(),le=qt(),re=qt(),oe=qt(),se=qt(),ie=qt(),ce=qt(),fe=qt(),Ce=qt(),ke=qt(),Je=qt(),We=qt(),$e=qt(),Be=qt(),_e=qt(),Ke=qt(),Xe=qt(),Ye=qt(),Ze=qt(),et=qt(),tt=Te(),nt=qt(),[lt,rt,ot,st]=Ge((()=>Pn)),at=e=>{if(!he(e,((e,t)=>N([a,i],t))))return!1;const t=e[a];return!(!P(t)&&t!=o||(je(e[i])!=t&&ue(e,i),0))},it=(t,n)=>(!e||pe(J,n)||Jt(n))&&he(t,((e,t)=>dt(n,t,e)),(()=>Jt(n))),dt=(e,t,n,l)=>he(l?n:vt(n,e,t),((l,r)=>A(ut(e,t,r,l),(e=>(n[r]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ut=(t,n,l,r)=>e?A(Re(Re(J,t),l),(e=>je(r)!=e[a]?Jt(t,n,l,r,e[i]):r),(()=>Jt(t,n,l,r))):H(je(r))?Jt(t,n,l,r):r,ct=(e,t)=>he(t?e:ft(e),((t,n)=>A(gt(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Ft())),gt=(e,n)=>t?A(Re(z,e),(t=>je(n)!=t[a]?Ft(e,n,t[i]):n),(()=>Ft(e,n))):H(je(n))?Ft(e,n):n,vt=(e,t,n)=>(A(Re(Q,t),(([l,r])=>{we(l,((t,n)=>{de(e,n)||(e[n]=t)})),we(r,(l=>{de(e,l)||Jt(t,n,l)}))})),e),ft=e=>(t&&(we(W,((t,n)=>{de(e,n)||(e[n]=t)})),we(B,(t=>{de(e,t)||Ft(t)}))),e),ht=e=>Oe(J,e,((e,t,n)=>{const l=Te(),r=ze();Oe(Ve(J,t,Te),n,((e,t,n)=>{me(e,t,n),A(n[i],(e=>me(l,t,e)),(()=>Ne(r,t)))})),me(Q,t,[l,r])}),((e,t)=>{me(J,t),me(Q,t)})),bt=e=>Oe(z,e,((e,t,n)=>{me(z,t,n),A(n[i],(e=>me(W,t,e)),(()=>Ne(B,t)))}),((e,t)=>{me(z,t),me(W,t),Se(B,t)})),pt=e=>ve(e)?Mn():wn(e),yt=e=>Oe(X,e,((e,t,n)=>Ct(t,n)),((e,t)=>Vt(t))),Ct=(e,t)=>Oe(Ve(X,e,(()=>(xt(e,1),me(K,e,qe()),me(U,e,Te()),Te()))),t,((t,n,l)=>Lt(e,t,n,l)),((t,n)=>Ot(e,t,n))),Lt=(e,t,n,l,r)=>Oe(Ve(t,n,(()=>(Ht(e,n,1),Te()))),l,((t,l,r)=>wt(e,n,t,l,r)),((l,o)=>Dt(e,t,n,l,o,r))),wt=(e,t,n,l,r)=>{pe(n,l)||At(e,t,l,1);const o=Re(n,l);r!==o&&(Pt(e,t,l,o,r),me(n,l,r))},St=(e,t,n,l,r)=>A(Re(t,n),(t=>wt(e,n,t,l,r)),(()=>Lt(e,t,n,vt({[l]:r},e,n)))),Tt=e=>ve(e)?On():Sn(e),It=e=>Oe(Z,e,((e,t,n)=>Rt(t,n)),((e,t)=>Et(t))),Rt=(e,t)=>{pe(Z,e)||kt(e,1);const n=Re(Z,e);t!==n&&(jt(e,n,t),me(Z,e,t))},Mt=(e,t)=>{const[n]=Re(K,e),l=n(t);return pe(Re(X,e),l)?Mt(e,t):l},mt=e=>{var t;return null!=(t=Re(X,e))?t:Ct(e,{})},Vt=e=>Ct(e,{}),Ot=(e,t,n)=>{const[,l]=Re(K,e);l(n),Lt(e,t,n,{},!0)},Dt=(e,t,n,l,r,o)=>{var s;const a=Re(null==(s=Re(Q,e))?void 0:s[0],r);if(!H(a)&&!o)return wt(e,n,l,r,a);const i=t=>{Pt(e,n,t,Re(l,t)),At(e,n,t,-1),me(l,t)};H(a)?i(r):Me(l,i),ye(l)&&(Ht(e,n,-1),ye(me(t,n))&&(xt(e,-1),me(X,e),me(K,e),me(U,e)))},Et=e=>{const t=Re(W,e);if(!H(t))return Rt(e,t);jt(e,Re(Z,e)),kt(e,-1),me(Z,e)},xt=(e,t)=>Yt(u,e,t),Ht=(e,t,n)=>Yt(Ve(m,e,Te),t,n)&&me(L,e,Ve(L,e,(()=>0))+n),At=(e,t,n,l)=>{var r;const o=Re(U,e),s=null!=(r=Re(o,n))?r:0;(0==s&&1==l||1==s&&-1==l)&&Yt(Ve(v,e,Te),n,l),me(o,n,s!=-l?s+l:null),Yt(Ve(Ve(V,e,Te),t,Te),n,l)},Pt=(e,t,n,l,r)=>{var o;Ve(Ve(Ve(O,e,Te),t,Te),n,(()=>[l,0]))[1]=r,null==(o=s[3])||o.call(s,e,t,n,r)},kt=(e,t)=>Yt(D,e,t),jt=(e,t,n)=>{var l;Ve(E,e,(()=>[t,0]))[1]=n,null==(l=s[4])||l.call(s,e,n)},Jt=(e,t,n,l,r)=>(Y(Ve(Ve(Ve(x,e,Te),t,Te),n,(()=>[])),l),r),Ft=(e,t,n)=>(Y(Ve(k,e,(()=>[])),t),n),Qt=(e,t,n)=>A(Re(Re(Re(O,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,..._t(un(e,t,n))])),zt=e=>A(Re(E,e),(([e,t])=>[!0,e,t]),(()=>[!1,..._t(vn(e))])),Nt=e=>ye(x)||ye(Be[e])?0:we(e?Pe(x):x,((t,n)=>we(t,((t,l)=>we(t,((t,r)=>rt(Be[e],[n,l,r],t))))))),Wt=e=>ye(k)||ye(_e[e])?0:we(e?He(k):k,((t,n)=>rt(_e[e],[n],t))),$t=(e,t,n,l)=>{if(!ye(e))return rt(t,l,(()=>De(e))),Me(e,((e,t)=>rt(n,[...null!=l?l:[],e],1==t))),1},Bt=e=>{const t=fn();t!=n&&rt(ee[e],void 0,t);const l=ye(fe[e]),r=ye(Je[e])&&ye(We[e])&&ye(ce[e])&&ye(Ce[e])&&ye(oe[e])&&ye(se[e])&&ye(ie[e])&&l&&ye(ne[e])&&ye(le[e]),o=ye($e[e])&&ye(ke[e])&&ye(re[e])&&ye(te[e]);if(!r||!o){const t=e?[He(u),Ae(v),He(L),Ae(m),Pe(V),Pe(O)]:[u,v,L,m,V,O];if(!r){$t(t[0],ne[e],le[e]),we(t[1],((t,n)=>$t(t,oe[e],se[e],[n]))),we(t[2],((t,n)=>{0!=t&&rt(ie[e],[n],on(n))}));const n=ze();we(t[3],((t,r)=>{$t(t,ce[e],Ce[e],[r])&&!l&&(rt(fe[e],[r,null]),Ne(n,r))})),l||we(t[5],((t,l)=>{if(!pe(n,l)){const n=ze();we(t,(e=>we(e,(([t,l],r)=>l!==t?Ne(n,r):Se(e,r))))),we(n,(t=>rt(fe[e],[l,t])))}})),we(t[4],((t,n)=>we(t,((t,l)=>$t(t,Je[e],We[e],[n,l])))))}if(!o){let n;we(t[5],((t,l)=>{let r;we(t,((t,o)=>{let s;we(t,(([t,a],i)=>{a!==t&&(rt($e[e],[l,o,i],a,t,Qt),n=r=s=1)})),s&&rt(ke[e],[l,o],Qt)})),r&&rt(re[e],[l],Qt)})),n&&rt(te[e],void 0,Qt)}}},en=e=>{const t=Cn();t!=l&&rt(Ke[e],void 0,t);const n=ye(Ye[e])&&ye(Ze[e]),r=ye(et[e])&&ye(Xe[e]);if(!n||!r){const t=e?[He(D),He(E)]:[D,E];if(n||$t(t[0],Ye[e],Ze[e]),!r){let n;we(t[1],(([t,l],r)=>{l!==t&&(rt(et[e],[r],l,t,zt),n=1)})),n&&rt(Xe[e],void 0,zt)}}},tn=(e,...t)=>(xn((()=>e(...G(t,M)))),Pn),nn=()=>xe(X),ln=()=>Ie(X),rn=e=>Ie(Re(U,M(e))),on=e=>be(Re(X,M(e))),sn=e=>Ie(Re(X,M(e))),an=(e,t,n,l=0,r)=>{return G(F(_((o=Re(X,M(e)),s=(e,n)=>[H(t)?n:Re(e,M(t)),n],G([...null!=(a=null==o?void 0:o.entries())?a:[]],(([e,t])=>s(t,e)))),(([e],[t])=>Ue(e,t)*(n?-1:1))),l,H(r)?r:l+r),(([,e])=>e));var o,s,a},dn=(e,t)=>Ie(Re(Re(X,M(e)),M(t))),un=(e,t,n)=>Re(Re(Re(X,M(e)),M(t)),M(n)),cn=()=>De(Z),gn=()=>Ie(Z),vn=e=>Re(Z,M(e)),fn=()=>!ye(X),hn=e=>pe(X,M(e)),bn=(e,t)=>pe(Re(U,M(e)),M(t)),pn=(e,t)=>pe(Re(X,M(e)),M(t)),yn=(e,t,n)=>pe(Re(Re(X,M(e)),M(t)),M(n)),Cn=()=>!ye(Z),Ln=e=>pe(Z,M(e)),wn=e=>tn((()=>(e=>he(e,it,Jt))(e)?yt(e):0)),Sn=e=>tn((()=>ct(e)?It(e):0)),Tn=e=>{try{pt(Xt(e))}catch(e){}return Pn},In=t=>tn((()=>{if((e=he(t,(e=>he(e,at))))&&(ht(t),!ye(X))){const e=nn();Mn(),wn(e)}})),Rn=e=>tn((()=>{if(t=(e=>he(e,at))(e)){const n=cn();En(),On(),t=!0,bt(e),Sn(n)}})),Mn=()=>tn((()=>yt({}))),mn=e=>tn((e=>pe(X,e)?Vt(e):0),e),Vn=(e,t)=>tn(((e,t)=>A(Re(X,e),(n=>pe(n,t)?Ot(e,n,t):0))),e,t),On=()=>tn((()=>It({}))),Dn=()=>tn((()=>{ht({}),e=!1})),En=()=>tn((()=>{bt({}),t=!1})),xn=(e,t)=>{if(-1!=r){Hn();const n=e();return An(t),n}},Hn=()=>{var e;return-1!=r&&r++,1==r&&(null==(e=s[0])||e.call(s),rt(tt)),Pn},An=e=>{var t,o;return r>0&&(r--,0==r&&(r=1,Nt(1),ye(O)||Bt(1),Wt(1),ye(E)||en(1),(null==e?void 0:e(Pn))&&(we(O,((e,t)=>we(e,((e,n)=>we(e,(([e],l)=>Fe(Pn,t,n,l,e))))))),Le(O),we(E,(([e],t)=>Qe(Pn,t,e))),Le(E)),rt(nt[0],void 0),r=-1,Nt(0),ye(O)||Bt(0),Wt(0),ye(E)||en(0),null==(t=s[1])||t.call(s),rt(nt[1],void 0),null==(o=s[2])||o.call(s),r=0,n=fn(),l=Cn(),q([u,v,L,m,V,O,x,D,E,k],Le))),Pn},Pn={getContent:()=>[nn(),cn()],getTables:nn,getTableIds:ln,getTable:e=>Ee(Re(X,M(e))),getTableCellIds:rn,getRowCount:on,getRowIds:sn,getSortedRowIds:an,getRow:(e,t)=>De(Re(Re(X,M(e)),M(t))),getCellIds:dn,getCell:un,getValues:cn,getValueIds:gn,getValue:vn,hasTables:fn,hasTable:hn,hasTableCell:bn,hasRow:pn,hasCell:yn,hasValues:Cn,hasValue:Ln,getTablesJson:()=>Ut(X),getValuesJson:()=>Ut(Z),getJson:()=>Ut([X,Z]),getTablesSchemaJson:()=>Ut(J),getValuesSchemaJson:()=>Ut(z),getSchemaJson:()=>Ut([J,z]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>tn((()=>{(ve(e)?Mn:wn)(e),(ve(t)?On:Sn)(t)})),setTables:wn,setTable:(e,t)=>tn((e=>it(t,e)?Ct(e,t):0),e),setRow:(e,t,n)=>tn(((e,t)=>dt(e,t,n)?Lt(e,mt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>xn((()=>{let l;return dt(e,l,t)&&(e=M(e),Lt(e,mt(e),l=Mt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>tn(((e,t)=>{if(dt(e,t,n,1)){const l=mt(e);ge(n,((n,r)=>St(e,l,t,r,n)))}}),e,t),setCell:(e,t,n,l)=>tn(((e,t,n)=>A(ut(e,t,n,j(l)?l(un(e,t,n)):l),(l=>St(e,mt(e),t,n,l)))),e,t,n),setValues:Sn,setPartialValues:e=>tn((()=>ct(e,1)?ge(e,((e,t)=>Rt(t,e))):0)),setValue:(e,t)=>tn((e=>A(gt(e,j(t)?t(vn(e)):t),(t=>Rt(e,t)))),e),applyChanges:e=>tn((()=>{ge(e[0],((e,t)=>H(e)?mn(t):ge(e,((e,n)=>H(e)?Vn(t,n):ge(e,((e,l)=>Fe(Pn,t,n,l,e))))))),ge(e[1],((e,t)=>Qe(Pn,t,e)))})),setTablesJson:Tn,setValuesJson:e=>{try{Tt(Xt(e))}catch(e){}return Pn},setJson:e=>tn((()=>{try{const[t,n]=Xt(e);pt(t),Tt(n)}catch(t){Tn(e)}})),setTablesSchema:In,setValuesSchema:Rn,setSchema:(e,t)=>tn((()=>{In(e),Rn(t)})),delTables:Mn,delTable:mn,delRow:Vn,delCell:(e,t,n,l)=>tn(((e,t,n)=>A(Re(X,e),(r=>A(Re(r,t),(o=>pe(o,n)?Dt(e,r,t,o,n,l):0))))),e,t,n),delValues:On,delValue:e=>tn((e=>pe(Z,e)?Et(e):0),e),delTablesSchema:Dn,delValuesSchema:En,delSchema:()=>tn((()=>{Dn(),En()})),transaction:xn,startTransaction:Hn,getTransactionChanges:()=>[De(O,((e,t)=>-1===Re(u,t)?void 0:De(e,((e,n)=>-1===Re(Re(m,t),n)?void 0:De(e,(([,e])=>e),(e=>Kt(e)))),ye,ve)),ye,ve),De(E,(([,e])=>e),(e=>Kt(e))),1],getTransactionLog:()=>[!ye(O),!ye(E),xe(O,Gt,Kt),xe(x),De(E,Gt,Kt),De(k),De(u),Ee(m),xe(V),De(D)],finishTransaction:An,forEachTable:e=>we(X,((t,n)=>e(n,(e=>we(t,((t,n)=>e(n,(e=>Me(t,e))))))))),forEachTableCell:(e,t)=>Me(Re(U,M(e)),t),forEachRow:(e,t)=>we(Re(X,M(e)),((e,n)=>t(n,(t=>Me(e,t))))),forEachCell:(e,t,n)=>Me(Re(Re(X,M(e)),M(t)),n),forEachValue:e=>Me(Z,e),addSortedRowIdsListener:(e,t,n,l,r,o,s)=>{let a=an(e,t,n,l,r);return lt((()=>{const s=an(e,t,n,l,r);$(s,a)||(a=s,o(Pn,e,t,n,l,r,a))}),fe[s?1:0],[e,t],[ln])},addStartTransactionListener:e=>lt(e,tt),addWillFinishTransactionListener:e=>lt(e,nt[0]),addDidFinishTransactionListener:e=>lt(e,nt[1]),callListener:e=>(st(e),Pn),delListener:e=>(ot(e),Pn),getListenerStats:()=>({}),createStore:Zt,addListener:lt,callListeners:rt,setInternalListeners:(e,t,n,l,r)=>s=[e,t,n,l,r]};return ge({[g+h]:[0,ee,[],()=>[fn()]],[h]:[0,te],[b]:[0,ne],[g+f]:[1,le,[ln],e=>[hn(...e)]],[f]:[1,re,[ln]],[f+S]:[1,oe,[ln]],[g+f+w]:[2,se,[ln,rn],e=>[bn(...e)]],[y]:[1,ie,[ln]],[C]:[1,ce,[ln]],[g+p]:[2,Ce,[ln,sn],e=>[pn(...e)]],[p]:[2,ke,[ln,sn]],[S]:[2,Je,[ln,sn]],[g+w]:[3,We,[ln,sn,dn],e=>[yn(...e)]],[w]:[3,$e,[ln,sn,dn],e=>_t(un(...e))],InvalidCell:[3,Be],[g+I]:[0,Ke,[],()=>[Cn()]],[I]:[0,Xe],[R]:[0,Ye],[g+T]:[1,Ze,[gn],e=>[Ln(...e)]],[T]:[1,et,[gn],e=>_t(vn(e[0]))],InvalidValue:[1,_e]},(([e,t,n,l],r)=>{Pn[c+r+d]=(...r)=>lt(r[e],t[r[e+1]?1:0],e>0?F(r,0,e):void 0,n,l)})),ae(Pn)},en={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},tn=(e=n)=>[wt(e),wt(e)];e.createCheckpoints=Ke,e.createCustomPersister=dt,e.createCustomSynchronizer=(e,t,l,r,o,s,a={})=>{let i;const[d]=At(e.getId()),u=Te();l(((n,l,r,o)=>{0==r?A(Re(u,l),(([e,t])=>H(e)||e==n?t(o,n):0)):2==r&&f.isAutoLoading()?v(n,o).then((e=>{null==i||i(void 0,e)})):3==r&&f.isAutoLoading()?null==i||i(void 0,o):A(1==r&&f.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(o):5==r?e.getMergeableRowDiff(o):6==r?e.getMergeableCellDiff(o):7==r?e.getMergeableValueDiff(o):void 0,(e=>{t(n,l,0,e)}))}));const c=(e,l,...r)=>Qt(void 0,[e,l,...r],(function*(e,l,r=n){return new O(((n,s)=>{const a=d(),i=setTimeout((()=>{Se(u,a),s(`No response from ${null!=e?e:"anyone"} to '${l}'`)}),1e3*o);me(u,a,[e,(e,t)=>{clearTimeout(i),Se(u,a),n([e,t])}]),t(e,a,l,r)}))})),g=(e,[t,n])=>{ce(t,(([t,n],l)=>{const r=fe(e[0],l,Lt);ce(t,(([e,t],n)=>{const l=fe(r[0],n,Lt);ce(e,(([e,t],n)=>l[0][n]=ft(e,t))),l[1]=yt(l[1],t)})),r[1]=yt(r[1],n)})),e[1]=yt(e[1],n)},v=(t=null,n)=>Qt(void 0,null,(function*(){H(n)&&([n,t]=yield c(t,1));const[l,r]=n,[o,s]=e.getMergeableContentHashes();let a=Lt();if(o!=l){const[n,l]=(yield c(t,4,e.getMergeableTableHashes()))[0];if(a=n,!ve(l)){const[n,r]=(yield c(t,5,e.getMergeableRowHashes(l)))[0];if(g(a,n),!ve(r)){const n=(yield c(t,6,e.getMergeableCellHashes(r)))[0];g(a,n)}}}return[a,s==r?Lt():(yield c(t,7,e.getMergeableValuesHashes()))[0],1]})),f=dt(e,(()=>Qt(void 0,null,(function*(){const e=yield v();return ve(e[0][0])&&ve(e[1][0])?void 0:e}))),((n,l)=>Qt(void 0,null,(function*(){l?t(null,null,3,l):t(null,null,2,e.getMergeableContentHashes())}))),(e=>i=e),(()=>i=void 0),s,2,((e,t)=>{for(var n in t||(t={}))jt.call(t,n)&&Ft(e,n,t[n]);if(kt)for(var n of kt(t))Jt.call(t,n)&&Ft(e,n,t[n]);return e})({startSync:e=>Qt(void 0,null,(function*(){return yield(yield f.startAutoLoad(e)).startAutoSave()})),stopSync:()=>f.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),f.stopSync()),getSynchronizerStats:()=>({})},a));return f},e.createIndexes=Xe,e.createMergeableStore=e=>{let t=1,l=tn(),r=0;const o=Te(),s=ze(),[a,i]=At(e),d=Zt(),u=e=>{const n=t;return t=0,e(),t=n,h},c=(e,t=0)=>{const r={},o={},[[s,a=n,d=0],u]=e,[c,v]=l,[f,h,b]=c;let p=t?d:b,y=a;ce(s,(([e,l=n,o=0],s)=>{const a=Ve(f,s,wt),[i,d,u]=a;let c=t?o:u,v=l;ce(e,((e,n)=>{const[l,o,a]=g(e,Ve(i,n,wt),fe(fe(r,s,ie),n,ie),t);c^=t?0:(o?bt(n,o):0)^bt(n,a),v=yt(v,l)})),c^=t?0:pt(d,l),Ct(a,c,l),p^=t?0:(u?bt(s,u):0)^bt(s,a[2]),y=yt(y,v)})),p^=t?0:pt(h,a),Ct(c,p,a);const[C]=g(u,v,o,t);return i(yt(y,C)),[r,o,1]},g=(e,t,l,r)=>{const[o,s=n,a=0]=e,[i,d,u]=t;let c=s,g=r?a:u;return ce(o,(([e,t,o=0],s)=>{const a=Ve(i,s,(()=>[void 0,n,0])),[,d,u]=a;(!d||t>d)&&(Ct(a,r?o:ct(Ut(null!=e?e:null)+":"+t),t),a[0]=e,l[s]=e,g^=r?0:bt(s,u)^bt(s,a[2]),c=yt(c,t))})),g^=r?0:pt(d,s),Ct(t,g,s),[c,u,t[2]]},v=()=>[St(l[0],(e=>St(e,(e=>St(e))))),St(l[1])],f=e=>u((()=>d.applyChanges(c(e)))),h={getId:()=>e,getMergeableContent:v,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>De(l[0][0],ht),getMergeableTableDiff:e=>{const t=Lt(l[0][1]),n={};return Me(l[0][0],((l,[r,o,s])=>de(e,l)?s!=e[l]?n[l]=s:0:t[0][l]=Tt([r,o],(e=>Tt(e))))),[t,n]},getMergeableRowHashes:e=>{const t={};return ce(e,((e,n)=>A(Re(l[0][0],n),(([l,,r])=>r!=e?Me(l,((e,[,,l])=>fe(t,n,ie)[e]=l)):0)))),t},getMergeableRowDiff:e=>{const t=Lt(l[0][1]),n={};return ce(e,((e,r)=>{var o;return Me(null==(o=Re(l[0][0],r))?void 0:o[0],((l,[o,s,a])=>de(e,l)?a!==e[l]?fe(n,r,ie)[l]=a:0:fe(t[0],r,Lt)[0][l]=Tt([o,s])))})),[t,n]},getMergeableCellHashes:e=>{const t={};return ce(e,((e,n)=>A(Re(l[0][0],n),(([l])=>ce(e,((e,r)=>A(Re(l,r),(([l,,o])=>o!==e?Me(l,((e,[,,l])=>fe(fe(t,n,ie),r,ie)[e]=l)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,n]]=l,r={};return ce(e,((e,n)=>ce(e,((e,l)=>A(Re(t,n),(([t,o])=>A(Re(t,l),(([t,s])=>Me(t,((t,[a,i,d])=>d!==e[t]?fe(fe(r,n,(()=>Lt(o)))[0],l,(()=>Lt(s)))[0][t]=[a,i]:0)))))))))),ft(r,n)},getMergeableValuesHashes:()=>De(l[1][0],ht),getMergeableValueDiff:e=>{const[,[t,n]]=l,r=De(t,vt,(([,,t],n)=>t==(null==e?void 0:e[n])));return ft(r,n)},setMergeableContent:e=>u((()=>(e=>J(e)&&2==Q(e)&&It(e[0],(e=>he(e,(e=>It(e,(e=>he(e,(e=>It(e,(e=>he(e,(e=>It(e,Je)),void 0,1)))),void 0,1)))),void 0,1)))&&It(e[1],(e=>he(e,(e=>It(e,Je)),void 0,1))))(e)?d.transaction((()=>{d.delTables().delValues(),l=tn(),d.applyChanges(c(e,1))})):0)),setDefaultContent:e=>(d.transaction((()=>{r=1,d.setContent(e),r=0})),h),getTransactionMergeableChanges:()=>{const[[e,t],[n,r]]=l,a={};we(o,((t,n)=>A(Re(e,n),(([e,l])=>{const r={};we(t,((t,n)=>A(Re(e,n),(([e,l])=>{const o={};we(t,(t=>{A(Re(e,t),(([e,n])=>o[t]=ft(e,n)))})),r[n]=ft(o,l)})))),a[n]=ft(r,l)}))));const i={};return we(s,(e=>A(Re(n,e),(([t,n])=>i[e]=ft(t,n))))),[ft(a,t),ft(i,r),1]},applyMergeableChanges:f,merge:e=>{const t=v(),n=e.getMergeableContent();return e.applyMergeableChanges(t),f(n)}};return d.setInternalListeners((()=>{}),(()=>{}),(()=>{Le(o),Le(s)}),((e,l,s,i)=>{Ne(Ve(Ve(o,e,Te),l,ze),s),t&&c([[{[e]:[{[l]:[{[s]:[i,r?n:a()]}]}]}],[{}],1])}),((e,l)=>{Ne(s,e),t&&c([[{}],[{[e]:[l,r?n:a()]}],1])})),ge(d,((e,t)=>h[t]=m(t,"set")||m(t,"del")||m(t,"apply")||V(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),h):m(t,"add")&&V(t,"Listener")?(...n)=>{var l;const r=null!=(l=en[F(t,3,-8)])?l:0,o=n[r];return n[r]=(e,...t)=>o(h,...t),e(...n)}:e)),ae(h)},e.createMetrics=et,e.createQueries=$t,e.createRelationships=Bt,e.createStore=Zt,e.defaultSorter=Ue},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,l;e=this,l=function(e,l,t){"use strict";const n=e=>typeof e,s="",r=n(s),a=n(!0),o=n(0),i=n(n),u="type",d="default",c="Has",h="Ids",m="Table",b=m+"s",p=m+h,g="Row",v=g+"Count",f=g+h,I="Cell",y=I+h,w="Value",C=w+"s",k=w+h,T="currentTarget",S="value",x=e=>s+e,V=Math.floor,R=isFinite,O=e=>null==e,q=(e,l,t)=>O(e)?null==t?void 0:t():l(e),P=e=>e==r||e==a,N=e=>n(e)==i,M=e=>Array.isArray(e),L=(e,l,t)=>e.slice(l,t),E=e=>e.length,{PureComponent:j,Fragment:z,createElement:$,useCallback:A,useLayoutEffect:J,useRef:D,useState:F}=l,H=(e,...l)=>O(e)?{}:e(...l),B=(e,l)=>e.sort(l),Q=(e,l)=>e.forEach(l),W=(e,l)=>e.map(l),U=e=>0==E(e),G=(e,...l)=>e.push(...l),K=e=>e.shift(),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.entries,_=X.isFrozen,ee=e=>!O(e)&&q(Y(e),(e=>e==X.prototype||O(Y(e))),(()=>!0)),le=X.keys,te=X.freeze,ne=(e=[])=>X.fromEntries(e),se=(e,l)=>l in e,re=(e,l)=>(delete e[l],e),ae=(e,l)=>W(Z(e),(([e,t])=>l(t,e))),oe=e=>ee(e)&&0==(e=>E(le(e)))(e),ie=(e,l,t,n=0)=>O(e)||!ee(e)||!n&&oe(e)||_(e)?(null==t||t(),!1):(ae(e,((t,n)=>{l(t,n)||re(e,n)})),!!n||!oe(e)),ue=e=>JSON.stringify(e,((e,l)=>l instanceof Map?X.fromEntries([...l]):l)),de=JSON.parse,ce="tinybaseStoreInspector",he="TinyBase Store Inspector",me=["left","top","bottom","right","full"],be="state",pe="sort",ge="open",ve="position",fe=ge,Ie="editable",ye=(...e)=>ue(e),we=(e,l)=>W(B(e),l),Ce=(e,l)=>[!!t.useCell(be,e,Ie,l),A((t=>{l.setCell(be,e,Ie,(e=>!e)),t.preventDefault()}),[l,e])],ke="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",Te='content:url("',Se=Te+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",xe='</svg>")',Ve=Te+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",Re=W([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,l,t,n])=>Se+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${l}' width='${t}' height='${n}' fill='white'/>`+xe)),Oe=Se+"<path d='M20 20l60 60M20 80l60-60' />"+xe,qe=Se+`<path d='${ke}' />`+xe,Pe=Se+`<path d='${ke}M20 20l60 60' />`+xe;var Ne=Object.defineProperty,Me=Object.defineProperties,Le=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,je=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable,$e=(e,l,t)=>l in e?Ne(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,Ae=(e,l)=>{for(var t in l||(l={}))je.call(l,t)&&$e(e,t,l[t]);if(Ee)for(var t of Ee(l))ze.call(l,t)&&$e(e,t,l[t]);return e},Je=(e,l)=>Me(e,Le(l));const De="*::-webkit-scrollbar",Fe=((e,l="")=>e.join(l))(ae(Je(Ae(Je(Ae(Je(Ae({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[De]:"width:0.5rem;height:0.5rem;",[De+"-track"]:"background:#111",[De+"-thumb"]:"background:#999;border:1px solid #111",[De+"-thumb:hover"]:"background:#fff",[De+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+Ve},ne(W(["bottom:0;left:0","top:0;right:0"],((e,l)=>[`>img[data-position='${l}']`,e])))),{main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;"}),ne(W(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,l)=>[`main[data-position='${l}']`,e])))),{header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":Ve,"header>img:nth-of-type(6)":Oe}),ne(W(Re,((e,l)=>[`header>img[data-id='${l}']`,e])))),{"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":qe,"details[open]>summary img.done":Pe,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${ce} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"}),((e,l)=>e?`#${ce} ${l}{${e}}`:""))),He=({s:e})=>{var l;const n=null!=(l=t.useValue(ve,e))?l:1,s=t.useSetValueCallback(fe,(()=>!0),[],e);return t.useValue(fe,e)?null:$("img",{onClick:s,title:he,"data-position":n})},Be=({uniqueId:e,summary:l,editable:n,handleEditable:s,children:r,s:a})=>{const o=!!t.useCell(be,e,ge,a),i=t.useSetCellCallback(be,e,ge,(e=>e[T].open),[],a);return $("details",{open:o,onToggle:i},$("summary",null,l,s?$("img",{onClick:s,className:n?"done":"edit"}):null),r)},Qe=e=>{const l=n(e);return P(l)||l==o&&R(e)?l:void 0},We=(e,l,t,n,s)=>O(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),Ue=(e,l,t)=>O(t)?e.delValue(l):e.setValue(l,t),Ge=(e,l,t,n)=>e==r?l:e==o?t:n;var Ke=Object.defineProperty,Xe=Object.defineProperties,Ye=Object.getOwnPropertyDescriptors,Ze=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,el=Object.prototype.propertyIsEnumerable,ll=(e,l,t)=>l in e?Ke(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,tl=(e,l)=>{for(var t in l||(l={}))_e.call(l,t)&&ll(e,t,l[t]);if(Ze)for(var t of Ze(l))el.call(l,t)&&ll(e,t,l[t]);return e},nl=(e,l)=>Xe(e,Ye(l)),sl=(e,l)=>{var t={};for(var n in e)_e.call(e,n)&&l.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&Ze)for(var n of Ze(e))l.indexOf(n)<0&&el.call(e,n)&&(t[n]=e[n]);return t};const{useCallback:rl,useMemo:al,useState:ol}=l,il="editable",ul=(e,l)=>W(t.useTableCellIds(e,l),(l=>e+"."+l)),dl=(e,l,t)=>{const n=rl(e,l);return t?n:void 0},cl=(...e)=>al((()=>e),e),hl=(e,l)=>al((()=>({store:e,tableId:l})),[e,l]),ml=(e,l)=>al((()=>({queries:e,queryId:l})),[e,l]),bl=(e,l=!1,t,n=0,s,r,a,o)=>{const[[i,u,d],c]=ol([e,l,n]),h=rl((e=>{c(e),null==o||o(e)}),[o]),m=dl((e=>h([e,e==i&&!u,d])),[h,i,u,d],t),b=rl((e=>h([i,u,e])),[h,i,u]),p=!0===a?Vl:a;return[[i,u,d],m,al((()=>!1===a?null:$(p,{offset:d,limit:s,total:r,onChange:b})),[a,p,d,s,r,b])]},pl=(e,l,t)=>al((()=>{const s=null!=l?l:e;return a=M(s)?ne(W(s,(e=>[e,e]))):s,o=(e,l)=>tl(tl({},{label:l,component:t}),n(e)==r?{label:e}:e),ne(ae(a,((e,l)=>[l,o(e,l)])));var a,o}),[l,t,e]),gl=({className:e,headerRow:l,idColumn:t,params:[n,s,r,a,o,i]})=>$("table",{className:e},i?$("caption",null,i):null,!1===l?null:$("thead",null,$("tr",null,!1===t?null:$(vl,{sort:null!=a?a:[],label:"Id",onClick:o}),ae(n,(({label:e},l)=>$(vl,{key:l,cellId:l,label:e,sort:null!=a?a:[],onClick:o}))))),$("tbody",null,W(r,(e=>$("tr",{key:e},!1===t?null:$("th",null,e),ae(n,(({component:l,getComponentProps:t},n)=>$("td",{key:n},$(l,nl(tl(tl({},H(t,e,n)),s),{rowId:e,cellId:n})))))))))),vl=({cellId:e,sort:[l,t],label:n=(null!=e?e:s),onClick:r})=>$("th",{onClick:dl((()=>null==r?void 0:r(e)),[r,e],r),className:O(t)||l!=e?void 0:`sorted ${t?"de":"a"}scending`},O(t)||l!=e?null:(t?"↓":"↑")+" ",n),fl=({localRowId:e,params:[n,s,r,a,o,i,u]})=>{const d=t.useRemoteRowId(o,e,i);return $("tr",null,!1===n?null:$(l.Fragment,null,$("th",null,e),$("th",null,d)),ae(s,(({component:l,getComponentProps:t},n)=>{const[s,o]=n.split(".",2),i=s===r?e:s===a?d:null;return O(i)?null:$("td",{key:n},$(l,nl(tl({},H(t,i,o)),{store:u,tableId:s,rowId:i,cellId:o})))})))},Il=({thing:e,onThingChange:l,className:t,hasSchema:n,showType:s=!0})=>{const[i,u]=ol(),[d,c]=ol(),[h,m]=ol(),[b,p]=ol(),[g,v]=ol();d!==e&&(u(Qe(e)),c(e),m(e+""),p(Number(e)||0),v(!!e));const f=rl(((e,t)=>{t(e),c(e),l(e)}),[l]),I=rl((()=>{if(!(null==n?void 0:n())){const e=Ge(i,o,a,r),t=Ge(e,h,b,g);u(e),c(t),l(t)}}),[n,l,h,b,g,i]);return $("div",{className:t},s?$("button",{className:i,onClick:I},i):null,Ge(i,$("input",{key:i,value:h,onChange:rl((e=>f(e[T][S]+"",m)),[f])}),$("input",{key:i,type:"number",value:b,onChange:rl((e=>f(Number(e[T][S]||0),p)),[f])}),$("input",{key:i,type:"checkbox",checked:g,onChange:rl((e=>f(!!e[T].checked,v)),[f])})))},yl=e=>{var l=e,{tableId:n,cellId:s,descending:r,offset:a,limit:o,store:i,editable:u,sortOnClick:d,paginator:c=!1,onChange:h,customCells:m}=l,b=sl(l,["tableId","cellId","descending","offset","limit","store","editable","sortOnClick","paginator","onChange","customCells"]);const[p,g,v]=bl(s,r,d,a,o,t.useRowCount(n,i),c,h);return $(gl,nl(tl({},b),{params:cl(pl(t.useTableCellIds(n,i),m,u?Sl:t.CellView),hl(i,n),t.useSortedRowIds(n,...p,o,i),p,g,v)}))},wl=({store:e,editable:l=!1,valueComponent:n=(l?xl:t.ValueView),getValueComponentProps:s,className:r,headerRow:a,idColumn:o})=>$("table",{className:r},!1===a?null:$("thead",null,$("tr",null,!1===o?null:$("th",null,"Id"),$("th",null,w))),$("tbody",null,W(t.useValueIds(e),(l=>$("tr",{key:l},!1===o?null:$("th",null,l),$("td",null,$(n,nl(tl({},H(s,l)),{valueId:l,store:e})))))))),Cl=e=>{var l=e,{indexId:n,sliceId:s,indexes:r,editable:a,customCells:o}=l,i=sl(l,["indexId","sliceId","indexes","editable","customCells"]);const[u,d,c]=((e,l)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getTableId(l)])(t.useIndexesOrIndexesById(r),n);return $(gl,nl(tl({},i),{params:cl(pl(t.useTableCellIds(c,d),o,a?Sl:t.CellView),hl(d,c),t.useSliceRowIds(n,s,u))}))},kl=({relationshipId:e,relationships:n,editable:s,customCells:r,className:a,headerRow:o,idColumn:i=!0})=>{const[u,d,c,h]=((e,l)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getLocalTableId(l),null==e?void 0:e.getRemoteTableId(l)])(t.useRelationshipsOrRelationshipsById(n),e),m=pl([...ul(c,d),...ul(h,d)],r,s?Sl:t.CellView),b=cl(i,m,c,h,e,u,d);return $("table",{className:a},!1===o?null:$("thead",null,$("tr",null,!1===i?null:$(l.Fragment,null,$("th",null,c,".Id"),$("th",null,h,".Id")),ae(m,(({label:e},l)=>$("th",{key:l},e))))),$("tbody",null,W(t.useRowIds(c,d),(e=>$(fl,{key:e,localRowId:e,params:b})))))},Tl=e=>{var l=e,{queryId:n,cellId:s,descending:r,offset:a,limit:o,queries:i,sortOnClick:u,paginator:d=!1,customCells:c,onChange:h}=l,m=sl(l,["queryId","cellId","descending","offset","limit","queries","sortOnClick","paginator","customCells","onChange"]);const[b,p,g]=bl(s,r,u,a,o,t.useResultRowCount(n,i),d,h);return $(gl,nl(tl({},m),{params:cl(pl(t.useResultTableCellIds(n,i),c,t.ResultCellView),ml(i,n),t.useResultSortedRowIds(n,...b,o,i),b,p,g)}))},Sl=({tableId:e,rowId:l,cellId:n,store:s,className:r,showType:a})=>{var o;return $(Il,{thing:t.useCell(e,l,n,s),onThingChange:t.useSetCellCallback(e,l,n,(e=>e),[],s),className:null!=r?r:il+I,showType:a,hasSchema:null==(o=t.useStoreOrStoreById(s))?void 0:o.hasTablesSchema})},xl=({valueId:e,store:l,className:n,showType:s})=>{var r;return $(Il,{thing:t.useValue(e,l),onThingChange:t.useSetValueCallback(e,(e=>e),[],l),className:null!=n?n:il+w,showType:s,hasSchema:null==(r=t.useStoreOrStoreById(l))?void 0:r.hasValuesSchema})},Vl=({onChange:e,total:t,offset:n=0,limit:s=t,singular:r="row",plural:a=r+"s"})=>{(n>t||n<0)&&(n=0,e(0));const o=dl((()=>e(n-s)),[e,n,s],n>0),i=dl((()=>e(n+s)),[e,n,s],n+s<t);return $(l.Fragment,null,t>s&&$(l.Fragment,null,$("button",{className:"previous",disabled:0==n,onClick:o},"←"),$("button",{className:"next",disabled:n+s>=t,onClick:i},"→"),n+1," to ",Math.min(t,n+s)," of "),t," ",1!=t?a:r)},Rl=({indexes:e,indexesId:l,indexId:n,s:s})=>$(Be,{uniqueId:ye("i",l,n),summary:"Index: "+n,s:s},W(t.useSliceIds(n,e),(t=>$(Ol,{indexes:e,indexesId:l,indexId:n,sliceId:t,s:s,key:t})))),Ol=({indexes:e,indexesId:l,indexId:t,sliceId:n,s:s})=>{const r=ye("i",l,t,n),[a,o]=Ce(r,s);return $(Be,{uniqueId:r,summary:"Slice: "+n,editable:a,handleEditable:o,s:s},$(Cl,{sliceId:n,indexId:t,indexes:e,editable:a}))},ql=({indexesId:e,s:l})=>{const n=t.useIndexes(e),s=t.useIndexIds(n);return O(n)?null:$(Be,{uniqueId:ye("i",e),summary:"Indexes: "+(null!=e?e:d),s:l},U(s)?"No indexes defined":we(s,(t=>$(Rl,{indexes:n,indexesId:e,indexId:t,s:l,key:t}))))},Pl=({metrics:e,metricId:l})=>$("tr",null,$("th",null,l),$("td",null,null==e?void 0:e.getTableId(l)),$("td",null,t.useMetric(l,e))),Nl=({metricsId:e,s:l})=>{const n=t.useMetrics(e),s=t.useMetricIds(n);return O(n)?null:$(Be,{uniqueId:ye("m",e),summary:"Metrics: "+(null!=e?e:d),s:l},U(s)?"No metrics defined":$("table",null,$("thead",null,$("th",null,"Metric Id"),$("th",null,"Table Id"),$("th",null,"Metric")),$("tbody",null,W(s,(e=>$(Pl,{metrics:n,metricId:e,key:e}))))))},Ml=({queries:e,queriesId:l,queryId:n,s:s})=>{var r;const a=ye("q",l,n),[o,i,u]=de(null!=(r=t.useCell(be,a,pe,s))?r:"[]"),d=t.useSetCellCallback(be,a,pe,ue,[],s);return $(Be,{uniqueId:a,summary:"Query: "+n,s:s},$(Tl,{queryId:n,queries:e,cellId:o,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},Ll=({queriesId:e,s:l})=>{const n=t.useQueries(e),s=t.useQueryIds(n);return O(n)?null:$(Be,{uniqueId:ye("q",e),summary:"Queries: "+(null!=e?e:d),s:l},U(s)?"No queries defined":we(s,(t=>$(Ml,{queries:n,queriesId:e,queryId:t,s:l,key:t}))))},El=({relationships:e,relationshipsId:l,relationshipId:t,s:n})=>{const s=ye("r",l,t),[r,a]=Ce(s,n);return $(Be,{uniqueId:s,summary:"Relationship: "+t,editable:r,handleEditable:a,s:n},$(kl,{relationshipId:t,relationships:e,editable:r}))},jl=({relationshipsId:e,s:l})=>{const n=t.useRelationships(e),s=t.useRelationshipIds(n);return O(n)?null:$(Be,{uniqueId:ye("r",e),summary:"Relationships: "+(null!=e?e:d),s:l},U(s)?"No relationships defined":we(s,(t=>$(El,{relationships:n,relationshipsId:e,relationshipId:t,s:l,key:t}))))},zl=({tableId:e,store:l,storeId:n,s:s})=>{var r;const a=ye("t",n,e),[o,i,u]=de(null!=(r=t.useCell(be,a,pe,s))?r:"[]"),d=t.useSetCellCallback(be,a,pe,ue,[],s),[c,h]=Ce(a,s);return $(Be,{uniqueId:a,summary:m+": "+e,editable:c,handleEditable:h,s:s},$(yl,{tableId:e,store:l,cellId:o,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:c}))},$l=({store:e,storeId:l,s:n})=>{const s=ye("v",l),[r,a]=Ce(s,n);return U(t.useValueIds(e))?null:$(Be,{uniqueId:s,summary:C,editable:r,handleEditable:a,s:n},$(wl,{store:e,editable:r}))},Al=({storeId:e,s:l})=>{const n=t.useStore(e),s=t.useTableIds(n);return O(n)?null:$(Be,{uniqueId:ye("s",e),summary:"Store: "+(null!=e?e:d),s:l},$($l,{storeId:e,store:n,s:l}),we(s,(t=>$(zl,{store:n,storeId:e,tableId:t,s:l,key:t}))))},Jl=({s:e})=>{const l=D(null),n=D(0),[s,r]=F(!1),{scrollLeft:a,scrollTop:o}=t.useValues(e);J((()=>{const e=l.current;if(e&&!s){const l=new MutationObserver((()=>{e.scrollWidth>=V(a)+e.clientWidth&&e.scrollHeight>=V(o)+e.clientHeight&&e.scrollTo(a,o)}));return l.observe(e,{childList:!0,subtree:!0}),()=>l.disconnect()}}),[s,a,o]);const i=A((l=>{const{scrollLeft:t,scrollTop:s}=l[T];cancelIdleCallback(n.current),n.current=requestIdleCallback((()=>{r(!0),e.setPartialValues({scrollLeft:t,scrollTop:s})}))}),[e]),u=t.useStore(),d=t.useStoreIds(),c=t.useMetrics(),h=t.useMetricsIds(),m=t.useIndexes(),b=t.useIndexesIds(),p=t.useRelationships(),g=t.useRelationshipsIds(),v=t.useQueries(),f=t.useQueriesIds();return O(u)&&U(d)&&O(c)&&U(h)&&O(m)&&U(b)&&O(p)&&U(g)&&O(v)&&U(f)?$("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):$("article",{ref:l,onScroll:i},$(Al,{s:e}),W(d,(l=>$(Al,{storeId:l,s:e,key:l}))),$(Nl,{s:e}),W(h,(l=>$(Nl,{metricsId:l,s:e,key:l}))),$(ql,{s:e}),W(b,(l=>$(ql,{indexesId:l,s:e,key:l}))),$(jl,{s:e}),W(g,(l=>$(jl,{relationshipsId:l,s:e,key:l}))),$(Ll,{s:e}),W(f,(l=>$(Ll,{queriesId:l,s:e,key:l}))))};class Dl extends j{constructor(e){super(e),this.componentDidCatch=(e,l)=>console.error(e,l.componentStack),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}render(){return this.state.e?$("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const Fl=({s:e})=>{var l;const n=null!=(l=t.useValue(ve,e))?l:1,s=t.useSetValueCallback(fe,(()=>!1),[],e),r=t.useSetValueCallback(ve,(e=>Number(e[T].dataset.id)),[],e);return $("header",null,$("img",{title:he}),$("span",null,he),W(me,((e,l)=>l==n?null:$("img",{onClick:r,"data-id":l,title:"Dock to "+e,key:l}))),$("img",{onClick:s,title:"Close"}))},Hl=({s:e})=>{var l;const n=null!=(l=t.useValue(ve,e))?l:1;return t.useValue(fe,e)?$("main",{"data-position":n},$(Fl,{s:e}),$(Dl,null,$(Jl,{s:e}))):null},Bl=e=>l=>{return t=(l,t)=>l+e(t),Yl(l).reduce(t,0);var t},Ql=e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0},Wl=Bl(Ql),Ul=Bl(Wl),Gl=Bl(Ul),Kl=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},Xl=e=>O(e)||0==Ql(e),Yl=e=>{var l;return[...null!=(l=null==e?void 0:e.values())?l:[]]},Zl=e=>e.clear(),_l=(e,l)=>null==e?void 0:e.forEach(l),et=(e,l)=>null==e?void 0:e.delete(l),lt=e=>new Map(e),tt=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},nt=(e,l)=>null==e?void 0:e.get(l),st=(e,l)=>_l(e,((e,t)=>l(t,e))),rt=(e,l,t)=>O(t)?(et(e,l),e):null==e?void 0:e.set(l,t),at=(e,l,t,n)=>(Kl(e,l)?null==n||n(nt(e,l)):rt(e,l,t()),nt(e,l)),ot=(e,l,t,n=rt)=>(ae(l,((l,n)=>t(e,n,l))),st(e,(t=>se(l,t)?0:n(e,t))),e),it=(e,l,t,n)=>{const s={};return _l(e,((e,r)=>{if(!(null==t?void 0:t(e,r))){const t=l?l(e,r):e;!(null==n?void 0:n(t))&&(s[r]=t)}})),s},ut=(e,l,t)=>it(e,(e=>it(e,l,t)),Xl,oe),dt=(e,l,t)=>it(e,(e=>ut(e,l,t)),Xl,oe),ct=(e,l)=>{const t=lt();return _l(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},ht=e=>ct(e,ct),mt=e=>ct(e,ht),bt=(e,l,t,n,s=0)=>q((t?at:nt)(e,l[s],s>E(l)-2?t:lt),(r=>{if(s>E(l)-2)return(null==n?void 0:n(r))&&rt(e,l[s]),r;const a=bt(r,l,t,n,s+1);return Xl(r)&&rt(e,l[s]),a}));var pt=Object.defineProperty,gt=Object.getOwnPropertySymbols,vt=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable,It=(e,l,t)=>l in e?pt(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,yt=(e,l,t)=>new Promise(((n,s)=>{var r=e=>{try{o(t.next(e))}catch(e){s(e)}},a=e=>{try{o(t.throw(e))}catch(e){s(e)}},o=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,a);o((t=t.apply(e,l)).next())}));const wt=lt(),Ct=lt();var kt=(e,l,t)=>new Promise(((n,s)=>{var r=e=>{try{o(t.next(e))}catch(e){s(e)}},a=e=>{try{o(t.throw(e))}catch(e){s(e)}},o=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,a);o((t=t.apply(e,l)).next())}));const Tt="storage",St=globalThis.window,xt=e=>new Set(M(e)||O(e)?e:[e]),Vt=(e,l)=>null==e?void 0:e.add(l),Rt=/^\d+$/,Ot=()=>{const e=[];let l=0;return[t=>{var n;return null!=(n=t?K(e):null)?n:s+l++},l=>{Rt.test(l)&&E(e)<1e3&&G(e,l)}]},qt=e=>[e,e],Pt=(e,l=Wl)=>l(e[0])+l(e[1]),Nt=()=>[lt(),lt()],Mt=e=>[...e],Lt=([e,l])=>e===l,Et=(e,l,t)=>rt(e,l,nt(e,l)==-t?void 0:t),jt=()=>{let e,l,t=!1,n=!1,r=0,a=[];const i=lt(),h=lt(),T=lt(),S=lt(),V=lt(),R=lt(),M=lt(),j=lt(),z=lt(),$=lt(),A=lt(),J=lt(),D=lt(),F=lt(),H=xt(),U=lt(),K=lt(),X=lt(),Y=lt(),Z=Nt(),_=Nt(),ee=Nt(),le=Nt(),ne=Nt(),ce=Nt(),he=Nt(),me=Nt(),be=Nt(),pe=Nt(),ge=Nt(),ve=Nt(),fe=Nt(),Ie=Nt(),ye=Nt(),we=Nt(),Ce=Nt(),ke=Nt(),Te=Nt(),Se=Nt(),xe=Nt(),Ve=Nt(),Re=lt(),Oe=Nt(),[qe,Pe,Ne,Me]=(e=>{let l;const[t,n]=Ot(),r=lt();return[(e,n,a,o=[],i=(()=>[]))=>{null!=l||(l=St);const u=t(1);return rt(r,u,[e,n,a,o,i]),Vt(bt(n,null!=a?a:[s],xt),u),u},(e,t,...n)=>Q(((e,l=[s])=>{const t=[],n=(e,s)=>s==E(l)?G(t,e):null===l[s]?_l(e,(e=>n(e,s+1))):Q([l[s],null],(l=>n(nt(e,l),s+1)));return n(e,0),t})(e,t),(e=>_l(e,(e=>nt(r,e)[0](l,...null!=t?t:[],...n))))),e=>q(nt(r,e),(([,l,t])=>(bt(l,null!=t?t:[s],void 0,(l=>(et(l,e),Xl(l)?1:0))),rt(r,e),n(e),t))),e=>q(nt(r,e),(([e,,t=[],n,s])=>{const r=(...a)=>{var o,i;const u=E(a);u==E(t)?e(l,...a,...s(a)):O(t[u])?Q(null!=(i=null==(o=n[u])?void 0:o.call(n,...a))?i:[],(e=>r(...a,e))):r(...a,t[u])};r()}))]})(),Le=e=>{if(!ie(e,((e,l)=>[u,d].includes(l))))return!1;const l=e[u];return!(!P(l)&&l!=o||(Qe(e[d])!=l&&re(e,d),0))},Ee=(l,t)=>(!e||Kl(A,t)||bl(t))&&ie(l,((e,l)=>je(t,l,e)),(()=>bl(t))),je=(e,l,t,n)=>ie(n?t:Je(t,e,l),((n,s)=>q(ze(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>bl(e,l))),ze=(l,t,n,s)=>e?q(nt(nt(A,l),n),(e=>Qe(s)!=e[u]?bl(l,t,n,s,e[d]):s),(()=>bl(l,t,n,s))):O(Qe(s))?bl(l,t,n,s):s,$e=(e,l)=>ie(l?e:De(e),((l,t)=>q(Ae(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>pl())),Ae=(e,t)=>l?q(nt(D,e),(l=>Qe(t)!=l[u]?pl(e,t,l[d]):t),(()=>pl(e,t))):O(Qe(t))?pl(e,t):t,Je=(e,l,t)=>(q(nt(J,l),(([n,s])=>{_l(n,((l,t)=>{se(e,t)||(e[t]=l)})),_l(s,(n=>{se(e,n)||bl(l,t,n)}))})),e),De=e=>(l&&(_l(F,((l,t)=>{se(e,t)||(e[t]=l)})),_l(H,(l=>{se(e,l)||pl(l)}))),e),Fe=e=>ot(A,e,((e,l,t)=>{const n=lt(),s=xt();ot(at(A,l,lt),t,((e,l,t)=>{rt(e,l,t),q(t[d],(e=>rt(n,l,e)),(()=>Vt(s,l)))})),rt(J,l,[n,s])}),((e,l)=>{rt(A,l),rt(J,l)})),He=e=>ot(D,e,((e,l,t)=>{rt(D,l,t),q(t[d],(e=>rt(F,l,e)),(()=>Vt(H,l)))}),((e,l)=>{rt(D,l),rt(F,l),et(H,l)})),Be=e=>oe(e)?gt():Fl(e),Ge=e=>ot(X,e,((e,l,t)=>Ke(l,t)),((e,l)=>sl(l))),Ke=(e,l)=>ot(at(X,e,(()=>(il(e,1),rt(U,e,Ot()),rt(K,e,lt()),lt()))),l,((l,t,n)=>Xe(e,l,t,n)),((l,t)=>rl(e,l,t))),Xe=(e,l,t,n,s)=>ot(at(l,t,(()=>(ul(e,t,1),lt()))),n,((l,n,s)=>Ye(e,t,l,n,s)),((n,r)=>al(e,l,t,n,r,s))),Ye=(e,l,t,n,s)=>{Kl(t,n)||dl(e,l,n,1);const r=nt(t,n);s!==r&&(cl(e,l,n,r,s),rt(t,n,s))},Ze=(e,l,t,n,s)=>q(nt(l,t),(l=>Ye(e,t,l,n,s)),(()=>Xe(e,l,t,Je({[n]:s},e,t)))),_e=e=>oe(e)?It():Hl(e),el=e=>ot(Y,e,((e,l,t)=>ll(l,t)),((e,l)=>ol(l))),ll=(e,l)=>{Kl(Y,e)||hl(e,1);const t=nt(Y,e);l!==t&&(ml(e,t,l),rt(Y,e,l))},tl=(e,l)=>{const[t]=nt(U,e),n=t(l);return Kl(nt(X,e),n)?tl(e,l):n},nl=e=>{var l;return null!=(l=nt(X,e))?l:Ke(e,{})},sl=e=>Ke(e,{}),rl=(e,l,t)=>{const[,n]=nt(U,e);n(t),Xe(e,l,t,{},!0)},al=(e,l,t,n,s,r)=>{var a;const o=nt(null==(a=nt(J,e))?void 0:a[0],s);if(!O(o)&&!r)return Ye(e,t,n,s,o);const i=l=>{cl(e,t,l,nt(n,l)),dl(e,t,l,-1),rt(n,l)};O(o)?i(s):st(n,i),Xl(n)&&(ul(e,t,-1),Xl(rt(l,t))&&(il(e,-1),rt(X,e),rt(U,e),rt(K,e)))},ol=e=>{const l=nt(F,e);if(!O(l))return ll(e,l);ml(e,nt(Y,e)),hl(e,-1),rt(Y,e)},il=(e,l)=>Et(i,e,l),ul=(e,l,t)=>Et(at(S,e,lt),l,t)&&rt(T,e,at(T,e,(()=>0))+t),dl=(e,l,t,n)=>{var s;const r=nt(K,e),a=null!=(s=nt(r,t))?s:0;(0==a&&1==n||1==a&&-1==n)&&Et(at(h,e,lt),t,n),rt(r,t,a!=-n?a+n:null),Et(at(at(V,e,lt),l,lt),t,n)},cl=(e,l,t,n,s)=>{var r;at(at(at(R,e,lt),l,lt),t,(()=>[n,0]))[1]=s,null==(r=a[3])||r.call(a,e,l,t,s)},hl=(e,l)=>Et(M,e,l),ml=(e,l,t)=>{var n;at(j,e,(()=>[l,0]))[1]=t,null==(n=a[4])||n.call(a,e,t)},bl=(e,l,t,n,s)=>(G(at(at(at(z,e,lt),l,lt),t,(()=>[])),n),s),pl=(e,l,t)=>(G(at($,e,(()=>[])),l),t),gl=(e,l,t)=>q(nt(nt(nt(R,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...qt(Pl(e,l,t))])),vl=e=>q(nt(j,e),(([e,l])=>[!0,e,l]),(()=>[!1,...qt(Ll(e))])),fl=e=>Xl(z)||Xl(we[e])?0:_l(e?mt(z):z,((l,t)=>_l(l,((l,n)=>_l(l,((l,s)=>Pe(we[e],[t,n,s],l))))))),Il=e=>Xl($)||Xl(Ce[e])?0:_l(e?ct($):$,((l,t)=>Pe(Ce[e],[t],l))),yl=(e,l,t,n)=>{if(!Xl(e))return Pe(l,n,(()=>it(e))),st(e,((e,l)=>Pe(t,[...null!=n?n:[],e],1==l))),1},wl=e=>{const l=El();l!=t&&Pe(Z[e],void 0,l);const n=Xl(pe[e]),s=Xl(fe[e])&&Xl(Ie[e])&&Xl(be[e])&&Xl(ge[e])&&Xl(ce[e])&&Xl(he[e])&&Xl(me[e])&&n&&Xl(ee[e])&&Xl(le[e]),r=Xl(ye[e])&&Xl(ve[e])&&Xl(ne[e])&&Xl(_[e]);if(!s||!r){const l=e?[ct(i),ht(h),ct(T),ht(S),mt(V),mt(R)]:[i,h,T,S,V,R];if(!s){yl(l[0],ee[e],le[e]),_l(l[1],((l,t)=>yl(l,ce[e],he[e],[t]))),_l(l[2],((l,t)=>{0!=l&&Pe(me[e],[t],Vl(t))}));const t=xt();_l(l[3],((l,s)=>{yl(l,be[e],ge[e],[s])&&!n&&(Pe(pe[e],[s,null]),Vt(t,s))})),n||_l(l[5],((l,n)=>{if(!Kl(t,n)){const t=xt();_l(l,(e=>_l(e,(([l,n],s)=>n!==l?Vt(t,s):et(e,s))))),_l(t,(l=>Pe(pe[e],[n,l])))}})),_l(l[4],((l,t)=>_l(l,((l,n)=>yl(l,fe[e],Ie[e],[t,n])))))}if(!r){let t;_l(l[5],((l,n)=>{let s;_l(l,((l,r)=>{let a;_l(l,(([l,o],i)=>{o!==l&&(Pe(ye[e],[n,r,i],o,l,gl),t=s=a=1)})),a&&Pe(ve[e],[n,r],gl)})),s&&Pe(ne[e],[n],gl)})),t&&Pe(_[e],void 0,gl)}}},Cl=e=>{const l=Jl();l!=n&&Pe(ke[e],void 0,l);const t=Xl(Se[e])&&Xl(xe[e]),s=Xl(Ve[e])&&Xl(Te[e]);if(!t||!s){const l=e?[ct(M),ct(j)]:[M,j];if(t||yl(l[0],Se[e],xe[e]),!s){let t;_l(l[1],(([l,n],s)=>{n!==l&&(Pe(Ve[e],[s],n,l,vl),t=1)})),t&&Pe(Te[e],void 0,vl)}}},kl=(e,...l)=>(Ct((()=>e(...W(l,x)))),St),Tl=()=>dt(X),Sl=()=>tt(X),xl=e=>tt(nt(K,x(e))),Vl=e=>Ql(nt(X,x(e))),Rl=e=>tt(nt(X,x(e))),Ol=(e,l,t,n=0,s)=>{return W(L(B((r=nt(X,x(e)),a=(e,t)=>[O(l)?t:nt(e,x(l)),t],W([...null!=(o=null==r?void 0:r.entries())?o:[]],(([e,l])=>a(l,e)))),(([e],[l])=>{return((null!=(n=e)?n:0)<(null!=(s=l)?s:0)?-1:1)*(t?-1:1);var n,s})),n,O(s)?s:n+s),(([,e])=>e));var r,a,o},ql=(e,l)=>tt(nt(nt(X,x(e)),x(l))),Pl=(e,l,t)=>nt(nt(nt(X,x(e)),x(l)),x(t)),Nl=()=>it(Y),Ml=()=>tt(Y),Ll=e=>nt(Y,x(e)),El=()=>!Xl(X),jl=e=>Kl(X,x(e)),zl=(e,l)=>Kl(nt(K,x(e)),x(l)),$l=(e,l)=>Kl(nt(X,x(e)),x(l)),Al=(e,l,t)=>Kl(nt(nt(X,x(e)),x(l)),x(t)),Jl=()=>!Xl(Y),Dl=e=>Kl(Y,x(e)),Fl=e=>kl((()=>(e=>ie(e,Ee,bl))(e)?Ge(e):0)),Hl=e=>kl((()=>$e(e)?el(e):0)),Bl=e=>{try{Be(de(e))}catch(e){}return St},Yl=l=>kl((()=>{if((e=ie(l,(e=>ie(e,Le))))&&(Fe(l),!Xl(X))){const e=Tl();gt(),Fl(e)}})),pt=e=>kl((()=>{if(l=(e=>ie(e,Le))(e)){const t=Nl();wt(),It(),l=!0,He(e),Hl(t)}})),gt=()=>kl((()=>Ge({}))),vt=e=>kl((e=>Kl(X,e)?sl(e):0),e),ft=(e,l)=>kl(((e,l)=>q(nt(X,e),(t=>Kl(t,l)?rl(e,t,l):0))),e,l),It=()=>kl((()=>el({}))),yt=()=>kl((()=>{Fe({}),e=!1})),wt=()=>kl((()=>{He({}),l=!1})),Ct=(e,l)=>{if(-1!=r){kt();const t=e();return Tt(l),t}},kt=()=>{var e;return-1!=r&&r++,1==r&&(null==(e=a[0])||e.call(a),Pe(Re,void 0)),St},Tt=e=>{var l,s;return r>0&&(r--,0==r&&(r=1,fl(1),Xl(R)||wl(1),Il(1),Xl(j)||Cl(1),(null==e?void 0:e(St))&&(_l(R,((e,l)=>_l(e,((e,t)=>_l(e,(([e],n)=>We(St,l,t,n,e))))))),Zl(R),_l(j,(([e],l)=>Ue(St,l,e))),Zl(j)),Pe(Oe[0],void 0),r=-1,fl(0),Xl(R)||wl(0),Il(0),Xl(j)||Cl(0),null==(l=a[1])||l.call(a),Pe(Oe[1],void 0),null==(s=a[2])||s.call(a),r=0,t=El(),n=Jl(),Q([i,h,T,S,V,R,z,M,j,$],Zl))),St},St={getContent:()=>[Tl(),Nl()],getTables:Tl,getTableIds:Sl,getTable:e=>ut(nt(X,x(e))),getTableCellIds:xl,getRowCount:Vl,getRowIds:Rl,getSortedRowIds:Ol,getRow:(e,l)=>it(nt(nt(X,x(e)),x(l))),getCellIds:ql,getCell:Pl,getValues:Nl,getValueIds:Ml,getValue:Ll,hasTables:El,hasTable:jl,hasTableCell:zl,hasRow:$l,hasCell:Al,hasValues:Jl,hasValue:Dl,getTablesJson:()=>ue(X),getValuesJson:()=>ue(Y),getJson:()=>ue([X,Y]),getTablesSchemaJson:()=>ue(A),getValuesSchemaJson:()=>ue(D),getSchemaJson:()=>ue([A,D]),hasTablesSchema:()=>e,hasValuesSchema:()=>l,setContent:([e,l])=>kl((()=>{(oe(e)?gt:Fl)(e),(oe(l)?It:Hl)(l)})),setTables:Fl,setTable:(e,l)=>kl((e=>Ee(l,e)?Ke(e,l):0),e),setRow:(e,l,t)=>kl(((e,l)=>je(e,l,t)?Xe(e,nl(e),l,t):0),e,l),addRow:(e,l,t=!0)=>Ct((()=>{let n;return je(e,n,l)&&(e=x(e),Xe(e,nl(e),n=tl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>kl(((e,l)=>{if(je(e,l,t,1)){const n=nl(e);ae(t,((t,s)=>Ze(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>kl(((e,l,t)=>q(ze(e,l,t,N(n)?n(Pl(e,l,t)):n),(n=>Ze(e,nl(e),l,t,n)))),e,l,t),setValues:Hl,setPartialValues:e=>kl((()=>$e(e,1)?ae(e,((e,l)=>ll(l,e))):0)),setValue:(e,l)=>kl((e=>q(Ae(e,N(l)?l(Ll(e)):l),(l=>ll(e,l)))),e),applyChanges:e=>kl((()=>{ae(e[0],((e,l)=>O(e)?vt(l):ae(e,((e,t)=>O(e)?ft(l,t):ae(e,((e,n)=>We(St,l,t,n,e))))))),ae(e[1],((e,l)=>Ue(St,l,e)))})),setTablesJson:Bl,setValuesJson:e=>{try{_e(de(e))}catch(e){}return St},setJson:e=>kl((()=>{try{const[l,t]=de(e);Be(l),_e(t)}catch(l){Bl(e)}})),setTablesSchema:Yl,setValuesSchema:pt,setSchema:(e,l)=>kl((()=>{Yl(e),pt(l)})),delTables:gt,delTable:vt,delRow:ft,delCell:(e,l,t,n)=>kl(((e,l,t)=>q(nt(X,e),(s=>q(nt(s,l),(r=>Kl(r,t)?al(e,s,l,r,t,n):0))))),e,l,t),delValues:It,delValue:e=>kl((e=>Kl(Y,e)?ol(e):0),e),delTablesSchema:yt,delValuesSchema:wt,delSchema:()=>kl((()=>{yt(),wt()})),transaction:Ct,startTransaction:kt,getTransactionChanges:()=>[it(R,((e,l)=>-1===nt(i,l)?void 0:it(e,((e,t)=>-1===nt(nt(S,l),t)?void 0:it(e,(([,e])=>e),(e=>Lt(e)))),Xl,oe)),Xl,oe),it(j,(([,e])=>e),(e=>Lt(e))),1],getTransactionLog:()=>[!Xl(R),!Xl(j),dt(R,Mt,Lt),dt(z),it(j,Mt,Lt),it($),it(i),ut(S),dt(V),it(M)],finishTransaction:Tt,forEachTable:e=>_l(X,((l,t)=>e(t,(e=>_l(l,((l,t)=>e(t,(e=>st(l,e))))))))),forEachTableCell:(e,l)=>st(nt(K,x(e)),l),forEachRow:(e,l)=>_l(nt(X,x(e)),((e,t)=>l(t,(l=>st(e,l))))),forEachCell:(e,l,t)=>st(nt(nt(X,x(e)),x(l)),t),forEachValue:e=>st(Y,e),addSortedRowIdsListener:(e,l,t,n,s,r,a)=>{let o=Ol(e,l,t,n,s);return qe((()=>{const a=Ol(e,l,t,n,s);var i,u,d;u=o,E(i=a)===E(u)&&(d=(e,l)=>u[l]===e,i.every(d))||(o=a,r(St,e,l,t,n,s,o))}),pe[a?1:0],[e,l],[Sl])},addStartTransactionListener:e=>qe(e,Re),addWillFinishTransactionListener:e=>qe(e,Oe[0]),addDidFinishTransactionListener:e=>qe(e,Oe[1]),callListener:e=>(Me(e),St),delListener:e=>(Ne(e),St),getListenerStats:()=>({hasTables:Pt(Z),tables:Pt(_),tableIds:Pt(ee),hasTable:Pt(le),table:Pt(ne),tableCellIds:Pt(ce),hasTableCell:Pt(he,Ul),rowCount:Pt(me),rowIds:Pt(be),sortedRowIds:Pt(pe),hasRow:Pt(ge,Ul),row:Pt(ve,Ul),cellIds:Pt(fe,Ul),hasCell:Pt(Ie,Gl),cell:Pt(ye,Gl),invalidCell:Pt(we,Gl),hasValues:Pt(ke),values:Pt(Te),valueIds:Pt(Se),hasValue:Pt(xe),value:Pt(Ve),invalidValue:Pt(Ce),transaction:Wl(Re)+Pt(Oe)}),createStore:jt,addListener:qe,callListeners:Pe,setInternalListeners:(e,l,t,n,s)=>a=[e,l,t,n,s]};return ae({[c+b]:[0,Z,[],()=>[El()]],[b]:[0,_],[p]:[0,ee],[c+m]:[1,le,[Sl],e=>[jl(...e)]],[m]:[1,ne,[Sl]],[m+y]:[1,ce,[Sl]],[c+m+I]:[2,he,[Sl,xl],e=>[zl(...e)]],[v]:[1,me,[Sl]],[f]:[1,be,[Sl]],[c+g]:[2,ge,[Sl,Rl],e=>[$l(...e)]],[g]:[2,ve,[Sl,Rl]],[y]:[2,fe,[Sl,Rl]],[c+I]:[3,Ie,[Sl,Rl,ql],e=>[Al(...e)]],[I]:[3,ye,[Sl,Rl,ql],e=>qt(Pl(...e))],InvalidCell:[3,we],[c+C]:[0,ke,[],()=>[Jl()]],[C]:[0,Te],[k]:[0,Se],[c+w]:[1,xe,[Ml],e=>[Dl(...e)]],[w]:[1,Ve,[Ml],e=>qt(Ll(e[0]))],InvalidValue:[1,Ce]},(([e,l,t,n],s)=>{St["add"+s+"Listener"]=(...s)=>qe(s[e],l[s[e+1]?1:0],e>0?L(s,0,e):void 0,t,n)})),te(St)},zt=({position:e="right",open:l=!1})=>{const n=t.useCreateStore(jt),s=me.indexOf(e);return t.useCreatePersister(n,(e=>{return l=ce,t=sessionStorage,((e,l,t,n,s,r,a,o={},i=[])=>{let u,d,c,h=0,m=0,b=0;at(wt,i,(()=>0)),at(Ct,i,(()=>[]));const[p,g,v,f,I]=((e,l)=>!e||O(l.getMergeableContent)?[0,l.getContent,l.getTransactionChanges,([e,l])=>!oe(e)||!oe(l),l.setContent]:[1,l.getMergeableContent,l.getTransactionMergeableChanges,([[e],[l]])=>!oe(e)||!oe(l),l.setDefaultContent])(a,e),y=e=>yt(void 0,null,(function*(){return 2!=h&&(h=1,m++,yield C.schedule((()=>yt(void 0,null,(function*(){yield e(),h=0}))))),C})),w=l=>{(p&&M(null==l?void 0:l[0])?1===(null==l?void 0:l[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==l?void 0:l[2])?e.applyChanges:e.setContent)(l)},C=((e,l)=>{for(var t in l||(l={}))vt.call(l,t)&&It(e,t,l[t]);if(gt)for(var t of gt(l))ft.call(l,t)&&It(e,t,l[t]);return e})({load:e=>yt(void 0,null,(function*(){return yield y((()=>yt(void 0,null,(function*(){try{w(yield l())}catch(l){null==r||r(l),e&&I(e)}}))))})),startAutoLoad:e=>yt(void 0,null,(function*(){return yield C.stopAutoLoad().load(e),d=n(((e,t)=>yt(void 0,null,(function*(){const n=null==t?void 0:t();yield y((()=>yt(void 0,null,(function*(){var t;try{w(null!=(t=null!=n?n:null==e?void 0:e())?t:yield l())}catch(e){null==r||r(e)}}))))})))),C})),stopAutoLoad:()=>(d&&(s(d),d=void 0),C),isAutoLoading:()=>!O(d),save:e=>yt(void 0,null,(function*(){return 1!=h&&(h=2,b++,yield C.schedule((()=>yt(void 0,null,(function*(){try{yield t(g,e)}catch(e){null==r||r(e)}h=0}))))),C})),startAutoSave:()=>yt(void 0,null,(function*(){return yield C.stopAutoSave().save(),c=e.addDidFinishTransactionListener((()=>{const e=v();f(e)&&C.save((()=>e))})),C})),stopAutoSave:()=>(q(c,e.delListener),c=void 0,C),isAutoSaving:()=>!O(c),schedule:(...e)=>yt(void 0,null,(function*(){return G(nt(Ct,i),...e),yield yt(void 0,null,(function*(){if(!nt(wt,i)){for(rt(wt,i,1);!O(u=K(nt(Ct,i)));)try{yield u()}catch(e){null==r||r(e)}rt(wt,i,0)}})),C})),getStore:()=>e,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:m,saves:b})},o);return te(C)})(e,(()=>kt(void 0,null,(function*(){return e=t.getItem(l),JSON.parse(e,((e,l)=>""===l?void 0:l));var e}))),(e=>kt(void 0,null,(function*(){return t.setItem(l,(n=e(),JSON.stringify(n,((e,l)=>void 0===l?"":l))));var n}))),(e=>{const n=n=>{n.storageArea===t&&n.key===l&&e((()=>de(n.newValue)))};return St.addEventListener(Tt,n),n}),(e=>St.removeEventListener(Tt,e)),void 0,!0,{getStorageName:()=>l});var l,t}),void 0,(e=>{return t=function*(){yield e.load([{},{position:-1==s?1:s,open:!!l}]),yield e.startAutoSave()},new Promise(((e,l)=>{var n=e=>{try{r(t.next(e))}catch(e){l(e)}},s=e=>{try{r(t.throw(e))}catch(e){l(e)}},r=l=>l.done?e(l.value):Promise.resolve(l.value).then(n,s);r((t=t.apply(void 0,null)).next())}));var t})),$(z,null,$("aside",{id:ce},$(He,{s:n}),$(Hl,{s:n})),$("style",null,Fe))};var $t=Object.defineProperty,At=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable,Ft=(e,l,t)=>l in e?$t(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t;e.EditableCellView=Sl,e.EditableValueView=xl,e.RelationshipInHtmlTable=kl,e.ResultSortedTableInHtmlTable=Tl,e.ResultTableInHtmlTable=e=>{var l=e,{queryId:n,queries:s,customCells:r}=l,a=sl(l,["queryId","queries","customCells"]);return $(gl,nl(tl({},a),{params:cl(pl(t.useResultTableCellIds(n,s),r,t.ResultCellView),ml(s,n),t.useResultRowIds(n,s))}))},e.SliceInHtmlTable=Cl,e.SortedTableInHtmlTable=yl,e.SortedTablePaginator=Vl,e.StoreInspector=e=>$(zt,((e,l)=>{for(var t in l||(l={}))Jt.call(l,t)&&Ft(e,t,l[t]);if(At)for(var t of At(l))Dt.call(l,t)&&Ft(e,t,l[t]);return e})({},e)),e.TableInHtmlTable=e=>{var l=e,{tableId:n,store:s,editable:r,customCells:a}=l,o=sl(l,["tableId","store","editable","customCells"]);return $(gl,nl(tl({},o),{params:cl(pl(t.useTableCellIds(n,s),a,r?Sl:t.CellView),hl(s,n),t.useRowIds(n,s))}))},e.ValuesInHtmlTable=wl},"object"==typeof exports&&"undefined"!=typeof module?l(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDomDebug={},e.React,e.TinyBaseUiReact);
|
|
1
|
+
var e,t;e=this,t=function(e,t,l){"use strict";const n=e=>typeof e,s="",r=n(s),a=n(!0),o=n(0),i=n(n),u="type",d="default",c="Has",h="Ids",m="Table",b=m+"s",p=m+h,g="Row",v=g+"Count",f=g+h,I="Cell",y=I+h,w="Value",C=w+"s",k=w+h,T="currentTarget",S="value",x=e=>s+e,V=Math.floor,R=isFinite,O=e=>null==e,q=(e,t,l)=>O(e)?null==l?void 0:l():t(e),P=e=>e==r||e==a,N=e=>n(e)==i,M=e=>Array.isArray(e),E=(e,t,l)=>e.slice(t,l),L=e=>e.length,{PureComponent:j,Fragment:z,createElement:$,useCallback:J,useLayoutEffect:A,useRef:D,useState:F}=t,H=(e,...t)=>O(e)?{}:e(...t),B=(e,t)=>e.sort(t),Q=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),U=e=>0==L(e),G=(e,...t)=>e.push(...t),K=e=>e.shift(),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.entries,_=X.isFrozen,ee=e=>!O(e)&&q(Y(e),(e=>e==X.prototype||O(Y(e))),(()=>!0)),te=X.keys,le=X.freeze,ne=(e=[])=>X.fromEntries(e),se=(e,t)=>t in e,re=(e,t)=>(delete e[t],e),ae=(e,t)=>W(Z(e),(([e,l])=>t(l,e))),oe=e=>ee(e)&&0==(e=>L(te(e)))(e),ie=(e,t,l,n=0)=>O(e)||!ee(e)||!n&&oe(e)||_(e)?(null==l||l(),!1):(ae(e,((l,n)=>{t(l,n)||re(e,n)})),!!n||!oe(e)),ue=e=>JSON.stringify(e,((e,t)=>t instanceof Map?X.fromEntries([...t]):t)),de=JSON.parse,ce="tinybaseStoreInspector",he="TinyBase Store Inspector",me=["left","top","bottom","right","full"],be="state",pe="sort",ge="open",ve="position",fe=ge,Ie="editable",ye=(...e)=>ue(e),we=(e,t)=>W(B(e),t),Ce=(e,t)=>[!!l.useCell(be,e,Ie,t),J((l=>{t.setCell(be,e,Ie,(e=>!e)),l.preventDefault()}),[t,e])],ke="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",Te='content:url("',Se=Te+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",xe='</svg>")',Ve=Te+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",Re=W([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,n])=>Se+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${n}' fill='white'/>`+xe)),Oe=Se+"<path d='M20 20l60 60M20 80l60-60' />"+xe,qe=Se+`<path d='${ke}' />`+xe,Pe=Se+`<path d='${ke}M20 20l60 60' />`+xe;var Ne=Object.defineProperty,Me=Object.defineProperties,Ee=Object.getOwnPropertyDescriptors,Le=Object.getOwnPropertySymbols,je=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable,$e=(e,t,l)=>t in e?Ne(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,Je=(e,t)=>{for(var l in t||(t={}))je.call(t,l)&&$e(e,l,t[l]);if(Le)for(var l of Le(t))ze.call(t,l)&&$e(e,l,t[l]);return e},Ae=(e,t)=>Me(e,Ee(t));const De="*::-webkit-scrollbar",Fe=((e,t="")=>e.join(t))(ae(Ae(Je(Ae(Je(Ae(Je({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[De]:"width:0.5rem;height:0.5rem;",[De+"-track"]:"background:#111",[De+"-thumb"]:"background:#999;border:1px solid #111",[De+"-thumb:hover"]:"background:#fff",[De+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+Ve},ne(W(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e])))),{main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;"}),ne(W(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e])))),{header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":Ve,"header>img:nth-of-type(6)":Oe}),ne(W(Re,((e,t)=>[`header>img[data-id='${t}']`,e])))),{"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":qe,"details[open]>summary img.done":Pe,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${ce} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"}),((e,t)=>e?`#${ce} ${t}{${e}}`:""))),He=({s:e})=>{var t;const n=null!=(t=l.useValue(ve,e))?t:1,s=l.useSetValueCallback(fe,(()=>!0),[],e);return l.useValue(fe,e)?null:$("img",{onClick:s,title:he,"data-position":n})},Be=({uniqueId:e,summary:t,editable:n,handleEditable:s,children:r,s:a})=>{const o=!!l.useCell(be,e,ge,a),i=l.useSetCellCallback(be,e,ge,(e=>e[T].open),[],a);return $("details",{open:o,onToggle:i},$("summary",null,t,s?$("img",{onClick:s,className:n?"done":"edit"}):null),r)},Qe=e=>{const t=n(e);return P(t)||t==o&&R(e)?t:void 0},We=(e,t,l,n,s)=>O(s)?e.delCell(t,l,n,!0):e.setCell(t,l,n,s),Ue=(e,t,l)=>O(l)?e.delValue(t):e.setValue(t,l),Ge=(e,t,l,n)=>e==r?t:e==o?l:n;var Ke=Object.defineProperty,Xe=Object.defineProperties,Ye=Object.getOwnPropertyDescriptors,Ze=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,tt=(e,t,l)=>t in e?Ke(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,lt=(e,t)=>{for(var l in t||(t={}))_e.call(t,l)&&tt(e,l,t[l]);if(Ze)for(var l of Ze(t))et.call(t,l)&&tt(e,l,t[l]);return e},nt=(e,t)=>Xe(e,Ye(t)),st=(e,t)=>{var l={};for(var n in e)_e.call(e,n)&&t.indexOf(n)<0&&(l[n]=e[n]);if(null!=e&&Ze)for(var n of Ze(e))t.indexOf(n)<0&&et.call(e,n)&&(l[n]=e[n]);return l};const{useCallback:rt,useMemo:at,useState:ot}=t,it="editable",ut=(e,t)=>W(l.useTableCellIds(e,t),(t=>e+"."+t)),dt=(e,t,l)=>{const n=rt(e,t);return l?n:void 0},ct=(...e)=>at((()=>e),e),ht=(e,t)=>at((()=>({store:e,tableId:t})),[e,t]),mt=(e,t)=>at((()=>({queries:e,queryId:t})),[e,t]),bt=(e,t=!1,l,n=0,s,r,a,o)=>{const[[i,u,d],c]=ot([e,t,n]),h=rt((e=>{c(e),null==o||o(e)}),[o]),m=dt((e=>h([e,e==i&&!u,d])),[h,i,u,d],l),b=rt((e=>h([i,u,e])),[h,i,u]),p=!0===a?Vt:a;return[[i,u,d],m,at((()=>!1===a?null:$(p,{offset:d,limit:s,total:r,onChange:b})),[a,p,d,s,r,b])]},pt=(e,t,l)=>at((()=>{const s=null!=t?t:e;return a=M(s)?ne(W(s,(e=>[e,e]))):s,o=(e,t)=>lt(lt({},{label:t,component:l}),n(e)==r?{label:e}:e),ne(ae(a,((e,t)=>[t,o(e,t)])));var a,o}),[t,l,e]),gt=({className:e,headerRow:t,idColumn:l,params:[n,s,r,a,o,i]})=>$("table",{className:e},i?$("caption",null,i):null,!1===t?null:$("thead",null,$("tr",null,!1===l?null:$(vt,{sort:null!=a?a:[],label:"Id",onClick:o}),ae(n,(({label:e},t)=>$(vt,{key:t,cellId:t,label:e,sort:null!=a?a:[],onClick:o}))))),$("tbody",null,W(r,(e=>$("tr",{key:e},!1===l?null:$("th",null,e),ae(n,(({component:t,getComponentProps:l},n)=>$("td",{key:n},$(t,nt(lt(lt({},H(l,e,n)),s),{rowId:e,cellId:n})))))))))),vt=({cellId:e,sort:[t,l],label:n=(null!=e?e:s),onClick:r})=>$("th",{onClick:dt((()=>null==r?void 0:r(e)),[r,e],r),className:O(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},O(l)||t!=e?null:(l?"↓":"↑")+" ",n),ft=({localRowId:e,params:[n,s,r,a,o,i,u]})=>{const d=l.useRemoteRowId(o,e,i);return $("tr",null,!1===n?null:$(t.Fragment,null,$("th",null,e),$("th",null,d)),ae(s,(({component:t,getComponentProps:l},n)=>{const[s,o]=n.split(".",2),i=s===r?e:s===a?d:null;return O(i)?null:$("td",{key:n},$(t,nt(lt({},H(l,i,o)),{store:u,tableId:s,rowId:i,cellId:o})))})))},It=({thing:e,onThingChange:t,className:l,hasSchema:n,showType:s=!0})=>{const[i,u]=ot(),[d,c]=ot(),[h,m]=ot(),[b,p]=ot(),[g,v]=ot();d!==e&&(u(Qe(e)),c(e),m(e+""),p(Number(e)||0),v(!!e));const f=rt(((e,l)=>{l(e),c(e),t(e)}),[t]),I=rt((()=>{if(!(null==n?void 0:n())){const e=Ge(i,o,a,r),l=Ge(e,h,b,g);u(e),c(l),t(l)}}),[n,t,h,b,g,i]);return $("div",{className:l},s?$("button",{className:i,onClick:I},i):null,Ge(i,$("input",{key:i,value:h,onChange:rt((e=>f(e[T][S]+"",m)),[f])}),$("input",{key:i,type:"number",value:b,onChange:rt((e=>f(Number(e[T][S]||0),p)),[f])}),$("input",{key:i,type:"checkbox",checked:g,onChange:rt((e=>f(!!e[T].checked,v)),[f])})))},yt=e=>{var t=e,{tableId:n,cellId:s,descending:r,offset:a,limit:o,store:i,editable:u,sortOnClick:d,paginator:c=!1,onChange:h,customCells:m}=t,b=st(t,["tableId","cellId","descending","offset","limit","store","editable","sortOnClick","paginator","onChange","customCells"]);const[p,g,v]=bt(s,r,d,a,o,l.useRowCount(n,i),c,h);return $(gt,nt(lt({},b),{params:ct(pt(l.useTableCellIds(n,i),m,u?St:l.CellView),ht(i,n),l.useSortedRowIds(n,...p,o,i),p,g,v)}))},wt=({store:e,editable:t=!1,valueComponent:n=(t?xt:l.ValueView),getValueComponentProps:s,className:r,headerRow:a,idColumn:o})=>$("table",{className:r},!1===a?null:$("thead",null,$("tr",null,!1===o?null:$("th",null,"Id"),$("th",null,w))),$("tbody",null,W(l.useValueIds(e),(t=>$("tr",{key:t},!1===o?null:$("th",null,t),$("td",null,$(n,nt(lt({},H(s,t)),{valueId:t,store:e})))))))),Ct=e=>{var t=e,{indexId:n,sliceId:s,indexes:r,editable:a,customCells:o}=t,i=st(t,["indexId","sliceId","indexes","editable","customCells"]);const[u,d,c]=((e,t)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getTableId(t)])(l.useIndexesOrIndexesById(r),n);return $(gt,nt(lt({},i),{params:ct(pt(l.useTableCellIds(c,d),o,a?St:l.CellView),ht(d,c),l.useSliceRowIds(n,s,u))}))},kt=({relationshipId:e,relationships:n,editable:s,customCells:r,className:a,headerRow:o,idColumn:i=!0})=>{const[u,d,c,h]=((e,t)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getLocalTableId(t),null==e?void 0:e.getRemoteTableId(t)])(l.useRelationshipsOrRelationshipsById(n),e),m=pt([...ut(c,d),...ut(h,d)],r,s?St:l.CellView),b=ct(i,m,c,h,e,u,d);return $("table",{className:a},!1===o?null:$("thead",null,$("tr",null,!1===i?null:$(t.Fragment,null,$("th",null,c,".Id"),$("th",null,h,".Id")),ae(m,(({label:e},t)=>$("th",{key:t},e))))),$("tbody",null,W(l.useRowIds(c,d),(e=>$(ft,{key:e,localRowId:e,params:b})))))},Tt=e=>{var t=e,{queryId:n,cellId:s,descending:r,offset:a,limit:o,queries:i,sortOnClick:u,paginator:d=!1,customCells:c,onChange:h}=t,m=st(t,["queryId","cellId","descending","offset","limit","queries","sortOnClick","paginator","customCells","onChange"]);const[b,p,g]=bt(s,r,u,a,o,l.useResultRowCount(n,i),d,h);return $(gt,nt(lt({},m),{params:ct(pt(l.useResultTableCellIds(n,i),c,l.ResultCellView),mt(i,n),l.useResultSortedRowIds(n,...b,o,i),b,p,g)}))},St=({tableId:e,rowId:t,cellId:n,store:s,className:r,showType:a})=>{var o;return $(It,{thing:l.useCell(e,t,n,s),onThingChange:l.useSetCellCallback(e,t,n,(e=>e),[],s),className:null!=r?r:it+I,showType:a,hasSchema:null==(o=l.useStoreOrStoreById(s))?void 0:o.hasTablesSchema})},xt=({valueId:e,store:t,className:n,showType:s})=>{var r;return $(It,{thing:l.useValue(e,t),onThingChange:l.useSetValueCallback(e,(e=>e),[],t),className:null!=n?n:it+w,showType:s,hasSchema:null==(r=l.useStoreOrStoreById(t))?void 0:r.hasValuesSchema})},Vt=({onChange:e,total:l,offset:n=0,limit:s=l,singular:r="row",plural:a=r+"s"})=>{(n>l||n<0)&&(n=0,e(0));const o=dt((()=>e(n-s)),[e,n,s],n>0),i=dt((()=>e(n+s)),[e,n,s],n+s<l);return $(t.Fragment,null,l>s&&$(t.Fragment,null,$("button",{className:"previous",disabled:0==n,onClick:o},"←"),$("button",{className:"next",disabled:n+s>=l,onClick:i},"→"),n+1," to ",Math.min(l,n+s)," of "),l," ",1!=l?a:r)},Rt=({indexes:e,indexesId:t,indexId:n,s:s})=>$(Be,{uniqueId:ye("i",t,n),summary:"Index: "+n,s:s},W(l.useSliceIds(n,e),(l=>$(Ot,{indexes:e,indexesId:t,indexId:n,sliceId:l,s:s,key:l})))),Ot=({indexes:e,indexesId:t,indexId:l,sliceId:n,s:s})=>{const r=ye("i",t,l,n),[a,o]=Ce(r,s);return $(Be,{uniqueId:r,summary:"Slice: "+n,editable:a,handleEditable:o,s:s},$(Ct,{sliceId:n,indexId:l,indexes:e,editable:a}))},qt=({indexesId:e,s:t})=>{const n=l.useIndexes(e),s=l.useIndexIds(n);return O(n)?null:$(Be,{uniqueId:ye("i",e),summary:"Indexes: "+(null!=e?e:d),s:t},U(s)?"No indexes defined":we(s,(l=>$(Rt,{indexes:n,indexesId:e,indexId:l,s:t,key:l}))))},Pt=({metrics:e,metricId:t})=>$("tr",null,$("th",null,t),$("td",null,null==e?void 0:e.getTableId(t)),$("td",null,l.useMetric(t,e))),Nt=({metricsId:e,s:t})=>{const n=l.useMetrics(e),s=l.useMetricIds(n);return O(n)?null:$(Be,{uniqueId:ye("m",e),summary:"Metrics: "+(null!=e?e:d),s:t},U(s)?"No metrics defined":$("table",null,$("thead",null,$("th",null,"Metric Id"),$("th",null,"Table Id"),$("th",null,"Metric")),$("tbody",null,W(s,(e=>$(Pt,{metrics:n,metricId:e,key:e}))))))},Mt=({queries:e,queriesId:t,queryId:n,s:s})=>{var r;const a=ye("q",t,n),[o,i,u]=de(null!=(r=l.useCell(be,a,pe,s))?r:"[]"),d=l.useSetCellCallback(be,a,pe,ue,[],s);return $(Be,{uniqueId:a,summary:"Query: "+n,s:s},$(Tt,{queryId:n,queries:e,cellId:o,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},Et=({queriesId:e,s:t})=>{const n=l.useQueries(e),s=l.useQueryIds(n);return O(n)?null:$(Be,{uniqueId:ye("q",e),summary:"Queries: "+(null!=e?e:d),s:t},U(s)?"No queries defined":we(s,(l=>$(Mt,{queries:n,queriesId:e,queryId:l,s:t,key:l}))))},Lt=({relationships:e,relationshipsId:t,relationshipId:l,s:n})=>{const s=ye("r",t,l),[r,a]=Ce(s,n);return $(Be,{uniqueId:s,summary:"Relationship: "+l,editable:r,handleEditable:a,s:n},$(kt,{relationshipId:l,relationships:e,editable:r}))},jt=({relationshipsId:e,s:t})=>{const n=l.useRelationships(e),s=l.useRelationshipIds(n);return O(n)?null:$(Be,{uniqueId:ye("r",e),summary:"Relationships: "+(null!=e?e:d),s:t},U(s)?"No relationships defined":we(s,(l=>$(Lt,{relationships:n,relationshipsId:e,relationshipId:l,s:t,key:l}))))},zt=({tableId:e,store:t,storeId:n,s:s})=>{var r;const a=ye("t",n,e),[o,i,u]=de(null!=(r=l.useCell(be,a,pe,s))?r:"[]"),d=l.useSetCellCallback(be,a,pe,ue,[],s),[c,h]=Ce(a,s);return $(Be,{uniqueId:a,summary:m+": "+e,editable:c,handleEditable:h,s:s},$(yt,{tableId:e,store:t,cellId:o,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:c}))},$t=({store:e,storeId:t,s:n})=>{const s=ye("v",t),[r,a]=Ce(s,n);return U(l.useValueIds(e))?null:$(Be,{uniqueId:s,summary:C,editable:r,handleEditable:a,s:n},$(wt,{store:e,editable:r}))},Jt=({storeId:e,s:t})=>{const n=l.useStore(e),s=l.useTableIds(n);return O(n)?null:$(Be,{uniqueId:ye("s",e),summary:"Store: "+(null!=e?e:d),s:t},$($t,{storeId:e,store:n,s:t}),we(s,(l=>$(zt,{store:n,storeId:e,tableId:l,s:t,key:l}))))},At=({s:e})=>{const t=D(null),n=D(0),[s,r]=F(!1),{scrollLeft:a,scrollTop:o}=l.useValues(e);A((()=>{const e=t.current;if(e&&!s){const t=new MutationObserver((()=>{e.scrollWidth>=V(a)+e.clientWidth&&e.scrollHeight>=V(o)+e.clientHeight&&e.scrollTo(a,o)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[s,a,o]);const i=J((t=>{const{scrollLeft:l,scrollTop:s}=t[T];cancelIdleCallback(n.current),n.current=requestIdleCallback((()=>{r(!0),e.setPartialValues({scrollLeft:l,scrollTop:s})}))}),[e]),u=l.useStore(),d=l.useStoreIds(),c=l.useMetrics(),h=l.useMetricsIds(),m=l.useIndexes(),b=l.useIndexesIds(),p=l.useRelationships(),g=l.useRelationshipsIds(),v=l.useQueries(),f=l.useQueriesIds();return O(u)&&U(d)&&O(c)&&U(h)&&O(m)&&U(b)&&O(p)&&U(g)&&O(v)&&U(f)?$("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):$("article",{ref:t,onScroll:i},$(Jt,{s:e}),W(d,(t=>$(Jt,{storeId:t,s:e,key:t}))),$(Nt,{s:e}),W(h,(t=>$(Nt,{metricsId:t,s:e,key:t}))),$(qt,{s:e}),W(b,(t=>$(qt,{indexesId:t,s:e,key:t}))),$(jt,{s:e}),W(g,(t=>$(jt,{relationshipsId:t,s:e,key:t}))),$(Et,{s:e}),W(f,(t=>$(Et,{queriesId:t,s:e,key:t}))))};class Dt extends j{constructor(e){super(e),this.componentDidCatch=(e,t)=>console.error(e,t.componentStack),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}render(){return this.state.e?$("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const Ft=({s:e})=>{var t;const n=null!=(t=l.useValue(ve,e))?t:1,s=l.useSetValueCallback(fe,(()=>!1),[],e),r=l.useSetValueCallback(ve,(e=>Number(e[T].dataset.id)),[],e);return $("header",null,$("img",{title:he}),$("span",null,he),W(me,((e,t)=>t==n?null:$("img",{onClick:r,"data-id":t,title:"Dock to "+e,key:t}))),$("img",{onClick:s,title:"Close"}))},Ht=({s:e})=>{var t;const n=null!=(t=l.useValue(ve,e))?t:1;return l.useValue(fe,e)?$("main",{"data-position":n},$(Ft,{s:e}),$(Dt,null,$(At,{s:e}))):null},Bt=e=>t=>{return l=(t,l)=>t+e(l),Yt(t).reduce(l,0);var l},Qt=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},Wt=Bt(Qt),Ut=Bt(Wt),Gt=Bt(Ut),Kt=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},Xt=e=>O(e)||0==Qt(e),Yt=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},Zt=e=>e.clear(),_t=(e,t)=>null==e?void 0:e.forEach(t),el=(e,t)=>null==e?void 0:e.delete(t),tl=e=>new Map(e),ll=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},nl=(e,t)=>null==e?void 0:e.get(t),sl=(e,t)=>_t(e,((e,l)=>t(l,e))),rl=(e,t,l)=>O(l)?(el(e,t),e):null==e?void 0:e.set(t,l),al=(e,t,l,n)=>(Kt(e,t)?null==n||n(nl(e,t)):rl(e,t,l()),nl(e,t)),ol=(e,t,l,n=rl)=>(ae(t,((t,n)=>l(e,n,t))),sl(e,(l=>se(t,l)?0:n(e,l))),e),il=(e,t,l,n)=>{const s={};return _t(e,((e,r)=>{if(!(null==l?void 0:l(e,r))){const l=t?t(e,r):e;!(null==n?void 0:n(l))&&(s[r]=l)}})),s},ul=(e,t,l)=>il(e,(e=>il(e,t,l)),Xt,oe),dl=(e,t,l)=>il(e,(e=>ul(e,t,l)),Xt,oe),cl=(e,t)=>{const l=tl();return _t(e,((e,n)=>{var s;return l.set(n,null!=(s=null==t?void 0:t(e))?s:e)})),l},hl=e=>cl(e,cl),ml=e=>cl(e,hl),bl=(e,t,l,n,s=0)=>q((l?al:nl)(e,t[s],s>L(t)-2?l:tl),(r=>{if(s>L(t)-2)return(null==n?void 0:n(r))&&rl(e,t[s]),r;const a=bl(r,t,l,n,s+1);return Xt(r)&&rl(e,t[s]),a}));var pl=Object.defineProperty,gl=Object.getOwnPropertySymbols,vl=Object.prototype.hasOwnProperty,fl=Object.prototype.propertyIsEnumerable,Il=(e,t,l)=>t in e?pl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,yl=(e,t,l)=>new Promise(((n,s)=>{var r=e=>{try{o(l.next(e))}catch(e){s(e)}},a=e=>{try{o(l.throw(e))}catch(e){s(e)}},o=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,a);o((l=l.apply(e,t)).next())}));const wl=tl(),Cl=tl();var kl=(e,t,l)=>new Promise(((n,s)=>{var r=e=>{try{o(l.next(e))}catch(e){s(e)}},a=e=>{try{o(l.throw(e))}catch(e){s(e)}},o=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,a);o((l=l.apply(e,t)).next())}));const Tl="storage",Sl=globalThis.window,xl=e=>new Set(M(e)||O(e)?e:[e]),Vl=(e,t)=>null==e?void 0:e.add(t),Rl=/^\d+$/,Ol=()=>{const e=[];let t=0;return[l=>{var n;return null!=(n=l?K(e):null)?n:s+t++},t=>{Rl.test(t)&&L(e)<1e3&&G(e,t)}]},ql=e=>[e,e],Pl=(e,t=Wt)=>t(e[0])+t(e[1]),Nl=()=>[tl(),tl()],Ml=e=>[...e],El=([e,t])=>e===t,Ll=(e,t,l)=>rl(e,t,nl(e,t)==-l?void 0:l),jl=()=>{let e,t,l=!1,n=!1,r=0,a=[];const i=tl(),h=tl(),T=tl(),S=tl(),V=tl(),R=tl(),M=tl(),j=tl(),z=tl(),$=tl(),J=tl(),A=tl(),D=tl(),F=tl(),H=xl(),U=tl(),K=tl(),X=tl(),Y=tl(),Z=Nl(),_=Nl(),ee=Nl(),te=Nl(),ne=Nl(),ce=Nl(),he=Nl(),me=Nl(),be=Nl(),pe=Nl(),ge=Nl(),ve=Nl(),fe=Nl(),Ie=Nl(),ye=Nl(),we=Nl(),Ce=Nl(),ke=Nl(),Te=Nl(),Se=Nl(),xe=Nl(),Ve=Nl(),Re=tl(),Oe=Nl(),[qe,Pe,Ne,Me]=(e=>{let t;const[l,n]=Ol(),r=tl();return[(e,n,a,o=[],i=(()=>[]))=>{null!=t||(t=Sl);const u=l(1);return rl(r,u,[e,n,a,o,i]),Vl(bl(n,null!=a?a:[s],xl),u),u},(e,l,...n)=>Q(((e,t=[s])=>{const l=[],n=(e,s)=>s==L(t)?G(l,e):null===t[s]?_t(e,(e=>n(e,s+1))):Q([t[s],null],(t=>n(nl(e,t),s+1)));return n(e,0),l})(e,l),(e=>_t(e,(e=>nl(r,e)[0](t,...null!=l?l:[],...n))))),e=>q(nl(r,e),(([,t,l])=>(bl(t,null!=l?l:[s],void 0,(t=>(el(t,e),Xt(t)?1:0))),rl(r,e),n(e),l))),e=>q(nl(r,e),(([e,,l=[],n,s])=>{const r=(...a)=>{var o,i;const u=L(a);u==L(l)?e(t,...a,...s(a)):O(l[u])?Q(null!=(i=null==(o=n[u])?void 0:o.call(n,...a))?i:[],(e=>r(...a,e))):r(...a,l[u])};r()}))]})(),Ee=e=>{if(!ie(e,((e,t)=>[u,d].includes(t))))return!1;const t=e[u];return!(!P(t)&&t!=o||(Qe(e[d])!=t&&re(e,d),0))},Le=(t,l)=>(!e||Kt(J,l)||bt(l))&&ie(t,((e,t)=>je(l,t,e)),(()=>bt(l))),je=(e,t,l,n)=>ie(n?l:Ae(l,e,t),((n,s)=>q(ze(e,t,s,n),(e=>(l[s]=e,!0)),(()=>!1))),(()=>bt(e,t))),ze=(t,l,n,s)=>e?q(nl(nl(J,t),n),(e=>Qe(s)!=e[u]?bt(t,l,n,s,e[d]):s),(()=>bt(t,l,n,s))):O(Qe(s))?bt(t,l,n,s):s,$e=(e,t)=>ie(t?e:De(e),((t,l)=>q(Je(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>pt())),Je=(e,l)=>t?q(nl(D,e),(t=>Qe(l)!=t[u]?pt(e,l,t[d]):l),(()=>pt(e,l))):O(Qe(l))?pt(e,l):l,Ae=(e,t,l)=>(q(nl(A,t),(([n,s])=>{_t(n,((t,l)=>{se(e,l)||(e[l]=t)})),_t(s,(n=>{se(e,n)||bt(t,l,n)}))})),e),De=e=>(t&&(_t(F,((t,l)=>{se(e,l)||(e[l]=t)})),_t(H,(t=>{se(e,t)||pt(t)}))),e),Fe=e=>ol(J,e,((e,t,l)=>{const n=tl(),s=xl();ol(al(J,t,tl),l,((e,t,l)=>{rl(e,t,l),q(l[d],(e=>rl(n,t,e)),(()=>Vl(s,t)))})),rl(A,t,[n,s])}),((e,t)=>{rl(J,t),rl(A,t)})),He=e=>ol(D,e,((e,t,l)=>{rl(D,t,l),q(l[d],(e=>rl(F,t,e)),(()=>Vl(H,t)))}),((e,t)=>{rl(D,t),rl(F,t),el(H,t)})),Be=e=>oe(e)?gl():Ft(e),Ge=e=>ol(X,e,((e,t,l)=>Ke(t,l)),((e,t)=>st(t))),Ke=(e,t)=>ol(al(X,e,(()=>(it(e,1),rl(U,e,Ol()),rl(K,e,tl()),tl()))),t,((t,l,n)=>Xe(e,t,l,n)),((t,l)=>rt(e,t,l))),Xe=(e,t,l,n,s)=>ol(al(t,l,(()=>(ut(e,l,1),tl()))),n,((t,n,s)=>Ye(e,l,t,n,s)),((n,r)=>at(e,t,l,n,r,s))),Ye=(e,t,l,n,s)=>{Kt(l,n)||dt(e,t,n,1);const r=nl(l,n);s!==r&&(ct(e,t,n,r,s),rl(l,n,s))},Ze=(e,t,l,n,s)=>q(nl(t,l),(t=>Ye(e,l,t,n,s)),(()=>Xe(e,t,l,Ae({[n]:s},e,l)))),_e=e=>oe(e)?Il():Ht(e),et=e=>ol(Y,e,((e,t,l)=>tt(t,l)),((e,t)=>ot(t))),tt=(e,t)=>{Kt(Y,e)||ht(e,1);const l=nl(Y,e);t!==l&&(mt(e,l,t),rl(Y,e,t))},lt=(e,t)=>{const[l]=nl(U,e),n=l(t);return Kt(nl(X,e),n)?lt(e,t):n},nt=e=>{var t;return null!=(t=nl(X,e))?t:Ke(e,{})},st=e=>Ke(e,{}),rt=(e,t,l)=>{const[,n]=nl(U,e);n(l),Xe(e,t,l,{},!0)},at=(e,t,l,n,s,r)=>{var a;const o=nl(null==(a=nl(A,e))?void 0:a[0],s);if(!O(o)&&!r)return Ye(e,l,n,s,o);const i=t=>{ct(e,l,t,nl(n,t)),dt(e,l,t,-1),rl(n,t)};O(o)?i(s):sl(n,i),Xt(n)&&(ut(e,l,-1),Xt(rl(t,l))&&(it(e,-1),rl(X,e),rl(U,e),rl(K,e)))},ot=e=>{const t=nl(F,e);if(!O(t))return tt(e,t);mt(e,nl(Y,e)),ht(e,-1),rl(Y,e)},it=(e,t)=>Ll(i,e,t),ut=(e,t,l)=>Ll(al(S,e,tl),t,l)&&rl(T,e,al(T,e,(()=>0))+l),dt=(e,t,l,n)=>{var s;const r=nl(K,e),a=null!=(s=nl(r,l))?s:0;(0==a&&1==n||1==a&&-1==n)&&Ll(al(h,e,tl),l,n),rl(r,l,a!=-n?a+n:null),Ll(al(al(V,e,tl),t,tl),l,n)},ct=(e,t,l,n,s)=>{var r;al(al(al(R,e,tl),t,tl),l,(()=>[n,0]))[1]=s,null==(r=a[3])||r.call(a,e,t,l,s)},ht=(e,t)=>Ll(M,e,t),mt=(e,t,l)=>{var n;al(j,e,(()=>[t,0]))[1]=l,null==(n=a[4])||n.call(a,e,l)},bt=(e,t,l,n,s)=>(G(al(al(al(z,e,tl),t,tl),l,(()=>[])),n),s),pt=(e,t,l)=>(G(al($,e,(()=>[])),t),l),gt=(e,t,l)=>q(nl(nl(nl(R,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...ql(Pt(e,t,l))])),vt=e=>q(nl(j,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ql(Et(e))])),ft=e=>Xt(z)||Xt(we[e])?0:_t(e?ml(z):z,((t,l)=>_t(t,((t,n)=>_t(t,((t,s)=>Pe(we[e],[l,n,s],t))))))),It=e=>Xt($)||Xt(Ce[e])?0:_t(e?cl($):$,((t,l)=>Pe(Ce[e],[l],t))),yt=(e,t,l,n)=>{if(!Xt(e))return Pe(t,n,(()=>il(e))),sl(e,((e,t)=>Pe(l,[...null!=n?n:[],e],1==t))),1},wt=e=>{const t=Lt();t!=l&&Pe(Z[e],void 0,t);const n=Xt(pe[e]),s=Xt(fe[e])&&Xt(Ie[e])&&Xt(be[e])&&Xt(ge[e])&&Xt(ce[e])&&Xt(he[e])&&Xt(me[e])&&n&&Xt(ee[e])&&Xt(te[e]),r=Xt(ye[e])&&Xt(ve[e])&&Xt(ne[e])&&Xt(_[e]);if(!s||!r){const t=e?[cl(i),hl(h),cl(T),hl(S),ml(V),ml(R)]:[i,h,T,S,V,R];if(!s){yt(t[0],ee[e],te[e]),_t(t[1],((t,l)=>yt(t,ce[e],he[e],[l]))),_t(t[2],((t,l)=>{0!=t&&Pe(me[e],[l],Vt(l))}));const l=xl();_t(t[3],((t,s)=>{yt(t,be[e],ge[e],[s])&&!n&&(Pe(pe[e],[s,null]),Vl(l,s))})),n||_t(t[5],((t,n)=>{if(!Kt(l,n)){const l=xl();_t(t,(e=>_t(e,(([t,n],s)=>n!==t?Vl(l,s):el(e,s))))),_t(l,(t=>Pe(pe[e],[n,t])))}})),_t(t[4],((t,l)=>_t(t,((t,n)=>yt(t,fe[e],Ie[e],[l,n])))))}if(!r){let l;_t(t[5],((t,n)=>{let s;_t(t,((t,r)=>{let a;_t(t,(([t,o],i)=>{o!==t&&(Pe(ye[e],[n,r,i],o,t,gt),l=s=a=1)})),a&&Pe(ve[e],[n,r],gt)})),s&&Pe(ne[e],[n],gt)})),l&&Pe(_[e],void 0,gt)}}},Ct=e=>{const t=At();t!=n&&Pe(ke[e],void 0,t);const l=Xt(Se[e])&&Xt(xe[e]),s=Xt(Ve[e])&&Xt(Te[e]);if(!l||!s){const t=e?[cl(M),cl(j)]:[M,j];if(l||yt(t[0],Se[e],xe[e]),!s){let l;_t(t[1],(([t,n],s)=>{n!==t&&(Pe(Ve[e],[s],n,t,vt),l=1)})),l&&Pe(Te[e],void 0,vt)}}},kt=(e,...t)=>(Cl((()=>e(...W(t,x)))),Sl),Tt=()=>dl(X),St=()=>ll(X),xt=e=>ll(nl(K,x(e))),Vt=e=>Qt(nl(X,x(e))),Rt=e=>ll(nl(X,x(e))),Ot=(e,t,l,n=0,s)=>{return W(E(B((r=nl(X,x(e)),a=(e,l)=>[O(t)?l:nl(e,x(t)),l],W([...null!=(o=null==r?void 0:r.entries())?o:[]],(([e,t])=>a(t,e)))),(([e],[t])=>{return((null!=(n=e)?n:0)<(null!=(s=t)?s:0)?-1:1)*(l?-1:1);var n,s})),n,O(s)?s:n+s),(([,e])=>e));var r,a,o},qt=(e,t)=>ll(nl(nl(X,x(e)),x(t))),Pt=(e,t,l)=>nl(nl(nl(X,x(e)),x(t)),x(l)),Nt=()=>il(Y),Mt=()=>ll(Y),Et=e=>nl(Y,x(e)),Lt=()=>!Xt(X),jt=e=>Kt(X,x(e)),zt=(e,t)=>Kt(nl(K,x(e)),x(t)),$t=(e,t)=>Kt(nl(X,x(e)),x(t)),Jt=(e,t,l)=>Kt(nl(nl(X,x(e)),x(t)),x(l)),At=()=>!Xt(Y),Dt=e=>Kt(Y,x(e)),Ft=e=>kt((()=>(e=>ie(e,Le,bt))(e)?Ge(e):0)),Ht=e=>kt((()=>$e(e)?et(e):0)),Bt=e=>{try{Be(de(e))}catch(e){}return Sl},Yt=t=>kt((()=>{if((e=ie(t,(e=>ie(e,Ee))))&&(Fe(t),!Xt(X))){const e=Tt();gl(),Ft(e)}})),pl=e=>kt((()=>{if(t=(e=>ie(e,Ee))(e)){const l=Nt();wl(),Il(),t=!0,He(e),Ht(l)}})),gl=()=>kt((()=>Ge({}))),vl=e=>kt((e=>Kt(X,e)?st(e):0),e),fl=(e,t)=>kt(((e,t)=>q(nl(X,e),(l=>Kt(l,t)?rt(e,l,t):0))),e,t),Il=()=>kt((()=>et({}))),yl=()=>kt((()=>{Fe({}),e=!1})),wl=()=>kt((()=>{He({}),t=!1})),Cl=(e,t)=>{if(-1!=r){kl();const l=e();return Tl(t),l}},kl=()=>{var e;return-1!=r&&r++,1==r&&(null==(e=a[0])||e.call(a),Pe(Re)),Sl},Tl=e=>{var t,s;return r>0&&(r--,0==r&&(r=1,ft(1),Xt(R)||wt(1),It(1),Xt(j)||Ct(1),(null==e?void 0:e(Sl))&&(_t(R,((e,t)=>_t(e,((e,l)=>_t(e,(([e],n)=>We(Sl,t,l,n,e))))))),Zt(R),_t(j,(([e],t)=>Ue(Sl,t,e))),Zt(j)),Pe(Oe[0],void 0),r=-1,ft(0),Xt(R)||wt(0),It(0),Xt(j)||Ct(0),null==(t=a[1])||t.call(a),Pe(Oe[1],void 0),null==(s=a[2])||s.call(a),r=0,l=Lt(),n=At(),Q([i,h,T,S,V,R,z,M,j,$],Zt))),Sl},Sl={getContent:()=>[Tt(),Nt()],getTables:Tt,getTableIds:St,getTable:e=>ul(nl(X,x(e))),getTableCellIds:xt,getRowCount:Vt,getRowIds:Rt,getSortedRowIds:Ot,getRow:(e,t)=>il(nl(nl(X,x(e)),x(t))),getCellIds:qt,getCell:Pt,getValues:Nt,getValueIds:Mt,getValue:Et,hasTables:Lt,hasTable:jt,hasTableCell:zt,hasRow:$t,hasCell:Jt,hasValues:At,hasValue:Dt,getTablesJson:()=>ue(X),getValuesJson:()=>ue(Y),getJson:()=>ue([X,Y]),getTablesSchemaJson:()=>ue(J),getValuesSchemaJson:()=>ue(D),getSchemaJson:()=>ue([J,D]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>kt((()=>{(oe(e)?gl:Ft)(e),(oe(t)?Il:Ht)(t)})),setTables:Ft,setTable:(e,t)=>kt((e=>Le(t,e)?Ke(e,t):0),e),setRow:(e,t,l)=>kt(((e,t)=>je(e,t,l)?Xe(e,nt(e),t,l):0),e,t),addRow:(e,t,l=!0)=>Cl((()=>{let n;return je(e,n,t)&&(e=x(e),Xe(e,nt(e),n=lt(e,l?1:0),t)),n})),setPartialRow:(e,t,l)=>kt(((e,t)=>{if(je(e,t,l,1)){const n=nt(e);ae(l,((l,s)=>Ze(e,n,t,s,l)))}}),e,t),setCell:(e,t,l,n)=>kt(((e,t,l)=>q(ze(e,t,l,N(n)?n(Pt(e,t,l)):n),(n=>Ze(e,nt(e),t,l,n)))),e,t,l),setValues:Ht,setPartialValues:e=>kt((()=>$e(e,1)?ae(e,((e,t)=>tt(t,e))):0)),setValue:(e,t)=>kt((e=>q(Je(e,N(t)?t(Et(e)):t),(t=>tt(e,t)))),e),applyChanges:e=>kt((()=>{ae(e[0],((e,t)=>O(e)?vl(t):ae(e,((e,l)=>O(e)?fl(t,l):ae(e,((e,n)=>We(Sl,t,l,n,e))))))),ae(e[1],((e,t)=>Ue(Sl,t,e)))})),setTablesJson:Bt,setValuesJson:e=>{try{_e(de(e))}catch(e){}return Sl},setJson:e=>kt((()=>{try{const[t,l]=de(e);Be(t),_e(l)}catch(t){Bt(e)}})),setTablesSchema:Yt,setValuesSchema:pl,setSchema:(e,t)=>kt((()=>{Yt(e),pl(t)})),delTables:gl,delTable:vl,delRow:fl,delCell:(e,t,l,n)=>kt(((e,t,l)=>q(nl(X,e),(s=>q(nl(s,t),(r=>Kt(r,l)?at(e,s,t,r,l,n):0))))),e,t,l),delValues:Il,delValue:e=>kt((e=>Kt(Y,e)?ot(e):0),e),delTablesSchema:yl,delValuesSchema:wl,delSchema:()=>kt((()=>{yl(),wl()})),transaction:Cl,startTransaction:kl,getTransactionChanges:()=>[il(R,((e,t)=>-1===nl(i,t)?void 0:il(e,((e,l)=>-1===nl(nl(S,t),l)?void 0:il(e,(([,e])=>e),(e=>El(e)))),Xt,oe)),Xt,oe),il(j,(([,e])=>e),(e=>El(e))),1],getTransactionLog:()=>[!Xt(R),!Xt(j),dl(R,Ml,El),dl(z),il(j,Ml,El),il($),il(i),ul(S),dl(V),il(M)],finishTransaction:Tl,forEachTable:e=>_t(X,((t,l)=>e(l,(e=>_t(t,((t,l)=>e(l,(e=>sl(t,e))))))))),forEachTableCell:(e,t)=>sl(nl(K,x(e)),t),forEachRow:(e,t)=>_t(nl(X,x(e)),((e,l)=>t(l,(t=>sl(e,t))))),forEachCell:(e,t,l)=>sl(nl(nl(X,x(e)),x(t)),l),forEachValue:e=>sl(Y,e),addSortedRowIdsListener:(e,t,l,n,s,r,a)=>{let o=Ot(e,t,l,n,s);return qe((()=>{const a=Ot(e,t,l,n,s);var i,u,d;u=o,L(i=a)===L(u)&&(d=(e,t)=>u[t]===e,i.every(d))||(o=a,r(Sl,e,t,l,n,s,o))}),pe[a?1:0],[e,t],[St])},addStartTransactionListener:e=>qe(e,Re),addWillFinishTransactionListener:e=>qe(e,Oe[0]),addDidFinishTransactionListener:e=>qe(e,Oe[1]),callListener:e=>(Me(e),Sl),delListener:e=>(Ne(e),Sl),getListenerStats:()=>({hasTables:Pl(Z),tables:Pl(_),tableIds:Pl(ee),hasTable:Pl(te),table:Pl(ne),tableCellIds:Pl(ce),hasTableCell:Pl(he,Ut),rowCount:Pl(me),rowIds:Pl(be),sortedRowIds:Pl(pe),hasRow:Pl(ge,Ut),row:Pl(ve,Ut),cellIds:Pl(fe,Ut),hasCell:Pl(Ie,Gt),cell:Pl(ye,Gt),invalidCell:Pl(we,Gt),hasValues:Pl(ke),values:Pl(Te),valueIds:Pl(Se),hasValue:Pl(xe),value:Pl(Ve),invalidValue:Pl(Ce),transaction:Wt(Re)+Pl(Oe)}),createStore:jl,addListener:qe,callListeners:Pe,setInternalListeners:(e,t,l,n,s)=>a=[e,t,l,n,s]};return ae({[c+b]:[0,Z,[],()=>[Lt()]],[b]:[0,_],[p]:[0,ee],[c+m]:[1,te,[St],e=>[jt(...e)]],[m]:[1,ne,[St]],[m+y]:[1,ce,[St]],[c+m+I]:[2,he,[St,xt],e=>[zt(...e)]],[v]:[1,me,[St]],[f]:[1,be,[St]],[c+g]:[2,ge,[St,Rt],e=>[$t(...e)]],[g]:[2,ve,[St,Rt]],[y]:[2,fe,[St,Rt]],[c+I]:[3,Ie,[St,Rt,qt],e=>[Jt(...e)]],[I]:[3,ye,[St,Rt,qt],e=>ql(Pt(...e))],InvalidCell:[3,we],[c+C]:[0,ke,[],()=>[At()]],[C]:[0,Te],[k]:[0,Se],[c+w]:[1,xe,[Mt],e=>[Dt(...e)]],[w]:[1,Ve,[Mt],e=>ql(Et(e[0]))],InvalidValue:[1,Ce]},(([e,t,l,n],s)=>{Sl["add"+s+"Listener"]=(...s)=>qe(s[e],t[s[e+1]?1:0],e>0?E(s,0,e):void 0,l,n)})),le(Sl)},zl=({position:e="right",open:t=!1})=>{const n=l.useCreateStore(jl),s=me.indexOf(e);return l.useCreatePersister(n,(e=>{return t=ce,l=sessionStorage,((e,t,l,n,s,r,a,o={},i=[])=>{let u,d,c,h=0,m=0,b=0;al(wl,i,(()=>0)),al(Cl,i,(()=>[]));const[p,g,v,f,I]=((e=1,t)=>e>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!oe(e)||!oe(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!oe(e)||!oe(t),t.setContent]:0)(a,e),y=t=>{(p&&M(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},w=e=>yl(void 0,null,(function*(){return 2!=h&&(h=1,m++,yield S((()=>yl(void 0,null,(function*(){try{y(yield t())}catch(t){null==r||r(t),e&&I(e)}h=0}))))),x})),C=()=>(d&&(s(d),d=void 0),x),k=e=>yl(void 0,null,(function*(){return 1!=h&&(h=2,b++,yield S((()=>yl(void 0,null,(function*(){try{yield l(g,e)}catch(e){null==r||r(e)}h=0}))))),x})),T=()=>(q(c,e.delListener),c=void 0,x),S=(...e)=>yl(void 0,null,(function*(){return G(nl(Cl,i),...e),yield yl(void 0,null,(function*(){if(!nl(wl,i)){for(rl(wl,i,1);!O(u=K(nl(Cl,i)));)try{yield u()}catch(e){null==r||r(e)}rl(wl,i,0)}})),x})),x=((e,t)=>{for(var l in t||(t={}))vl.call(t,l)&&Il(e,l,t[l]);if(gl)for(var l of gl(t))fl.call(t,l)&&Il(e,l,t[l]);return e})({load:w,startAutoLoad:e=>yl(void 0,null,(function*(){return yield C().load(e),d=n(((e,t)=>yl(void 0,null,(function*(){t||e?2!=h&&(h=1,m++,y(null!=t?t:e),h=0):yield w()})))),x})),stopAutoLoad:C,isAutoLoading:()=>!O(d),save:k,startAutoSave:()=>yl(void 0,null,(function*(){return yield T().save(),c=e.addDidFinishTransactionListener((()=>{const e=v();f(e)&&k(e)})),x})),stopAutoSave:T,isAutoSaving:()=>!O(c),schedule:S,getStore:()=>e,destroy:()=>C().stopAutoSave(),getStats:()=>({loads:m,saves:b})},o);return le(x)})(e,(()=>kl(void 0,null,(function*(){return e=l.getItem(t),JSON.parse(e,((e,t)=>""===t?void 0:t));var e}))),(e=>kl(void 0,null,(function*(){return l.setItem(t,(n=e(),JSON.stringify(n,((e,t)=>void 0===t?"":t))));var n}))),(e=>{const n=n=>{if(n.storageArea===l&&n.key===t)try{e(de(n.newValue))}catch(t){e()}};return Sl.addEventListener(Tl,n),n}),(e=>Sl.removeEventListener(Tl,e)),void 0,3,{getStorageName:()=>t});var t,l}),void 0,(e=>{return l=function*(){yield e.load([{},{position:-1==s?1:s,open:!!t}]),yield e.startAutoSave()},new Promise(((e,t)=>{var n=e=>{try{r(l.next(e))}catch(e){t(e)}},s=e=>{try{r(l.throw(e))}catch(e){t(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,s);r((l=l.apply(void 0,null)).next())}));var l})),$(z,null,$("aside",{id:ce},$(He,{s:n}),$(Ht,{s:n})),$("style",null,Fe))};var $l=Object.defineProperty,Jl=Object.getOwnPropertySymbols,Al=Object.prototype.hasOwnProperty,Dl=Object.prototype.propertyIsEnumerable,Fl=(e,t,l)=>t in e?$l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l;e.EditableCellView=St,e.EditableValueView=xt,e.RelationshipInHtmlTable=kt,e.ResultSortedTableInHtmlTable=Tt,e.ResultTableInHtmlTable=e=>{var t=e,{queryId:n,queries:s,customCells:r}=t,a=st(t,["queryId","queries","customCells"]);return $(gt,nt(lt({},a),{params:ct(pt(l.useResultTableCellIds(n,s),r,l.ResultCellView),mt(s,n),l.useResultRowIds(n,s))}))},e.SliceInHtmlTable=Ct,e.SortedTableInHtmlTable=yt,e.SortedTablePaginator=Vt,e.StoreInspector=e=>$(zl,((e,t)=>{for(var l in t||(t={}))Al.call(t,l)&&Fl(e,l,t[l]);if(Jl)for(var l of Jl(t))Dl.call(t,l)&&Fl(e,l,t[l]);return e})({},e)),e.TableInHtmlTable=e=>{var t=e,{tableId:n,store:s,editable:r,customCells:a}=t,o=st(t,["tableId","store","editable","customCells"]);return $(gt,nt(lt({},o),{params:ct(pt(l.useTableCellIds(n,s),a,r?St:l.CellView),ht(s,n),l.useRowIds(n,s))}))},e.ValuesInHtmlTable=wt},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDomDebug={},e.React,e.TinyBaseUiReact);
|
|
Binary file
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2><p id="copy">Build blisteringly fast web apps that work both online and offline. Manage your state locally, synchronize it to the cloud when you need to, or even make it collaborative. But, most importantly... have fun building stuff again!</p></section><p><a href="https://beta.tinybase.org/guides/releases/#v5-0"><em>NEW!</em> v5.0 release</a> <span id="one-with">"The One You Can Sync"</span></p><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><ul><li>Manage <a href="#start-with-a-simple-key-value-store">key-value data</a>, <a href="#level-up-to-use-tabular-data">tabular data</a> - or both - with optional <a href="#apply-schemas-to-tables-values">schematization</a> to model your app's data structures.</li><li><a href="#register-granular-listeners">Flexibly reactive</a> to reconciled updates, so you only spend rendering cycles on things that change.</li><li><a href="#build-complex-queries-with-tinyql">Powerful query engine</a> to select, join, filter, group, sort and paginate data - reactively - and without SQL.</li><li>Built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, <a href="#model-table-relationships">tabular relationships</a> - and even an <a href="#set-checkpoints-for-an-undo-stack">undo stack</a> for your app state.</li><li>Create <a href="#type-definitions-orm-like-apis">type definitions & ORM-like APIs</a>, from schema or inference. <a href="#an-inspector-for-your-data">Inspect your data</a> (<em>new!</em>) directly in the browser.</li><li>Easily <a href="#persist-to-storage-sqlite-crdts">sync your data</a> to browser <a href="https://beta.tinybase.org/api/persister-browser">storage</a>, <a href="https://beta.tinybase.org/api/persister-indexed-db/">IndexedDB</a>, <a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence/">SQLite</a>, <a href="https://beta.tinybase.org/guides/schemas-and-persistence/synchronizing-data/">CRDTs</a>; and (<em>new!</em>) <a href="https://beta.tinybase.org/api/persister-partykit-client/">PartyKit</a> and <a href="https://electric-sql.com/">ElectricSQL</a>.</li><li>Optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and (<em>new!</em>) <a href="#pre-built-reactive-components">pre-built components</a> that let you easily build fully reactive user interfaces.</li><li>Tiny by name, tiny by nature: <a href="#did-we-say-tiny">5.0kB - 12.1kB</a>, no dependencies. <a href="#well-tested-and-documented">100% tested</a>, <a href="https://beta.tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</li></ul><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends!</h2><div><a href="https://beta.tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://beta.tinybase.org/react.svg"> React</a></div><div><a href="https://beta.tinybase.org/api/persister-partykit-client"><img width="48" src="https://beta.tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/expo.svg">Expo SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/electric.svg">ElectricSQL</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/turso.svg">Turso</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/powersync.svg">PowerSync</a></div><div><a href="https://beta.tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://beta.tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://beta.tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://beta.tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://beta.tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://beta.tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://beta.tinybase.org/api/persister-automerge"><img width="48" src="https://beta.tinybase.org/automerge.svg"> Automerge</a></div></section><hr><section id="follow"><a href="https://github.com/tinyplex/tinybase" target="_blank"><img src="https://img.shields.io/github/stars/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=GitHub&labelColor=%23d81b60&color=%23333"> </a><a href="https://discord.com/invite/mGz3mevwP8" target="_blank"><img src="https://img.shields.io/discord/1027918215323590676?style=for-the-badge&logo=discord&logoColor=%23fff&label=Discord&labelColor=%233131e8&color=%23333"> </a><a href="https://twitter.com/tinybasejs" target="_blank"><img src="https://img.shields.io/twitter/follow/tinybasejs?style=for-the-badge&logo=x&logoColor=%23fff&label=Twitter&labelColor=%23333&color=%23333"></a><br><a href="https://github.com/tinyplex/tinybase/discussions" target="_blank"><img src="https://img.shields.io/github/discussions/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=Ideas&labelColor=%23d81b60&color=%23333"> </a><a href="https://github.com/tinyplex/tinybase/issues" target="_blank"><img src="https://img.shields.io/github/issues/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=Issues&labelColor=%23d81b60&color=%23333"> </a><a href="#well-tested-and-documented"><img src="https://img.shields.io/badge/Tests-100%25-green?style=for-the-badge&logo=jest&logoColor=%23fff&color=%23333&labelColor=%2387c305"> </a><a href="https://www.npmjs.com/package/tinybase/v/5.0.0-beta.
|
|
1
|
+
<section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2><p id="copy">Build blisteringly fast web apps that work both online and offline. Manage your state locally, synchronize it to the cloud when you need to, or even make it collaborative. But, most importantly... have fun building stuff again!</p></section><p><a href="https://beta.tinybase.org/guides/releases/#v5-0"><em>NEW!</em> v5.0 release</a> <span id="one-with">"The One You Can Sync"</span></p><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><ul><li>Manage <a href="#start-with-a-simple-key-value-store">key-value data</a>, <a href="#level-up-to-use-tabular-data">tabular data</a> - or both - with optional <a href="#apply-schemas-to-tables-values">schematization</a> to model your app's data structures.</li><li><a href="#register-granular-listeners">Flexibly reactive</a> to reconciled updates, so you only spend rendering cycles on things that change.</li><li><a href="#build-complex-queries-with-tinyql">Powerful query engine</a> to select, join, filter, group, sort and paginate data - reactively - and without SQL.</li><li>Built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, <a href="#model-table-relationships">tabular relationships</a> - and even an <a href="#set-checkpoints-for-an-undo-stack">undo stack</a> for your app state.</li><li>Create <a href="#type-definitions-orm-like-apis">type definitions & ORM-like APIs</a>, from schema or inference. <a href="#an-inspector-for-your-data">Inspect your data</a> (<em>new!</em>) directly in the browser.</li><li>Easily <a href="#persist-to-storage-sqlite-crdts">sync your data</a> to browser <a href="https://beta.tinybase.org/api/persister-browser">storage</a>, <a href="https://beta.tinybase.org/api/persister-indexed-db/">IndexedDB</a>, <a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence/">SQLite</a>, <a href="https://beta.tinybase.org/guides/schemas-and-persistence/synchronizing-data/">CRDTs</a>; and (<em>new!</em>) <a href="https://beta.tinybase.org/api/persister-partykit-client/">PartyKit</a> and <a href="https://electric-sql.com/">ElectricSQL</a>.</li><li>Optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and (<em>new!</em>) <a href="#pre-built-reactive-components">pre-built components</a> that let you easily build fully reactive user interfaces.</li><li>Tiny by name, tiny by nature: <a href="#did-we-say-tiny">5.0kB - 12.1kB</a>, no dependencies. <a href="#well-tested-and-documented">100% tested</a>, <a href="https://beta.tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</li></ul><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends!</h2><div><a href="https://beta.tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://beta.tinybase.org/react.svg"> React</a></div><div><a href="https://beta.tinybase.org/api/persister-partykit-client"><img width="48" src="https://beta.tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/expo.svg">Expo SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/electric.svg">ElectricSQL</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/turso.svg">Turso</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/powersync.svg">PowerSync</a></div><div><a href="https://beta.tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://beta.tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://beta.tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://beta.tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://beta.tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://beta.tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://beta.tinybase.org/api/persister-automerge"><img width="48" src="https://beta.tinybase.org/automerge.svg"> Automerge</a></div></section><hr><section id="follow"><a href="https://github.com/tinyplex/tinybase" target="_blank"><img src="https://img.shields.io/github/stars/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=GitHub&labelColor=%23d81b60&color=%23333"> </a><a href="https://discord.com/invite/mGz3mevwP8" target="_blank"><img src="https://img.shields.io/discord/1027918215323590676?style=for-the-badge&logo=discord&logoColor=%23fff&label=Discord&labelColor=%233131e8&color=%23333"> </a><a href="https://twitter.com/tinybasejs" target="_blank"><img src="https://img.shields.io/twitter/follow/tinybasejs?style=for-the-badge&logo=x&logoColor=%23fff&label=Twitter&labelColor=%23333&color=%23333"></a><br><a href="https://github.com/tinyplex/tinybase/discussions" target="_blank"><img src="https://img.shields.io/github/discussions/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=Ideas&labelColor=%23d81b60&color=%23333"> </a><a href="https://github.com/tinyplex/tinybase/issues" target="_blank"><img src="https://img.shields.io/github/issues/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=Issues&labelColor=%23d81b60&color=%23333"> </a><a href="#well-tested-and-documented"><img src="https://img.shields.io/badge/Tests-100%25-green?style=for-the-badge&logo=jest&logoColor=%23fff&color=%23333&labelColor=%2387c305"> </a><a href="https://www.npmjs.com/package/tinybase/v/5.0.0-beta.11" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&logo=npm&logoColor=%23fff&labelColor=%23bd0005&color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://beta.tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://beta.tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://beta.tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://beta.tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
|
|
2
2
|
|
|
3
3
|
```js
|
|
4
4
|
const store = createStore()
|
|
@@ -247,4 +247,4 @@ export const createShop: typeof createShopDecl = () => {
|
|
|
247
247
|
};
|
|
248
248
|
```
|
|
249
249
|
|
|
250
|
-
<section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://beta.tinybase.org/api/store/"><code>store</code></a> module alone, you'll only add a gzipped <em>5.0kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>12.1kB</em>.</p><p>The optional <a href="https://beta.tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just another <em>4.6kB</em>, the auxiliary <a href="https://beta.tinybase.org/api/tools/"><code>tools</code></a> module is <em>11.1kB</em>, and everything is super fast. Life's easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>.js.gz</th><th>.js</th><th>debug.js</th><th>.d.ts</th></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/store/">store</a></th><td>5.0kB</td><td>12.0kB</td><td>52.1kB</td><td>255.3kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/metrics/">metrics</a></th><td>1.8kB</td><td>3.7kB</td><td>15.3kB</td><td>30.9kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/indexes/">indexes</a></th><td>1.9kB</td><td>3.8kB</td><td>17.1kB</td><td>35.6kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/relationships/">relationships</a></th><td>1.9kB</td><td>3.8kB</td><td>17.3kB</td><td>44.2kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/queries/">queries</a></th><td>2.8kB</td><td>5.7kB</td><td>25.8kB</td><td>126.0kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/checkpoints/">checkpoints</a></th><td>1.6kB</td><td>3.2kB</td><td>13.5kB</td><td>35.1kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/mergeable-store/">mergeable-store</a></th><td>7.0kB</td><td>16.9kB</td><td>72.0kB</td><td>4.5kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/persisters/">persisters</a></th><td>0.9kB</td><td>1.8kB</td><td>6.3kB</td><td>46.3kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/synchronizers/">synchronizers</a></th><td>2.0kB</td><td>4.3kB</td><td>16.0kB</td><td>3.6kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/common/">common</a></th><td>0.1kB</td><td>0.1kB</td><td>0.1kB</td><td>3.5kB</td></tr><tr><th class="right">tinybase (all)</th><td>12.1kB</td><td>30.0kB</td><td>129.1kB</td><td>0.4kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>2,362</td><td>2,362</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,545</td><td>2,545</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>1,000</td><td>1,000</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>934</td><td>934</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">6,614</td></tr><tr><th class="right">Assertions</th><td colspan="3">31,159</td></tr></tbody></table></div><hr><section id="sponsors"><h2 id="proud-to-be-sponsored-by">Proud to be sponsored by:</h2><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/beekeeb" target="_blank"><img title="beekeeb" src="https://github.com/beekeeb.png?size=48" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img title="cancelself" src="https://github.com/cancelself.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img title="arpitBhalla" src="https://github.com/arpitBhalla.png?size=48" width="48" height="48"></a></section><section id="users"><h2 id="excited-to-be-used-by">Excited to be used by:</h2><a href="https://github.com/Apocalypsor" target="_blank"><img title="Apocalypsor" src="https://github.com/Apocalypsor.png?size=48" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img title="brentvatne" src="https://github.com/brentvatne.png?size=48" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img title="circadian-risk" src="https://github.com/circadian-risk.png?size=48" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img title="cubecull" src="https://github.com/cubecull.png?size=48" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img title="erwinkn" src="https://github.com/erwinkn.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img title="ezra-en" src="https://github.com/ezra-en.png?size=48" width="48" height="48"></a><a href="https://github.com/fdfontes" target="_blank"><img title="fdfontes" src="https://github.com/fdfontes.png?size=48" width="48" height="48"></a><a href="https://github.com/feychenie" target="_blank"><img title="feychenie" src="https://github.com/feychenie.png?size=48" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img title="flaming-codes" src="https://github.com/flaming-codes.png?size=48" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img title="fostertheweb" src="https://github.com/fostertheweb.png?size=48" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img title="fostertheweb" src="https://github.com/fostertheweb.png?size=48" width="48" height="48"></a><a href="https://github.com/generates" target="_blank"><img title="generates" src="https://github.com/generates.png?size=48" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img title="Giulio987" src="https://github.com/Giulio987.png?size=48" width="48" height="48"></a><a href="https://github.com/itsdevcoffee" target="_blank"><img title="itsdevcoffee" src="https://github.com/itsdevcoffee.png?size=48" width="48" height="48"></a><a href="https://github.com/jaysc" target="_blank"><img title="jaysc" src="https://github.com/jaysc.png?size=48" width="48" height="48"></a><a href="https://github.com/jbolda" target="_blank"><img title="jbolda" src="https://github.com/jbolda.png?size=48" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img title="Kayoo-asso" src="https://github.com/Kayoo-asso.png?size=48" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img title="kotofurumiya" src="https://github.com/kotofurumiya.png?size=48" width="48" height="48"></a><a href="https://github.com/Kudo" target="_blank"><img title="Kudo" src="https://github.com/Kudo.png?size=48" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img title="learn-anything" src="https://github.com/learn-anything.png?size=48" width="48" height="48"></a><a href="https://github.com/lluc" target="_blank"><img title="lluc" src="https://github.com/lluc.png?size=48" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img title="marksteve" src="https://github.com/marksteve.png?size=48" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img title="miking-the-viking" src="https://github.com/miking-the-viking.png?size=48" width="48" height="48"></a><a href="https://github.com/mjamesderocher" target="_blank"><img title="mjamesderocher" src="https://github.com/mjamesderocher.png?size=48" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img title="nikitavoloboev" src="https://github.com/nikitavoloboev.png?size=48" width="48" height="48"></a><a href="https://github.com/palerdot" target="_blank"><img title="palerdot" src="https://github.com/palerdot.png?size=48" width="48" height="48"></a><a href="https://github.com/PorcoRosso85" target="_blank"><img title="PorcoRosso85" src="https://github.com/PorcoRosso85.png?size=48" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img title="shaneosullivan" src="https://github.com/shaneosullivan.png?size=48" width="48" height="48"></a><a href="https://github.com/sudo-self" target="_blank"><img title="sudo-self" src="https://github.com/sudo-self.png?size=48" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img title="SuperSonicHub1" src="https://github.com/SuperSonicHub1.png?size=48" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img title="threepointone" src="https://github.com/threepointone.png?size=48" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img title="uptonking" src="https://github.com/uptonking.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a></section><hr><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://beta.tinybase.org/youtube.webp"></a></section>
|
|
250
|
+
<section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://beta.tinybase.org/api/store/"><code>store</code></a> module alone, you'll only add a gzipped <em>5.0kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>12.1kB</em>.</p><p>The optional <a href="https://beta.tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just another <em>4.6kB</em>, the auxiliary <a href="https://beta.tinybase.org/api/tools/"><code>tools</code></a> module is <em>11.1kB</em>, and everything is super fast. Life's easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>.js.gz</th><th>.js</th><th>debug.js</th><th>.d.ts</th></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/store/">store</a></th><td>5.0kB</td><td>12.0kB</td><td>52.1kB</td><td>255.3kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/metrics/">metrics</a></th><td>1.8kB</td><td>3.7kB</td><td>15.3kB</td><td>30.9kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/indexes/">indexes</a></th><td>1.9kB</td><td>3.8kB</td><td>17.1kB</td><td>35.6kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/relationships/">relationships</a></th><td>1.9kB</td><td>3.8kB</td><td>17.3kB</td><td>44.2kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/queries/">queries</a></th><td>2.8kB</td><td>5.7kB</td><td>25.8kB</td><td>126.0kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/checkpoints/">checkpoints</a></th><td>1.6kB</td><td>3.2kB</td><td>13.5kB</td><td>35.1kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/mergeable-store/">mergeable-store</a></th><td>7.0kB</td><td>16.9kB</td><td>72.0kB</td><td>4.5kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/persisters/">persisters</a></th><td>0.9kB</td><td>1.7kB</td><td>6.3kB</td><td>46.7kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/synchronizers/">synchronizers</a></th><td>2.0kB</td><td>4.2kB</td><td>16.0kB</td><td>3.6kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/common/">common</a></th><td>0.1kB</td><td>0.1kB</td><td>0.1kB</td><td>3.5kB</td></tr><tr><th class="right">tinybase (all)</th><td>12.1kB</td><td>29.9kB</td><td>129.1kB</td><td>0.4kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>2,368</td><td>2,368</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,553</td><td>2,553</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>994</td><td>994</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>940</td><td>940</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">6,617</td></tr><tr><th class="right">Assertions</th><td colspan="3">31,186</td></tr></tbody></table></div><hr><section id="sponsors"><h2 id="proud-to-be-sponsored-by">Proud to be sponsored by:</h2><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/beekeeb" target="_blank"><img title="beekeeb" src="https://github.com/beekeeb.png?size=48" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img title="cancelself" src="https://github.com/cancelself.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img title="arpitBhalla" src="https://github.com/arpitBhalla.png?size=48" width="48" height="48"></a></section><section id="users"><h2 id="excited-to-be-used-by">Excited to be used by:</h2><a href="https://github.com/Apocalypsor" target="_blank"><img title="Apocalypsor" src="https://github.com/Apocalypsor.png?size=48" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img title="brentvatne" src="https://github.com/brentvatne.png?size=48" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img title="circadian-risk" src="https://github.com/circadian-risk.png?size=48" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img title="cubecull" src="https://github.com/cubecull.png?size=48" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img title="erwinkn" src="https://github.com/erwinkn.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img title="ezra-en" src="https://github.com/ezra-en.png?size=48" width="48" height="48"></a><a href="https://github.com/fdfontes" target="_blank"><img title="fdfontes" src="https://github.com/fdfontes.png?size=48" width="48" height="48"></a><a href="https://github.com/feychenie" target="_blank"><img title="feychenie" src="https://github.com/feychenie.png?size=48" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img title="flaming-codes" src="https://github.com/flaming-codes.png?size=48" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img title="fostertheweb" src="https://github.com/fostertheweb.png?size=48" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img title="fostertheweb" src="https://github.com/fostertheweb.png?size=48" width="48" height="48"></a><a href="https://github.com/generates" target="_blank"><img title="generates" src="https://github.com/generates.png?size=48" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img title="Giulio987" src="https://github.com/Giulio987.png?size=48" width="48" height="48"></a><a href="https://github.com/itsdevcoffee" target="_blank"><img title="itsdevcoffee" src="https://github.com/itsdevcoffee.png?size=48" width="48" height="48"></a><a href="https://github.com/jaysc" target="_blank"><img title="jaysc" src="https://github.com/jaysc.png?size=48" width="48" height="48"></a><a href="https://github.com/jbolda" target="_blank"><img title="jbolda" src="https://github.com/jbolda.png?size=48" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img title="Kayoo-asso" src="https://github.com/Kayoo-asso.png?size=48" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img title="kotofurumiya" src="https://github.com/kotofurumiya.png?size=48" width="48" height="48"></a><a href="https://github.com/Kudo" target="_blank"><img title="Kudo" src="https://github.com/Kudo.png?size=48" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img title="learn-anything" src="https://github.com/learn-anything.png?size=48" width="48" height="48"></a><a href="https://github.com/lluc" target="_blank"><img title="lluc" src="https://github.com/lluc.png?size=48" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img title="marksteve" src="https://github.com/marksteve.png?size=48" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img title="miking-the-viking" src="https://github.com/miking-the-viking.png?size=48" width="48" height="48"></a><a href="https://github.com/mjamesderocher" target="_blank"><img title="mjamesderocher" src="https://github.com/mjamesderocher.png?size=48" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img title="nikitavoloboev" src="https://github.com/nikitavoloboev.png?size=48" width="48" height="48"></a><a href="https://github.com/palerdot" target="_blank"><img title="palerdot" src="https://github.com/palerdot.png?size=48" width="48" height="48"></a><a href="https://github.com/PorcoRosso85" target="_blank"><img title="PorcoRosso85" src="https://github.com/PorcoRosso85.png?size=48" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img title="shaneosullivan" src="https://github.com/shaneosullivan.png?size=48" width="48" height="48"></a><a href="https://github.com/sudo-self" target="_blank"><img title="sudo-self" src="https://github.com/sudo-self.png?size=48" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img title="SuperSonicHub1" src="https://github.com/SuperSonicHub1.png?size=48" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img title="threepointone" src="https://github.com/threepointone.png?size=48" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img title="uptonking" src="https://github.com/uptonking.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a></section><hr><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://beta.tinybase.org/youtube.webp"></a></section>
|