tinybase 5.0.0-beta.5 → 5.0.0-beta.6
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 -0
- package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -1
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sync.cjs +1 -0
- package/lib/cjs/persisters/persister-sync.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/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs/ui-react.cjs +1 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/mergeable-store.cjs +1 -1
- package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sync.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-sync.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/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/mergeable-store.js +287 -130
- package/lib/debug/persisters/persister-automerge.js +39 -46
- package/lib/debug/persisters/persister-browser.js +39 -46
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +64 -60
- package/lib/debug/persisters/persister-electric-sql.js +64 -60
- package/lib/debug/persisters/persister-expo-sqlite-next.js +64 -60
- package/lib/debug/persisters/persister-expo-sqlite.js +64 -60
- package/lib/debug/persisters/persister-file.js +39 -46
- package/lib/debug/persisters/persister-indexed-db.js +39 -46
- package/lib/debug/persisters/persister-libsql.js +64 -60
- package/lib/debug/persisters/persister-partykit-client.js +39 -46
- package/lib/debug/persisters/persister-powersync.js +917 -0
- package/lib/debug/persisters/persister-remote.js +39 -46
- package/lib/debug/persisters/persister-sqlite-wasm.js +64 -60
- package/lib/debug/persisters/persister-sqlite3.js +64 -60
- package/lib/debug/persisters/persister-sync.js +594 -0
- package/lib/debug/persisters/persister-yjs.js +41 -48
- package/lib/debug/persisters.js +38 -45
- package/lib/debug/store.js +44 -32
- package/lib/debug/tinybase.js +322 -173
- package/lib/debug/tools.js +2 -2
- package/lib/debug/ui-react-dom.js +81 -76
- package/lib/debug/ui-react.js +1 -1
- 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 -0
- package/lib/es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -1
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-sync.js +1 -0
- package/lib/es6/persisters/persister-sync.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/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/es6/ui-react-dom-debug.js +1 -1
- package/lib/es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/mergeable-store.js +1 -1
- package/lib/mergeable-store.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -1
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-browser.js +1 -1
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-electric-sql.js +1 -1
- package/lib/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +1 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-file.js +1 -1
- package/lib/persisters/persister-file.js.gz +0 -0
- package/lib/persisters/persister-indexed-db.js +1 -1
- package/lib/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/persisters/persister-libsql.js +1 -1
- package/lib/persisters/persister-libsql.js.gz +0 -0
- package/lib/persisters/persister-partykit-client.js +1 -1
- package/lib/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/persisters/persister-powersync.js +1 -0
- package/lib/persisters/persister-powersync.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -1
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-sync.js +1 -0
- package/lib/persisters/persister-sync.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/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/checkpoints.d.ts +2 -2
- package/lib/types/indexes.d.ts +2 -2
- package/lib/types/mergeable-store.d.ts +121 -59
- package/lib/types/metrics.d.ts +2 -2
- package/lib/types/persisters/persister-automerge.d.ts +3 -0
- package/lib/types/persisters/persister-browser.d.ts +9 -2
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +3 -0
- package/lib/types/persisters/persister-electric-sql.d.ts +3 -0
- package/lib/types/persisters/persister-expo-sqlite-next.d.ts +3 -0
- package/lib/types/persisters/persister-expo-sqlite.d.ts +3 -0
- package/lib/types/persisters/persister-file.d.ts +5 -1
- package/lib/types/persisters/persister-indexed-db.d.ts +3 -0
- package/lib/types/persisters/persister-libsql.d.ts +3 -0
- package/lib/types/persisters/persister-partykit-client.d.ts +3 -0
- package/lib/types/persisters/persister-powersync.d.ts +157 -0
- package/lib/types/persisters/persister-remote.d.ts +3 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +3 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +3 -0
- package/lib/types/persisters/persister-sync.d.ts +182 -0
- package/lib/types/persisters/persister-yjs.d.ts +5 -2
- package/lib/types/persisters.d.ts +60 -3
- package/lib/types/queries.d.ts +2 -2
- package/lib/types/relationships.d.ts +2 -2
- package/lib/types/store.d.ts +36 -3
- package/lib/types/tinybase.d.ts +9 -9
- package/lib/types/tools.d.ts +2 -2
- package/lib/types/ui-react.d.ts +8 -8
- package/lib/types/with-schemas/checkpoints.d.ts +2 -2
- package/lib/types/with-schemas/indexes.d.ts +2 -2
- package/lib/types/with-schemas/mergeable-store.d.ts +185 -87
- package/lib/types/with-schemas/metrics.d.ts +2 -2
- package/lib/types/with-schemas/persisters/persister-automerge.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-browser.d.ts +13 -6
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-file.d.ts +7 -3
- package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-libsql.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-powersync.d.ts +170 -0
- package/lib/types/with-schemas/persisters/persister-remote.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-sync.d.ts +195 -0
- package/lib/types/with-schemas/persisters/persister-yjs.d.ts +6 -3
- package/lib/types/with-schemas/persisters.d.ts +79 -7
- package/lib/types/with-schemas/queries.d.ts +3 -3
- package/lib/types/with-schemas/relationships.d.ts +2 -2
- package/lib/types/with-schemas/store.d.ts +100 -3
- package/lib/types/with-schemas/tinybase.d.ts +9 -9
- package/lib/types/with-schemas/tools.d.ts +2 -2
- package/lib/types/with-schemas/ui-react.d.ts +8 -8
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/mergeable-store.js +1 -1
- package/lib/umd/mergeable-store.js.gz +0 -0
- package/lib/umd/persisters/persister-automerge.js +1 -1
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +1 -1
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-electric-sql.js +1 -1
- package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +1 -1
- package/lib/umd/persisters/persister-file.js.gz +0 -0
- package/lib/umd/persisters/persister-indexed-db.js +1 -1
- package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd/persisters/persister-libsql.js +1 -1
- package/lib/umd/persisters/persister-libsql.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-client.js +1 -1
- package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd/persisters/persister-powersync.js +1 -0
- package/lib/umd/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -1
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-sync.js +1 -0
- package/lib/umd/persisters/persister-sync.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/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd/ui-react-dom-debug.js +1 -1
- package/lib/umd/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd/ui-react.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/mergeable-store.js +1 -1
- package/lib/umd-es6/mergeable-store.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -1
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +1 -1
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
- package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +1 -1
- package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
- package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-libsql.js +1 -1
- package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
- package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-powersync.js +1 -0
- package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -1
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sync.js +1 -0
- package/lib/umd-es6/persisters/persister-sync.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/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom-debug.js +1 -1
- package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +37 -26
- package/readme.md +2 -2
package/lib/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Has",g="Ids",h="Table",f=h+"s",L=h+g,C="Row",w=C+"Count",T=C+g,p="Sorted"+C+g,v="Cell",b=v+g,I="Value",y=I+"s",R=I+g,S=e=>t+e,V=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),M=Math.max,E=Math.min,k=isFinite,H=e=>null==e,D=(e,t,s)=>H(e)?s?.():t(e),A=e=>e==s||e==n,J=t=>e(t)==s,x=t=>e(t)==o,F=e=>Array.isArray(e),Q=(e,t,s)=>e.slice(t,s),z=e=>e.length,N=()=>{},O=(e,t)=>e.includes(t),W=(e,t)=>e.every(t),P=(e,t)=>z(e)===z(t)&&W(e,((e,s)=>t[s]===e)),j=(e,t)=>W(e,((s,n)=>0==n||t(e[n-1],s)<=0)),_=(e,t)=>e.sort(t),B=(e,t)=>e.forEach(t),$=(e,t)=>e.map(t),q=e=>K(e,((e,t)=>e+t),0),G=e=>0==z(e),K=(e,t,s)=>e.reduce(t,s),U=(e,...t)=>e.push(...t),X=e=>e.pop(),Y=e=>e.shift(),Z=Object,ee=e=>Z.getPrototypeOf(e),te=Z.entries,se=Z.keys,ne=Z.isFrozen,ae=Z.freeze,oe=e=>!H(e)&&D(ee(e),(e=>e==Z.prototype||H(ee(e))),(()=>!0)),re=(e=[])=>Z.fromEntries(e),le=(e,t)=>t in e,ie=(e,t)=>(delete e[t],e),ce=(e,t)=>B(te(e),(([e,s])=>t(s,e))),de=(e,t)=>$(te(e),(([e,s])=>t(s,e))),ue=e=>oe(e)&&0==(e=>z(se(e)))(e),ge=(e,t,s)=>(le(e,t)||(e[t]=s()),e[t]),he=e=>e?.size??0,fe=(e,t)=>e?.has(t)??!1,Le=e=>H(e)||0==he(e),Ce=e=>[...e?.values()??[]],we=e=>e.clear(),Te=(e,t)=>e?.forEach(t),pe=(e,t)=>e?.delete(t),ve=e=>new Map(e),be=e=>[...e?.keys()??[]],Ie=(e,t)=>e?.get(t),ye=(e,t)=>Te(e,((e,s)=>t(s,e))),Re=(e,t,s)=>H(s)?(pe(e,t),e):e?.set(t,s),Se=(e,t,s,n)=>(fe(e,t)?n?.(Ie(e,t)):Re(e,t,s()),Ie(e,t)),Ve=(e,t,s,n=Re)=>(de(t,((t,n)=>s(e,n,t))),ye(e,(s=>le(t,s)?0:n(e,s))),e),me=(e,t,s)=>{const n={};return Te(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Me=(e,t,s)=>me(e,(e=>me(e,t,s)),ue),Ee=(e,t,s)=>me(e,(e=>Me(e,t,s)),ue),ke=(e,t)=>{const s=ve();return Te(e,((e,n)=>s.set(n,t?.(e)??e))),s},He=e=>ke(e,ke),De=e=>ke(e,He),Ae=(e,t,s,n,a=0)=>D((s?Se:Ie)(e,t[a],a>z(t)-2?s:ve),(o=>{if(a>z(t)-2)return n?.(o)&&Re(e,t[a]),o;const r=Ae(o,t,s,n,a+1);return Le(o)&&Re(e,t[a]),r})),Je=t=>{const s=e(t);return A(s)||s==a&&k(t)?s:void 0},xe=(e,t,s,n,a)=>H(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Fe=(e,t,s)=>H(s)?e.delValue(t):e.setValue(t,s),Qe=e=>new Set(F(e)||H(e)?e:[e]),ze=(e,t)=>e?.add(t),Ne=(e,t,s,n,a)=>{const o=e.hasRow,r=ve(),l=ve(),i=ve(),c=ve(),d=ve(),u=ve(),g=(t,s,...n)=>{const a=Se(u,t,Qe);return B(n,(t=>ze(a,t)&&s&&e.callListener(t))),n},h=(t,...s)=>D(Ie(u,t),(n=>{B(G(s)?Ce(n):s,(t=>{e.delListener(t),pe(n,t)})),Le(n)&&Re(u,t)})),f=(e,s)=>{Re(r,e,s),fe(l,e)||(Re(l,e,t()),Re(c,e,ve()),Re(d,e,ve()),a(i))},L=e=>{Re(r,e),Re(l,e),Re(c,e),Re(d,e),h(e),a(i)};return[()=>e,()=>be(r),e=>ye(l,e),e=>fe(l,e),e=>Ie(r,e),e=>Ie(l,e),(e,t)=>Re(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=ve(),u=ve(),L=Ie(c,t),C=Ie(d,t),w=t=>{const a=s=>e.getCell(n,t,s),c=Ie(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||F(c)&&F(d)&&P(c,d)||Re(i,t,[c,d]),!H(l)){const e=Ie(C,t),s=o(n,t)?l(a,t):void 0;e!=s&&Re(u,t,s)}},T=e=>{a((()=>{Te(i,(([,e],t)=>Re(L,t,e))),Te(u,((e,t)=>Re(C,t,e)))}),i,u,L,C,e),we(i),we(u)};ye(L,w),e.hasTable(n)&&B(e.getRowIds(n),(e=>{fe(L,e)||w(e)})),T(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>w(s))),e.addTableListener(n,(()=>T())))},L,e=>n(e,i),()=>ye(u,L),g,h]},Oe=(e,s)=>J(e)?t=>t(e):e??(()=>s??t),We=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const a=s.get(n);return t?.(a),a}},Pe=/^\d+$/,je=()=>{const e=[];let s=0;return[n=>(n?Y(e):null)??t+s++,t=>{Pe.test(t)&&z(e)<1e3&&U(e,t)}]},_e=e=>{let s;const[n,a]=je(),o=ve();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return Re(o,d,[a,r,l,i,c]),ze(Ae(r,l??[t],Qe),d),d},(e,n,...a)=>B(((e,s=[t])=>{const n=[],a=(e,t)=>t==z(s)?U(n,e):null===s[t]?Te(e,(e=>a(e,t+1))):B([s[t],null],(s=>a(Ie(e,s),t+1)));return a(e,0),n})(e,n),(e=>Te(e,(e=>Ie(o,e)[0](s,...n??[],...a))))),e=>D(Ie(o,e),(([,s,n])=>(Ae(s,n??[t],void 0,(t=>(pe(t,e),Le(t)?1:0))),Re(o,e),a(e),n))),e=>D(Ie(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=z(r);l==z(t)?e(s,...r,...a(r)):H(t[l])?B(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},Be=We((e=>{let s,n,a,o=100,r=ve(),l=ve(),i=1;const c=ve(),d=ve(),[u,g,h]=_e((()=>x)),f=ve(),L=ve(),C=[],w=[],T=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Ie(f,s);Te(n,((s,n)=>Te(s,((s,a)=>Te(s,((s,o)=>xe(e,n,a,o,s[t]))))))),Te(a,((s,n)=>Fe(e,n,s[t])))})),i=1},p=e=>{Re(f,e),Re(L,e),g(d,[e])},v=(e,t)=>B(((e,t)=>e.splice(0,t))(e,t??z(e)),p),b=()=>v(C,z(C)-o),I=()=>D(s,(()=>{U(C,s),b(),v(w),s=void 0,a=1})),y=()=>{s=X(C),a=1};let R,S;const V=(e="")=>(H(s)&&(s=t+n++,Re(f,s,[r,l]),A(s,e),r=ve(),l=ve(),a=1),s),m=()=>{G(C)||(((e,...t)=>{e.unshift(...t)})(w,V()),T(0,s),s=X(C),a=1)},M=()=>{G(w)||(U(C,s),s=Y(w),T(1,s),a=1)},E=()=>{a&&(g(c),a=0)},k=e=>{const t=V(e);return E(),t},A=(e,t)=>(J(e)&&Ie(L,e)!==t&&(Re(L,e,t),g(d,[e])),x),J=e=>fe(f,e),x={setSize:e=>(o=e,b(),x),addCheckpoint:k,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...C],s,[...w]],forEachCheckpoint:e=>ye(L,e),hasCheckpoint:J,getCheckpoint:e=>Ie(L,e),goBackward:()=>(m(),E(),x),goForward:()=>(M(),E(),x),goTo:e=>{const t=O(C,e)?m:O(w,e)?M:null;for(;!H(t)&&e!=s;)t();return E(),x},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(h(e),x),clear:()=>(v(C),v(w),H(s)||p(s),s=void 0,n=0,k(),x),clearForward:()=>(G(w)||(v(w),g(c)),x),destroy:()=>{e.delListener(R),e.delListener(S)},getListenerStats:()=>({}),_registerListeners:()=>{R=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){I();const e=Se(r,t,ve),l=Se(e,s,ve),i=Se(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&Le(Re(l,n))&&Le(Re(e,s))&&Le(Re(r,t))&&y(),E()}})),S=e.addValueListener(null,((e,t,s,n)=>{if(i){I();const e=Se(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&Le(Re(l,t))&&y(),E()}}))}};return ae(x.clear())}),(e=>e._registerListeners())),$e=(e,t)=>(e??0)<(t??0)?-1:1,qe=We((e=>{const s=ve(),n=ve(),[a,o,r]=_e((()=>p)),[l,i,c,d,u,g,h,,f,L,C,w]=Ne(e,ve,(e=>H(e)?t:F(e)?$(e,S):S(e)),a,o),T=(t,s,n)=>{const a=u(t);Te(n,((t,n)=>s(n,(s=>Te(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},p={setIndexDefinition:(e,t,a,r,l,i=$e)=>{const c=H(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,d,u,f)=>{let L=0;const C=Qe(),w=Qe(),T=g(e);if(Te(a,(([e,t],s)=>{const n=Qe(e),a=Qe(t);Te(n,(e=>pe(a,e)?pe(n,e):0)),Te(n,(e=>{ze(C,e),D(Ie(T,e),(t=>{pe(t,s),Le(t)&&(Re(T,e),L=1)}))})),Te(a,(e=>{ze(C,e),fe(T,e)||(Re(T,e,Qe()),L=1),ze(Ie(T,e),s),H(r)||ze(w,e)}))})),t(),Le(u)||(f?ye(T,(e=>ze(w,e))):ye(l,(e=>D(Ie(d,e),(e=>ze(w,e))))),Te(w,(e=>{const t=(t,s)=>i(Ie(u,t),Ie(u,s),e),s=[...Ie(T,e)];j(s,t)||(Re(T,e,Qe(_(s,t))),ze(C,e))}))),(L||f)&&!H(c)){const t=[...T];j(t,c)||(h(e,ve(_(t,c))),L=1)}L&&o(s,[e]),Te(C,(t=>o(n,[e,t])))}),Oe(a),D(r,Oe)),p},delIndexDefinition:e=>(L(e),p),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>T(t,e,s))))),forEachSlice:(e,t)=>T(e,t,g(e)),hasIndex:d,hasSlice:(e,t)=>fe(g(e),t),getTableId:u,getSliceIds:e=>be(g(e)),getSliceRowIds:(e,t)=>Ce(Ie(g(e),t)),addIndexIdsListener:C,addSliceIdsListener:(e,t)=>a(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),p),destroy:w,getListenerStats:()=>({})};return ae(p)})),Ge=ve([["avg",[(e,t)=>q(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>M(...e),(e,t)=>M(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:M(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:E(t,e)]],["sum",[e=>q(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Ke=(e,t,s,n,a,o=!1)=>{if(Le(s))return;const[r,l,i,c]=a;return o||=H(e),Te(n,(([s,n])=>{o||(e=H(s)?l?.(e,n,t++):H(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=H(e))})),o?r(Ce(s),he(s)):e},Ue=We((e=>{const s=ve(),[n,a,o]=_e((()=>w)),[r,l,i,c,d,u,g,,h,f,L,C]=Ne(e,N,(e=>isNaN(e)||H(e)||!0===e||!1===e||e===t?void 0:1*e),n,a),w={setMetricDefinition:(e,t,n,o,r,l,i)=>{const c=x(n)?[n,r,l,i]:Ie(Ge,n)??Ie(Ge,"sum");return h(e,t,((t,n,o,r,l,i)=>{const d=u(e),h=he(r);i||=H(d),t();let f=Ke(d,h,r,n,c,i);k(f)||(f=void 0),f!=d&&(g(e,f),a(s,[e],f,d))}),Oe(o,1)),w},delMetricDefinition:e=>(f(e),w),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),w),destroy:C,getListenerStats:()=>({})};return ae(w)})),Xe=ve(),Ye=ve(),Ze=e=>J(e?.[0]),et=(e,t,s,n,a,o,r,[l,i]=[],c=[])=>{let d,u,g,h=0,f=0;Se(Xe,c,(()=>0)),Se(Ye,c,(()=>[]));const[L,C,w,T]=((e,t)=>!e||H(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ue(e)||!ue(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!ue(e)||!ue(t)])(r,e),p=async e=>(2!=h&&(h=1,await v.schedule((async()=>{await e(),h=0}))),v),v={load:async(s,n)=>await p((async()=>{try{const s=await t();(L&&Ze(s)?e.setMergeableContent:e.setContent)(s)}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(v.stopAutoLoad(),await v.load(s,a),f=1,g=n((async(s,n)=>{if(n){const t=n();await p((async()=>(L&&Ze(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await p((async()=>{try{const n=s?.()??await t();(L&&Ze(n)?e.setMergeableContent:e.setContent)(n)}catch(e){o?.(e)}}))})),v),stopAutoLoad:()=>(f&&(a(g),g=void 0,f=0),v),save:async e=>(1!=h&&(h=2,await v.schedule((async()=>{try{await s(C,e)}catch(e){o?.(e)}h=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),d=e.addDidFinishTransactionListener((()=>{const e=w();T(e)&&v.save((()=>e))})),v),stopAutoSave:()=>(D(d,e.delListener),d=void 0,v),schedule:async(...e)=>(U(Ie(Ye,c),...e),await(async()=>{if(!Ie(Xe,c)){for(Re(Xe,c,1);!H(u=Y(Ie(Ye,c)));)try{await u()}catch(e){o?.(e)}Re(Xe,c,0)}})(),v),getStore:()=>e,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l&&(v[l]=()=>i),ae(v)},tt=We((e=>{const s=e.createStore,n=s(),a=s(),o=ve(),{addListener:r,callListeners:l,delListener:u}=a,[g,f,L,I,y,,,R,,S,V,m,M,E]=Ne(e,(()=>!0),N,r,l),k=(e,t,...s)=>B(s,(s=>ze(Se(Se(o,t,ve),e,Qe),s))),A=e=>{D(Ie(o,e),(e=>{ye(e,((e,t)=>Te(t,(t=>e.delListener(t))))),we(e)})),B([a,n],(t=>t.delTable(e)))},J=(e,t,s)=>k(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),F={setQueryDefinition:(s,o,r)=>{R(s,o),A(s);const l=[],i=[[null,[o,null,null,[],ve()]]],c=[],d=[],u=[];r({select:(e,s)=>{const n=x(e)?[z(l)+t,e]:[H(s)?e:s,t=>t(e,s)];return U(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=H(s)||x(t)?null:t,a=H(n)?t:s,o=[e,[e,n,x(a)?a:e=>e(a),[],ve()]];return U(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>U(c,x(e)?e:H(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,x(t)?[t,s,n,a]:Ie(Ge,t)??[(e,t)=>t]]];return U(d,o),{as:e=>o[0]=e}},having:(e,t)=>U(u,x(e)?e:s=>s(e)===t)});const g=ve(l);if(Le(g))return F;const h=ve(i);ye(h,((e,[,t])=>D(Ie(h,t),(({3:t})=>H(e)?0:U(t,e)))));const f=ve(d);let L=n;if(Le(f)&&G(u))L=a;else{J(s,L,a);const e=ve();ye(f,((t,[s,n])=>ze(Se(e,s,Qe),[t,n])));const t=Qe();ye(g,(s=>fe(e,s)?0:ze(t,s)));const n=ve(),o=(t,n,o,r)=>D(t,(([l,i,c,d])=>{ye(n,((t,[s])=>{const n=Se(l,t,ve),a=Ie(n,o),i=r?void 0:s;if(a!==i){const s=Qe([[a,i]]),r=he(n);Re(n,o,i),Te(Ie(e,t),(([e,t])=>{const a=Ke(d[e],r,n,s,t);d[e]=H(Je(a))?null:a}))}})),Le(i)||!W(u,(e=>e((e=>d[e]))))?a.delRow(s,c):H(c)?t[2]=a.addRow(s,d):a.setRow(s,c,d)}));k(L,s,L.addRowListener(s,null,((a,r,l,i)=>{const c=[],d=[],u=ve(),g=L.hasRow(s,l);let h=!g;Te(t,(e=>{const[t,n,a]=i(s,l,e);U(c,n),U(d,a),h||=t})),ye(e,(e=>{const[t,,n]=i(s,l,e);(h||t)&&Re(u,e,[n])})),h&&o(Ae(n,c,void 0,(([,e])=>(pe(e,l),Le(e)))),u,l,1),g&&o(Ae(n,d,(()=>{const e={};return Te(t,(t=>e[t]=L.getCell(s,l,t))),[ve(),Qe(),void 0,e]}),(([,e])=>{ze(e,l)})),u,l)})))}J(s,e,L);const C=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);B(r,(n=>{const[a,,o,r,i]=Ie(h,n),c=o?.(l,t),[d,u]=Ie(i,t)??[];c!=d&&(H(u)||E(s,u),Re(i,t,H(c)?null:[c,...M(s,1,e.addRowListener(a,c,(()=>C(t,a,c,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...H(n)?[o,t,s]:s===o?[o,t,n]:[Ie(h,s)?.[0],Ie(Ie(h,s)?.[4],t)?.[0],n]);L.transaction((()=>W(c,(e=>e(n)))?ye(g,((e,a)=>xe(L,s,t,e,a(n,t)))):L.delRow(s,t)))})(t)},{3:w}=Ie(h,null);return L.transaction((()=>M(s,1,e.addRowListener(o,null,((t,n,a)=>{e.hasRow(o,a)?C(a,o,a,w):(L.delRow(s,a),Te(h,(({4:e})=>D(Ie(e,a),(([,t])=>{E(s,t),Re(e,a)})))))}))))),F},delQueryDefinition:e=>(A(e),S(e),F),getStore:g,getQueryIds:f,forEachQuery:L,hasQuery:I,getTableId:y,addQueryIdsListener:e=>V((()=>e(F))),delListener:e=>(u(e),F),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return de({[h]:[1,1],[h+b]:[0,1],[w]:[0,1],[T]:[0,1],[p]:[0,5],[C]:[1,2],[b]:[0,2],[v]:[1,3]},(([e,t],s)=>{B(e?["get","has","forEach"]:["get"],(e=>F[e+c+s]=(...t)=>a[e+s](...t))),F[d+c+s+i]=(...e)=>a[d+s+i](...Q(e,0,t),((s,...n)=>e[t](F,...n)),!0)})),ae(F)})),st=We((e=>{const s=ve(),n=ve(),a=ve(),o=ve(),[r,l,i]=_e((()=>I)),[c,d,u,g,h,f,,,L,C,w,T]=Ne(e,(()=>[ve(),ve(),ve(),ve()]),(e=>H(e)?void 0:e+t),r,l),p=(e,t,s)=>D(f(e),(([n,,a])=>{if(!fe(a,t)){const o=Qe();if(h(e)!=b(e))ze(o,t);else{let e=t;for(;!H(e)&&!fe(o,e);)ze(o,e),e=Ie(n,e)}if(s)return o;Re(a,t,o)}return Ie(a,t)})),v=(e,t)=>D(f(e),(([,,e])=>Re(e,t))),b=e=>Ie(s,e),I={setRelationshipDefinition:(e,t,r,i)=>(Re(s,e,r),L(e,t,((t,s)=>{const r=Qe(),i=Qe(),c=Qe(),[d,u]=f(e);Te(s,(([t,s],n)=>{H(t)||(ze(i,t),D(Ie(u,t),(e=>{pe(e,n),Le(e)&&Re(u,t)}))),H(s)||(ze(i,s),fe(u,s)||Re(u,s,Qe()),ze(Ie(u,s),n)),ze(r,n),Re(d,n,s),ye(Ie(o,e),(t=>{fe(p(e,t),n)&&ze(c,t)}))})),t(),Te(r,(t=>l(n,[e,t]))),Te(i,(t=>l(a,[e,t]))),Te(c,(t=>{v(e,t),l(o,[e,t])}))}),Oe(i)),I),delRelationshipDefinition:e=>(Re(s,e),C(e),I),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:b,getRemoteRowId:(e,t)=>Ie(f(e)?.[0],t),getLocalRowIds:(e,t)=>Ce(Ie(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>H(f(e))?[t]:Ce(p(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(p(e,t),r(s,o,[e,t])),delListener:e=>(v(...i(e)??[]),I),destroy:T,getListenerStats:()=>({})};return ae(I)})),nt=new globalThis.TextEncoder,at=e=>{let t=2166136261;return B(nt.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},ot=([e,t,s])=>[e,t,s],rt=(e,t)=>[e,t],lt=(e,t)=>at(e+":"+t),it=(e,t,s)=>{e[2]=t>>>0,s>e[0]&&(e[0]=s)},ct=e=>rt(e,re()),dt=(e="")=>[e,ve(),0],ut=()=>[t,void 0,0],gt=([e,t,s],n)=>[e,n(t,e),s],ht=(e,t=ot)=>gt(e,(e=>me(e,t))),ft=e=>[e,e],Lt=()=>[ve(),ve()],Ct=e=>[...e],wt=([e,t])=>e===t,Tt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?Z.fromEntries([...t]):t)),pt=JSON.parse,vt=(e,t,s)=>H(e)||!oe(e)||ue(e)||ne(e)?(s?.(),!1):(de(e,((s,n)=>{t(s,n)||ie(e,n)})),!ue(e)),bt=(e,t,s)=>Re(e,t,Ie(e,t)==-s?void 0:s),It=()=>{let e,t,s=!1,n=!1,o=0,c=[];const g=ve(),p=ve(),V=ve(),m=ve(),M=ve(),E=ve(),k=ve(),J=ve(),F=ve(),z=ve(),N=ve(),W=ve(),j=ve(),q=ve(),G=Qe(),K=ve(),X=ve(),Y=ve(),Z=ve(),ee=Lt(),te=Lt(),se=Lt(),ne=Lt(),oe=Lt(),re=Lt(),ce=Lt(),ge=Lt(),Ce=Lt(),Ae=Lt(),Ne=Lt(),Oe=Lt(),We=Lt(),Pe=Lt(),Be=Lt(),qe=Lt(),Ge=Lt(),Ke=Lt(),Ue=Lt(),Xe=Lt(),Ye=Lt(),Ze=Lt(),et=ve(),tt=Lt(),[st,nt,at,ot]=_e((()=>Js)),rt=e=>{if(!vt(e,((e,t)=>O([r,l],t))))return!1;const t=e[r];return!(!A(t)&&t!=a||(Je(e[l])!=t&&ie(e,l),0))},lt=(t,s)=>(!e||fe(N,s)||$t(s))&&vt(t,((e,t)=>it(s,t,e)),(()=>$t(s))),it=(e,t,s,n)=>vt(n?s:gt(s,e,t),((n,a)=>D(ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>$t(e,t))),ct=(t,s,n,a)=>e?D(Ie(Ie(N,t),n),(e=>Je(a)!=e[r]?$t(t,s,n,a,e[l]):a),(()=>$t(t,s,n,a))):H(Je(a))?$t(t,s,n,a):a,dt=(e,t)=>vt(t?e:ht(e),((t,s)=>D(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>qt())),ut=(e,s)=>t?D(Ie(j,e),(t=>Je(s)!=t[r]?qt(e,s,t[l]):s),(()=>qt(e,s))):H(Je(s))?qt(e,s):s,gt=(e,t,s)=>(D(Ie(W,t),(([n,a])=>{Te(n,((t,s)=>{le(e,s)||(e[s]=t)})),Te(a,(n=>{le(e,n)||$t(t,s,n)}))})),e),ht=e=>(t&&(Te(q,((t,s)=>{le(e,s)||(e[s]=t)})),Te(G,(t=>{le(e,t)||qt(t)}))),e),yt=e=>Ve(N,e,((e,t,s)=>{const n=ve(),a=Qe();Ve(Se(N,t,ve),s,((e,t,s)=>{Re(e,t,s),D(s[l],(e=>Re(n,t,e)),(()=>ze(a,t)))})),Re(W,t,[n,a])}),((e,t)=>{Re(N,t),Re(W,t)})),Rt=e=>Ve(j,e,((e,t,s)=>{Re(j,t,s),D(s[l],(e=>Re(q,t,e)),(()=>ze(G,t)))}),((e,t)=>{Re(j,t),Re(q,t),pe(G,t)})),St=e=>ue(e)?Ss():vs(e),Vt=e=>Ve(Y,e,((e,t,s)=>mt(t,s)),((e,t)=>Ft(t))),mt=(e,t)=>Ve(Se(Y,e,(()=>(Ot(e,1),Re(K,e,je()),Re(X,e,ve()),ve()))),t,((t,s,n)=>Mt(e,t,s,n)),((t,s)=>Qt(e,t,s))),Mt=(e,t,s,n,a)=>Ve(Se(t,s,(()=>(Wt(e,s,1),ve()))),n,((t,n,a)=>Et(e,s,t,n,a)),((n,o)=>zt(e,t,s,n,o,a))),Et=(e,t,s,n,a)=>{fe(s,n)||Pt(e,t,n,1);const o=Ie(s,n);a!==o&&(jt(e,t,n,o,a),Re(s,n,a))},kt=(e,t,s,n,a)=>D(Ie(t,s),(t=>Et(e,s,t,n,a)),(()=>Mt(e,t,s,gt({[n]:a},e,s)))),Ht=e=>ue(e)?Ms():bs(e),Dt=e=>Ve(Z,e,((e,t,s)=>At(t,s)),((e,t)=>Nt(t))),At=(e,t)=>{fe(Z,e)||_t(e,1);const s=Ie(Z,e);t!==s&&(Bt(e,s,t),Re(Z,e,t))},Jt=(e,t)=>{const[s]=Ie(K,e),n=s(t);return fe(Ie(Y,e),n)?Jt(e,t):n},xt=e=>Ie(Y,e)??mt(e,{}),Ft=e=>mt(e,{}),Qt=(e,t,s)=>{const[,n]=Ie(K,e);n(s),Mt(e,t,s,{},!0)},zt=(e,t,s,n,a,o)=>{const r=Ie(Ie(W,e)?.[0],a);if(!H(r)&&!o)return Et(e,s,n,a,r);const l=t=>{jt(e,s,t,Ie(n,t)),Pt(e,s,t,-1),Re(n,t)};H(r)?l(a):ye(n,l),Le(n)&&(Wt(e,s,-1),Le(Re(t,s))&&(Ot(e,-1),Re(Y,e),Re(K,e),Re(X,e)))},Nt=e=>{const t=Ie(q,e);if(!H(t))return At(e,t);Bt(e,Ie(Z,e)),_t(e,-1),Re(Z,e)},Ot=(e,t)=>bt(g,e,t),Wt=(e,t,s)=>bt(Se(m,e,ve),t,s)&&Re(V,e,Se(V,e,(()=>0))+s),Pt=(e,t,s,n)=>{const a=Ie(X,e),o=Ie(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&bt(Se(p,e,ve),s,n),Re(a,s,o!=-n?o+n:null),bt(Se(Se(M,e,ve),t,ve),s,n)},jt=(e,t,s,n,a)=>Se(Se(Se(E,e,ve),t,ve),s,(()=>[n,0]))[1]=a,_t=(e,t)=>bt(k,e,t),Bt=(e,t,s)=>Se(J,e,(()=>[t,0]))[1]=s,$t=(e,t,s,n,a)=>(U(Se(Se(Se(F,e,ve),t,ve),s,(()=>[])),n),a),qt=(e,t,s)=>(U(Se(z,e,(()=>[])),t),s),Gt=(e,t,s)=>D(Ie(Ie(Ie(E,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ft(cs(e,t,s))])),Kt=e=>D(Ie(J,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ft(gs(e))])),Ut=e=>Le(F)||Le(qe[e])?0:Te(e?De(F):F,((t,s)=>Te(t,((t,n)=>Te(t,((t,a)=>nt(qe[e],[s,n,a],t))))))),Xt=e=>Le(z)||Le(Ge[e])?0:Te(e?ke(z):z,((t,s)=>nt(Ge[e],[s],t))),Yt=(e,t,s,n)=>{if(!Le(e))return nt(t,n,(()=>me(e))),ye(e,((e,t)=>nt(s,[...n??[],e],1==t))),1},Zt=e=>{const t=hs();t!=s&&nt(ee[e],void 0,t);const n=Le(Ae[e]),a=Le(We[e])&&Le(Pe[e])&&Le(Ce[e])&&Le(Ne[e])&&Le(re[e])&&Le(ce[e])&&Le(ge[e])&&n&&Le(se[e])&&Le(ne[e]),o=Le(Be[e])&&Le(Oe[e])&&Le(oe[e])&&Le(te[e]);if(!a||!o){const t=e?[ke(g),He(p),ke(V),He(m),De(M),De(E)]:[g,p,V,m,M,E];if(!a){Yt(t[0],se[e],ne[e]),Te(t[1],((t,s)=>Yt(t,re[e],ce[e],[s]))),Te(t[2],((t,s)=>{0!=t&&nt(ge[e],[s],os(s))}));const s=Qe();Te(t[3],((t,a)=>{Yt(t,Ce[e],Ne[e],[a])&&!n&&(nt(Ae[e],[a,null]),ze(s,a))})),n||Te(t[5],((t,n)=>{if(!fe(s,n)){const s=Qe();Te(t,(e=>Te(e,(([t,n],a)=>n!==t?ze(s,a):pe(e,a))))),Te(s,(t=>nt(Ae[e],[n,t])))}})),Te(t[4],((t,s)=>Te(t,((t,n)=>Yt(t,We[e],Pe[e],[s,n])))))}if(!o){let s;Te(t[5],((t,n)=>{let a;Te(t,((t,o)=>{let r;Te(t,(([t,l],i)=>{l!==t&&(nt(Be[e],[n,o,i],l,t,Gt),s=a=r=1)})),r&&nt(Oe[e],[n,o],Gt)})),a&&nt(oe[e],[n],Gt)})),s&&nt(te[e],void 0,Gt)}}},es=e=>{const t=Ts();t!=n&&nt(Ke[e],void 0,t);const s=Le(Xe[e])&&Le(Ye[e]),a=Le(Ze[e])&&Le(Ue[e]);if(!s||!a){const t=e?[ke(k),ke(J)]:[k,J];if(s||Yt(t[0],Xe[e],Ye[e]),!a){let s;Te(t[1],(([t,n],a)=>{n!==t&&(nt(Ze[e],[a],n,t,Kt),s=1)})),s&&nt(Ue[e],void 0,Kt)}}},ts=(e,...t)=>(Hs((()=>e(...$(t,S)))),Js),ss=()=>Ee(Y),ns=()=>be(Y),as=e=>be(Ie(X,S(e))),os=e=>he(Ie(Y,S(e))),rs=e=>be(Ie(Y,S(e))),ls=(e,t,s,n=0,a)=>{return $(Q(_((o=Ie(Y,S(e)),r=(e,s)=>[H(t)?s:Ie(e,S(t)),s],$([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>$e(e,t)*(s?-1:1))),n,H(a)?a:n+a),(([,e])=>e));var o,r},is=(e,t)=>be(Ie(Ie(Y,S(e)),S(t))),cs=(e,t,s)=>Ie(Ie(Ie(Y,S(e)),S(t)),S(s)),ds=()=>me(Z),us=()=>be(Z),gs=e=>Ie(Z,S(e)),hs=()=>!Le(Y),fs=e=>fe(Y,S(e)),Ls=(e,t)=>fe(Ie(X,S(e)),S(t)),Cs=(e,t)=>fe(Ie(Y,S(e)),S(t)),ws=(e,t,s)=>fe(Ie(Ie(Y,S(e)),S(t)),S(s)),Ts=()=>!Le(Z),ps=e=>fe(Z,S(e)),vs=e=>ts((()=>(e=>vt(e,lt,$t))(e)?Vt(e):0)),bs=e=>ts((()=>dt(e)?Dt(e):0)),Is=e=>{try{St(pt(e))}catch{}return Js},ys=t=>ts((()=>{if((e=vt(t,(e=>vt(e,rt))))&&(yt(t),!Le(Y))){const e=ss();Ss(),vs(e)}})),Rs=e=>ts((()=>{if(t=(e=>vt(e,rt))(e)){const s=ds();ks(),Ms(),t=!0,Rt(e),bs(s)}})),Ss=()=>ts((()=>Vt({}))),Vs=e=>ts((e=>fe(Y,e)?Ft(e):0),e),ms=(e,t)=>ts(((e,t)=>D(Ie(Y,e),(s=>fe(s,t)?Qt(e,s,t):0))),e,t),Ms=()=>ts((()=>Dt({}))),Es=()=>ts((()=>{yt({}),e=!1})),ks=()=>ts((()=>{Rt({}),t=!1})),Hs=(e,t)=>{if(-1!=o){Ds();const s=e();return As(t),s}},Ds=()=>(-1!=o&&o++,1==o&&nt(et,void 0),Js),As=e=>(o>0&&(o--,0==o&&(o=1,Ut(1),Le(E)||Zt(1),Xt(1),Le(J)||es(1),e?.(Js)&&(Te(E,((e,t)=>Te(e,((e,s)=>Te(e,(([e],n)=>xe(Js,t,s,n,e))))))),we(E),Te(J,(([e],t)=>Fe(Js,t,e))),we(J)),nt(tt[0],void 0),o=-1,Ut(0),Le(E)||Zt(0),Xt(0),Le(J)||es(0),c[0]?.(Js),nt(tt[1],void 0),c[1]?.(Js),o=0,s=hs(),n=Ts(),B([g,p,V,m,M,E,F,k,J,z],we))),Js),Js={getContent:()=>[ss(),ds()],getTables:ss,getTableIds:ns,getTable:e=>Me(Ie(Y,S(e))),getTableCellIds:as,getRowCount:os,getRowIds:rs,getSortedRowIds:ls,getRow:(e,t)=>me(Ie(Ie(Y,S(e)),S(t))),getCellIds:is,getCell:cs,getValues:ds,getValueIds:us,getValue:gs,hasTables:hs,hasTable:fs,hasTableCell:Ls,hasRow:Cs,hasCell:ws,hasValues:Ts,hasValue:ps,getTablesJson:()=>Tt(Y),getValuesJson:()=>Tt(Z),getJson:()=>Tt([Y,Z]),getTablesSchemaJson:()=>Tt(N),getValuesSchemaJson:()=>Tt(j),getSchemaJson:()=>Tt([N,j]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ts((()=>{(ue(e)?Ss:vs)(e),(ue(t)?Ms:bs)(t)})),setTables:vs,setTable:(e,t)=>ts((e=>lt(t,e)?mt(e,t):0),e),setRow:(e,t,s)=>ts(((e,t)=>it(e,t,s)?Mt(e,xt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Hs((()=>{let n;return it(e,n,t)&&(e=S(e),Mt(e,xt(e),n=Jt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ts(((e,t)=>{if(it(e,t,s,1)){const n=xt(e);de(s,((s,a)=>kt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ts(((e,t,s)=>D(ct(e,t,s,x(n)?n(cs(e,t,s)):n),(n=>kt(e,xt(e),t,s,n)))),e,t,s),setValues:bs,setPartialValues:e=>ts((()=>dt(e,1)?de(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>ts((e=>D(ut(e,x(t)?t(gs(e)):t),(t=>At(e,t)))),e),applyChanges:e=>ts((()=>{de(e[0],((e,t)=>H(e)?Vs(t):de(e,((e,s)=>H(e)?ms(t,s):de(e,((e,n)=>xe(Js,t,s,n,e))))))),de(e[1],((e,t)=>Fe(Js,t,e)))})),setTablesJson:Is,setValuesJson:e=>{try{Ht(pt(e))}catch{}return Js},setJson:e=>ts((()=>{try{const[t,s]=pt(e);St(t),Ht(s)}catch{Is(e)}})),setTablesSchema:ys,setValuesSchema:Rs,setSchema:(e,t)=>ts((()=>{ys(e),Rs(t)})),delTables:Ss,delTable:Vs,delRow:ms,delCell:(e,t,s,n)=>ts(((e,t,s)=>D(Ie(Y,e),(a=>D(Ie(a,t),(o=>fe(o,s)?zt(e,a,t,o,s,n):0))))),e,t,s),delValues:Ms,delValue:e=>ts((e=>fe(Z,e)?Nt(e):0),e),delTablesSchema:Es,delValuesSchema:ks,delSchema:()=>ts((()=>{Es(),ks()})),transaction:Hs,startTransaction:Ds,getTransactionChanges:()=>[me(E,((e,t)=>-1===Ie(g,t)?void 0:me(e,((e,s)=>-1===Ie(Ie(m,t),s)?void 0:me(e,(([,e])=>e),((e,t)=>wt(t)))),ue)),ue),me(J,(([,e])=>e),((e,t)=>wt(t)))],getTransactionLog:()=>[!Le(E),!Le(J),Ee(E,Ct,wt),Ee(F),me(J,Ct,wt),me(z),me(g),Me(m),Ee(M),me(k)],finishTransaction:As,forEachTable:e=>Te(Y,((t,s)=>e(s,(e=>Te(t,((t,s)=>e(s,(e=>ye(t,e))))))))),forEachTableCell:(e,t)=>ye(Ie(X,S(e)),t),forEachRow:(e,t)=>Te(Ie(Y,S(e)),((e,s)=>t(s,(t=>ye(e,t))))),forEachCell:(e,t,s)=>ye(Ie(Ie(Y,S(e)),S(t)),s),forEachValue:e=>ye(Z,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=ls(e,t,s,n,a);return st((()=>{const r=ls(e,t,s,n,a);P(r,l)||(l=r,o(Js,e,t,s,n,a,l))}),Ae[r?1:0],[e,t],[ns])},addStartTransactionListener:e=>st(e,et),addWillFinishTransactionListener:e=>st(e,tt[0]),addDidFinishTransactionListener:e=>st(e,tt[1]),callListener:e=>(ot(e),Js),delListener:e=>(at(e),Js),getListenerStats:()=>({}),createStore:It,addListener:st,callListeners:nt,setInternalListeners:(e,t)=>c=[e,t]};return de({[u+f]:[0,ee,[],()=>[hs()]],[f]:[0,te],[L]:[0,se],[u+h]:[1,ne,[ns],e=>[fs(...e)]],[h]:[1,oe,[ns]],[h+b]:[1,re,[ns]],[u+h+v]:[2,ce,[ns,as],e=>[Ls(...e)]],[w]:[1,ge,[ns]],[T]:[1,Ce,[ns]],[u+C]:[2,Ne,[ns,rs],e=>[Cs(...e)]],[C]:[2,Oe,[ns,rs]],[b]:[2,We,[ns,rs]],[u+v]:[3,Pe,[ns,rs,is],e=>[ws(...e)]],[v]:[3,Be,[ns,rs,is],e=>ft(cs(...e))],InvalidCell:[3,qe],[u+y]:[0,Ke,[],()=>[Ts()]],[y]:[0,Ue],[R]:[0,Xe],[u+I]:[1,Ye,[us],e=>[ps(...e)]],[I]:[1,Ze,[us],e=>ft(gs(e[0]))],InvalidValue:[1,Ge]},(([e,t,s,n],a)=>{Js[d+a+i]=(...a)=>st(a[e],t[a[e+1]?1:0],e>0?Q(a,0,e):void 0,s,n)})),ae(Js)},yt=2**36,Rt=2**30,St=2**24,Vt=2**18,mt=4096,Mt=64,Et=e=>String.fromCharCode(48+(63&e)),kt=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,Ht={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},Dt=(e="")=>[e,[dt(e),dt(e)],0],At=e=>{let s,n,a=1,o=Dt();const[r,l]=(e=>{let t=0,s=-1;const n=at(e),a=e=>{const n=t,[a,o]=H(e)?[0,0]:[kt(r=e,0)*yt+kt(r,1)*Rt+kt(r,2)*St+kt(r,3)*Vt+kt(r,4)*mt+kt(r,5)*Mt+kt(r,6),kt(r,7)*Vt+kt(r,8)*mt+kt(r,9)*Mt+kt(r,10),kt(r,11)*St+kt(r,12)*Vt+kt(r,13)*mt+kt(r,14)*Mt+kt(r,15)];var r;t=M(n,a,Date.now()),s=t==n?t==a?M(s,o):s:t==a?o:-1};return[()=>{return a(),o=++s,r=n,Et((e=t)/yt)+Et(e/Rt)+Et(e/St)+Et(e/Vt)+Et(e/mt)+Et(e/Mt)+Et(e)+Et(o/Vt)+Et(o/mt)+Et(o/Mt)+Et(o)+Et(r/St)+Et(r/Vt)+Et(r/mt)+Et(r/Mt)+Et(r);var e,o,r},a]})(e),i=It(),c=e=>{const t=a;a=0,e(),a=t},d=(e,t=0)=>{const s={},n={},[a,[[r,l,i],c],d]=e,[,[g,h]]=o,[f,L,C]=g;if(r){let e=t?i:C^(r>f?(f?at(f):0)^at(r):0);ce(l,(([n,a,o],r)=>{const l=Se(L,r,dt),[i,c,d]=l;let g=t?o:d^(n>i?(i?at(i):0)^at(n):0);ce(a,((e,n)=>{const[a,o]=u(e,Se(c,n,dt),ge(ge(s,r,re),n,re),t);g^=t?0:(a?lt(n,a):0)^lt(n,o)})),it(l,g,n),e^=t?0:(d?lt(r,d):0)^lt(r,l[2])})),it(g,e,r)}return u(c,h,n,t),it(o,t?d:g[2]^h[2],a),[s,n]},u=(e,t,s,n)=>{const[a,o,r]=e,[l,i,c]=t;if(a){let e=n?r:c^(a>l?(l?at(l):0)^at(a):0);ce(o,(([t,a,o],r)=>{const l=Se(i,r,ut),[c,,d]=l;t>c&&(it(l,n?o:at(Tt(a??null)+":"+t),t),l[1]=a,s[r]=a,e^=n?0:lt(r,d)^lt(r,l[2]))})),it(t,e,a)}return[c,t[2]]},g=()=>gt(o,(([e,t])=>[ht(e,(e=>ht(e,(e=>ht(e))))),ht(t)])),h=()=>{if(H(n)){const[,,e,,n]=i.getTransactionLog(),a=ue(e)&&ue(n)?t:s??(s=r()),o=rt(a,[ct(ue(e)?t:a),ct(ue(n)?t:a)]),[[,l],[,c]]=o[1];return de(e,((e,t)=>{const[,s]=l[t]=ct(a);de(e,((e,t)=>{const[,n]=s[t]=ct(a);de(e,(([,e],t)=>n[t]=rt(a,e)))}))})),de(n,(([,e],t)=>c[t]=rt(a,e))),o}return n},f=e=>(l(e[0]),c((()=>i.applyChanges(d(e)))),L),L={getMergeableContent:g,setMergeableContent:e=>(c((()=>i.transaction((()=>{i.delTables().delValues(),o=Dt()})))),l(e[0]),c((()=>i.applyChanges(d(e,1)))),L),getTransactionMergeableChanges:h,applyMergeableChanges:f,merge:e=>{const t=g(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)},getContentHash:()=>o[2],getTablesHash:()=>o[1][0][2],getTableHash:e=>Ie(o[1][0][1],e)?.[2]??0,getRowHash:(e,t)=>Ie(Ie(o[1][0][1],e)?.[1],t)?.[2]??0,getCellHash:(e,t,s)=>Ie(Ie(Ie(o[1][0][1],e)?.[1],t)?.[1],s)?.[2]??0,getValuesHash:()=>o[1][1][2],getValueHash:e=>Ie(o[1][1][1],e)?.[2]??0};return i.setInternalListeners((()=>{a&&(n=h(),d(n))}),(()=>s=n=void 0)),de(i,((e,t)=>L[t]=V(t,"set")||V(t,"del")||V(t,"apply")||m(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),L):V(t,"add")&&m(t,"Listener")?(...s)=>{const n=Ht[Q(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(L,...t),e(...s)}:e)),ae(L)};export{Be as createCheckpoints,et as createCustomPersister,qe as createIndexes,At as createMergeableStore,Ue as createMetrics,tt as createQueries,st as createRelationships,It as createStore,$e as defaultSorter};
|
|
1
|
+
const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Has",g="Ids",h="Table",f=h+"s",L=h+g,C="Row",w=C+"Count",b=C+g,v="Sorted"+C+g,T="Cell",I=T+g,p="Value",R=p+"s",y=p+g,S=e=>t+e,M=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),m=Math.max,E=Math.min,k=isFinite,D=e=>null==e,A=(e,t,s)=>D(e)?s?.():t(e),H=e=>e==s||e==n,J=t=>e(t)==s,x=t=>e(t)==o,F=e=>Array.isArray(e),Q=(e,t,s)=>e.slice(t,s),z=e=>e.length,N=()=>{},O=(e,t)=>e.includes(t),W=(e,t)=>e.every(t),P=(e,t)=>z(e)===z(t)&&W(e,((e,s)=>t[s]===e)),j=(e,t)=>W(e,((s,n)=>0==n||t(e[n-1],s)<=0)),_=(e,t)=>e.sort(t),B=(e,t)=>e.forEach(t),$=(e,t)=>e.map(t),q=e=>K(e,((e,t)=>e+t),0),G=e=>0==z(e),K=(e,t,s)=>e.reduce(t,s),U=(e,...t)=>e.push(...t),X=e=>e.pop(),Y=e=>e.shift(),Z=Object,ee=e=>Z.getPrototypeOf(e),te=Z.entries,se=Z.isFrozen,ne=e=>!D(e)&&A(ee(e),(e=>e==Z.prototype||D(ee(e))),(()=>!0)),ae=Z.keys,oe=Z.freeze,re=(e=[])=>Z.fromEntries(e),le=(e,t)=>t in e,ie=(e,t)=>(delete e[t],e),ce=(e,t)=>B(te(e),(([e,s])=>t(s,e))),de=(e,t)=>$(te(e),(([e,s])=>t(s,e))),ue=(e,t)=>re(de(e,((e,s)=>[s,t(e,s)]))),ge=e=>ne(e)&&0==(e=>z(ae(e)))(e),he=(e,t,s)=>(le(e,t)||(e[t]=s()),e[t]),fe=(e,t,s,n=0)=>D(e)||!ne(e)||!n&&ge(e)||se(e)?(s?.(),!1):(de(e,((s,n)=>{t(s,n)||ie(e,n)})),!!n||!ge(e)),Le=e=>e?.size??0,Ce=(e,t)=>e?.has(t)??!1,we=e=>D(e)||0==Le(e),be=e=>[...e?.values()??[]],ve=e=>e.clear(),Te=(e,t)=>e?.forEach(t),Ie=(e,t)=>e?.delete(t),pe=e=>new Map(e),Re=e=>[...e?.keys()??[]],ye=(e,t)=>e?.get(t),Se=(e,t)=>Te(e,((e,s)=>t(s,e))),Me=(e,t,s)=>D(s)?(Ie(e,t),e):e?.set(t,s),Ve=(e,t,s,n)=>(Ce(e,t)?n?.(ye(e,t)):Me(e,t,s()),ye(e,t)),me=(e,t,s,n=Me)=>(de(t,((t,n)=>s(e,n,t))),Se(e,(s=>le(t,s)?0:n(e,s))),e),Ee=(e,t,s,n)=>{const a={};return Te(e,((e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;!n?.(s)&&(a[o]=s)}})),a},ke=(e,t,s)=>Ee(e,(e=>Ee(e,t,s)),we,ge),De=(e,t,s)=>Ee(e,(e=>ke(e,t,s)),we,ge),Ae=(e,t)=>{const s=pe();return Te(e,((e,n)=>s.set(n,t?.(e)??e))),s},He=e=>Ae(e,Ae),Je=e=>Ae(e,He),xe=(e,t,s,n,a=0)=>A((s?Ve:ye)(e,t[a],a>z(t)-2?s:pe),(o=>{if(a>z(t)-2)return n?.(o)&&Me(e,t[a]),o;const r=xe(o,t,s,n,a+1);return we(o)&&Me(e,t[a]),r})),Fe=t=>{const s=e(t);return H(s)||s==a&&k(t)?s:void 0},Qe=e=>null===e||!D(Fe(e)),ze=(e,t,s,n,a)=>D(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ne=(e,t,s)=>D(s)?e.delValue(t):e.setValue(t,s),Oe=e=>new Set(F(e)||D(e)?e:[e]),We=(e,t)=>e?.add(t),Pe=(e,t,s,n,a)=>{const o=e.hasRow,r=pe(),l=pe(),i=pe(),c=pe(),d=pe(),u=pe(),g=(t,s,...n)=>{const a=Ve(u,t,Oe);return B(n,(t=>We(a,t)&&s&&e.callListener(t))),n},h=(t,...s)=>A(ye(u,t),(n=>{B(G(s)?be(n):s,(t=>{e.delListener(t),Ie(n,t)})),we(n)&&Me(u,t)})),f=(e,s)=>{Me(r,e,s),Ce(l,e)||(Me(l,e,t()),Me(c,e,pe()),Me(d,e,pe()),a(i))},L=e=>{Me(r,e),Me(l,e),Me(c,e),Me(d,e),h(e),a(i)};return[()=>e,()=>Re(r),e=>Se(l,e),e=>Ce(l,e),e=>ye(r,e),e=>ye(l,e),(e,t)=>Me(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=pe(),u=pe(),L=ye(c,t),C=ye(d,t),w=t=>{const a=s=>e.getCell(n,t,s),c=ye(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||F(c)&&F(d)&&P(c,d)||Me(i,t,[c,d]),!D(l)){const e=ye(C,t),s=o(n,t)?l(a,t):void 0;e!=s&&Me(u,t,s)}},b=e=>{a((()=>{Te(i,(([,e],t)=>Me(L,t,e))),Te(u,((e,t)=>Me(C,t,e)))}),i,u,L,C,e),ve(i),ve(u)};Se(L,w),e.hasTable(n)&&B(e.getRowIds(n),(e=>{Ce(L,e)||w(e)})),b(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>w(s))),e.addTableListener(n,(()=>b())))},L,e=>n(e,i),()=>Se(u,L),g,h]},je=(e,s)=>J(e)?t=>t(e):e??(()=>s??t),_e=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const a=s.get(n);return t?.(a),a}},Be=/^\d+$/,$e=()=>{const e=[];let s=0;return[n=>(n?Y(e):null)??t+s++,t=>{Be.test(t)&&z(e)<1e3&&U(e,t)}]},qe=e=>{let s;const[n,a]=$e(),o=pe();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return Me(o,d,[a,r,l,i,c]),We(xe(r,l??[t],Oe),d),d},(e,n,...a)=>B(((e,s=[t])=>{const n=[],a=(e,t)=>t==z(s)?U(n,e):null===s[t]?Te(e,(e=>a(e,t+1))):B([s[t],null],(s=>a(ye(e,s),t+1)));return a(e,0),n})(e,n),(e=>Te(e,(e=>ye(o,e)[0](s,...n??[],...a))))),e=>A(ye(o,e),(([,s,n])=>(xe(s,n??[t],void 0,(t=>(Ie(t,e),we(t)?1:0))),Me(o,e),a(e),n))),e=>A(ye(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=z(r);l==z(t)?e(s,...r,...a(r)):D(t[l])?B(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},Ge=_e((e=>{let s,n,a,o=100,r=pe(),l=pe(),i=1;const c=pe(),d=pe(),[u,g,h]=qe((()=>x)),f=pe(),L=pe(),C=[],w=[],b=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=ye(f,s);Te(n,((s,n)=>Te(s,((s,a)=>Te(s,((s,o)=>ze(e,n,a,o,s[t]))))))),Te(a,((s,n)=>Ne(e,n,s[t])))})),i=1},v=e=>{Me(f,e),Me(L,e),g(d,[e])},T=(e,t)=>B(((e,t)=>e.splice(0,t))(e,t??z(e)),v),I=()=>T(C,z(C)-o),p=()=>A(s,(()=>{U(C,s),I(),T(w),s=void 0,a=1})),R=()=>{s=X(C),a=1};let y,S;const M=(e="")=>(D(s)&&(s=t+n++,Me(f,s,[r,l]),H(s,e),r=pe(),l=pe(),a=1),s),V=()=>{G(C)||(((e,...t)=>{e.unshift(...t)})(w,M()),b(0,s),s=X(C),a=1)},m=()=>{G(w)||(U(C,s),s=Y(w),b(1,s),a=1)},E=()=>{a&&(g(c),a=0)},k=e=>{const t=M(e);return E(),t},H=(e,t)=>(J(e)&&ye(L,e)!==t&&(Me(L,e,t),g(d,[e])),x),J=e=>Ce(f,e),x={setSize:e=>(o=e,I(),x),addCheckpoint:k,setCheckpoint:H,getStore:()=>e,getCheckpointIds:()=>[[...C],s,[...w]],forEachCheckpoint:e=>Se(L,e),hasCheckpoint:J,getCheckpoint:e=>ye(L,e),goBackward:()=>(V(),E(),x),goForward:()=>(m(),E(),x),goTo:e=>{const t=O(C,e)?V:O(w,e)?m:null;for(;!D(t)&&e!=s;)t();return E(),x},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(h(e),x),clear:()=>(T(C),T(w),D(s)||v(s),s=void 0,n=0,k(),x),clearForward:()=>(G(w)||(T(w),g(c)),x),destroy:()=>{e.delListener(y),e.delListener(S)},getListenerStats:()=>({}),_registerListeners:()=>{y=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){p();const e=Ve(r,t,pe),l=Ve(e,s,pe),i=Ve(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&we(Me(l,n))&&we(Me(e,s))&&we(Me(r,t))&&R(),E()}})),S=e.addValueListener(null,((e,t,s,n)=>{if(i){p();const e=Ve(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&we(Me(l,t))&&R(),E()}}))}};return oe(x.clear())}),(e=>e._registerListeners())),Ke=(e,t)=>(e??0)<(t??0)?-1:1,Ue=_e((e=>{const s=pe(),n=pe(),[a,o,r]=qe((()=>v)),[l,i,c,d,u,g,h,,f,L,C,w]=Pe(e,pe,(e=>D(e)?t:F(e)?$(e,S):S(e)),a,o),b=(t,s,n)=>{const a=u(t);Te(n,((t,n)=>s(n,(s=>Te(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},v={setIndexDefinition:(e,t,a,r,l,i=Ke)=>{const c=D(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,d,u,f)=>{let L=0;const C=Oe(),w=Oe(),b=g(e);if(Te(a,(([e,t],s)=>{const n=Oe(e),a=Oe(t);Te(n,(e=>Ie(a,e)?Ie(n,e):0)),Te(n,(e=>{We(C,e),A(ye(b,e),(t=>{Ie(t,s),we(t)&&(Me(b,e),L=1)}))})),Te(a,(e=>{We(C,e),Ce(b,e)||(Me(b,e,Oe()),L=1),We(ye(b,e),s),D(r)||We(w,e)}))})),t(),we(u)||(f?Se(b,(e=>We(w,e))):Se(l,(e=>A(ye(d,e),(e=>We(w,e))))),Te(w,(e=>{const t=(t,s)=>i(ye(u,t),ye(u,s),e),s=[...ye(b,e)];j(s,t)||(Me(b,e,Oe(_(s,t))),We(C,e))}))),(L||f)&&!D(c)){const t=[...b];j(t,c)||(h(e,pe(_(t,c))),L=1)}L&&o(s,[e]),Te(C,(t=>o(n,[e,t])))}),je(a),A(r,je)),v},delIndexDefinition:e=>(L(e),v),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>b(t,e,s))))),forEachSlice:(e,t)=>b(e,t,g(e)),hasIndex:d,hasSlice:(e,t)=>Ce(g(e),t),getTableId:u,getSliceIds:e=>Re(g(e)),getSliceRowIds:(e,t)=>be(ye(g(e),t)),addIndexIdsListener:C,addSliceIdsListener:(e,t)=>a(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),v),destroy:w,getListenerStats:()=>({})};return oe(v)})),Xe=pe([["avg",[(e,t)=>q(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:E(t,e)]],["sum",[e=>q(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Ye=(e,t,s,n,a,o=!1)=>{if(we(s))return;const[r,l,i,c]=a;return o||=D(e),Te(n,(([s,n])=>{o||(e=D(s)?l?.(e,n,t++):D(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=D(e))})),o?r(be(s),Le(s)):e},Ze=_e((e=>{const s=pe(),[n,a,o]=qe((()=>w)),[r,l,i,c,d,u,g,,h,f,L,C]=Pe(e,N,(e=>isNaN(e)||D(e)||!0===e||!1===e||e===t?void 0:1*e),n,a),w={setMetricDefinition:(e,t,n,o,r,l,i)=>{const c=x(n)?[n,r,l,i]:ye(Xe,n)??ye(Xe,"sum");return h(e,t,((t,n,o,r,l,i)=>{const d=u(e),h=Le(r);i||=D(d),t();let f=Ye(d,h,r,n,c,i);k(f)||(f=void 0),f!=d&&(g(e,f),a(s,[e],f,d))}),je(o,1)),w},delMetricDefinition:e=>(f(e),w),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),w),destroy:C,getListenerStats:()=>({})};return oe(w)})),et=pe(),tt=pe(),st=(e,t,s,n,a,o,r,l={},i=[])=>{let c,d,u,g=0;Ve(et,i,(()=>0)),Ve(tt,i,(()=>[]));const[h,f,L,C]=((e,t)=>!e||D(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ge(e)||!ge(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!ge(e)||!ge(t)])(r,e),w=async e=>(2!=g&&(g=1,await v.schedule((async()=>{await e(),g=0}))),v),b=t=>{(h&&J(t?.[0])?1===t?.[1][2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},v={load:async(s,n)=>await w((async()=>{try{b(await t())}catch(t){o?.(t),e.setContent([s,n])}})),startAutoLoad:async(e={},s={})=>(await v.stopAutoLoad().load(e,s),d=n((async(e,s)=>{const n=s?.();await w((async()=>{try{b(n??e?.()??await t())}catch(e){o?.(e)}}))})),v),stopAutoLoad:()=>(d&&(a(d),d=void 0),v),isAutoLoading:()=>!D(d),save:async e=>(1!=g&&(g=2,await v.schedule((async()=>{try{await s(f,e)}catch(e){o?.(e)}g=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),u=e.addDidFinishTransactionListener((()=>{const e=L();C(e)&&v.save((()=>e))})),v),stopAutoSave:()=>(A(u,e.delListener),u=void 0,v),isAutoSaving:()=>!D(u),schedule:async(...e)=>(U(ye(tt,i),...e),await(async()=>{if(!ye(et,i)){for(Me(et,i,1);!D(c=Y(ye(tt,i)));)try{await c()}catch(e){o?.(e)}Me(et,i,0)}})(),v),getStore:()=>e,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...l};return oe(v)},nt=_e((e=>{const s=e.createStore,n=s(),a=s(),o=pe(),{addListener:r,callListeners:l,delListener:u}=a,[g,f,L,p,R,,,y,,S,M,V,m,E]=Pe(e,(()=>!0),N,r,l),k=(e,t,...s)=>B(s,(s=>We(Ve(Ve(o,t,pe),e,Oe),s))),H=e=>{A(ye(o,e),(e=>{Se(e,((e,t)=>Te(t,(t=>e.delListener(t))))),ve(e)})),B([a,n],(t=>t.delTable(e)))},J=(e,t,s)=>k(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),F={setQueryDefinition:(s,o,r)=>{y(s,o),H(s);const l=[],i=[[null,[o,null,null,[],pe()]]],c=[],d=[],u=[];r({select:(e,s)=>{const n=x(e)?[z(l)+t,e]:[D(s)?e:s,t=>t(e,s)];return U(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=D(s)||x(t)?null:t,a=D(n)?t:s,o=[e,[e,n,x(a)?a:e=>e(a),[],pe()]];return U(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>U(c,x(e)?e:D(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,x(t)?[t,s,n,a]:ye(Xe,t)??[(e,t)=>t]]];return U(d,o),{as:e=>o[0]=e}},having:(e,t)=>U(u,x(e)?e:s=>s(e)===t)});const g=pe(l);if(we(g))return F;const h=pe(i);Se(h,((e,[,t])=>A(ye(h,t),(({3:t})=>D(e)?0:U(t,e)))));const f=pe(d);let L=n;if(we(f)&&G(u))L=a;else{J(s,L,a);const e=pe();Se(f,((t,[s,n])=>We(Ve(e,s,Oe),[t,n])));const t=Oe();Se(g,(s=>Ce(e,s)?0:We(t,s)));const n=pe(),o=(t,n,o,r)=>A(t,(([l,i,c,d])=>{Se(n,((t,[s])=>{const n=Ve(l,t,pe),a=ye(n,o),i=r?void 0:s;if(a!==i){const s=Oe([[a,i]]),r=Le(n);Me(n,o,i),Te(ye(e,t),(([e,t])=>{const a=Ye(d[e],r,n,s,t);d[e]=D(Fe(a))?null:a}))}})),we(i)||!W(u,(e=>e((e=>d[e]))))?a.delRow(s,c):D(c)?t[2]=a.addRow(s,d):a.setRow(s,c,d)}));k(L,s,L.addRowListener(s,null,((a,r,l,i)=>{const c=[],d=[],u=pe(),g=L.hasRow(s,l);let h=!g;Te(t,(e=>{const[t,n,a]=i(s,l,e);U(c,n),U(d,a),h||=t})),Se(e,(e=>{const[t,,n]=i(s,l,e);(h||t)&&Me(u,e,[n])})),h&&o(xe(n,c,void 0,(([,e])=>(Ie(e,l),we(e)))),u,l,1),g&&o(xe(n,d,(()=>{const e={};return Te(t,(t=>e[t]=L.getCell(s,l,t))),[pe(),Oe(),void 0,e]}),(([,e])=>{We(e,l)})),u,l)})))}J(s,e,L);const C=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);B(r,(n=>{const[a,,o,r,i]=ye(h,n),c=o?.(l,t),[d,u]=ye(i,t)??[];c!=d&&(D(u)||E(s,u),Me(i,t,D(c)?null:[c,...m(s,1,e.addRowListener(a,c,(()=>C(t,a,c,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...D(n)?[o,t,s]:s===o?[o,t,n]:[ye(h,s)?.[0],ye(ye(h,s)?.[4],t)?.[0],n]);L.transaction((()=>W(c,(e=>e(n)))?Se(g,((e,a)=>ze(L,s,t,e,a(n,t)))):L.delRow(s,t)))})(t)},{3:w}=ye(h,null);return L.transaction((()=>m(s,1,e.addRowListener(o,null,((t,n,a)=>{e.hasRow(o,a)?C(a,o,a,w):(L.delRow(s,a),Te(h,(({4:e})=>A(ye(e,a),(([,t])=>{E(s,t),Me(e,a)})))))}))))),F},delQueryDefinition:e=>(H(e),S(e),F),getStore:g,getQueryIds:f,forEachQuery:L,hasQuery:p,getTableId:R,addQueryIdsListener:e=>M((()=>e(F))),delListener:e=>(u(e),F),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return de({[h]:[1,1],[h+I]:[0,1],[w]:[0,1],[b]:[0,1],[v]:[0,5],[C]:[1,2],[I]:[0,2],[T]:[1,3]},(([e,t],s)=>{B(e?["get","has","forEach"]:["get"],(e=>F[e+c+s]=(...t)=>a[e+s](...t))),F[d+c+s+i]=(...e)=>a[d+s+i](...Q(e,0,t),((s,...n)=>e[t](F,...n)),!0)})),oe(F)})),at=_e((e=>{const s=pe(),n=pe(),a=pe(),o=pe(),[r,l,i]=qe((()=>p)),[c,d,u,g,h,f,,,L,C,w,b]=Pe(e,(()=>[pe(),pe(),pe(),pe()]),(e=>D(e)?void 0:e+t),r,l),v=(e,t,s)=>A(f(e),(([n,,a])=>{if(!Ce(a,t)){const o=Oe();if(h(e)!=I(e))We(o,t);else{let e=t;for(;!D(e)&&!Ce(o,e);)We(o,e),e=ye(n,e)}if(s)return o;Me(a,t,o)}return ye(a,t)})),T=(e,t)=>A(f(e),(([,,e])=>Me(e,t))),I=e=>ye(s,e),p={setRelationshipDefinition:(e,t,r,i)=>(Me(s,e,r),L(e,t,((t,s)=>{const r=Oe(),i=Oe(),c=Oe(),[d,u]=f(e);Te(s,(([t,s],n)=>{D(t)||(We(i,t),A(ye(u,t),(e=>{Ie(e,n),we(e)&&Me(u,t)}))),D(s)||(We(i,s),Ce(u,s)||Me(u,s,Oe()),We(ye(u,s),n)),We(r,n),Me(d,n,s),Se(ye(o,e),(t=>{Ce(v(e,t),n)&&We(c,t)}))})),t(),Te(r,(t=>l(n,[e,t]))),Te(i,(t=>l(a,[e,t]))),Te(c,(t=>{T(e,t),l(o,[e,t])}))}),je(i)),p),delRelationshipDefinition:e=>(Me(s,e),C(e),p),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:I,getRemoteRowId:(e,t)=>ye(f(e)?.[0],t),getLocalRowIds:(e,t)=>be(ye(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>D(f(e))?[t]:be(v(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),r(s,o,[e,t])),delListener:e=>(T(...i(e)??[]),p),destroy:b,getListenerStats:()=>({})};return oe(p)})),ot=new globalThis.TextEncoder,rt=e=>{let t=2166136261;return B(ot.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},lt=([e,t,s])=>[e,t,s],it=([e,t])=>[e,t],ct=e=>e[2],dt=(e,t)=>rt(e+":"+t),ut=(e,t,s)=>{e[2]=t>>>0,s>e[0]&&(e[0]=s)},gt=e=>[e,re()],ht=(e="")=>[e,pe(),0],ft=([e,t,s],n=lt)=>[e,Ee(t,n),s],Lt=(t,s)=>F(t)&&3==z(t)&&J(t[0])&&s(t[1])&&e(t[2])==a&&k(t[2]),Ct=e=>[e,e],wt=()=>[pe(),pe()],bt=e=>[...e],vt=([e,t])=>e===t,Tt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?Z.fromEntries([...t]):t)),It=JSON.parse,pt=(e,t,s)=>Me(e,t,ye(e,t)==-s?void 0:s),Rt=()=>{let e,t,s=!1,n=!1,o=0,c=[];const g=pe(),v=pe(),M=pe(),V=pe(),m=pe(),E=pe(),k=pe(),J=pe(),F=pe(),z=pe(),N=pe(),W=pe(),j=pe(),q=pe(),G=Oe(),K=pe(),X=pe(),Y=pe(),Z=pe(),ee=wt(),te=wt(),se=wt(),ne=wt(),ae=wt(),re=wt(),ce=wt(),ue=wt(),he=wt(),be=wt(),xe=wt(),Qe=wt(),Pe=wt(),je=wt(),_e=wt(),Be=wt(),Ge=wt(),Ue=wt(),Xe=wt(),Ye=wt(),Ze=wt(),et=wt(),tt=pe(),st=wt(),[nt,at,ot,rt]=qe((()=>Js)),lt=e=>{if(!fe(e,((e,t)=>O([r,l],t))))return!1;const t=e[r];return!(!H(t)&&t!=a||(Fe(e[l])!=t&&ie(e,l),0))},it=(t,s)=>(!e||Ce(N,s)||$t(s))&&fe(t,((e,t)=>ct(s,t,e)),(()=>$t(s))),ct=(e,t,s,n)=>fe(n?s:ht(s,e,t),((n,a)=>A(dt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>$t(e,t))),dt=(t,s,n,a)=>e?A(ye(ye(N,t),n),(e=>Fe(a)!=e[r]?$t(t,s,n,a,e[l]):a),(()=>$t(t,s,n,a))):D(Fe(a))?$t(t,s,n,a):a,ut=(e,t)=>fe(t?e:ft(e),((t,s)=>A(gt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>qt())),gt=(e,s)=>t?A(ye(j,e),(t=>Fe(s)!=t[r]?qt(e,s,t[l]):s),(()=>qt(e,s))):D(Fe(s))?qt(e,s):s,ht=(e,t,s)=>(A(ye(W,t),(([n,a])=>{Te(n,((t,s)=>{le(e,s)||(e[s]=t)})),Te(a,(n=>{le(e,n)||$t(t,s,n)}))})),e),ft=e=>(t&&(Te(q,((t,s)=>{le(e,s)||(e[s]=t)})),Te(G,(t=>{le(e,t)||qt(t)}))),e),Lt=e=>me(N,e,((e,t,s)=>{const n=pe(),a=Oe();me(Ve(N,t,pe),s,((e,t,s)=>{Me(e,t,s),A(s[l],(e=>Me(n,t,e)),(()=>We(a,t)))})),Me(W,t,[n,a])}),((e,t)=>{Me(N,t),Me(W,t)})),yt=e=>me(j,e,((e,t,s)=>{Me(j,t,s),A(s[l],(e=>Me(q,t,e)),(()=>We(G,t)))}),((e,t)=>{Me(j,t),Me(q,t),Ie(G,t)})),St=e=>ge(e)?Ss():Ts(e),Mt=e=>me(Y,e,((e,t,s)=>Vt(t,s)),((e,t)=>Ft(t))),Vt=(e,t)=>me(Ve(Y,e,(()=>(Ot(e,1),Me(K,e,$e()),Me(X,e,pe()),pe()))),t,((t,s,n)=>mt(e,t,s,n)),((t,s)=>Qt(e,t,s))),mt=(e,t,s,n,a)=>me(Ve(t,s,(()=>(Wt(e,s,1),pe()))),n,((t,n,a)=>Et(e,s,t,n,a)),((n,o)=>zt(e,t,s,n,o,a))),Et=(e,t,s,n,a)=>{Ce(s,n)||Pt(e,t,n,1);const o=ye(s,n);a!==o&&(jt(e,t,n,o,a),Me(s,n,a))},kt=(e,t,s,n,a)=>A(ye(t,s),(t=>Et(e,s,t,n,a)),(()=>mt(e,t,s,ht({[n]:a},e,s)))),Dt=e=>ge(e)?ms():Is(e),At=e=>me(Z,e,((e,t,s)=>Ht(t,s)),((e,t)=>Nt(t))),Ht=(e,t)=>{Ce(Z,e)||_t(e,1);const s=ye(Z,e);t!==s&&(Bt(e,s,t),Me(Z,e,t))},Jt=(e,t)=>{const[s]=ye(K,e),n=s(t);return Ce(ye(Y,e),n)?Jt(e,t):n},xt=e=>ye(Y,e)??Vt(e,{}),Ft=e=>Vt(e,{}),Qt=(e,t,s)=>{const[,n]=ye(K,e);n(s),mt(e,t,s,{},!0)},zt=(e,t,s,n,a,o)=>{const r=ye(ye(W,e)?.[0],a);if(!D(r)&&!o)return Et(e,s,n,a,r);const l=t=>{jt(e,s,t,ye(n,t)),Pt(e,s,t,-1),Me(n,t)};D(r)?l(a):Se(n,l),we(n)&&(Wt(e,s,-1),we(Me(t,s))&&(Ot(e,-1),Me(Y,e),Me(K,e),Me(X,e)))},Nt=e=>{const t=ye(q,e);if(!D(t))return Ht(e,t);Bt(e,ye(Z,e)),_t(e,-1),Me(Z,e)},Ot=(e,t)=>pt(g,e,t),Wt=(e,t,s)=>pt(Ve(V,e,pe),t,s)&&Me(M,e,Ve(M,e,(()=>0))+s),Pt=(e,t,s,n)=>{const a=ye(X,e),o=ye(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&pt(Ve(v,e,pe),s,n),Me(a,s,o!=-n?o+n:null),pt(Ve(Ve(m,e,pe),t,pe),s,n)},jt=(e,t,s,n,a)=>Ve(Ve(Ve(E,e,pe),t,pe),s,(()=>[n,0]))[1]=a,_t=(e,t)=>pt(k,e,t),Bt=(e,t,s)=>Ve(J,e,(()=>[t,0]))[1]=s,$t=(e,t,s,n,a)=>(U(Ve(Ve(Ve(F,e,pe),t,pe),s,(()=>[])),n),a),qt=(e,t,s)=>(U(Ve(z,e,(()=>[])),t),s),Gt=(e,t,s)=>A(ye(ye(ye(E,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ct(cs(e,t,s))])),Kt=e=>A(ye(J,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ct(gs(e))])),Ut=e=>we(F)||we(Be[e])?0:Te(e?Je(F):F,((t,s)=>Te(t,((t,n)=>Te(t,((t,a)=>at(Be[e],[s,n,a],t))))))),Xt=e=>we(z)||we(Ge[e])?0:Te(e?Ae(z):z,((t,s)=>at(Ge[e],[s],t))),Yt=(e,t,s,n)=>{if(!we(e))return at(t,n,(()=>Ee(e))),Se(e,((e,t)=>at(s,[...n??[],e],1==t))),1},Zt=e=>{const t=hs();t!=s&&at(ee[e],void 0,t);const n=we(be[e]),a=we(Pe[e])&&we(je[e])&&we(he[e])&&we(xe[e])&&we(re[e])&&we(ce[e])&&we(ue[e])&&n&&we(se[e])&&we(ne[e]),o=we(_e[e])&&we(Qe[e])&&we(ae[e])&&we(te[e]);if(!a||!o){const t=e?[Ae(g),He(v),Ae(M),He(V),Je(m),Je(E)]:[g,v,M,V,m,E];if(!a){Yt(t[0],se[e],ne[e]),Te(t[1],((t,s)=>Yt(t,re[e],ce[e],[s]))),Te(t[2],((t,s)=>{0!=t&&at(ue[e],[s],os(s))}));const s=Oe();Te(t[3],((t,a)=>{Yt(t,he[e],xe[e],[a])&&!n&&(at(be[e],[a,null]),We(s,a))})),n||Te(t[5],((t,n)=>{if(!Ce(s,n)){const s=Oe();Te(t,(e=>Te(e,(([t,n],a)=>n!==t?We(s,a):Ie(e,a))))),Te(s,(t=>at(be[e],[n,t])))}})),Te(t[4],((t,s)=>Te(t,((t,n)=>Yt(t,Pe[e],je[e],[s,n])))))}if(!o){let s;Te(t[5],((t,n)=>{let a;Te(t,((t,o)=>{let r;Te(t,(([t,l],i)=>{l!==t&&(at(_e[e],[n,o,i],l,t,Gt),s=a=r=1)})),r&&at(Qe[e],[n,o],Gt)})),a&&at(ae[e],[n],Gt)})),s&&at(te[e],void 0,Gt)}}},es=e=>{const t=bs();t!=n&&at(Ue[e],void 0,t);const s=we(Ye[e])&&we(Ze[e]),a=we(et[e])&&we(Xe[e]);if(!s||!a){const t=e?[Ae(k),Ae(J)]:[k,J];if(s||Yt(t[0],Ye[e],Ze[e]),!a){let s;Te(t[1],(([t,n],a)=>{n!==t&&(at(et[e],[a],n,t,Kt),s=1)})),s&&at(Xe[e],void 0,Kt)}}},ts=(e,...t)=>(Ds((()=>e(...$(t,S)))),Js),ss=()=>De(Y),ns=()=>Re(Y),as=e=>Re(ye(X,S(e))),os=e=>Le(ye(Y,S(e))),rs=e=>Re(ye(Y,S(e))),ls=(e,t,s,n=0,a)=>{return $(Q(_((o=ye(Y,S(e)),r=(e,s)=>[D(t)?s:ye(e,S(t)),s],$([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ke(e,t)*(s?-1:1))),n,D(a)?a:n+a),(([,e])=>e));var o,r},is=(e,t)=>Re(ye(ye(Y,S(e)),S(t))),cs=(e,t,s)=>ye(ye(ye(Y,S(e)),S(t)),S(s)),ds=()=>Ee(Z),us=()=>Re(Z),gs=e=>ye(Z,S(e)),hs=()=>!we(Y),fs=e=>Ce(Y,S(e)),Ls=(e,t)=>Ce(ye(X,S(e)),S(t)),Cs=(e,t)=>Ce(ye(Y,S(e)),S(t)),ws=(e,t,s)=>Ce(ye(ye(Y,S(e)),S(t)),S(s)),bs=()=>!we(Z),vs=e=>Ce(Z,S(e)),Ts=e=>ts((()=>(e=>fe(e,it,$t))(e)?Mt(e):0)),Is=e=>ts((()=>ut(e)?At(e):0)),ps=e=>{try{St(It(e))}catch{}return Js},Rs=t=>ts((()=>{if((e=fe(t,(e=>fe(e,lt))))&&(Lt(t),!we(Y))){const e=ss();Ss(),Ts(e)}})),ys=e=>ts((()=>{if(t=(e=>fe(e,lt))(e)){const s=ds();ks(),ms(),t=!0,yt(e),Is(s)}})),Ss=()=>ts((()=>Mt({}))),Ms=e=>ts((e=>Ce(Y,e)?Ft(e):0),e),Vs=(e,t)=>ts(((e,t)=>A(ye(Y,e),(s=>Ce(s,t)?Qt(e,s,t):0))),e,t),ms=()=>ts((()=>At({}))),Es=()=>ts((()=>{Lt({}),e=!1})),ks=()=>ts((()=>{yt({}),t=!1})),Ds=(e,t)=>{if(-1!=o){As();const s=e();return Hs(t),s}},As=()=>(-1!=o&&o++,1==o&&at(tt,void 0),Js),Hs=e=>(o>0&&(o--,0==o&&(o=1,Ut(1),we(E)||Zt(1),Xt(1),we(J)||es(1),e?.(Js)&&(Te(E,((e,t)=>Te(e,((e,s)=>Te(e,(([e],n)=>ze(Js,t,s,n,e))))))),ve(E),Te(J,(([e],t)=>Ne(Js,t,e))),ve(J)),at(st[0],void 0),o=-1,Ut(0),we(E)||Zt(0),Xt(0),we(J)||es(0),c[0]?.(Js),at(st[1],void 0),c[1]?.(Js),o=0,s=hs(),n=bs(),B([g,v,M,V,m,E,F,k,J,z],ve))),Js),Js={getContent:()=>[ss(),ds()],getTables:ss,getTableIds:ns,getTable:e=>ke(ye(Y,S(e))),getTableCellIds:as,getRowCount:os,getRowIds:rs,getSortedRowIds:ls,getRow:(e,t)=>Ee(ye(ye(Y,S(e)),S(t))),getCellIds:is,getCell:cs,getValues:ds,getValueIds:us,getValue:gs,hasTables:hs,hasTable:fs,hasTableCell:Ls,hasRow:Cs,hasCell:ws,hasValues:bs,hasValue:vs,getTablesJson:()=>Tt(Y),getValuesJson:()=>Tt(Z),getJson:()=>Tt([Y,Z]),getTablesSchemaJson:()=>Tt(N),getValuesSchemaJson:()=>Tt(j),getSchemaJson:()=>Tt([N,j]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ts((()=>{(ge(e)?Ss:Ts)(e),(ge(t)?ms:Is)(t)})),setTables:Ts,setTable:(e,t)=>ts((e=>it(t,e)?Vt(e,t):0),e),setRow:(e,t,s)=>ts(((e,t)=>ct(e,t,s)?mt(e,xt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ds((()=>{let n;return ct(e,n,t)&&(e=S(e),mt(e,xt(e),n=Jt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ts(((e,t)=>{if(ct(e,t,s,1)){const n=xt(e);de(s,((s,a)=>kt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ts(((e,t,s)=>A(dt(e,t,s,x(n)?n(cs(e,t,s)):n),(n=>kt(e,xt(e),t,s,n)))),e,t,s),setValues:Is,setPartialValues:e=>ts((()=>ut(e,1)?de(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>ts((e=>A(gt(e,x(t)?t(gs(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>ts((()=>{de(e[0],((e,t)=>D(e)?Ms(t):de(e,((e,s)=>D(e)?Vs(t,s):de(e,((e,n)=>ze(Js,t,s,n,e))))))),de(e[1],((e,t)=>Ne(Js,t,e)))})),setTablesJson:ps,setValuesJson:e=>{try{Dt(It(e))}catch{}return Js},setJson:e=>ts((()=>{try{const[t,s]=It(e);St(t),Dt(s)}catch{ps(e)}})),setTablesSchema:Rs,setValuesSchema:ys,setSchema:(e,t)=>ts((()=>{Rs(e),ys(t)})),delTables:Ss,delTable:Ms,delRow:Vs,delCell:(e,t,s,n)=>ts(((e,t,s)=>A(ye(Y,e),(a=>A(ye(a,t),(o=>Ce(o,s)?zt(e,a,t,o,s,n):0))))),e,t,s),delValues:ms,delValue:e=>ts((e=>Ce(Z,e)?Nt(e):0),e),delTablesSchema:Es,delValuesSchema:ks,delSchema:()=>ts((()=>{Es(),ks()})),transaction:Ds,startTransaction:As,getTransactionChanges:()=>[Ee(E,((e,t)=>-1===ye(g,t)?void 0:Ee(e,((e,s)=>-1===ye(ye(V,t),s)?void 0:Ee(e,(([,e])=>e),(e=>vt(e)))),we,ge)),we,ge),Ee(J,(([,e])=>e),(e=>vt(e))),1],getTransactionLog:()=>[!we(E),!we(J),De(E,bt,vt),De(F),Ee(J,bt,vt),Ee(z),Ee(g),ke(V),De(m),Ee(k)],finishTransaction:Hs,forEachTable:e=>Te(Y,((t,s)=>e(s,(e=>Te(t,((t,s)=>e(s,(e=>Se(t,e))))))))),forEachTableCell:(e,t)=>Se(ye(X,S(e)),t),forEachRow:(e,t)=>Te(ye(Y,S(e)),((e,s)=>t(s,(t=>Se(e,t))))),forEachCell:(e,t,s)=>Se(ye(ye(Y,S(e)),S(t)),s),forEachValue:e=>Se(Z,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=ls(e,t,s,n,a);return nt((()=>{const r=ls(e,t,s,n,a);P(r,l)||(l=r,o(Js,e,t,s,n,a,l))}),be[r?1:0],[e,t],[ns])},addStartTransactionListener:e=>nt(e,tt),addWillFinishTransactionListener:e=>nt(e,st[0]),addDidFinishTransactionListener:e=>nt(e,st[1]),callListener:e=>(rt(e),Js),delListener:e=>(ot(e),Js),getListenerStats:()=>({}),createStore:Rt,addListener:nt,callListeners:at,setInternalListeners:(e,t)=>c=[e,t]};return de({[u+f]:[0,ee,[],()=>[hs()]],[f]:[0,te],[L]:[0,se],[u+h]:[1,ne,[ns],e=>[fs(...e)]],[h]:[1,ae,[ns]],[h+I]:[1,re,[ns]],[u+h+T]:[2,ce,[ns,as],e=>[Ls(...e)]],[w]:[1,ue,[ns]],[b]:[1,he,[ns]],[u+C]:[2,xe,[ns,rs],e=>[Cs(...e)]],[C]:[2,Qe,[ns,rs]],[I]:[2,Pe,[ns,rs]],[u+T]:[3,je,[ns,rs,is],e=>[ws(...e)]],[T]:[3,_e,[ns,rs,is],e=>Ct(cs(...e))],InvalidCell:[3,Be],[u+R]:[0,Ue,[],()=>[bs()]],[R]:[0,Xe],[y]:[0,Ye],[u+p]:[1,Ze,[us],e=>[vs(...e)]],[p]:[1,et,[us],e=>Ct(gs(e[0]))],InvalidValue:[1,Ge]},(([e,t,s,n],a)=>{Js[d+a+i]=(...a)=>nt(a[e],t[a[e+1]?1:0],e>0?Q(a,0,e):void 0,s,n)})),oe(Js)},yt=2**36,St=2**30,Mt=2**24,Vt=2**18,mt=4096,Et=64,kt=e=>String.fromCharCode(48+(63&e)),Dt=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,At={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},Ht=(e="")=>[e,[ht(e),ht(e)],0],Jt=e=>{let s,n,a=1,o=Ht();const[r,l]=(e=>{let t=0,s=-1;const n=rt(e),a=e=>{const n=t,[a,o]=D(e)||""==e?[0,0]:[Dt(r=e,0)*yt+Dt(r,1)*St+Dt(r,2)*Mt+Dt(r,3)*Vt+Dt(r,4)*mt+Dt(r,5)*Et+Dt(r,6),Dt(r,7)*Vt+Dt(r,8)*mt+Dt(r,9)*Et+Dt(r,10),Dt(r,11)*Mt+Dt(r,12)*Vt+Dt(r,13)*mt+Dt(r,14)*Et+Dt(r,15)];var r;t=m(n,a,Date.now()),s=t==n?t==a?m(s,o):s:t==a?o:-1};return[()=>{return a(),o=++s,r=n,kt((e=t)/yt)+kt(e/St)+kt(e/Mt)+kt(e/Vt)+kt(e/mt)+kt(e/Et)+kt(e)+kt(o/Vt)+kt(o/mt)+kt(o/Et)+kt(o)+kt(r/Mt)+kt(r/Vt)+kt(r/mt)+kt(r/Et)+kt(r);var e,o,r},a]})(e),i=Rt(),c=e=>{const t=a;return a=0,e(),a=t,L},d=(e,t=0)=>{const s={},n={},[a,[[r,l,i],c],d]=e,[,[g,h]]=o,[f,L,C]=g;if(r){let e=t?i:C^(r>f?(f?rt(f):0)^rt(r):0);ce(l,(([n,a,o],r)=>{const l=Ve(L,r,ht),[i,c,d]=l;let g=t?o:d^(n>i?(i?rt(i):0)^rt(n):0);ce(a,((e,n)=>{const[a,o]=u(e,Ve(c,n,ht),he(he(s,r,re),n,re),t);g^=t?0:(a?dt(n,a):0)^dt(n,o)})),ut(l,g,n),e^=t?0:(d?dt(r,d):0)^dt(r,l[2])})),ut(g,e,r)}return u(c,h,n,t),ut(o,t?d:g[2]^h[2],a),[s,n,1]},u=(e,s,n,a)=>{const[o,r,l]=e,[i,c,d]=s;if(o){let e=a?l:d^(o>i?(i?rt(i):0)^rt(o):0);ce(r,(([s,o,r],l)=>{const i=Ve(c,l,(()=>[t,void 0,0])),[d,,u]=i;s>d&&(ut(i,a?r:rt(Tt(o??null)+":"+s),s),i[1]=o,n[l]=o,e^=a?0:dt(l,u)^dt(l,i[2]))})),ut(s,e,o)}return[d,s[2]]},g=()=>[o[0],[ft(o[1][0],(e=>ft(e,(e=>ft(e))))),ft(o[1][1])],o[2]],h=()=>{if(D(n)){const[,,e,,n]=i.getTransactionLog(),a=ge(e)&&ge(n)?t:s??(s=r()),o=[a,[gt(ge(e)?t:a),gt(ge(n)?t:a),1]],[[,l],[,c]]=o[1];return de(e,((e,t)=>{const[,s]=l[t]=gt(a);de(e,((e,t)=>{const[,n]=s[t]=gt(a);de(e,(([,e],t)=>n[t]=[a,e]))}))})),de(n,(([,e],t)=>c[t]=[a,e])),o}return n},f=e=>c((()=>{l(e[0]),i.applyChanges(d(e))})),L={getId:()=>e,getMergeableContent:g,getMergeableContentHashes:()=>[o[0],[o[1][0][2],o[1][1][2]]],getMergeableTableHashes:()=>Ee(o[1][0][1],ct),getMergeableTableIdsDiff:e=>{const t=[];return Se(o[1][0][1],((s,[,,n])=>{n!==e?.[s]&&U(t,s)})),t},getMergeableRowHashes:e=>re($(e,(e=>[e,Ee(ye(o[1][0][1],e)?.[1],ct)]))),getMergeableRowIdsDiff:e=>ue(e,((e,t)=>{const s=[];return Se(ye(o[1][0][1],t)?.[1],((t,[,,n])=>{n!==e?.[t]&&U(s,t)})),s})),getMergeableCellHashes:e=>ue(e,((e,t)=>re($(e,(e=>[e,Ee(ye(ye(o[1][0][1],t)?.[1],e)?.[1],ct)]))))),getMergeableTablesChanges:e=>{const[,[[t,s]]]=o,n={};return ce(e,((e,t)=>A(ye(s,t),(([s,a])=>{const o={};ce(e,((e,t)=>A(ye(a,t),(([s,n])=>{const a=Ee(n,it,(([,,t],s)=>t==e?.[s]));ge(a)||(o[t]=[s,a])})))),ge(o)||(n[t]=[s,o])})))),[t,n]},getMergeableValuesHashes:()=>Ee(o[1][1][1],ct),getMergeableValuesChanges:e=>[o[1][1][0],Ee(o[1][1][1],it,(([,,t],s)=>t==e?.[s]))],setMergeableContent:e=>c((()=>(e=>Lt(e,(e=>F(e)&&2==z(e)&&Lt(e[0],(e=>fe(e,(e=>Lt(e,(e=>fe(e,(e=>Lt(e,(e=>fe(e,(e=>Lt(e,Qe)),void 0,1)))),void 0,1)))),void 0,1)))&&Lt(e[1],(e=>fe(e,(e=>Lt(e,Qe)),void 0,1))))))(e)?i.transaction((()=>{i.delTables().delValues(),o=Ht(),l(e[0]),i.applyChanges(d(e,1))})):0)),getTransactionMergeableChanges:h,applyMergeableChanges:f,merge:e=>{const t=g(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return i.setInternalListeners((()=>{a&&(n=h(),d(n))}),(()=>s=n=void 0)),de(i,((e,t)=>L[t]=M(t,"set")||M(t,"del")||M(t,"apply")||V(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),L):M(t,"add")&&V(t,"Listener")?(...s)=>{const n=At[Q(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(L,...t),e(...s)}:e)),oe(L)};export{Ge as createCheckpoints,st as createCustomPersister,Ue as createIndexes,Jt as createMergeableStore,Ze as createMetrics,nt as createQueries,at as createRelationships,Rt as createStore,Ke as defaultSorter};
|
package/lib/tinybase.js.gz
CHANGED
|
Binary file
|
package/lib/tools.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,l="tinybase",t="",a=",",n=e(t),d=e(!0),o=e(0),s="type",r="default",I="Listener",$="get",c="add",u="Has",i="Ids",b="Table",p=b+"s",C=b+i,h="Row",m=h+i,g="Sorted"+h+i,w="Cell",f=w+i,T="Value",y=T+"s",v=T+i,V=Promise,x=isFinite,R=e=>null==e,A=(e,l,t)=>R(e)?t?.():l(e),k=e=>e==n||e==d,S=l=>e(l)==n,P=e=>Array.isArray(e),O=(e,l,t)=>e.slice(l,t),E=e=>e.length,N=async e=>V.all(e),D=l=>{const t=e(l);return k(t)||t==o&&x(l)?t:void 0},L=(e,l)=>e.every(l),G=(e,l)=>e.sort(l),j=(e,l)=>e.forEach(l),H=(e,l=t)=>e.join(l),M=(e,l)=>e.map(l),J=(e,l)=>e.filter(l),z=(e,...l)=>e.push(...l),W=e=>e.pop(),B=(e,...l)=>e.unshift(...l),F=e=>e.shift(),U=Object,_=e=>U.getPrototypeOf(e),Z=U.entries,Q=U.keys,q=U.freeze,K=e=>!R(e)&&A(_(e),(e=>e==U.prototype||R(_(e))),(()=>!0)),X=(e,l)=>M(Z(e),(([e,t])=>l(t,e))),Y=e=>E(Q(e)),ee=e=>K(e)&&0==Y(e),le=(e,l)=>e?.has(l)??!1,te=e=>[...e?.values()??[]],ae=(e,l)=>e?.forEach(l),ne=(e,l)=>e?.delete(l),de=e=>new Map(e),oe=(e,l)=>e?.get(l),se=(e,l)=>ae(e,((e,t)=>l(t,e))),re=(e,l)=>M([...e?.entries()??[]],(([e,t])=>l(t,e))),Ie=(e,l,t)=>R(t)?(ne(e,l),e):e?.set(l,t),$e=(e,l,t,a)=>(le(e,l)?a?.(oe(e,l)):Ie(e,l,t()),oe(e,l)),ce=e=>e.toUpperCase(),ue=e=>e.toLowerCase(),ie="a ",be="A function for",pe=", and registers a listener so that any changes to that result will cause a re-render",Ce="Callback",he="Changes",me="Count",ge="Del",we="Deps",fe=we+"?: React.DependencyList",Te="doRollback?: DoRollback",ye="actions: () => Return, "+Te,ve="export",Ve="Id",xe="Invalid",Re="Json",Ae=ue(I),ke="?: ",Se=" | undefined",Pe="NonNullable",Oe="Partial",Ee="Props",Ne="Provider",De=`Registers a ${Ae} that will be called`,Le="Represents",Ge="rowId: "+Ve,je="Schema",He="Set",Me=", descending?: boolean, offset?: number, limit?: number",Je="[]",ze="the Store",We="Transaction",Be=ue(We),Fe="Execute a "+Be+" to make multiple mutations",Ue="Explicitly starts a "+Be,_e="Explicitly finishes a "+Be,Ze="the end of the "+Be,Qe="void",qe=" => "+Qe,Ke="WhenSet",Xe=" when setting it",Ye=ie+"string serialization of",el=" ",ll="Gets a callback that can ",tl="the ",al=" the schema for",nl=(e=0)=>e?"the existence of ":"",dl=(e=0,l=0,a=0)=>nl(a)+`the ${yl[e]}content of`+(l?el+ze:t),ol=(e=0,l,a=0,n=0)=>wl[l]+el+nl(n)+dl(e,1)+(a?" when setting it":t),sl=(e,l=0)=>Le+` a Row when ${l?"s":"g"}etting ${dl()} the '${e}' `+b,rl=(e,l,t=0)=>`Gets ${t?"sorted, paginated":"the"} Ids of the ${e}s in `+l,Il=(e,l)=>`Calls a function for each ${e} in `+l,$l=e=>"The props passed to a component that renders "+e,cl=e=>"A function that takes "+e,ul=(e,l=0,t=0)=>be+" listening to changes to "+nl(t)+Tl[e]+" in "+Tl[l],il=(e,l,a=0,n=0)=>De+" whenever "+nl(n)+Tl[e]+" in "+Tl[l]+" change"+(a?t:"s"),bl=e=>`the '${e}' `+b,pl=e=>"the specified Row in "+bl(e),Cl=(e,l=0,t=0)=>wl[l]+el+dl(0,0,t)+el+bl(e),hl=(e,l=0,t=0)=>wl[l]+` ${dl(0,0,t)} `+pl(e),ml=(e,l,t=0,a=0)=>wl[t]+el+nl(a)+`the '${l}' Cell for `+pl(e),gl=(e,l=0,t=0)=>wl[l]+el+nl(t)+`the '${e}' Value`,wl=["Gets","Checks existence of","Sets","Deletes","Sets part of",Le,"Gets "+Ye,"Sets "+Ye,De+" whenever",ll+"set",ll+"add",ll+"set part of",ll+"delete","Renders","Gets "+Ye+al,"Sets"+al,"Deletes"+al],fl=[$,"has","set","del","set","forEach",c,t],Tl=[ze,p,tl+b+el+i,ie+b,tl+h+el+i,ie+h,tl+w+el+i,ie+w,"invalid Cell changes",y,tl+T+el+i,ie+T,"invalid Value changes",tl+"sorted "+h+el+i,tl+w+el+i+" anywhere",tl+"number of Rows",ie+w+" anywhere"],yl=[t,"tabular ","keyed value "],vl=e=>new Set(P(e)||R(e)?e:[e]),Vl=(e,l)=>e?.add(l),xl=/[^A-Za-z]+/,Rl=/[^A-Za-z0-9]+/,Al=/^( *)\/\*\* *(.*?) *\*\/$/gm,kl=e=>e.includes(a),Sl=(e,l,t,a=1)=>{const n=`${l}${1==a?"":a}`;return le(e,n)?Sl(e,l,t,a+1):(Ie(e,n,t),n)},Pl=e=>e.replace(Al,((e,l,t)=>{const a=77-E(l);return`${l}/**\n${t.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),l+" * $1\n")}${l} */`})),Ol=e=>e.flat(1e3),El=(e,l=0)=>H(M(e.split(Rl),((e,t)=>(t>0||l?ce:ue)(O(e,0,1))+O(e,1)))),Nl=e=>ce(H((e&&!xl.test(e[0])?e:" "+e).split(Rl),"_")),Dl=e=>`/** ${e}. */`,Ll=(...e)=>H(J(e,(e=>e)),", "),Gl=(...e)=>"{"+H(e,"; ")+"}",jl=(...e)=>Gl(...M(e,(e=>"readonly "+e))),Hl=()=>{const e=[de(),de(),de(),de()],l=de(),a=de(),n=e=>{const l=e.indexOf(" as ");return-1!=l?O(e,l+4):e};return[(...e)=>H(Ol(e),"\n"),(l,t,...a)=>j(a,(a=>j([0,1],(n=>(l??n)==n?Vl($e(e[n],t,vl),a):0)))),(e,a,n,d=t,o=1)=>Sl(l,e,[a,n,d,o]),(e,l,t)=>Sl(a,e,P(t)?[`(${l}) => {`,t,"}"]:[`(${l}) => ${t}`]),(e,l)=>oe(a,e)===l?e:Sl(a,e,l),(l=0)=>M([...G(re(e[l],((e,l)=>`import {${H(G(te(e),((e,l)=>n(e)>n(l)?1:-1)),", ")}} from '${l}';`)),((e,l)=>kl(e)!=kl(l)?kl(e)?-1:1:e>l?1:-1)),t],(e=>e.replace("{React}","React"))),()=>re(l,(([e,l,a,n],d)=>[Dl(l),`${n?ve+" ":t}type ${d}${a} = ${e};`,t])),()=>re(a,((e,l)=>(e=P(e)?e:[e],z(e,W(e)+";"),[`const ${l} = ${F(e)}`,e,t])))]},Ml=(e,l)=>{const t=new WeakMap;return a=>{t.has(a)||t.set(a,e(a));const n=t.get(a);return l?.(n),n}},Jl=(e,l,t)=>[l=>X(e,((e,a)=>l(a,El(a,1),t(Nl(a),`'${a}'`)))),(l,a)=>X(e[l],((e,l)=>a(l,e[s],e[r],t(Nl(l),`'${l}'`),El(l,1)))),e=>X(l,((l,a)=>e(a,l[s],l[r],t(Nl(a),`'${a}'`),El(a,1))))],zl=(e,l,a,n)=>[(n,d)=>{const o=n+": "+d,s=e(p,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...a(e,((e,l,a)=>`'${e}'${R(a)?"?":t}: ${l}`)))+"}"))),ol(1,5)),r=e(p+Ke,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...a(e,((e,l)=>`'${e}'?: ${l}`)))+"}"))),ol(1,5,1)),$=e(b+Ve,"keyof "+s,"A "+b+" Id in "+ze),c=`<TId extends ${$}>`,i=e(b,Pe+`<${s}[TId]>`,"A "+b+" in "+ze,c),T=e(b+Ke,Pe+`<${r}[TId]>`,"A "+b+" in "+ze+Xe,c),y=e(h,i+"<TId>[Id]","A "+h+" in a "+b,c),v=e(h+Ke,T+"<TId>[Id]","A "+h+" in a "+b+Xe,c),V=e(w+Ve,`Extract<keyof ${y}<TId>, Id>`,"A "+w+" Id in a "+h,c),x=e(w,Pe+`<${s}[TId]>[Id][CId]`,"A "+w+" in a "+h,`<TId extends ${$}, CId extends ${V}<TId>>`),A=e("CellIdCellArray",`CId extends ${V}<TId> ? [cellId: CId, cell: ${x}<TId, CId>] : never`,w+" Ids and types in a "+h,`<TId extends ${$}, CId = ${V}<TId>>`,0),k=e(w+Ce,`(...[cellId, cell]: ${A}<TId>)`+qe,cl(ie+w+" Id, and "+w),c),S=e(h+Ce,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+qe+") "+qe,cl(ie+h+" Id, and a "+w+" iterator"),c),P=e(b+w+Ce,`(cellId: ${V}<TId>, count: number) `+qe,cl(ie+w+" Id, and count of how many times it appears"),c),O=e("TableIdForEachRowArray",`TId extends ${$} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${qe}] : never`,b+" Ids and callback types",`<TId = ${$}>`,0),E=e(b+Ce,`(...[tableId, forEachRow]: ${O})`+qe,cl(ie+b+" Id, and a "+h+" iterator"),t),N=e("TableIdRowIdCellIdArray",`TId extends ${$} ? [tableId: TId, rowId: Id, cellId: ${V}<TId>] : never`,"Ids for GetCellChange",`<TId = ${$}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${N}) => CellChange`,be+" returning information about any Cell's changes during a "+Be),L=e(u+p+I,`(${o}, hasTables: boolean)`+qe,ul(1,0,1)),G=e(p+I,`(${o}, getCellChange: ${D}${Se})`+qe,ul(1)),j=e(C+I,`(${o})`+qe,ul(2)),H=e(u+b+I,`(${o}, tableId: ${$}, hasTable: boolean)`+qe,ul(3,0,1)),M=e(b+I,`(${o}, tableId: ${$}, getCellChange: ${D}${Se})`+qe,ul(3)),J=e(b+f+I,`(${o}, tableId: ${$})`+qe,ul(14,3)),z=e("HasTableCellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, cellId: CId, hasTableCell: boolean] : never`,"Cell args for HasTableCellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),W=e("HasTableCellListenerArgsArrayOuter",`TId extends ${$} ? `+z+"<TId> : never","Table args for HasTableCellListener",`<TId = ${$}>`,0),B=e(u+b+w+I,`(...[${n}, tableId, cellId, hasTableCell]: `+W+")"+qe,ul(16,3,1)),F=e(h+"Count"+I,`(${o}, tableId: ${$})`+qe,ul(15,3)),U=e(m+I,`(${o}, tableId: ${$})`+qe,ul(4,3)),_=e(g+I,"("+Ll(o,"tableId: "+$,"cellId: Id"+Se,"descending: boolean","offset: number","limit: number"+Se,"sortedRowIds: Ids")+")"+qe,ul(13,3)),Z=e(u+h+I,"("+Ll(""+o,"tableId: "+$,Ge,"hasRow: boolean")+")"+qe,ul(5,3,1)),Q=e(h+I,"("+Ll(""+o,"tableId: "+$,Ge,`getCellChange: ${D}${Se}`)+")"+qe,ul(5,3)),q=e(f+I,"("+Ll(""+o,"tableId: "+$,Ge)+")"+qe,ul(6,5)),K=e("HasCellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, ${Ge}, cellId: CId, hasCell: boolean] : never`,"Cell args for HasCellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),X=e("HasCellListenerArgsArrayOuter",`TId extends ${$} ? `+K+"<TId> : never","Table args for HasCellListener",`<TId = ${$}>`,0),Y=e(u+w+I,`(...[${n}, tableId, rowId, cellId, hasCell]: `+X+")"+qe,ul(7,5,1)),ee=e("CellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, ${Ge}, cellId: CId, newCell: ${x}<TId, CId> ${Se}, oldCell: ${x}<TId, CId> ${Se}, getCellChange: ${D} ${Se}] : never`,"Cell args for CellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),le=e("CellListenerArgsArrayOuter",`TId extends ${$} ? `+ee+"<TId> : never","Table args for CellListener",`<TId = ${$}>`,0);return[s,r,$,i,T,y,v,V,x,k,S,P,E,L,G,j,H,M,J,B,F,U,_,Z,Q,q,Y,e(w+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${le})`+qe,ul(7,5)),e(xe+w+I,`(${o}, tableId: Id, ${Ge}, cellId: Id, invalidCells: any[])`+qe,ul(8))]},(l,a)=>{const d=l+": "+a,o=e(y,Gl(...n(((e,l,a)=>`'${e}'${R(a)?"?":t}: ${l}`))),ol(2,5)),s=e(y+Ke,Gl(...n(((e,l)=>`'${e}'?: ${l}`))),ol(2,5,1)),r=e(T+Ve,"keyof "+o,"A "+T+" Id in "+ze),$=e(T,Pe+`<${o}[VId]>`,"A "+T+" Id in "+ze,`<VId extends ${r}>`),c=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${$}<VId>] : never`,T+" Ids and types in "+ze,`<VId = ${r}>`,0),i=e(T+Ce,`(...[valueId, value]: ${c})`+qe,cl(ie+T+" Id, and "+T)),b=e("GetValueChange",`(valueId: ${r}) => ValueChange`,be+" returning information about any Value's changes during a "+Be),p=e(u+y+I,`(${d}, hasValues: boolean)`+qe,ul(9,0,1)),C=e(y+I,`(${d}, getValueChange: ${b}${Se})`+qe,ul(9)),h=e(v+I,`(${d})`+qe,ul(10)),m=e(u+T+I,`(${d}, valueId: ValueId, hasValue: boolean)`+qe,ul(11,0,1)),g=e("ValueListenerArgsArray",`VId extends ${r} ? [${d}, valueId: VId, newValue: ${$}<VId> ${Se}, oldValue: ${$}<VId> ${Se}, getValueChange: ${b} ${Se}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[o,s,r,$,i,p,C,h,m,e(T+I,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+g+")"+qe,ul(11)),e(xe+T+I,`(${d}, valueId: Id, invalidValues: any[])`+qe,ul(12))]},(l,t)=>e(We+I,`(${l}: ${t})`+qe,be+" listening to the completion of a "+Be)],Wl=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Bl=(e,l=t)=>`fluent(() => ${Wl(e,l)})`,Fl=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Ul=(e,a,n)=>{const[o,$,V,x,A,k,P,O]=Hl(),[E,N,D]=Jl(e,a,A),[L,G,M]=zl(V,E,N,D),J=de(),W=(e=0)=>re(J,(([l,a,n,d,o],s)=>{const r=e?[s+`: ${o}(${l}): ${a} => ${n},`]:[s+o+`(${l}): ${a};`];return e||B(r,Dl(d)),z(r,t),r})),F=(e,l,a,n,d,o=t)=>Sl(J,e,[l,a,n,d,o]),U=(e,l,a,n,d,o=t,s=t,r=t)=>F(fl[e]+l+(4==e?Oe:t)+a,o,n,(n==Q?Bl:Wl)(fl[e]+(4==e?Oe:t)+a,s,e?void 0:n),d,r),_=(e,l,a,n=t,d=t,o=1,s=t)=>F(c+e+I,(n?n+", ":t)+Ae+": "+l+(o?", mutator?: boolean":t),Ve,Fl(c+e+I,d,o?"mutator":t),a,s),Z=`./${El(n)}.d`,Q=El(n,1),q=El(Q),K=[],X=de();let Y=[],le=[];if($(1,Z,Q,`create${Q} as create${Q}Decl`),ee(e))$(null,l,p);else{$(0,l,"CellChange"),$(null,l,i);const[e,a,n,o,I,c,T,y,v,x,k,P,O,D,G,M,J,W,B,F,ee,le,ae,ne,se,re,$e,ce,ue]=L(q,Q),ie=de();E(((e,l)=>{const t=`<'${e}'>`,a=[V(l+b,o+t,Le+` the '${e}' `+b),V(l+b+Ke,I+t,Le+` the '${e}' `+b+Xe),V(l+h,c+t,sl(e)),V(l+h+Ke,T+t,sl(e,1)),V(l+w+Ve,y+t,`A Cell Id for the '${e}' `+b),V(l+w+Ce,x+t,cl(`a Cell Id and value from a Row in the '${e}' `+b)),V(l+h+Ce,k+t,cl(`a Row Id from the '${e}' Table, and a Cell iterator`)),V(l+b+w+Ce,P+t,cl(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];Ie(ie,e,a),$(1,Z,...a)})),$(1,Z,e,a,n,y,O,D,G,M,J,W,B,F,ee,le,ae,ne,se,re,$e,ce,ue),Y=[e,a,n,y,D,G,M,J,W,B,F,ee,le,ae,ne,se,re,$e,ce,ie],j([[e],[d],[Q,"tables: "+a,"tables"],[Q]],(([e,l,a],n)=>U(n,t,p,e,ol(1,n),l,a))),U(0,t,C,n+Je,rl(b,ze)),U(5,t,b,Qe,Il(b,ze),"tableCallback: "+O,"tableCallback as any"),E(((e,l,a)=>{const[n,o,s,r,I,$,c,u]=oe(ie,e);j([[n],[d],[Q,"table: "+o,", table"],[Q]],(([n,d,o=t],s)=>U(s,l,b,n,Cl(e,s),d,a+o))),U(0,l,b+f,i,rl(w,"the whole of "+bl(e)),t,a),U(5,l,b+w,Qe,Il(b+w,"the whole of "+bl(e)),"tableCellCallback: "+u,a+", tableCellCallback as any"),U(0,l,h+me,"number","Gets the number of Rows in the "+bl(e),t,a),U(0,l,m,i,rl(h,bl(e)),t,a),U(0,l,g,i,rl(h,bl(e),1),"cellId?: "+I+Me,a+", cellId, descending, offset, limit"),U(5,l,h,Qe,Il(h,bl(e)),"rowCallback: "+c,a+", rowCallback as any"),j([[s],[d],[Q,", row: "+r,", row"],[Q],[Q,", partialRow: "+r,", partialRow"]],(([n,d=t,o=t],s)=>U(s,l,h,n,hl(e,s),Ge+d,a+", rowId"+o))),U(6,l,h,Ve+Se,"Add a new Row to "+bl(e),"row: "+r+", reuseIds?: boolean",a+", row, reuseIds"),U(0,l,f,I+Je,rl(w,pl(e)),Ge,a+", rowId"),U(5,l,w,Qe,Il(w,pl(e)),Ge+", cellCallback: "+$,a+", rowId, cellCallback as any"),N(e,((n,o,s,r,I)=>{const $="Map"+El(o,1);Ie(X,o,$);const c=o+(R(s)?Se:t);j([[c],[d],[Q,`, cell: ${o} | `+$,", cell as any"],[Q]],(([d,o=t,s=t],$)=>U($,l+I,w,d,ml(e,n,$),Ge+o,a+", rowId, "+r+s))),U(1,l+I,b+w,d,wl[1]+` the '${n}' Cell anywhere in `+bl(e),t,a+", "+r)}))})),U(0,t,p+Re,Re,ol(1,6)),U(2,t,p+Re,Q,ol(1,7),"tablesJson: "+Re,"tables"+Re),_(u+p,D,ol(1,8,0,1)+" changes"),_(p,G,ol(1,8)+" changes"),_(C,M,il(2,0,1)),_(u+b,J,il(3,0,0,1),`tableId: ${n} | null`,"tableId"),_(b,W,il(3,0),`tableId: ${n} | null`,"tableId"),_(b+f,B,il(14,3,1),`tableId: ${n} | null`,"tableId"),_(u+b+w,F,il(16,3,0,1),`tableId: ${n} | null, cellId: ${H(E((e=>oe(ie,e)?.[4]??t))," | ")} | null`,"tableId, cellId"),_(h+me,ee,il(15,3),`tableId: ${n} | null`,"tableId"),_(m,le,il(4,3,1),`tableId: ${n} | null`,"tableId"),_(g,ae,il(13,3,1),Ll("tableId: TId",`cellId: ${y}<TId>`+Se,"descending: boolean","offset: number","limit: number"+Se),Ll("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(u+h,ne,il(5,3,0,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(h,se,il(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,re,il(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(u+w,$e,il(7,5,0,1),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${H(E((e=>oe(ie,e)?.[4]??t))," | ")} | null`,"tableId, rowId, cellId"),_(w,ce,il(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${H(E((e=>oe(ie,e)?.[4]??t))," | ")} | null`,"tableId, rowId, cellId"),_(xe+w,ue,De+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),$(1,Z,...te(X)),z(K,".set"+p+je+"({",Ol(E(((e,l,a)=>[`[${a}]: {`,...N(e,((e,l,a,n)=>`[${n}]: {[${A(Nl(s),`'${s}'`)}]: ${A(Nl(l),`'${l}'`)}${R(a)?t:`, [${A(Nl(r),`'${r}'`)}]: `+(S(a)?A(Nl(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(ee(a))$(null,l,y);else{const[e,a,n,o,I,c,i,b,p,C,h]=G(q,Q);$(1,Z,e,a,n,I,c,i,b,p,C,h),le=[e,a,n,c,i,b,p,C],j([[e],[d],[Q,"values: "+a,"values"],[Q],[Q,"partialValues: "+a,"partialValues"]],(([e,l,a],n)=>U(n,t,y,e,ol(2,n),l,a))),U(0,t,v,n+Je,rl(T,ze)),U(5,t,T,"void",Il(T,ze),"valueCallback: "+I,"valueCallback as any"),D(((e,l,a,n,o)=>{const s="Map"+El(l,1);Ie(X,l,s),j([[l],[d],[Q,`value: ${l} | `+s,", value as any"],[Q]],(([l,a,d=t],s)=>U(s,o,T,l,gl(e,s),a,n+d)))})),U(0,t,y+Re,Re,ol(2,6)),U(2,t,y+Re,Q,ol(2,7),"valuesJson: "+Re,"values"+Re),_(u+y,c,ol(2,8,0,1)+" changes"),_(y,i,ol(2,8)+" changes"),_(v,b,il(10,0,1)),_(u+T,p,il(11,0,0,1),`valueId: ${n} | null`,"valueId"),_(T,C,il(11,0),`valueId: ${n} | null`,"valueId"),_(xe+T,h,De+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),$(1,Z,...te(X)),$(0,l,"ValueChange"),z(K,".set"+y+je+"({",D(((e,l,a,n)=>[`[${n}]: {[${A(Nl(s),`'${s}'`)}]: ${A(Nl(l),`'${l}'`)}${R(a)?t:`, [${A(Nl(r),`'${r}'`)}]: `+(S(a)?A(Nl(a),`'${a}'`):a)}},`])),"})")}U(0,t,"Content",`[${p}, ${y}]`,ol(0,0)),U(2,t,"Content",Q,ol(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(7,t,"applyChanges",Q,`Applies a set of ${he} to the Store`,"changes: "+he,"changes"),se(X,((e,l)=>V(l,`(cell: ${e}${Se}) => `+e,`Takes a ${e} Cell value and returns another`))),$(null,l,"DoRollback",Ve,"IdOrNull",Re,"Store",he),U(0,t,Re,Re,ol(0,6)),U(2,t,Re,Q,ol(0,7),"tablesAndValuesJson: "+Re,"tablesAndValuesJson"),U(7,t,Be,"Return",Fe,ye,"actions, doRollback","<Return>"),U(7,t,"start"+We,Q,Ue),U(7,t,"finish"+We,Q,_e,Te,"doRollback");const ae=M(q,Q);return _("Start"+We,ae,De+" just before the start of the "+Be,t,t,0),_("WillFinish"+We,ae,De+" just before "+Ze,t,t,0),_("DidFinish"+We,ae,De+" just after "+Ze,t,t,0),U(7,t,"call"+I,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,t,I,Q,"Remove a listener that was previously added to "+ze,"listenerId: Id","listenerId"),F("getStore",t,"Store","store",wl[0]+" the underlying Store object"),$(1,l,"createStore"),$(1,Z,Q,`create${Q} as create${Q}Decl`,ae),A("store",["createStore()",...K]),x("fluent","actions: () => Store",["actions();",`return ${q};`]),x("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${q}, ...params)`),A(q,["{",...W(1),"}"]),[o(...k(0),...P(),ve+" interface "+Q+" {",...W(0),"}",t,Dl(`Creates a ${Q} object`),ve+" function create"+Q+"(): "+Q+";"),o(...k(1),ve+" const create"+Q+": typeof create"+Q+"Decl = () => {",...O(),`return Object.freeze(${q});`,"};"),Y,le]},_l=e=>$+e,Zl=e=>Ll(_l(e),_l(e)+we),Ql="debugIds?: boolean",ql="debugIds={debugIds}",Kl="then"+fe,Xl="Parameter",Yl=": (parameter: "+Xl+", store: Store) => ",et="const contextValue = useContext(Context);",lt=", based on a parameter",tt=": ",at="<"+Xl+",>",nt=Xl+"ized"+Ce+"<"+Xl+">",dt="rowId",ot="rowId={rowId}",st=", separator, debugIds",rt="separator?: ReactElement | string",It="then?: (store: Store",$t=Ll(It+")"+qe,Kl),ct="then, then"+we,ut=dt+tt+Ve,it="View",bt=(e,...l)=>Ll(...l,Ae+": "+e,Ae+fe,"mutator?: boolean"),pt=(...e)=>Ll(...e,Ae,Ae+we,"mutator"),Ct=(e,a,n,s,r)=>{const[$,c,V,x,A,k,S,P]=Hl(),[O,E,N]=Jl(e,a,A),D=`./${El(n)}.d`,L=`./${El(n)}-ui-react.d`,G="tinybase/ui-react",j=El(n,1),M=El(j),J=j+"Or"+j+Ve,W=M+"Or"+j+Ve,F=M+`={${M}}`,U=de(),_=(e,l,a,n,d,o=t)=>(c(1,L,e+" as "+e+"Decl"),Sl(U,e,[l,a,n,d,o])),Z=(e,l,a,n,d,o=t)=>_("use"+e,l,a,n,d,o),Q=(e,l,a,n,d=t,o=t,s=t,r=t,I=t)=>(c(1,G,`use${l} as use${l}Core`),Z(e,Ll(d,le,r),a,ae+`(${W}, use${l}Core, [`+(o||t)+(I?"], ["+I:t)+"]);",n,s)),q=(e,l,t,a)=>_(e,l,1,t,a),K=(e=0)=>re(U,(([l,a,n,d,o],s)=>{const r=e?[ve+` const ${s}: typeof ${s}Decl = ${o}(${l}): ${1==a?"any":a} =>`,n]:[ve+` function ${s}${o}(${l}): ${1==a?"ComponentReturnType":a};`];return e||B(r,Dl(d)),z(r,t),r}));c(null,l,Ve,"Store",Ce,Xl+"ized"+Ce),c(0,G,"ComponentReturnType"),c(1,G,"useCellIds"),c(null,G,"ExtraProps"),c(0,D,j);const X=V(J,j+" | "+Ve,`Used when you need to refer to a ${j} in a React hook or component`),Y=V(Ne+Ee,jl(M+ke+j,M+`ById?: {[${M}Id: Id]: ${j}}`),`Used with the ${Ne} component, so that a `+j+" can be passed into the context of an application");c(0,"react","ReactElement","ComponentType"),c(1,"react","React"),c(1,L,X,Y);const le=W+ke+X;A("{createContext, useContext, useMemo}","React"),A("Context",`createContext<[${j}?, {[${M}Id: Id]: ${j}}?]>([])`),Z("Create"+j,`create: () => ${j}, create`+fe,j,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${j} within a React application with convenient memoization`);const te=Z(j,"id?: Id",j+Se,["{",et,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${Ne} component context`),ae=x("useHook",W+`: ${X} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${M} = ${te}(${W} as Id);`,`return hook(...preParams, ((${W} == null || typeof ${W} == 'string')`,`? ${M} : ${W})?.getStore(), ...postParams)`]),ne=x("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),se=x("wrap",Ll("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),Ie=x("useCustomOrDefaultCellIds",Ll("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${W}?: ${X} | undefined`),[`const defaultCellIds = ${ae}(${W}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),$e=A("NullComponent","() => null");if(!ee(e)){const[e,a,n,r,$,T,y,v,A,k,S,P,N,G,J,z,W,B,U,_]=s;c(null,D,e,a,n,$,T,y,v,A,k,S,P,N,G,J,z,W,U,B),c(0,D,r),c(1,D,j),c(null,l,i,"IdOrNull");const Z=x("tableView",`{${M}, rowComponent, getRowComponentProps, customCellIds`+st+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${se}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",ot,"customCellIds={customCellIds}",F,ql,"/>","))",st,", tableId,",");"]),K=x("getDefaultTableComponent","tableId: Id",H(O(((e,l,t)=>`tableId == ${t} ? ${l}TableView : `)))+$e),X=x("getDefaultCellComponent","tableId: Id, cellId: Id",H(O(((e,l,t)=>`tableId == ${t} ? ${H(E(e,((e,t,a,n,d)=>`cellId == ${n} ? `+l+d+"CellView : ")))+$e} : `)))+$e);Q(u+p,u+p,d,ol(1,0,0,1)+pe),Q(p,p,e,ol(1,0)+pe);const Y=Q(C,C,n+Je,rl(b,ze)+pe);Q(He+p+Ce,He+p+Ce,nt,ol(1,9)+lt,Ll(_l(p)+Yl+a,_l(p)+fe),Zl(p),at,Ll(It,`tables: ${a})`+qe,Kl),ct),Q(ge+p+Ce,ge+p+Ce,Ce,ol(1,12),t,t,t,$t,ct);const ee=V(w+Ee,jl("tableId?: TId","rowId: Id","cellId?: CId",M+ke+j,Ql),$l(ie+w),`<TId extends ${n}, CId extends ${r}<TId>>`),le=V(h+Ee,jl("tableId?: TId","rowId: Id",M+ke+j,"cellComponents?: {readonly [CId in "+r+`<TId>]?: ComponentType<${ee}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${r}<TId>) => ExtraProps`,`customCellIds?: ${r}<TId>[]`,rt,Ql),$l(ie+h),`<TId extends ${n}>`),te=V(b+Ee,jl("tableId?: TId",M+ke+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",rt,Ql),$l(ie+b),`<TId extends ${n}>`),ae=V("Sorted"+b+Ee,jl("tableId?: TId","cellId?: "+r+"<TId>","descending?: boolean","offset?: number","limit?: number",M+ke+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",rt,Ql),$l(ie+"sorted "+b),`<TId extends ${n}>`),de=V(p+Ee,jl(M+ke+j,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${te}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,rt,Ql),$l(dl(1,1)));c(1,L,de,te,ae,le,ee),q(p+it,"{"+M+", tableComponents, getTableComponentProps"+st+"}: "+de,[se+`(${Y}(${M}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+K+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",F,ql,"/>;","}), separator)"],ol(1,13)+pe),O(((e,l,a)=>{const[n,s,r,I,$]=oe(_,e);c(null,D,n,s,r,I,$),Q(u+l+b,u+b,d,Cl(e,0,1)+pe,t,a),Q(l+b,b,n,Cl(e)+pe,t,a),Q(l+b+f,b+f,i,rl(w,"the whole of "+bl(e))+pe,t,a),Q(l+h+me,h+me,o,"Gets the number of Rows in "+bl(e)+pe,t,a);const p=Q(l+m,m,i,rl(h,bl(e))+pe,t,a),C=Q(l+g,g,i,rl(h,bl(e),1)+pe,"cellId?: "+$+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");Q(u+l+h,u+h,d,hl(e,0,1)+pe,ut,Ll(a,dt)),Q(l+h,h,r,hl(e)+pe,ut,Ll(a,dt)),Q(l+f,f,$+Je,rl(w,pl(e))+pe,ut,Ll(a,dt)),Q(He+l+b+Ce,He+b+Ce,nt,Cl(e,9)+lt,Ll(_l(b)+Yl+s,_l(b)+fe),Ll(a,Zl(b)),at,Ll(It,`table: ${s})`+qe,Kl),ct),Q(ge+l+b+Ce,ge+b+Ce,Ce,Cl(e,12),t,a,t,$t,ct),Q(He+l+h+Ce,He+h+Ce,nt,hl(e,9)+lt,Ll(ut,_l(h)+Yl+I,_l(h)+fe),Ll(a,dt,Zl(h)),at,Ll(It,`row: ${I})`+qe,Kl),ct),Q("Add"+l+h+Ce,"Add"+h+Ce,nt,hl(e,10)+lt,Ll(_l(h)+Yl+I,_l(h)+fe),Ll(a,Zl(h)),at,"then?: ("+Ll(ut+Se,"store: Store","row: "+I+")"+qe,"then"+fe)+", reuseRowIds?: boolean",ct+", reuseRowIds"),Q(He+l+Oe+h+Ce,He+Oe+h+Ce,nt,hl(e,11)+lt,Ll(ut,_l(Oe+h)+Yl+I,_l(Oe+h)+fe),Ll(a,dt,Zl(Oe+h)),at,Ll(It,`partialRow: ${I})`+qe,Kl),ct),Q(ge+l+h+Ce,ge+h+Ce,Ce,hl(e,12),ut,Ll(a,dt),t,$t,ct);const T=q(l+h+it,"{rowId, "+M+", cellComponents, getCellComponentProps, customCellIds"+st+`}: ${le}<'${e}'>`,[se+`(${Ie}(customCellIds, `+a+`, rowId, ${M}).map((cellId: ${$}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+X+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,ot,"cellId={cellId}",F,ql,"/>;","})"+st+", rowId)"],hl(e,13)+pe);q(l+"Sorted"+b+it,"{cellId, descending, offset, limit, ...props}: "+ae+`<'${e}'>`,Z+"(props, "+C+`(cellId, descending, offset, limit, props.${M}), ${a}, ${T});`,Cl(e,13)+", sorted"+pe),q(l+b+it,`props: ${te}<'${e}'>`,Z+"(props, "+p+`(props.${M}), ${a}, ${T});`,Cl(e,13)+pe),E(e,((n,o,s,r,I)=>{const $="Map"+El(o,1);c(0,D,$),c(1,D,$),Q(u+l+I+b+w,u+b+w,d,`Gets ${nl(1)}the '${n}' Cell anywhere in `+bl(e)+pe,t,Ll(a,r)),Q(u+l+I+w,u+w,d,ml(e,n,0,1)+pe,ut,Ll(a,dt,r));const i=Q(l+I+w,w,o+(R(s)?Se:t),ml(e,n)+pe,ut,Ll(a,dt,r));Q(He+l+I+w+Ce,He+w+Ce,nt,ml(e,n,9)+lt,Ll(ut,_l(w)+Yl+o+" | "+$,_l(w)+fe),Ll(a,dt,r,Zl(w)),at,Ll(It,`cell: ${o} | ${$})`+qe,Kl),ct),Q(ge+l+I+w+Ce,ge+w+Ce,Ce,ml(e,n,12),Ll(ut,"forceDel?: boolean"),Ll(a,dt,r,"forceDel"),t,$t,ct),q(l+I+w+it,`{rowId, ${M}, debugIds}: `+ee+`<'${e}', '${n}'>`,[se+`('' + ${i}(rowId, `+M+`) ?? '', undefined, debugIds, ${r})`],ml(e,n,13)+pe)}))}));const re=H(O((e=>oe(_,e)?.[4]??t))," | ");Q(u+p+I,u+p+I,Qe,ol(1,8,0,1)+" changes",bt($),pt()),Q(p+I,p+I,Qe,ol(1,8)+" changes",bt(T),pt()),Q(C+I,C+I,Qe,il(2,0,1),bt(y),pt()),Q(u+b+I,u+b+I,Qe,il(3,0,0,1),bt(v,`tableId: ${n} | null`),pt("tableId")),Q(b+I,b+I,Qe,il(3,0),bt(A,`tableId: ${n} | null`),pt("tableId")),Q(b+f+I,b+f+I,Qe,il(14,3,1),bt(k,`tableId: ${n} | null`),pt("tableId")),Q(u+b+w+I,u+b+w+I,Qe,il(16,3,0,1),bt(S,`tableId: ${n} | null`,`cellId: ${re} | null`),pt("tableId","cellId")),Q(h+me+I,h+me+I,Qe,il(15,3),bt(P,`tableId: ${n} | null`),pt("tableId")),Q(m+I,m+I,Qe,il(4,3,1),bt(N,`tableId: ${n} | null`),pt("tableId")),Q(g+I,g+I,Qe,il(13,3,1),bt(G,`tableId: ${n} | null`,"cellId: "+re+Se,"descending: boolean","offset: number","limit: number"+Se),pt("tableId","cellId","descending","offset","limit")),Q(u+h+I,u+h+I,Qe,il(5,3,0,1),bt(J,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(h+I,h+I,Qe,il(5,3),bt(z,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(f+I,f+I,Qe,il(6,5,1),bt(W,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(u+w+I,u+w+I,Qe,il(7,5,0,1),bt(B,`tableId: ${n} | null`,dt+": IdOrNull",`cellId: ${re} | null`),pt("tableId",dt,"cellId")),Q(w+I,w+I,Qe,il(7,5),bt(U,`tableId: ${n} | null`,dt+": IdOrNull",`cellId: ${re} | null`),pt("tableId",dt,"cellId"))}if(!ee(a)){const[e,l,a,n,o,s,$,i]=r;c(null,D,...r),c(1,D,j);const b=x("getDefaultValueComponent","valueId: Id",H(N(((e,l,t,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+$e);Q(u+y,u+y,d,ol(2,0,0,1)+pe),Q(y,y,e,ol(2,0)+pe);const p=Q(v,v,a+Je,rl(T,ze)+pe);Q(He+y+Ce,He+y+Ce,nt,ol(2,9)+lt,Ll(_l(y)+Yl+l,_l(y)+fe),Zl(y),at,Ll(It,`values: ${l})`+qe,Kl),ct),Q(He+Oe+y+Ce,He+Oe+y+Ce,nt,ol(2,11)+lt,Ll(_l(Oe+y)+Yl+l,_l(Oe+y)+fe),Zl(Oe+y),at,Ll(It,`partialValues: ${l})`+qe,Kl),ct),Q(ge+y+Ce,ge+y+Ce,Ce,ol(2,12),t,t,t,$t,ct);const C=V(T+Ee,jl("valueId?: VId",M+ke+j,Ql),$l("a Value"),`<VId extends ${a}>`),h=V(y+Ee,jl(M+ke+j,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${C}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,rt,Ql),$l(dl(2,1)));c(1,L,h,C),q(y+it,"{"+M+", valueComponents, getValueComponentProps"+st+"}: "+h,[se+`(${p}(${M}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+b+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",F,ql,"/>;","}), separator)"],ol(2,13)+pe),N(((e,l,a,n,o)=>{const s="Map"+El(l,1);c(0,D,s),c(1,D,s),Q(u+o+T,u+T,d,gl(e,0,1)+pe,t,n);const r=Q(o+T,T,l,gl(e)+pe,t,n);Q(He+o+T+Ce,He+T+Ce,nt,gl(e,9)+lt,Ll(_l(T)+Yl+l+" | "+s,_l(T)+fe),Ll(n,Zl(T)),at,Ll(It,`value: ${l} | ${s})`+qe,Kl),ct),Q(ge+o+T+Ce,ge+T+Ce,Ce,gl(e,12),t,n,t,$t,ct),q(o+T+it,`{${M}, debugIds}: ${C}<'${e}'>`,[se+`('' + ${r}(`+M+`) ?? '', undefined, debugIds, ${n})`],gl(e,13)+pe)})),Q(u+y+I,u+y+I,Qe,ol(2,8,0,1)+" changes",bt(n),pt()),Q(y+I,y+I,Qe,ol(2,8)+" changes",bt(o),pt()),Q(v+I,v+I,Qe,il(10,0,1),bt(s),pt()),Q(u+T+I,u+T+I,Qe,il(11,0,0,1),bt($,`valueId: ${a} | null`),pt("valueId")),Q(T+I,T+I,Qe,il(11,0),bt(i,`valueId: ${a} | null`),pt("valueId"))}return q(Ne,`{${M}, ${M}ById, children}: `+Y+" & {readonly children: React.ReactNode}",["{",et,"return (","<Context."+Ne,"value={useMemo(",`() => [${M} ?? contextValue[0], {...contextValue[1], ...${M}ById}],`,`[${M}, ${M}ById, contextValue],`,")}>","{children}",`</Context.${Ne}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[$(...k(0),...S(),...K(0)),$(...k(1),...P(),...K(1))]},ht=(e,l,a)=>{if(ee(e)&&ee(l))return[t,t,t,t];const[n,d,o,s]=Ul(e,l,a);return[n,d,...Ct(e,l,a,o,s)]},mt=JSON.parse,gt="prettier/",wt=gt+"plugins/",ft={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Tt=Ml((e=>{const l=()=>{const l=mt(e.getTablesSchemaJson());return!ee(l)||L(e.getTableIds(),(t=>{const a=e.getRowIds(t),n=de();if(L(a,(l=>L(e.getCellIds(t,l),(a=>{const d=e.getCell(t,l,a),o=$e(n,a,(()=>[D(d),de(),[0],0])),[s,r,[I]]=o,$=$e(r,d,(()=>0))+1;return $>I&&(o[2]=[$,d]),Ie(r,d,$),o[3]++,s==D(d)})))))return l[t]={},ae(n,(([e,,[,n],d],o)=>{l[t][o]={[s]:e,...d==E(a)?{[r]:n}:{}}})),1}))?l:{}},t=()=>{const l=mt(e.getValuesSchemaJson());return ee(l)&&e.forEachValue(((e,t)=>{l[e]={[s]:D(t)}})),l},a=e=>ht(l(),t(),e),n=async e=>{const l=["d.ts","ts","d.ts","tsx"],t=[];let n;try{n=(await import(gt+"standalone")).format,z(t,await import(wt+"estree"),await import(wt+"typescript"))}catch(e){n=async e=>e}return await N(M(a(e),(async(e,a)=>Pl(await n(e,{...ft,plugins:t,filepath:"_."+l[a]})))))};return q({getStoreStats:l=>{let t=0,a=0,n=0;const d={};return e.forEachTable(((e,o)=>{t++;let s=0,r=0;const I={};o(((e,t)=>{s++;let a=0;t((()=>a++)),r+=a,l&&(I[e]={rowCells:a})})),a+=s,n+=r,l&&(d[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:t,totalRows:a,totalCells:n,totalValues:E(e.getValueIds()),jsonLength:E(e.getJson()),...l?{detail:{tables:d}}:{}}},getStoreTablesSchema:l,getStoreValuesSchema:t,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{Tt as createTools};
|
|
1
|
+
const e=e=>typeof e,l="tinybase",t="",a=",",n=e(t),d=e(!0),o=e(0),s="type",r="default",I="Listener",$="get",c="add",u="Has",i="Ids",b="Table",p=b+"s",C=b+i,h="Row",m=h+i,g="Sorted"+h+i,w="Cell",f=w+i,T="Value",y=T+"s",v=T+i,V=Promise,x=isFinite,R=e=>null==e,A=(e,l,t)=>R(e)?t?.():l(e),k=e=>e==n||e==d,S=l=>e(l)==n,P=e=>Array.isArray(e),O=(e,l,t)=>e.slice(l,t),E=e=>e.length,N=async e=>V.all(e),D=l=>{const t=e(l);return k(t)||t==o&&x(l)?t:void 0},L=(e,l)=>e.every(l),G=(e,l)=>e.sort(l),j=(e,l)=>e.forEach(l),H=(e,l=t)=>e.join(l),M=(e,l)=>e.map(l),J=(e,l)=>e.filter(l),z=(e,...l)=>e.push(...l),W=e=>e.pop(),B=(e,...l)=>e.unshift(...l),F=e=>e.shift(),U=Object,_=e=>U.getPrototypeOf(e),Z=U.entries,Q=e=>!R(e)&&A(_(e),(e=>e==U.prototype||R(_(e))),(()=>!0)),q=U.keys,K=U.freeze,X=(e,l)=>M(Z(e),(([e,t])=>l(t,e))),Y=e=>E(q(e)),ee=e=>Q(e)&&0==Y(e),le=(e,l)=>e?.has(l)??!1,te=e=>[...e?.values()??[]],ae=(e,l)=>e?.forEach(l),ne=(e,l)=>e?.delete(l),de=e=>new Map(e),oe=(e,l)=>e?.get(l),se=(e,l)=>ae(e,((e,t)=>l(t,e))),re=(e,l)=>M([...e?.entries()??[]],(([e,t])=>l(t,e))),Ie=(e,l,t)=>R(t)?(ne(e,l),e):e?.set(l,t),$e=(e,l,t,a)=>(le(e,l)?a?.(oe(e,l)):Ie(e,l,t()),oe(e,l)),ce=e=>e.toUpperCase(),ue=e=>e.toLowerCase(),ie="a ",be="A function for",pe=", and registers a listener so that any changes to that result will cause a re-render",Ce="Callback",he="Changes",me="Count",ge="Del",we="Deps",fe=we+"?: React.DependencyList",Te="doRollback?: DoRollback",ye="actions: () => Return, "+Te,ve="export",Ve="Id",xe="Invalid",Re="Json",Ae=ue(I),ke="?: ",Se=" | undefined",Pe="NonNullable",Oe="Partial",Ee="Props",Ne="Provider",De=`Registers a ${Ae} that will be called`,Le="Represents",Ge="rowId: "+Ve,je="Schema",He="Set",Me=", descending?: boolean, offset?: number, limit?: number",Je="[]",ze="the Store",We="Transaction",Be=ue(We),Fe="Execute a "+Be+" to make multiple mutations",Ue="Explicitly starts a "+Be,_e="Explicitly finishes a "+Be,Ze="the end of the "+Be,Qe="void",qe=" => "+Qe,Ke="WhenSet",Xe=" when setting it",Ye=ie+"string serialization of",el=" ",ll="Gets a callback that can ",tl="the ",al=" the schema for",nl=(e=0)=>e?"the existence of ":"",dl=(e=0,l=0,a=0)=>nl(a)+`the ${yl[e]}content of`+(l?el+ze:t),ol=(e=0,l,a=0,n=0)=>wl[l]+el+nl(n)+dl(e,1)+(a?" when setting it":t),sl=(e,l=0)=>Le+` a Row when ${l?"s":"g"}etting ${dl()} the '${e}' `+b,rl=(e,l,t=0)=>`Gets ${t?"sorted, paginated":"the"} Ids of the ${e}s in `+l,Il=(e,l)=>`Calls a function for each ${e} in `+l,$l=e=>"The props passed to a component that renders "+e,cl=e=>"A function that takes "+e,ul=(e,l=0,t=0)=>be+" listening to changes to "+nl(t)+Tl[e]+" in "+Tl[l],il=(e,l,a=0,n=0)=>De+" whenever "+nl(n)+Tl[e]+" in "+Tl[l]+" change"+(a?t:"s"),bl=e=>`the '${e}' `+b,pl=e=>"the specified Row in "+bl(e),Cl=(e,l=0,t=0)=>wl[l]+el+dl(0,0,t)+el+bl(e),hl=(e,l=0,t=0)=>wl[l]+` ${dl(0,0,t)} `+pl(e),ml=(e,l,t=0,a=0)=>wl[t]+el+nl(a)+`the '${l}' Cell for `+pl(e),gl=(e,l=0,t=0)=>wl[l]+el+nl(t)+`the '${e}' Value`,wl=["Gets","Checks existence of","Sets","Deletes","Sets part of",Le,"Gets "+Ye,"Sets "+Ye,De+" whenever",ll+"set",ll+"add",ll+"set part of",ll+"delete","Renders","Gets "+Ye+al,"Sets"+al,"Deletes"+al],fl=[$,"has","set","del","set","forEach",c,t],Tl=[ze,p,tl+b+el+i,ie+b,tl+h+el+i,ie+h,tl+w+el+i,ie+w,"invalid Cell changes",y,tl+T+el+i,ie+T,"invalid Value changes",tl+"sorted "+h+el+i,tl+w+el+i+" anywhere",tl+"number of Rows",ie+w+" anywhere"],yl=[t,"tabular ","keyed value "],vl=e=>new Set(P(e)||R(e)?e:[e]),Vl=(e,l)=>e?.add(l),xl=/[^A-Za-z]+/,Rl=/[^A-Za-z0-9]+/,Al=/^( *)\/\*\* *(.*?) *\*\/$/gm,kl=e=>e.includes(a),Sl=(e,l,t,a=1)=>{const n=`${l}${1==a?"":a}`;return le(e,n)?Sl(e,l,t,a+1):(Ie(e,n,t),n)},Pl=e=>e.replace(Al,((e,l,t)=>{const a=77-E(l);return`${l}/**\n${t.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),l+" * $1\n")}${l} */`})),Ol=e=>e.flat(1e3),El=(e,l=0)=>H(M(e.split(Rl),((e,t)=>(t>0||l?ce:ue)(O(e,0,1))+O(e,1)))),Nl=e=>ce(H((e&&!xl.test(e[0])?e:" "+e).split(Rl),"_")),Dl=e=>`/** ${e}. */`,Ll=(...e)=>H(J(e,(e=>e)),", "),Gl=(...e)=>"{"+H(e,"; ")+"}",jl=(...e)=>Gl(...M(e,(e=>"readonly "+e))),Hl=()=>{const e=[de(),de(),de(),de()],l=de(),a=de(),n=e=>{const l=e.indexOf(" as ");return-1!=l?O(e,l+4):e};return[(...e)=>H(Ol(e),"\n"),(l,t,...a)=>j(a,(a=>j([0,1],(n=>(l??n)==n?Vl($e(e[n],t,vl),a):0)))),(e,a,n,d=t,o=1)=>Sl(l,e,[a,n,d,o]),(e,l,t)=>Sl(a,e,P(t)?[`(${l}) => {`,t,"}"]:[`(${l}) => ${t}`]),(e,l)=>oe(a,e)===l?e:Sl(a,e,l),(l=0)=>M([...G(re(e[l],((e,l)=>`import {${H(G(te(e),((e,l)=>n(e)>n(l)?1:-1)),", ")}} from '${l}';`)),((e,l)=>kl(e)!=kl(l)?kl(e)?-1:1:e>l?1:-1)),t],(e=>e.replace("{React}","React"))),()=>re(l,(([e,l,a,n],d)=>[Dl(l),`${n?ve+" ":t}type ${d}${a} = ${e};`,t])),()=>re(a,((e,l)=>(e=P(e)?e:[e],z(e,W(e)+";"),[`const ${l} = ${F(e)}`,e,t])))]},Ml=(e,l)=>{const t=new WeakMap;return a=>{t.has(a)||t.set(a,e(a));const n=t.get(a);return l?.(n),n}},Jl=(e,l,t)=>[l=>X(e,((e,a)=>l(a,El(a,1),t(Nl(a),`'${a}'`)))),(l,a)=>X(e[l],((e,l)=>a(l,e[s],e[r],t(Nl(l),`'${l}'`),El(l,1)))),e=>X(l,((l,a)=>e(a,l[s],l[r],t(Nl(a),`'${a}'`),El(a,1))))],zl=(e,l,a,n)=>[(n,d)=>{const o=n+": "+d,s=e(p,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...a(e,((e,l,a)=>`'${e}'${R(a)?"?":t}: ${l}`)))+"}"))),ol(1,5)),r=e(p+Ke,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...a(e,((e,l)=>`'${e}'?: ${l}`)))+"}"))),ol(1,5,1)),$=e(b+Ve,"keyof "+s,"A "+b+" Id in "+ze),c=`<TId extends ${$}>`,i=e(b,Pe+`<${s}[TId]>`,"A "+b+" in "+ze,c),T=e(b+Ke,Pe+`<${r}[TId]>`,"A "+b+" in "+ze+Xe,c),y=e(h,i+"<TId>[Id]","A "+h+" in a "+b,c),v=e(h+Ke,T+"<TId>[Id]","A "+h+" in a "+b+Xe,c),V=e(w+Ve,`Extract<keyof ${y}<TId>, Id>`,"A "+w+" Id in a "+h,c),x=e(w,Pe+`<${s}[TId]>[Id][CId]`,"A "+w+" in a "+h,`<TId extends ${$}, CId extends ${V}<TId>>`),A=e("CellIdCellArray",`CId extends ${V}<TId> ? [cellId: CId, cell: ${x}<TId, CId>] : never`,w+" Ids and types in a "+h,`<TId extends ${$}, CId = ${V}<TId>>`,0),k=e(w+Ce,`(...[cellId, cell]: ${A}<TId>)`+qe,cl(ie+w+" Id, and "+w),c),S=e(h+Ce,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+qe+") "+qe,cl(ie+h+" Id, and a "+w+" iterator"),c),P=e(b+w+Ce,`(cellId: ${V}<TId>, count: number) `+qe,cl(ie+w+" Id, and count of how many times it appears"),c),O=e("TableIdForEachRowArray",`TId extends ${$} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${qe}] : never`,b+" Ids and callback types",`<TId = ${$}>`,0),E=e(b+Ce,`(...[tableId, forEachRow]: ${O})`+qe,cl(ie+b+" Id, and a "+h+" iterator"),t),N=e("TableIdRowIdCellIdArray",`TId extends ${$} ? [tableId: TId, rowId: Id, cellId: ${V}<TId>] : never`,"Ids for GetCellChange",`<TId = ${$}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${N}) => CellChange`,be+" returning information about any Cell's changes during a "+Be),L=e(u+p+I,`(${o}, hasTables: boolean)`+qe,ul(1,0,1)),G=e(p+I,`(${o}, getCellChange: ${D}${Se})`+qe,ul(1)),j=e(C+I,`(${o})`+qe,ul(2)),H=e(u+b+I,`(${o}, tableId: ${$}, hasTable: boolean)`+qe,ul(3,0,1)),M=e(b+I,`(${o}, tableId: ${$}, getCellChange: ${D}${Se})`+qe,ul(3)),J=e(b+f+I,`(${o}, tableId: ${$})`+qe,ul(14,3)),z=e("HasTableCellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, cellId: CId, hasTableCell: boolean] : never`,"Cell args for HasTableCellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),W=e("HasTableCellListenerArgsArrayOuter",`TId extends ${$} ? `+z+"<TId> : never","Table args for HasTableCellListener",`<TId = ${$}>`,0),B=e(u+b+w+I,`(...[${n}, tableId, cellId, hasTableCell]: `+W+")"+qe,ul(16,3,1)),F=e(h+"Count"+I,`(${o}, tableId: ${$})`+qe,ul(15,3)),U=e(m+I,`(${o}, tableId: ${$})`+qe,ul(4,3)),_=e(g+I,"("+Ll(o,"tableId: "+$,"cellId: Id"+Se,"descending: boolean","offset: number","limit: number"+Se,"sortedRowIds: Ids")+")"+qe,ul(13,3)),Z=e(u+h+I,"("+Ll(""+o,"tableId: "+$,Ge,"hasRow: boolean")+")"+qe,ul(5,3,1)),Q=e(h+I,"("+Ll(""+o,"tableId: "+$,Ge,`getCellChange: ${D}${Se}`)+")"+qe,ul(5,3)),q=e(f+I,"("+Ll(""+o,"tableId: "+$,Ge)+")"+qe,ul(6,5)),K=e("HasCellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, ${Ge}, cellId: CId, hasCell: boolean] : never`,"Cell args for HasCellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),X=e("HasCellListenerArgsArrayOuter",`TId extends ${$} ? `+K+"<TId> : never","Table args for HasCellListener",`<TId = ${$}>`,0),Y=e(u+w+I,`(...[${n}, tableId, rowId, cellId, hasCell]: `+X+")"+qe,ul(7,5,1)),ee=e("CellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, ${Ge}, cellId: CId, newCell: ${x}<TId, CId> ${Se}, oldCell: ${x}<TId, CId> ${Se}, getCellChange: ${D} ${Se}] : never`,"Cell args for CellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),le=e("CellListenerArgsArrayOuter",`TId extends ${$} ? `+ee+"<TId> : never","Table args for CellListener",`<TId = ${$}>`,0);return[s,r,$,i,T,y,v,V,x,k,S,P,E,L,G,j,H,M,J,B,F,U,_,Z,Q,q,Y,e(w+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${le})`+qe,ul(7,5)),e(xe+w+I,`(${o}, tableId: Id, ${Ge}, cellId: Id, invalidCells: any[])`+qe,ul(8))]},(l,a)=>{const d=l+": "+a,o=e(y,Gl(...n(((e,l,a)=>`'${e}'${R(a)?"?":t}: ${l}`))),ol(2,5)),s=e(y+Ke,Gl(...n(((e,l)=>`'${e}'?: ${l}`))),ol(2,5,1)),r=e(T+Ve,"keyof "+o,"A "+T+" Id in "+ze),$=e(T,Pe+`<${o}[VId]>`,"A "+T+" Id in "+ze,`<VId extends ${r}>`),c=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${$}<VId>] : never`,T+" Ids and types in "+ze,`<VId = ${r}>`,0),i=e(T+Ce,`(...[valueId, value]: ${c})`+qe,cl(ie+T+" Id, and "+T)),b=e("GetValueChange",`(valueId: ${r}) => ValueChange`,be+" returning information about any Value's changes during a "+Be),p=e(u+y+I,`(${d}, hasValues: boolean)`+qe,ul(9,0,1)),C=e(y+I,`(${d}, getValueChange: ${b}${Se})`+qe,ul(9)),h=e(v+I,`(${d})`+qe,ul(10)),m=e(u+T+I,`(${d}, valueId: ValueId, hasValue: boolean)`+qe,ul(11,0,1)),g=e("ValueListenerArgsArray",`VId extends ${r} ? [${d}, valueId: VId, newValue: ${$}<VId> ${Se}, oldValue: ${$}<VId> ${Se}, getValueChange: ${b} ${Se}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[o,s,r,$,i,p,C,h,m,e(T+I,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+g+")"+qe,ul(11)),e(xe+T+I,`(${d}, valueId: Id, invalidValues: any[])`+qe,ul(12))]},(l,t)=>e(We+I,`(${l}: ${t})`+qe,be+" listening to the completion of a "+Be)],Wl=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Bl=(e,l=t)=>`fluent(() => ${Wl(e,l)})`,Fl=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Ul=(e,a,n)=>{const[o,$,V,x,A,k,P,O]=Hl(),[E,N,D]=Jl(e,a,A),[L,G,M]=zl(V,E,N,D),J=de(),W=(e=0)=>re(J,(([l,a,n,d,o],s)=>{const r=e?[s+`: ${o}(${l}): ${a} => ${n},`]:[s+o+`(${l}): ${a};`];return e||B(r,Dl(d)),z(r,t),r})),F=(e,l,a,n,d,o=t)=>Sl(J,e,[l,a,n,d,o]),U=(e,l,a,n,d,o=t,s=t,r=t)=>F(fl[e]+l+(4==e?Oe:t)+a,o,n,(n==Q?Bl:Wl)(fl[e]+(4==e?Oe:t)+a,s,e?void 0:n),d,r),_=(e,l,a,n=t,d=t,o=1,s=t)=>F(c+e+I,(n?n+", ":t)+Ae+": "+l+(o?", mutator?: boolean":t),Ve,Fl(c+e+I,d,o?"mutator":t),a,s),Z=`./${El(n)}.d`,Q=El(n,1),q=El(Q),K=[],X=de();let Y=[],le=[];if($(1,Z,Q,`create${Q} as create${Q}Decl`),ee(e))$(null,l,p);else{$(0,l,"CellChange"),$(null,l,i);const[e,a,n,o,I,c,T,y,v,x,k,P,O,D,G,M,J,W,B,F,ee,le,ae,ne,se,re,$e,ce,ue]=L(q,Q),ie=de();E(((e,l)=>{const t=`<'${e}'>`,a=[V(l+b,o+t,Le+` the '${e}' `+b),V(l+b+Ke,I+t,Le+` the '${e}' `+b+Xe),V(l+h,c+t,sl(e)),V(l+h+Ke,T+t,sl(e,1)),V(l+w+Ve,y+t,`A Cell Id for the '${e}' `+b),V(l+w+Ce,x+t,cl(`a Cell Id and value from a Row in the '${e}' `+b)),V(l+h+Ce,k+t,cl(`a Row Id from the '${e}' Table, and a Cell iterator`)),V(l+b+w+Ce,P+t,cl(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];Ie(ie,e,a),$(1,Z,...a)})),$(1,Z,e,a,n,y,O,D,G,M,J,W,B,F,ee,le,ae,ne,se,re,$e,ce,ue),Y=[e,a,n,y,D,G,M,J,W,B,F,ee,le,ae,ne,se,re,$e,ce,ie],j([[e],[d],[Q,"tables: "+a,"tables"],[Q]],(([e,l,a],n)=>U(n,t,p,e,ol(1,n),l,a))),U(0,t,C,n+Je,rl(b,ze)),U(5,t,b,Qe,Il(b,ze),"tableCallback: "+O,"tableCallback as any"),E(((e,l,a)=>{const[n,o,s,r,I,$,c,u]=oe(ie,e);j([[n],[d],[Q,"table: "+o,", table"],[Q]],(([n,d,o=t],s)=>U(s,l,b,n,Cl(e,s),d,a+o))),U(0,l,b+f,i,rl(w,"the whole of "+bl(e)),t,a),U(5,l,b+w,Qe,Il(b+w,"the whole of "+bl(e)),"tableCellCallback: "+u,a+", tableCellCallback as any"),U(0,l,h+me,"number","Gets the number of Rows in the "+bl(e),t,a),U(0,l,m,i,rl(h,bl(e)),t,a),U(0,l,g,i,rl(h,bl(e),1),"cellId?: "+I+Me,a+", cellId, descending, offset, limit"),U(5,l,h,Qe,Il(h,bl(e)),"rowCallback: "+c,a+", rowCallback as any"),j([[s],[d],[Q,", row: "+r,", row"],[Q],[Q,", partialRow: "+r,", partialRow"]],(([n,d=t,o=t],s)=>U(s,l,h,n,hl(e,s),Ge+d,a+", rowId"+o))),U(6,l,h,Ve+Se,"Add a new Row to "+bl(e),"row: "+r+", reuseIds?: boolean",a+", row, reuseIds"),U(0,l,f,I+Je,rl(w,pl(e)),Ge,a+", rowId"),U(5,l,w,Qe,Il(w,pl(e)),Ge+", cellCallback: "+$,a+", rowId, cellCallback as any"),N(e,((n,o,s,r,I)=>{const $="Map"+El(o,1);Ie(X,o,$);const c=o+(R(s)?Se:t);j([[c],[d],[Q,`, cell: ${o} | `+$,", cell as any"],[Q]],(([d,o=t,s=t],$)=>U($,l+I,w,d,ml(e,n,$),Ge+o,a+", rowId, "+r+s))),U(1,l+I,b+w,d,wl[1]+` the '${n}' Cell anywhere in `+bl(e),t,a+", "+r)}))})),U(0,t,p+Re,Re,ol(1,6)),U(2,t,p+Re,Q,ol(1,7),"tablesJson: "+Re,"tables"+Re),_(u+p,D,ol(1,8,0,1)+" changes"),_(p,G,ol(1,8)+" changes"),_(C,M,il(2,0,1)),_(u+b,J,il(3,0,0,1),`tableId: ${n} | null`,"tableId"),_(b,W,il(3,0),`tableId: ${n} | null`,"tableId"),_(b+f,B,il(14,3,1),`tableId: ${n} | null`,"tableId"),_(u+b+w,F,il(16,3,0,1),`tableId: ${n} | null, cellId: ${H(E((e=>oe(ie,e)?.[4]??t))," | ")} | null`,"tableId, cellId"),_(h+me,ee,il(15,3),`tableId: ${n} | null`,"tableId"),_(m,le,il(4,3,1),`tableId: ${n} | null`,"tableId"),_(g,ae,il(13,3,1),Ll("tableId: TId",`cellId: ${y}<TId>`+Se,"descending: boolean","offset: number","limit: number"+Se),Ll("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(u+h,ne,il(5,3,0,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(h,se,il(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,re,il(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(u+w,$e,il(7,5,0,1),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${H(E((e=>oe(ie,e)?.[4]??t))," | ")} | null`,"tableId, rowId, cellId"),_(w,ce,il(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${H(E((e=>oe(ie,e)?.[4]??t))," | ")} | null`,"tableId, rowId, cellId"),_(xe+w,ue,De+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),$(1,Z,...te(X)),z(K,".set"+p+je+"({",Ol(E(((e,l,a)=>[`[${a}]: {`,...N(e,((e,l,a,n)=>`[${n}]: {[${A(Nl(s),`'${s}'`)}]: ${A(Nl(l),`'${l}'`)}${R(a)?t:`, [${A(Nl(r),`'${r}'`)}]: `+(S(a)?A(Nl(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(ee(a))$(null,l,y);else{const[e,a,n,o,I,c,i,b,p,C,h]=G(q,Q);$(1,Z,e,a,n,I,c,i,b,p,C,h),le=[e,a,n,c,i,b,p,C],j([[e],[d],[Q,"values: "+a,"values"],[Q],[Q,"partialValues: "+a,"partialValues"]],(([e,l,a],n)=>U(n,t,y,e,ol(2,n),l,a))),U(0,t,v,n+Je,rl(T,ze)),U(5,t,T,"void",Il(T,ze),"valueCallback: "+I,"valueCallback as any"),D(((e,l,a,n,o)=>{const s="Map"+El(l,1);Ie(X,l,s),j([[l],[d],[Q,`value: ${l} | `+s,", value as any"],[Q]],(([l,a,d=t],s)=>U(s,o,T,l,gl(e,s),a,n+d)))})),U(0,t,y+Re,Re,ol(2,6)),U(2,t,y+Re,Q,ol(2,7),"valuesJson: "+Re,"values"+Re),_(u+y,c,ol(2,8,0,1)+" changes"),_(y,i,ol(2,8)+" changes"),_(v,b,il(10,0,1)),_(u+T,p,il(11,0,0,1),`valueId: ${n} | null`,"valueId"),_(T,C,il(11,0),`valueId: ${n} | null`,"valueId"),_(xe+T,h,De+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),$(1,Z,...te(X)),$(0,l,"ValueChange"),z(K,".set"+y+je+"({",D(((e,l,a,n)=>[`[${n}]: {[${A(Nl(s),`'${s}'`)}]: ${A(Nl(l),`'${l}'`)}${R(a)?t:`, [${A(Nl(r),`'${r}'`)}]: `+(S(a)?A(Nl(a),`'${a}'`):a)}},`])),"})")}U(0,t,"Content",`[${p}, ${y}]`,ol(0,0)),U(2,t,"Content",Q,ol(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(7,t,"applyChanges",Q,`Applies a set of ${he} to the Store`,"changes: "+he,"changes"),se(X,((e,l)=>V(l,`(cell: ${e}${Se}) => `+e,`Takes a ${e} Cell value and returns another`))),$(null,l,"DoRollback",Ve,"IdOrNull",Re,"Store",he),U(0,t,Re,Re,ol(0,6)),U(2,t,Re,Q,ol(0,7),"tablesAndValuesJson: "+Re,"tablesAndValuesJson"),U(7,t,Be,"Return",Fe,ye,"actions, doRollback","<Return>"),U(7,t,"start"+We,Q,Ue),U(7,t,"finish"+We,Q,_e,Te,"doRollback");const ae=M(q,Q);return _("Start"+We,ae,De+" just before the start of the "+Be,t,t,0),_("WillFinish"+We,ae,De+" just before "+Ze,t,t,0),_("DidFinish"+We,ae,De+" just after "+Ze,t,t,0),U(7,t,"call"+I,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,t,I,Q,"Remove a listener that was previously added to "+ze,"listenerId: Id","listenerId"),F("getStore",t,"Store","store",wl[0]+" the underlying Store object"),$(1,l,"createStore"),$(1,Z,Q,`create${Q} as create${Q}Decl`,ae),A("store",["createStore()",...K]),x("fluent","actions: () => Store",["actions();",`return ${q};`]),x("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${q}, ...params)`),A(q,["{",...W(1),"}"]),[o(...k(0),...P(),ve+" interface "+Q+" {",...W(0),"}",t,Dl(`Creates a ${Q} object`),ve+" function create"+Q+"(): "+Q+";"),o(...k(1),ve+" const create"+Q+": typeof create"+Q+"Decl = () => {",...O(),`return Object.freeze(${q});`,"};"),Y,le]},_l=e=>$+e,Zl=e=>Ll(_l(e),_l(e)+we),Ql="debugIds?: boolean",ql="debugIds={debugIds}",Kl="then"+fe,Xl="Parameter",Yl=": (parameter: "+Xl+", store: Store) => ",et="const contextValue = useContext(Context);",lt=", based on a parameter",tt=": ",at="<"+Xl+",>",nt=Xl+"ized"+Ce+"<"+Xl+">",dt="rowId",ot="rowId={rowId}",st=", separator, debugIds",rt="separator?: ReactElement | string",It="then?: (store: Store",$t=Ll(It+")"+qe,Kl),ct="then, then"+we,ut=dt+tt+Ve,it="View",bt=(e,...l)=>Ll(...l,Ae+": "+e,Ae+fe,"mutator?: boolean"),pt=(...e)=>Ll(...e,Ae,Ae+we,"mutator"),Ct=(e,a,n,s,r)=>{const[$,c,V,x,A,k,S,P]=Hl(),[O,E,N]=Jl(e,a,A),D=`./${El(n)}.d`,L=`./${El(n)}-ui-react.d`,G="tinybase/ui-react",j=El(n,1),M=El(j),J=j+"Or"+j+Ve,W=M+"Or"+j+Ve,F=M+`={${M}}`,U=de(),_=(e,l,a,n,d,o=t)=>(c(1,L,e+" as "+e+"Decl"),Sl(U,e,[l,a,n,d,o])),Z=(e,l,a,n,d,o=t)=>_("use"+e,l,a,n,d,o),Q=(e,l,a,n,d=t,o=t,s=t,r=t,I=t)=>(c(1,G,`use${l} as use${l}Core`),Z(e,Ll(d,le,r),a,ae+`(${W}, use${l}Core, [`+(o||t)+(I?"], ["+I:t)+"]);",n,s)),q=(e,l,t,a)=>_(e,l,1,t,a),K=(e=0)=>re(U,(([l,a,n,d,o],s)=>{const r=e?[ve+` const ${s}: typeof ${s}Decl = ${o}(${l}): ${1==a?"any":a} =>`,n]:[ve+` function ${s}${o}(${l}): ${1==a?"ComponentReturnType":a};`];return e||B(r,Dl(d)),z(r,t),r}));c(null,l,Ve,"Store",Ce,Xl+"ized"+Ce),c(0,G,"ComponentReturnType"),c(1,G,"useCellIds"),c(null,G,"ExtraProps"),c(0,D,j);const X=V(J,j+" | "+Ve,`Used when you need to refer to a ${j} in a React hook or component`),Y=V(Ne+Ee,jl(M+ke+j,M+`ById?: {[${M}Id: Id]: ${j}}`),`Used with the ${Ne} component, so that a `+j+" can be passed into the context of an application");c(0,"react","ReactElement","ComponentType"),c(1,"react","React"),c(1,L,X,Y);const le=W+ke+X;A("{createContext, useContext, useMemo}","React"),A("Context",`createContext<[${j}?, {[${M}Id: Id]: ${j}}?]>([])`),Z("Create"+j,`create: () => ${j}, create`+fe,j,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${j} within a React application with convenient memoization`);const te=Z(j,"id?: Id",j+Se,["{",et,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${Ne} component context`),ae=x("useHook",W+`: ${X} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${M} = ${te}(${W} as Id);`,`return hook(...preParams, ((${W} == null || typeof ${W} == 'string')`,`? ${M} : ${W})?.getStore(), ...postParams)`]),ne=x("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),se=x("wrap",Ll("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),Ie=x("useCustomOrDefaultCellIds",Ll("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${W}?: ${X} | undefined`),[`const defaultCellIds = ${ae}(${W}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),$e=A("NullComponent","() => null");if(!ee(e)){const[e,a,n,r,$,T,y,v,A,k,S,P,N,G,J,z,W,B,U,_]=s;c(null,D,e,a,n,$,T,y,v,A,k,S,P,N,G,J,z,W,U,B),c(0,D,r),c(1,D,j),c(null,l,i,"IdOrNull");const Z=x("tableView",`{${M}, rowComponent, getRowComponentProps, customCellIds`+st+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${se}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",ot,"customCellIds={customCellIds}",F,ql,"/>","))",st,", tableId,",");"]),K=x("getDefaultTableComponent","tableId: Id",H(O(((e,l,t)=>`tableId == ${t} ? ${l}TableView : `)))+$e),X=x("getDefaultCellComponent","tableId: Id, cellId: Id",H(O(((e,l,t)=>`tableId == ${t} ? ${H(E(e,((e,t,a,n,d)=>`cellId == ${n} ? `+l+d+"CellView : ")))+$e} : `)))+$e);Q(u+p,u+p,d,ol(1,0,0,1)+pe),Q(p,p,e,ol(1,0)+pe);const Y=Q(C,C,n+Je,rl(b,ze)+pe);Q(He+p+Ce,He+p+Ce,nt,ol(1,9)+lt,Ll(_l(p)+Yl+a,_l(p)+fe),Zl(p),at,Ll(It,`tables: ${a})`+qe,Kl),ct),Q(ge+p+Ce,ge+p+Ce,Ce,ol(1,12),t,t,t,$t,ct);const ee=V(w+Ee,jl("tableId?: TId","rowId: Id","cellId?: CId",M+ke+j,Ql),$l(ie+w),`<TId extends ${n}, CId extends ${r}<TId>>`),le=V(h+Ee,jl("tableId?: TId","rowId: Id",M+ke+j,"cellComponents?: {readonly [CId in "+r+`<TId>]?: ComponentType<${ee}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${r}<TId>) => ExtraProps`,`customCellIds?: ${r}<TId>[]`,rt,Ql),$l(ie+h),`<TId extends ${n}>`),te=V(b+Ee,jl("tableId?: TId",M+ke+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",rt,Ql),$l(ie+b),`<TId extends ${n}>`),ae=V("Sorted"+b+Ee,jl("tableId?: TId","cellId?: "+r+"<TId>","descending?: boolean","offset?: number","limit?: number",M+ke+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",rt,Ql),$l(ie+"sorted "+b),`<TId extends ${n}>`),de=V(p+Ee,jl(M+ke+j,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${te}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,rt,Ql),$l(dl(1,1)));c(1,L,de,te,ae,le,ee),q(p+it,"{"+M+", tableComponents, getTableComponentProps"+st+"}: "+de,[se+`(${Y}(${M}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+K+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",F,ql,"/>;","}), separator)"],ol(1,13)+pe),O(((e,l,a)=>{const[n,s,r,I,$]=oe(_,e);c(null,D,n,s,r,I,$),Q(u+l+b,u+b,d,Cl(e,0,1)+pe,t,a),Q(l+b,b,n,Cl(e)+pe,t,a),Q(l+b+f,b+f,i,rl(w,"the whole of "+bl(e))+pe,t,a),Q(l+h+me,h+me,o,"Gets the number of Rows in "+bl(e)+pe,t,a);const p=Q(l+m,m,i,rl(h,bl(e))+pe,t,a),C=Q(l+g,g,i,rl(h,bl(e),1)+pe,"cellId?: "+$+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");Q(u+l+h,u+h,d,hl(e,0,1)+pe,ut,Ll(a,dt)),Q(l+h,h,r,hl(e)+pe,ut,Ll(a,dt)),Q(l+f,f,$+Je,rl(w,pl(e))+pe,ut,Ll(a,dt)),Q(He+l+b+Ce,He+b+Ce,nt,Cl(e,9)+lt,Ll(_l(b)+Yl+s,_l(b)+fe),Ll(a,Zl(b)),at,Ll(It,`table: ${s})`+qe,Kl),ct),Q(ge+l+b+Ce,ge+b+Ce,Ce,Cl(e,12),t,a,t,$t,ct),Q(He+l+h+Ce,He+h+Ce,nt,hl(e,9)+lt,Ll(ut,_l(h)+Yl+I,_l(h)+fe),Ll(a,dt,Zl(h)),at,Ll(It,`row: ${I})`+qe,Kl),ct),Q("Add"+l+h+Ce,"Add"+h+Ce,nt,hl(e,10)+lt,Ll(_l(h)+Yl+I,_l(h)+fe),Ll(a,Zl(h)),at,"then?: ("+Ll(ut+Se,"store: Store","row: "+I+")"+qe,"then"+fe)+", reuseRowIds?: boolean",ct+", reuseRowIds"),Q(He+l+Oe+h+Ce,He+Oe+h+Ce,nt,hl(e,11)+lt,Ll(ut,_l(Oe+h)+Yl+I,_l(Oe+h)+fe),Ll(a,dt,Zl(Oe+h)),at,Ll(It,`partialRow: ${I})`+qe,Kl),ct),Q(ge+l+h+Ce,ge+h+Ce,Ce,hl(e,12),ut,Ll(a,dt),t,$t,ct);const T=q(l+h+it,"{rowId, "+M+", cellComponents, getCellComponentProps, customCellIds"+st+`}: ${le}<'${e}'>`,[se+`(${Ie}(customCellIds, `+a+`, rowId, ${M}).map((cellId: ${$}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+X+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,ot,"cellId={cellId}",F,ql,"/>;","})"+st+", rowId)"],hl(e,13)+pe);q(l+"Sorted"+b+it,"{cellId, descending, offset, limit, ...props}: "+ae+`<'${e}'>`,Z+"(props, "+C+`(cellId, descending, offset, limit, props.${M}), ${a}, ${T});`,Cl(e,13)+", sorted"+pe),q(l+b+it,`props: ${te}<'${e}'>`,Z+"(props, "+p+`(props.${M}), ${a}, ${T});`,Cl(e,13)+pe),E(e,((n,o,s,r,I)=>{const $="Map"+El(o,1);c(0,D,$),c(1,D,$),Q(u+l+I+b+w,u+b+w,d,`Gets ${nl(1)}the '${n}' Cell anywhere in `+bl(e)+pe,t,Ll(a,r)),Q(u+l+I+w,u+w,d,ml(e,n,0,1)+pe,ut,Ll(a,dt,r));const i=Q(l+I+w,w,o+(R(s)?Se:t),ml(e,n)+pe,ut,Ll(a,dt,r));Q(He+l+I+w+Ce,He+w+Ce,nt,ml(e,n,9)+lt,Ll(ut,_l(w)+Yl+o+" | "+$,_l(w)+fe),Ll(a,dt,r,Zl(w)),at,Ll(It,`cell: ${o} | ${$})`+qe,Kl),ct),Q(ge+l+I+w+Ce,ge+w+Ce,Ce,ml(e,n,12),Ll(ut,"forceDel?: boolean"),Ll(a,dt,r,"forceDel"),t,$t,ct),q(l+I+w+it,`{rowId, ${M}, debugIds}: `+ee+`<'${e}', '${n}'>`,[se+`('' + ${i}(rowId, `+M+`) ?? '', undefined, debugIds, ${r})`],ml(e,n,13)+pe)}))}));const re=H(O((e=>oe(_,e)?.[4]??t))," | ");Q(u+p+I,u+p+I,Qe,ol(1,8,0,1)+" changes",bt($),pt()),Q(p+I,p+I,Qe,ol(1,8)+" changes",bt(T),pt()),Q(C+I,C+I,Qe,il(2,0,1),bt(y),pt()),Q(u+b+I,u+b+I,Qe,il(3,0,0,1),bt(v,`tableId: ${n} | null`),pt("tableId")),Q(b+I,b+I,Qe,il(3,0),bt(A,`tableId: ${n} | null`),pt("tableId")),Q(b+f+I,b+f+I,Qe,il(14,3,1),bt(k,`tableId: ${n} | null`),pt("tableId")),Q(u+b+w+I,u+b+w+I,Qe,il(16,3,0,1),bt(S,`tableId: ${n} | null`,`cellId: ${re} | null`),pt("tableId","cellId")),Q(h+me+I,h+me+I,Qe,il(15,3),bt(P,`tableId: ${n} | null`),pt("tableId")),Q(m+I,m+I,Qe,il(4,3,1),bt(N,`tableId: ${n} | null`),pt("tableId")),Q(g+I,g+I,Qe,il(13,3,1),bt(G,`tableId: ${n} | null`,"cellId: "+re+Se,"descending: boolean","offset: number","limit: number"+Se),pt("tableId","cellId","descending","offset","limit")),Q(u+h+I,u+h+I,Qe,il(5,3,0,1),bt(J,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(h+I,h+I,Qe,il(5,3),bt(z,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(f+I,f+I,Qe,il(6,5,1),bt(W,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(u+w+I,u+w+I,Qe,il(7,5,0,1),bt(B,`tableId: ${n} | null`,dt+": IdOrNull",`cellId: ${re} | null`),pt("tableId",dt,"cellId")),Q(w+I,w+I,Qe,il(7,5),bt(U,`tableId: ${n} | null`,dt+": IdOrNull",`cellId: ${re} | null`),pt("tableId",dt,"cellId"))}if(!ee(a)){const[e,l,a,n,o,s,$,i]=r;c(null,D,...r),c(1,D,j);const b=x("getDefaultValueComponent","valueId: Id",H(N(((e,l,t,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+$e);Q(u+y,u+y,d,ol(2,0,0,1)+pe),Q(y,y,e,ol(2,0)+pe);const p=Q(v,v,a+Je,rl(T,ze)+pe);Q(He+y+Ce,He+y+Ce,nt,ol(2,9)+lt,Ll(_l(y)+Yl+l,_l(y)+fe),Zl(y),at,Ll(It,`values: ${l})`+qe,Kl),ct),Q(He+Oe+y+Ce,He+Oe+y+Ce,nt,ol(2,11)+lt,Ll(_l(Oe+y)+Yl+l,_l(Oe+y)+fe),Zl(Oe+y),at,Ll(It,`partialValues: ${l})`+qe,Kl),ct),Q(ge+y+Ce,ge+y+Ce,Ce,ol(2,12),t,t,t,$t,ct);const C=V(T+Ee,jl("valueId?: VId",M+ke+j,Ql),$l("a Value"),`<VId extends ${a}>`),h=V(y+Ee,jl(M+ke+j,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${C}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,rt,Ql),$l(dl(2,1)));c(1,L,h,C),q(y+it,"{"+M+", valueComponents, getValueComponentProps"+st+"}: "+h,[se+`(${p}(${M}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+b+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",F,ql,"/>;","}), separator)"],ol(2,13)+pe),N(((e,l,a,n,o)=>{const s="Map"+El(l,1);c(0,D,s),c(1,D,s),Q(u+o+T,u+T,d,gl(e,0,1)+pe,t,n);const r=Q(o+T,T,l,gl(e)+pe,t,n);Q(He+o+T+Ce,He+T+Ce,nt,gl(e,9)+lt,Ll(_l(T)+Yl+l+" | "+s,_l(T)+fe),Ll(n,Zl(T)),at,Ll(It,`value: ${l} | ${s})`+qe,Kl),ct),Q(ge+o+T+Ce,ge+T+Ce,Ce,gl(e,12),t,n,t,$t,ct),q(o+T+it,`{${M}, debugIds}: ${C}<'${e}'>`,[se+`('' + ${r}(`+M+`) ?? '', undefined, debugIds, ${n})`],gl(e,13)+pe)})),Q(u+y+I,u+y+I,Qe,ol(2,8,0,1)+" changes",bt(n),pt()),Q(y+I,y+I,Qe,ol(2,8)+" changes",bt(o),pt()),Q(v+I,v+I,Qe,il(10,0,1),bt(s),pt()),Q(u+T+I,u+T+I,Qe,il(11,0,0,1),bt($,`valueId: ${a} | null`),pt("valueId")),Q(T+I,T+I,Qe,il(11,0),bt(i,`valueId: ${a} | null`),pt("valueId"))}return q(Ne,`{${M}, ${M}ById, children}: `+Y+" & {readonly children: React.ReactNode}",["{",et,"return (","<Context."+Ne,"value={useMemo(",`() => [${M} ?? contextValue[0], {...contextValue[1], ...${M}ById}],`,`[${M}, ${M}ById, contextValue],`,")}>","{children}",`</Context.${Ne}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[$(...k(0),...S(),...K(0)),$(...k(1),...P(),...K(1))]},ht=(e,l,a)=>{if(ee(e)&&ee(l))return[t,t,t,t];const[n,d,o,s]=Ul(e,l,a);return[n,d,...Ct(e,l,a,o,s)]},mt=JSON.parse,gt="prettier/",wt=gt+"plugins/",ft={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Tt=Ml((e=>{const l=()=>{const l=mt(e.getTablesSchemaJson());return!ee(l)||L(e.getTableIds(),(t=>{const a=e.getRowIds(t),n=de();if(L(a,(l=>L(e.getCellIds(t,l),(a=>{const d=e.getCell(t,l,a),o=$e(n,a,(()=>[D(d),de(),[0],0])),[s,r,[I]]=o,$=$e(r,d,(()=>0))+1;return $>I&&(o[2]=[$,d]),Ie(r,d,$),o[3]++,s==D(d)})))))return l[t]={},ae(n,(([e,,[,n],d],o)=>{l[t][o]={[s]:e,...d==E(a)?{[r]:n}:{}}})),1}))?l:{}},t=()=>{const l=mt(e.getValuesSchemaJson());return ee(l)&&e.forEachValue(((e,t)=>{l[e]={[s]:D(t)}})),l},a=e=>ht(l(),t(),e),n=async e=>{const l=["d.ts","ts","d.ts","tsx"],t=[];let n;try{n=(await import(gt+"standalone")).format,z(t,await import(wt+"estree"),await import(wt+"typescript"))}catch(e){n=async e=>e}return await N(M(a(e),(async(e,a)=>Pl(await n(e,{...ft,plugins:t,filepath:"_."+l[a]})))))};return K({getStoreStats:l=>{let t=0,a=0,n=0;const d={};return e.forEachTable(((e,o)=>{t++;let s=0,r=0;const I={};o(((e,t)=>{s++;let a=0;t((()=>a++)),r+=a,l&&(I[e]={rowCells:a})})),a+=s,n+=r,l&&(d[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:t,totalRows:a,totalCells:n,totalValues:E(e.getValueIds()),jsonLength:E(e.getJson()),...l?{detail:{tables:d}}:{}}},getStoreTablesSchema:l,getStoreValuesSchema:t,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{Tt as createTools};
|
package/lib/tools.js.gz
CHANGED
|
Binary file
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
* @module checkpoints
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import {Id, IdOrNull, Ids} from './common.d';
|
|
14
|
-
import {Store} from './store.d';
|
|
13
|
+
import {Id, IdOrNull, Ids} from './common.d.ts';
|
|
14
|
+
import {Store} from './store.d.ts';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* The CheckpointIds type is a representation of the list of checkpoint Ids
|
package/lib/types/indexes.d.ts
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
* @module indexes
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import {GetCell, RowCallback, Store} from './store.d';
|
|
14
|
-
import {Id, IdOrNull, Ids, SortKey} from './common.d';
|
|
13
|
+
import {GetCell, RowCallback, Store} from './store.d.ts';
|
|
14
|
+
import {Id, IdOrNull, Ids, SortKey} from './common.d.ts';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* The Index type represents the concept of a map of Slice objects, keyed by Id.
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* The mergeable-store module
|
|
3
3
|
* @packageDocumentation
|
|
4
4
|
* @module mergeable-store
|
|
5
|
+
* @since v5.0.0
|
|
5
6
|
*/
|
|
6
7
|
|
|
7
|
-
import {CellOrUndefined, Store, ValueOrUndefined} from './store.d';
|
|
8
|
-
import {Id} from './common';
|
|
9
|
-
import {IdObj} from '../common/obj';
|
|
8
|
+
import {CellOrUndefined, Store, ValueOrUndefined} from './store.d.ts';
|
|
9
|
+
import {Id, Ids} from './common';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* The Hash type
|
|
@@ -20,29 +20,78 @@ export type Hash = number;
|
|
|
20
20
|
*/
|
|
21
21
|
export type Time = string;
|
|
22
22
|
|
|
23
|
-
/**
|
|
24
|
-
* The HashStamp type
|
|
25
|
-
* @category Stamps
|
|
26
|
-
*/
|
|
27
|
-
export type HashStamp<Thing> = [time: Time, thing: Thing, hash: Hash];
|
|
28
|
-
|
|
29
23
|
/**
|
|
30
24
|
* The Stamp type
|
|
31
25
|
* @category Stamps
|
|
32
26
|
*/
|
|
33
|
-
export type Stamp<Thing> =
|
|
27
|
+
export type Stamp<Thing, Hashed extends boolean = false> = Hashed extends true
|
|
28
|
+
? [time: Time, thing: Thing, hash: Hash]
|
|
29
|
+
: [time: Time, thing: Thing];
|
|
30
|
+
|
|
31
|
+
// ContentHashes
|
|
32
|
+
export type ContentHashes = [time: Time, [tablesHash: Hash, valuesHash: Hash]];
|
|
33
|
+
|
|
34
|
+
// TablesStamp
|
|
35
|
+
export type TablesStamp<Hashed extends boolean = false> = Stamp<
|
|
36
|
+
{[tableId: Id]: TableStamp<Hashed>},
|
|
37
|
+
Hashed
|
|
38
|
+
>;
|
|
39
|
+
|
|
40
|
+
// TableHashes
|
|
41
|
+
export type TableHashes = {[tableId: Id]: Hash};
|
|
42
|
+
|
|
43
|
+
// TableIdsDiff
|
|
44
|
+
export type TableIdsDiff = Ids;
|
|
45
|
+
|
|
46
|
+
// TableStamp
|
|
47
|
+
export type TableStamp<Hashed extends boolean = false> = Stamp<
|
|
48
|
+
{[rowId: Id]: RowStamp<Hashed>},
|
|
49
|
+
Hashed
|
|
50
|
+
>;
|
|
51
|
+
|
|
52
|
+
// RowHashes
|
|
53
|
+
export type RowHashes = {[tableId: Id]: {[rowId: Id]: Hash}};
|
|
54
|
+
|
|
55
|
+
// RowIdsDiff
|
|
56
|
+
export type RowIdsDiff = {[tableId: Id]: Ids};
|
|
57
|
+
|
|
58
|
+
// RowStamp
|
|
59
|
+
export type RowStamp<Hashed extends boolean = false> = Stamp<
|
|
60
|
+
{[cellId: Id]: CellStamp<Hashed>},
|
|
61
|
+
Hashed
|
|
62
|
+
>;
|
|
63
|
+
|
|
64
|
+
// CellHashes
|
|
65
|
+
export type CellHashes = {[tableId: Id]: {[rowId: Id]: {[cellId: Id]: Hash}}};
|
|
66
|
+
|
|
67
|
+
// CellStamp
|
|
68
|
+
export type CellStamp<Hashed extends boolean = false> = Stamp<
|
|
69
|
+
CellOrUndefined,
|
|
70
|
+
Hashed
|
|
71
|
+
>;
|
|
72
|
+
|
|
73
|
+
// ValuesStamp
|
|
74
|
+
export type ValuesStamp<Hashed extends boolean = false> = Stamp<
|
|
75
|
+
{[valueId: Id]: ValueStamp<Hashed>},
|
|
76
|
+
Hashed
|
|
77
|
+
>;
|
|
78
|
+
|
|
79
|
+
// ValuesHashes
|
|
80
|
+
export type ValuesHashes = {[valueId: Id]: Hash};
|
|
81
|
+
|
|
82
|
+
// ValueStamp
|
|
83
|
+
export type ValueStamp<Hashed extends boolean = false> = Stamp<
|
|
84
|
+
ValueOrUndefined,
|
|
85
|
+
Hashed
|
|
86
|
+
>;
|
|
34
87
|
|
|
35
88
|
/**
|
|
36
89
|
* The MergeableContent type
|
|
37
90
|
* @category Mergeable
|
|
38
91
|
*/
|
|
39
|
-
export type MergeableContent =
|
|
40
|
-
[
|
|
41
|
-
|
|
42
|
-
IdObj<HashStamp<IdObj<HashStamp<IdObj<HashStamp<CellOrUndefined>>>>>>
|
|
43
|
-
>,
|
|
44
|
-
mergeableValues: HashStamp<IdObj<HashStamp<ValueOrUndefined>>>,
|
|
45
|
-
]
|
|
92
|
+
export type MergeableContent = Stamp<
|
|
93
|
+
[mergeableTables: TablesStamp<true>, mergeableValues: ValuesStamp<true>],
|
|
94
|
+
true
|
|
46
95
|
>;
|
|
47
96
|
|
|
48
97
|
/**
|
|
@@ -50,12 +99,7 @@ export type MergeableContent = HashStamp<
|
|
|
50
99
|
* @category Mergeable
|
|
51
100
|
*/
|
|
52
101
|
export type MergeableChanges = Stamp<
|
|
53
|
-
[
|
|
54
|
-
mergeableTables: Stamp<
|
|
55
|
-
IdObj<Stamp<IdObj<Stamp<IdObj<Stamp<CellOrUndefined>>>>>>
|
|
56
|
-
>,
|
|
57
|
-
mergeableValues: Stamp<IdObj<Stamp<ValueOrUndefined>>>,
|
|
58
|
-
]
|
|
102
|
+
[mergeableTables: TablesStamp, mergeableValues: ValuesStamp, isChanges: 1]
|
|
59
103
|
>;
|
|
60
104
|
|
|
61
105
|
/**
|
|
@@ -65,78 +109,96 @@ export type MergeableChanges = Stamp<
|
|
|
65
109
|
export interface MergeableStore extends Store {
|
|
66
110
|
//
|
|
67
111
|
/**
|
|
68
|
-
* The
|
|
69
|
-
* @category
|
|
112
|
+
* The getId method
|
|
113
|
+
* @category Getter
|
|
70
114
|
*/
|
|
71
|
-
|
|
115
|
+
getId(): Id;
|
|
72
116
|
|
|
73
117
|
/**
|
|
74
118
|
* The getMergeableContent method
|
|
75
|
-
* @category
|
|
119
|
+
* @category Getter
|
|
76
120
|
*/
|
|
77
121
|
getMergeableContent(): MergeableContent;
|
|
78
122
|
|
|
79
123
|
/**
|
|
80
|
-
* The
|
|
81
|
-
* @category
|
|
124
|
+
* The getMergeableContentHashes method
|
|
125
|
+
* @category Syncing
|
|
82
126
|
*/
|
|
83
|
-
|
|
127
|
+
getMergeableContentHashes(): ContentHashes;
|
|
84
128
|
|
|
85
129
|
/**
|
|
86
|
-
* The
|
|
87
|
-
* @category
|
|
130
|
+
* The getMergeableTableHashes method
|
|
131
|
+
* @category Syncing
|
|
88
132
|
*/
|
|
89
|
-
|
|
133
|
+
getMergeableTableHashes(): TableHashes;
|
|
90
134
|
|
|
91
135
|
/**
|
|
92
|
-
* The
|
|
93
|
-
* @category
|
|
136
|
+
* The getMergeableTableIdsDiff method
|
|
137
|
+
* @category Syncing
|
|
94
138
|
*/
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
139
|
+
getMergeableTableIdsDiff(relativeTo: TableHashes): TableIdsDiff;
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* The getMergeableRowHashes method
|
|
143
|
+
* @category Syncing
|
|
144
|
+
*/
|
|
145
|
+
getMergeableRowHashes(tablesDelta: TableIdsDiff): RowHashes;
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* The getMergeableRowIdsDiff method
|
|
149
|
+
* @category Syncing
|
|
150
|
+
*/
|
|
151
|
+
getMergeableRowIdsDiff(relativeTo: RowHashes): RowIdsDiff;
|
|
98
152
|
|
|
99
153
|
/**
|
|
100
|
-
* The
|
|
101
|
-
* @category
|
|
154
|
+
* The getMergeableCellHashes method
|
|
155
|
+
* @category Syncing
|
|
102
156
|
*/
|
|
103
|
-
|
|
157
|
+
getMergeableCellHashes(tableDelta: RowIdsDiff): CellHashes;
|
|
104
158
|
|
|
105
159
|
/**
|
|
106
|
-
* The
|
|
107
|
-
* @category
|
|
160
|
+
* The getMergeableTablesChanges method
|
|
161
|
+
* @category Syncing
|
|
108
162
|
*/
|
|
109
|
-
|
|
163
|
+
getMergeableTablesChanges(relativeTo: CellHashes): TablesStamp;
|
|
110
164
|
|
|
111
165
|
/**
|
|
112
|
-
* The
|
|
113
|
-
* @category
|
|
166
|
+
* The getMergeableValuesHashes method
|
|
167
|
+
* @category Syncing
|
|
114
168
|
*/
|
|
115
|
-
|
|
169
|
+
getMergeableValuesHashes(): ValuesHashes;
|
|
116
170
|
|
|
117
171
|
/**
|
|
118
|
-
* The
|
|
119
|
-
* @category
|
|
172
|
+
* The getMergeableValuesChanges method
|
|
173
|
+
* @category Syncing
|
|
120
174
|
*/
|
|
121
|
-
|
|
175
|
+
getMergeableValuesChanges(relativeTo: ValuesHashes): ValuesStamp;
|
|
122
176
|
|
|
123
177
|
/**
|
|
124
|
-
* The
|
|
125
|
-
* @category
|
|
178
|
+
* The setMergeableContent method
|
|
179
|
+
* @category Setter
|
|
126
180
|
*/
|
|
127
|
-
|
|
181
|
+
setMergeableContent(mergeableContent: MergeableContent): MergeableStore;
|
|
128
182
|
|
|
129
183
|
/**
|
|
130
|
-
* The
|
|
131
|
-
* @category
|
|
184
|
+
* The getTransactionMergeableChanges method
|
|
185
|
+
* @category Getter
|
|
132
186
|
*/
|
|
133
|
-
|
|
187
|
+
getTransactionMergeableChanges(): MergeableChanges;
|
|
134
188
|
|
|
135
189
|
/**
|
|
136
|
-
* The
|
|
137
|
-
* @category
|
|
190
|
+
* The applyMergeableChanges method
|
|
191
|
+
* @category Setter
|
|
138
192
|
*/
|
|
139
|
-
|
|
193
|
+
applyMergeableChanges(
|
|
194
|
+
mergeableChanges: MergeableChanges | MergeableContent,
|
|
195
|
+
): MergeableStore;
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* The merge method
|
|
199
|
+
* @category Setter
|
|
200
|
+
*/
|
|
201
|
+
merge(mergeableStore: MergeableStore): MergeableStore;
|
|
140
202
|
}
|
|
141
203
|
|
|
142
204
|
/**
|
package/lib/types/metrics.d.ts
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
* @module metrics
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import {GetCell, Store} from './store.d';
|
|
14
|
-
import {Id, IdOrNull, Ids} from './common.d';
|
|
13
|
+
import {GetCell, Store} from './store.d.ts';
|
|
14
|
+
import {Id, IdOrNull, Ids} from './common.d.ts';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* The Metric type is simply an alias, but represents a number formed by
|
|
@@ -21,6 +21,9 @@ import {Store} from '../store';
|
|
|
21
21
|
*
|
|
22
22
|
* It simply provides an extra getDocHandle method for accessing the Automerge
|
|
23
23
|
* document handler the Store is being persisted to.
|
|
24
|
+
*
|
|
25
|
+
* You should use the createAutomergePersister function to create an
|
|
26
|
+
* AutomergePersister object.
|
|
24
27
|
* @category Persister
|
|
25
28
|
* @since v4.3.14
|
|
26
29
|
*/
|