tinybase 5.2.0-beta.4 → 5.2.0
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/@types/mergeable-store/index.d.cts +114 -11
- package/@types/mergeable-store/index.d.ts +114 -11
- package/@types/mergeable-store/with-schemas/index.d.cts +192 -11
- package/@types/mergeable-store/with-schemas/index.d.ts +192 -11
- package/@types/persisters/index.d.cts +177 -16
- package/@types/persisters/index.d.ts +177 -16
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +1 -1
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +1 -1
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-electric-sql/index.d.cts +1 -1
- package/@types/persisters/persister-electric-sql/index.d.ts +1 -1
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-expo-sqlite/index.d.cts +1 -1
- package/@types/persisters/persister-expo-sqlite/index.d.ts +1 -1
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-libsql/index.d.cts +1 -1
- package/@types/persisters/persister-libsql/index.d.ts +1 -1
- package/@types/persisters/persister-libsql/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-pglite/index.d.cts +1 -1
- package/@types/persisters/persister-pglite/index.d.ts +1 -1
- package/@types/persisters/persister-pglite/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-pglite/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-postgres/index.d.cts +1 -1
- package/@types/persisters/persister-postgres/index.d.ts +1 -1
- package/@types/persisters/persister-postgres/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-postgres/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-powersync/index.d.cts +1 -1
- package/@types/persisters/persister-powersync/index.d.ts +1 -1
- package/@types/persisters/persister-powersync/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-sqlite-wasm/index.d.cts +1 -1
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +1 -1
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-sqlite3/index.d.cts +1 -1
- package/@types/persisters/persister-sqlite3/index.d.ts +1 -1
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +2 -2
- package/@types/persisters/with-schemas/index.d.cts +227 -19
- package/@types/persisters/with-schemas/index.d.ts +227 -19
- package/@types/synchronizers/index.d.cts +2 -5
- package/@types/synchronizers/index.d.ts +2 -5
- package/@types/synchronizers/synchronizer-ws-server/index.d.cts +7 -7
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +7 -7
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +7 -7
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +7 -7
- package/@types/synchronizers/with-schemas/index.d.cts +2 -5
- package/@types/synchronizers/with-schemas/index.d.ts +2 -5
- package/cjs/es6/index.cjs +54 -566
- package/cjs/es6/mergeable-store/index.cjs +9 -6
- package/cjs/es6/mergeable-store/with-schemas/index.cjs +9 -6
- package/cjs/es6/min/index.cjs +1 -1
- package/cjs/es6/min/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/index.cjs +1 -1
- package/cjs/es6/min/persisters/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/persisters/index.cjs +1095 -10
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +58 -49
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +58 -49
- package/cjs/es6/persisters/persister-electric-sql/index.cjs +56 -47
- package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +56 -47
- package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +58 -49
- package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +58 -49
- package/cjs/es6/persisters/persister-indexed-db/index.cjs +2 -2
- package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +2 -2
- package/cjs/es6/persisters/persister-libsql/index.cjs +56 -47
- package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +56 -47
- package/cjs/es6/persisters/persister-pglite/index.cjs +61 -54
- package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +61 -54
- package/cjs/es6/persisters/persister-postgres/index.cjs +63 -56
- package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +63 -56
- package/cjs/es6/persisters/persister-powersync/index.cjs +58 -49
- package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +58 -49
- package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +62 -49
- package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +62 -49
- package/cjs/es6/persisters/persister-sqlite3/index.cjs +58 -49
- package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +58 -49
- package/cjs/es6/persisters/with-schemas/index.cjs +1095 -10
- package/cjs/es6/synchronizers/index.cjs +9 -6
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +9 -6
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +9 -6
- package/cjs/es6/synchronizers/synchronizer-local/index.cjs +9 -6
- package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +9 -6
- package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +9 -6
- package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +9 -6
- package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +17 -14
- package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +17 -14
- package/cjs/es6/synchronizers/with-schemas/index.cjs +9 -6
- package/cjs/es6/with-schemas/index.cjs +54 -566
- package/cjs/index.cjs +45 -447
- package/cjs/mergeable-store/index.cjs +1 -0
- package/cjs/mergeable-store/with-schemas/index.cjs +1 -0
- package/cjs/min/index.cjs +1 -1
- package/cjs/min/index.cjs.gz +0 -0
- package/cjs/min/persisters/index.cjs +1 -1
- package/cjs/min/persisters/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
- package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
- package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
- package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
- package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
- package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/with-schemas/index.cjs +1 -1
- package/cjs/min/with-schemas/index.cjs.gz +0 -0
- package/cjs/persisters/index.cjs +833 -0
- package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +57 -48
- package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +57 -48
- package/cjs/persisters/persister-electric-sql/index.cjs +56 -47
- package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +56 -47
- package/cjs/persisters/persister-expo-sqlite/index.cjs +57 -48
- package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +57 -48
- package/cjs/persisters/persister-indexed-db/index.cjs +2 -2
- package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +2 -2
- package/cjs/persisters/persister-libsql/index.cjs +56 -47
- package/cjs/persisters/persister-libsql/with-schemas/index.cjs +56 -47
- package/cjs/persisters/persister-pglite/index.cjs +59 -52
- package/cjs/persisters/persister-pglite/with-schemas/index.cjs +59 -52
- package/cjs/persisters/persister-postgres/index.cjs +61 -54
- package/cjs/persisters/persister-postgres/with-schemas/index.cjs +61 -54
- package/cjs/persisters/persister-powersync/index.cjs +60 -49
- package/cjs/persisters/persister-powersync/with-schemas/index.cjs +60 -49
- package/cjs/persisters/persister-sqlite-wasm/index.cjs +58 -49
- package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +58 -49
- package/cjs/persisters/persister-sqlite3/index.cjs +58 -49
- package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +58 -49
- package/cjs/persisters/with-schemas/index.cjs +833 -0
- package/cjs/synchronizers/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-local/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-ws-client/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-ws-server/index.cjs +9 -8
- package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +9 -8
- package/cjs/synchronizers/with-schemas/index.cjs +1 -0
- package/cjs/with-schemas/index.cjs +45 -447
- package/es6/index.js +54 -566
- package/es6/mergeable-store/index.js +9 -6
- package/es6/mergeable-store/with-schemas/index.js +9 -6
- package/es6/min/index.js +1 -1
- package/es6/min/index.js.gz +0 -0
- package/es6/min/persisters/index.js +1 -1
- package/es6/min/persisters/index.js.gz +0 -0
- package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-electric-sql/index.js +1 -1
- package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-libsql/index.js +1 -1
- package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
- package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-powersync/index.js +1 -1
- package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
- package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite3/index.js +1 -1
- package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/with-schemas/index.js +1 -1
- package/es6/min/persisters/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/es6/min/with-schemas/index.js +1 -1
- package/es6/min/with-schemas/index.js.gz +0 -0
- package/es6/persisters/index.js +1099 -11
- package/es6/persisters/persister-cr-sqlite-wasm/index.js +58 -49
- package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +58 -49
- package/es6/persisters/persister-electric-sql/index.js +56 -47
- package/es6/persisters/persister-electric-sql/with-schemas/index.js +56 -47
- package/es6/persisters/persister-expo-sqlite/index.js +58 -49
- package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +58 -49
- package/es6/persisters/persister-indexed-db/index.js +2 -2
- package/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -2
- package/es6/persisters/persister-libsql/index.js +56 -47
- package/es6/persisters/persister-libsql/with-schemas/index.js +56 -47
- package/es6/persisters/persister-pglite/index.js +61 -54
- package/es6/persisters/persister-pglite/with-schemas/index.js +61 -54
- package/es6/persisters/persister-postgres/index.js +63 -56
- package/es6/persisters/persister-postgres/with-schemas/index.js +63 -56
- package/es6/persisters/persister-powersync/index.js +58 -49
- package/es6/persisters/persister-powersync/with-schemas/index.js +58 -49
- package/es6/persisters/persister-sqlite-wasm/index.js +62 -49
- package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +62 -49
- package/es6/persisters/persister-sqlite3/index.js +58 -49
- package/es6/persisters/persister-sqlite3/with-schemas/index.js +58 -49
- package/es6/persisters/with-schemas/index.js +1099 -11
- package/es6/synchronizers/index.js +9 -6
- package/es6/synchronizers/synchronizer-broadcast-channel/index.js +9 -6
- package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +9 -6
- package/es6/synchronizers/synchronizer-local/index.js +9 -6
- package/es6/synchronizers/synchronizer-local/with-schemas/index.js +9 -6
- package/es6/synchronizers/synchronizer-ws-client/index.js +9 -6
- package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +9 -6
- package/es6/synchronizers/synchronizer-ws-server/index.js +17 -14
- package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +17 -14
- package/es6/synchronizers/with-schemas/index.js +9 -6
- package/es6/with-schemas/index.js +54 -566
- package/index.js +45 -447
- package/mergeable-store/index.js +1 -0
- package/mergeable-store/with-schemas/index.js +1 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/package.json +212 -212
- package/persisters/index.js +837 -1
- package/persisters/persister-cr-sqlite-wasm/index.js +57 -48
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +57 -48
- package/persisters/persister-electric-sql/index.js +56 -47
- package/persisters/persister-electric-sql/with-schemas/index.js +56 -47
- package/persisters/persister-expo-sqlite/index.js +57 -48
- package/persisters/persister-expo-sqlite/with-schemas/index.js +57 -48
- package/persisters/persister-indexed-db/index.js +2 -2
- package/persisters/persister-indexed-db/with-schemas/index.js +2 -2
- package/persisters/persister-libsql/index.js +56 -47
- package/persisters/persister-libsql/with-schemas/index.js +56 -47
- package/persisters/persister-pglite/index.js +59 -52
- package/persisters/persister-pglite/with-schemas/index.js +59 -52
- package/persisters/persister-postgres/index.js +61 -54
- package/persisters/persister-postgres/with-schemas/index.js +61 -54
- package/persisters/persister-powersync/index.js +60 -49
- package/persisters/persister-powersync/with-schemas/index.js +60 -49
- package/persisters/persister-sqlite-wasm/index.js +58 -49
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +58 -49
- package/persisters/persister-sqlite3/index.js +58 -49
- package/persisters/persister-sqlite3/with-schemas/index.js +58 -49
- package/persisters/with-schemas/index.js +837 -1
- package/readme.md +14 -14
- package/releases.md +27 -23
- package/synchronizers/index.js +1 -0
- package/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
- package/synchronizers/synchronizer-local/index.js +1 -0
- package/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
- package/synchronizers/synchronizer-ws-client/index.js +1 -0
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
- package/synchronizers/synchronizer-ws-server/index.js +9 -8
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +9 -8
- package/synchronizers/with-schemas/index.js +1 -0
- package/umd/es6/index.js +54 -577
- package/umd/es6/mergeable-store/index.js +9 -6
- package/umd/es6/mergeable-store/with-schemas/index.js +9 -6
- package/umd/es6/min/index.js +1 -1
- package/umd/es6/min/index.js.gz +0 -0
- package/umd/es6/min/persisters/index.js +1 -1
- package/umd/es6/min/persisters/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
- package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
- package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
- package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/with-schemas/index.js +1 -1
- package/umd/es6/min/with-schemas/index.js.gz +0 -0
- package/umd/es6/persisters/index.js +1106 -10
- package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +58 -49
- package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +58 -49
- package/umd/es6/persisters/persister-electric-sql/index.js +56 -47
- package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +56 -47
- package/umd/es6/persisters/persister-expo-sqlite/index.js +58 -49
- package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +58 -49
- package/umd/es6/persisters/persister-indexed-db/index.js +2 -2
- package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -2
- package/umd/es6/persisters/persister-libsql/index.js +56 -47
- package/umd/es6/persisters/persister-libsql/with-schemas/index.js +56 -47
- package/umd/es6/persisters/persister-pglite/index.js +61 -54
- package/umd/es6/persisters/persister-pglite/with-schemas/index.js +61 -54
- package/umd/es6/persisters/persister-postgres/index.js +66 -56
- package/umd/es6/persisters/persister-postgres/with-schemas/index.js +66 -56
- package/umd/es6/persisters/persister-powersync/index.js +58 -49
- package/umd/es6/persisters/persister-powersync/with-schemas/index.js +58 -49
- package/umd/es6/persisters/persister-sqlite-wasm/index.js +58 -49
- package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +58 -49
- package/umd/es6/persisters/persister-sqlite3/index.js +58 -49
- package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +58 -49
- package/umd/es6/persisters/with-schemas/index.js +1106 -10
- package/umd/es6/synchronizers/index.js +9 -6
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +9 -6
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +9 -6
- package/umd/es6/synchronizers/synchronizer-local/index.js +9 -6
- package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +9 -6
- package/umd/es6/synchronizers/synchronizer-ws-client/index.js +9 -6
- package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +9 -6
- package/umd/es6/synchronizers/synchronizer-ws-server/index.js +17 -14
- package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +17 -14
- package/umd/es6/synchronizers/with-schemas/index.js +9 -6
- package/umd/es6/with-schemas/index.js +54 -577
- package/umd/index.js +45 -454
- package/umd/mergeable-store/index.js +1 -0
- package/umd/mergeable-store/with-schemas/index.js +1 -0
- package/umd/min/index.js +1 -1
- package/umd/min/index.js.gz +0 -0
- package/umd/min/persisters/index.js +1 -1
- package/umd/min/persisters/index.js.gz +0 -0
- package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-electric-sql/index.js +1 -1
- package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-libsql/index.js +1 -1
- package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
- package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-powersync/index.js +1 -1
- package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
- package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite3/index.js +1 -1
- package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/with-schemas/index.js +1 -1
- package/umd/min/persisters/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/umd/min/with-schemas/index.js +1 -1
- package/umd/min/with-schemas/index.js.gz +0 -0
- package/umd/persisters/index.js +835 -0
- package/umd/persisters/persister-cr-sqlite-wasm/index.js +57 -48
- package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +57 -48
- package/umd/persisters/persister-electric-sql/index.js +56 -47
- package/umd/persisters/persister-electric-sql/with-schemas/index.js +56 -47
- package/umd/persisters/persister-expo-sqlite/index.js +57 -48
- package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +57 -48
- package/umd/persisters/persister-indexed-db/index.js +2 -2
- package/umd/persisters/persister-indexed-db/with-schemas/index.js +2 -2
- package/umd/persisters/persister-libsql/index.js +56 -47
- package/umd/persisters/persister-libsql/with-schemas/index.js +56 -47
- package/umd/persisters/persister-pglite/index.js +59 -52
- package/umd/persisters/persister-pglite/with-schemas/index.js +59 -52
- package/umd/persisters/persister-postgres/index.js +61 -54
- package/umd/persisters/persister-postgres/with-schemas/index.js +61 -54
- package/umd/persisters/persister-powersync/index.js +58 -49
- package/umd/persisters/persister-powersync/with-schemas/index.js +58 -49
- package/umd/persisters/persister-sqlite-wasm/index.js +62 -49
- package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +62 -49
- package/umd/persisters/persister-sqlite3/index.js +58 -49
- package/umd/persisters/persister-sqlite3/with-schemas/index.js +58 -49
- package/umd/persisters/with-schemas/index.js +835 -0
- package/umd/synchronizers/index.js +1 -0
- package/umd/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
- package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
- package/umd/synchronizers/synchronizer-local/index.js +1 -0
- package/umd/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
- package/umd/synchronizers/synchronizer-ws-client/index.js +1 -0
- package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
- package/umd/synchronizers/synchronizer-ws-server/index.js +9 -8
- package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +9 -8
- package/umd/synchronizers/with-schemas/index.js +1 -0
- package/umd/with-schemas/index.js +45 -454
- package/with-schemas/index.js +45 -447
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),p=a=>{throw Error(a)},v=(a,t)=>f(Array(a).fill(0),((a,e)=>t(e))),g=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),E=a=>0==u(a),A=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m="_",T="_id",b="SELECT",N="WHERE",C="TABLE",$="ALTER "+C,O="DELETE FROM",S=b+"*FROM",I="pragma_",R="data_version",L="schema_version",D="pragma_table_",P=a=>`"${a.replace(/"/g,'""')}"`,M=a=>g(f(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],x=(a,t)=>a?.delete(t),j=Object,B=a=>j.getPrototypeOf(a),U=j.entries,J=j.keys,Y=j.freeze,k=(a=[])=>j.fromEntries(a),G=(...a)=>j.assign({},...a),H=(a,t)=>(delete a[t],a),z=(a,t)=>f(U(a),(([a,e])=>t(e,a))),K=a=>j.values(a),Q=a=>u(J(a)),V=a=>(a=>!r(a)&&c(B(a),(a=>a==j.prototype||r(B(a))),(()=>!0)))(a)&&0==Q(a),W=JSON.stringify,X=JSON.parse,q=a=>new Map(a),Z=(a,t)=>a?.get(t),aa=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>r(e)?(x(a,t),a):a?.set(t,e),ea=(a,t,e,n)=>(_(a,t)||ta(a,t,e()),Z(a,t)),na=q(),sa=q(),ia=(a,t,e,n,s,i,o,l={},w=[])=>{let u,d,v,g=0,f=0,E=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[A,m,T,b,N]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!V(a)||!V(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!V(a)||!V(t),t.setContent]:p("Store type not supported by this Persister"))(o,a),C=t=>{(A&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},$=async a=>(2!=g&&(g=1,f++,await R((async()=>{try{const a=await t();y(a)?C(a):p("Content is not an array "+a)}catch(t){i?.(t),a&&N(a)}g=0}))),L),O=()=>(d&&(s(d),d=void 0),L),S=async a=>(1!=g&&(g=2,E++,await R((async()=>{try{await e(m,a)}catch(a){i?.(a)}g=0}))),L),I=()=>(c(v,a.delListener),v=void 0,L),R=async(...a)=>(h(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!r((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),L),L={load:$,startAutoLoad:async a=>{await O().load(a);try{d=await n((async(a,t)=>{t||a?2!=g&&(g=1,f++,C(t??a),g=0):await $()}))}catch(a){i?.(a)}return L},stopAutoLoad:O,isAutoLoading:()=>!r(d),save:S,startAutoSave:async()=>(await I().save(),v=a.addDidFinishTransactionListener((()=>{const a=T();b(a)&&S(a)})),L),stopAutoSave:I,isAutoSaving:()=>!r(v),schedule:R,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),O().stopAutoSave()),getStats:()=>({loads:f,saves:E}),...l};return Y(L)},oa=a=>new Set(y(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),ca=(a,t,e,s,i,o,c,l)=>{const y=q();return[async()=>{y.clear(),f(await e(a,t),(({tn:a,cn:t})=>ra(ea(y,a,oa),t)))},async(t,e)=>((a,t)=>_(Z(y,a),t))(t,e)?k(A(f(await a(S+P(t)),(a=>{return[a[e],l?(t=H(a,e),n=l,k(z(t,((a,t)=>[t,n(a,t)])))):H(a,e)];var t,n})),(([a,t])=>!r(a)&&!V(t)))):{},async(t,e,s,l,w,u=!1)=>{const p=oa();z(s??{},(a=>f(J(a??{}),(a=>ra(p,a)))));const v=F(p);if(!u&&w&&E(v)&&_(y,t))return await a("DROP "+C+P(t)),void ta(y,t);const m=Z(y,t),T=oa(F(m));if(E(v)||(_(y,t)?await d(f([e,...v],(async(n,s)=>{x(T,n)||(await a($+P(t)+"ADD"+P(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+P(t)+`(${P(e)})`),ra(m,n))}))):(await a("CREATE "+C+P(t)+`(${P(e)}${i} PRIMARY KEY${g(f(v,(a=>n+P(a)+i)))});`),ta(y,t,oa([e,...v])))),await d([...!u&&l?f(F(T),(async n=>{n!=e&&(await a($+P(t)+"DROP"+P(n)),x(m,n))})):[]]),u)r(s)?await a(O+P(t)+N+" true"):await d(z(s,(async(n,s)=>{r(n)?await a(O+P(t)+N+P(e)+"=$1",[s]):E(v)||await la(a,t,e,J(n),[s,...c?f(K(n),c):K(n)],o)})));else if(E(v))_(y,t)&&await a(O+P(t)+N+" true");else{const n=A(F(Z(y,t)),(a=>a!=e)),i=[],r=[];z(s??{},((a,t)=>{h(i,t,...f(n,(t=>c?c(a?.[t]):a?.[t]))),h(r,t)})),await la(a,t,e,n,i,o),await a(O+P(t)+N+P(e)+`NOT IN(${M(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,e,s,i,o=0)=>await a("INSERT "+(o?"OR REPLACE ":"")+"INTO"+P(t)+"("+P(e)+g(f(s,(a=>n+P(a))))+")VALUES"+ya(i,u(s)+1)+(o?"":"ON CONFLICT("+P(e)+")DO UPDATE SET"+g(f(s,(a=>P(a)+"=excluded."+P(a))),n)),f(i,(a=>a??null))),ya=(a,t)=>g(v(u(a)/t,(a=>"("+g(v(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,o,[r,c,l],y,w,u,d,p,v)=>{const[g,f,E,A]=ca(t,y,w,s,p,v),h=ia(a,(async()=>await A((async()=>{return await g(),a=(await f(r,c))[m]?.[l]??"null",X(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await A((async()=>{var t;await g(),await E(r,c,{[m]:{[l]:(t=a()??null,W(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},ua=(a,t,e,n,s,i,o,[c,l,[y,w,u]],p,v,g,f,E,h,b,N)=>{const[C,$,O,S]=ca(t,p,v,s,E,h,b,N),I=async(a,t)=>await d(aa(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await O(e,n,a[o],s,i,t)}))),R=async(a,t)=>w?await O(u,T,{[m]:a},!0,!0,t):null,L=ia(a,(async()=>await S((async()=>{await C();const a=await(async()=>k(A(await d(aa(c,(async([a,t],e)=>[a,await $(e,t)]))),(a=>!V(a[1])))))(),t=await(async()=>y?(await $(u,T))[m]:{})();return V(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await C(),r(t)){const[t,e]=a();await I(t),await R(e)}else await I(t[0],!0),await R(t[1],!0)}))),e,n,s,o,{[f]:()=>g,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},g);return L},da="ColumnName",pa="store",va="json",ga=pa+"TableName",fa=pa+"Id"+da,Ea=pa+da,Aa="autoLoadIntervalSeconds",ha="rowId"+da,ma="tableId",Ta="tableName",ba="deleteEmptyColumns",Na="deleteEmptyTable",Ca={mode:va,[Aa]:1},$a={load:0,save:0,[Ta]:e+"_values"},Oa=(a,t,e,n,s)=>{const i=q();return z(a,((a,o)=>{const c=w(K(G(t,l(a)?{[e]:a}:a)),0,Q(t));r(c[0])||n(o,c[0])||(s(o,c[0]),ta(i,o,c))})),i},Sa=(a,t,n,s,i,r,c,y,u,d="getDb",
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),p=a=>{throw Error(a)},v=(a,t)=>f(Array(a).fill(0),((a,e)=>t(e))),g=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),E=a=>0==u(a),A=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m="_",T="_id",b="SELECT",N="WHERE",C="TABLE",$="ALTER "+C,O="DELETE FROM",S=b+"*FROM",I="pragma_",R="data_version",L="schema_version",D="pragma_table_",P=a=>`"${a.replace(/"/g,'""')}"`,M=a=>g(f(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],x=(a,t)=>a?.delete(t),j=Object,B=a=>j.getPrototypeOf(a),U=j.entries,J=j.keys,Y=j.freeze,k=(a=[])=>j.fromEntries(a),G=(...a)=>j.assign({},...a),H=(a,t)=>(delete a[t],a),z=(a,t)=>f(U(a),(([a,e])=>t(e,a))),K=a=>j.values(a),Q=a=>u(J(a)),V=a=>(a=>!r(a)&&c(B(a),(a=>a==j.prototype||r(B(a))),(()=>!0)))(a)&&0==Q(a),W=JSON.stringify,X=JSON.parse,q=a=>new Map(a),Z=(a,t)=>a?.get(t),aa=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>r(e)?(x(a,t),a):a?.set(t,e),ea=(a,t,e,n)=>(_(a,t)||ta(a,t,e()),Z(a,t)),na=q(),sa=q(),ia=(a,t,e,n,s,i,o,l={},w=[])=>{let u,d,v,g=0,f=0,E=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[A,m,T,b,N]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!V(a)||!V(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!V(a)||!V(t),t.setContent]:p("Store type not supported by this Persister"))(o,a),C=t=>{(A&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},$=async a=>(2!=g&&(g=1,f++,await R((async()=>{try{const a=await t();y(a)?C(a):p("Content is not an array "+a)}catch(t){i?.(t),a&&N(a)}g=0}))),L),O=()=>(d&&(s(d),d=void 0),L),S=async a=>(1!=g&&(g=2,E++,await R((async()=>{try{await e(m,a)}catch(a){i?.(a)}g=0}))),L),I=()=>(c(v,a.delListener),v=void 0,L),R=async(...a)=>(h(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!r((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),L),L={load:$,startAutoLoad:async a=>{await O().load(a);try{d=await n((async(a,t)=>{t||a?2!=g&&(g=1,f++,C(t??a),g=0):await $()}))}catch(a){i?.(a)}return L},stopAutoLoad:O,isAutoLoading:()=>!r(d),save:S,startAutoSave:async()=>(await I().save(),v=a.addDidFinishTransactionListener((()=>{const a=T();b(a)&&S(a)})),L),stopAutoSave:I,isAutoSaving:()=>!r(v),schedule:R,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),O().stopAutoSave()),getStats:()=>({loads:f,saves:E}),...l};return Y(L)},oa=a=>new Set(y(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),ca=(a,t,e,s,i,o,c,l)=>{const y=q();return[async()=>{y.clear(),f(await e(a,t),(({tn:a,cn:t})=>ra(ea(y,a,oa),t)))},async(t,e)=>((a,t)=>_(Z(y,a),t))(t,e)?k(A(f(await a(S+P(t)),(a=>{return[a[e],l?(t=H(a,e),n=l,k(z(t,((a,t)=>[t,n(a,t)])))):H(a,e)];var t,n})),(([a,t])=>!r(a)&&!V(t)))):{},async(t,e,s,l,w,u=!1)=>{const p=oa();z(s??{},(a=>f(J(a??{}),(a=>ra(p,a)))));const v=F(p);if(!u&&w&&E(v)&&_(y,t))return await a("DROP "+C+P(t)),void ta(y,t);const m=Z(y,t),T=oa(F(m));if(E(v)||(_(y,t)?await d(f([e,...v],(async(n,s)=>{x(T,n)||(await a($+P(t)+"ADD"+P(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+P(t)+`(${P(e)})`),ra(m,n))}))):(await a("CREATE "+C+P(t)+`(${P(e)}${i} PRIMARY KEY${g(f(v,(a=>n+P(a)+i)))});`),ta(y,t,oa([e,...v])))),await d([...!u&&l?f(F(T),(async n=>{n!=e&&(await a($+P(t)+"DROP"+P(n)),x(m,n))})):[]]),u)r(s)?await a(O+P(t)+N+" true"):await d(z(s,(async(n,s)=>{r(n)?await a(O+P(t)+N+P(e)+"=$1",[s]):E(v)||await la(a,t,e,J(n),[s,...c?f(K(n),c):K(n)],o)})));else if(E(v))_(y,t)&&await a(O+P(t)+N+" true");else{const n=A(F(Z(y,t)),(a=>a!=e)),i=[],r=[];z(s??{},((a,t)=>{h(i,t,...f(n,(t=>c?c(a?.[t]):a?.[t]))),h(r,t)})),await la(a,t,e,n,i,o),await a(O+P(t)+N+P(e)+`NOT IN(${M(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,e,s,i,o=0)=>await a("INSERT "+(o?"OR REPLACE ":"")+"INTO"+P(t)+"("+P(e)+g(f(s,(a=>n+P(a))))+")VALUES"+ya(i,u(s)+1)+(o?"":"ON CONFLICT("+P(e)+")DO UPDATE SET"+g(f(s,(a=>P(a)+"=excluded."+P(a))),n)),f(i,(a=>a??null))),ya=(a,t)=>g(v(u(a)/t,(a=>"("+g(v(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,o,[r,c,l],y,w,u,d,p,v)=>{const[g,f,E,A]=ca(t,y,w,s,p,v),h=ia(a,(async()=>await A((async()=>{return await g(),a=(await f(r,c))[m]?.[l]??"null",X(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await A((async()=>{var t;await g(),await E(r,c,{[m]:{[l]:(t=a()??null,W(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},ua=(a,t,e,n,s,i,o,[c,l,[y,w,u]],p,v,g,f,E,h,b,N)=>{const[C,$,O,S]=ca(t,p,v,s,E,h,b,N),I=async(a,t)=>await d(aa(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await O(e,n,a[o],s,i,t)}))),R=async(a,t)=>w?await O(u,T,{[m]:a},!0,!0,t):null,L=ia(a,(async()=>await S((async()=>{await C();const a=await(async()=>k(A(await d(aa(c,(async([a,t],e)=>[a,await $(e,t)]))),(a=>!V(a[1])))))(),t=await(async()=>y?(await $(u,T))[m]:{})();return V(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await C(),r(t)){const[t,e]=a();await I(t),await R(e)}else await I(t[0],!0),await R(t[1],!0)}))),e,n,s,o,{[f]:()=>g,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},g);return L},da="ColumnName",pa="store",va="json",ga=pa+"TableName",fa=pa+"Id"+da,Ea=pa+da,Aa="autoLoadIntervalSeconds",ha="rowId"+da,ma="tableId",Ta="tableName",ba="deleteEmptyColumns",Na="deleteEmptyTable",Ca={mode:va,[Aa]:1},$a={load:0,save:0,[Ta]:e+"_values"},Oa=(a,t,e,n,s)=>{const i=q();return z(a,((a,o)=>{const c=w(K(G(t,l(a)?{[e]:a}:a)),0,Q(t));r(c[0])||n(o,c[0])||(s(o,c[0]),ta(i,o,c))})),i},Sa=(a,t,n,s,i,r,c,y,u,d,p="getDb",v)=>{let g,f,E;const A=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,r),[h,m,C,$]=(a=>{const t=(a=>G(Ca,l(a)?{[ga]:a}:a??{}))(a),n=t[Aa];if(t.mode==va){const a=t[ga]??e;return[1,n,[a,t[fa]??T,t[Ea]??pa],oa(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=w(K(G($a,o)),0,Q($a)),c=r[2],y=oa(c),u=oa(c);return[0,n,[Oa(s,{[ma]:null,[ha]:T},ma,(a=>_(u,a)),(a=>ra(y,a))),Oa(i,{[Ta]:null,[ha]:T,[ba]:0,[Na]:0},Ta,((a,t)=>_(u,t)),((a,t)=>ra(y,t))),r],y]})(t);return(h?wa:ua)(a,A,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await A(`${b} ${R} d,${L} s,TOTAL_CHANGES() c FROM ${I}${R} JOIN ${I}${L}`);t==g&&e==f&&n==E||(null!=g&&a(),g=t,f=e,E=n)}catch{}}),1e3*m),n=()=>{g=f=E=null,o(t)},r=s((t=>{$.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(r)}}),(a=>a()),c,y,u,C,F($),(async(a,t)=>await a(`${b} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${N} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),d,p,"",v,(a=>!0===a?1:!1===a?0:a),void 0)};a.createPowerSyncPersister=(a,t,e,n,s,i=1)=>Sa(a,e,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)f(t.changedTables,a)})(),e}),(a=>a.abort()),n,s,(()=>0),1,t,"getPowerSync",i)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),p=a=>{throw Error(a)},v=(a,t)=>f(Array(a).fill(0),((a,e)=>t(e))),g=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),E=a=>0==u(a),A=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m="_",T="_id",b="SELECT",N="WHERE",C="TABLE",$="ALTER "+C,O="DELETE FROM",S=b+"*FROM",I="pragma_",R="data_version",L="schema_version",D="pragma_table_",P=a=>`"${a.replace(/"/g,'""')}"`,M=a=>g(f(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],x=(a,t)=>a?.delete(t),j=Object,B=a=>j.getPrototypeOf(a),U=j.entries,J=j.keys,Y=j.freeze,k=(a=[])=>j.fromEntries(a),G=(...a)=>j.assign({},...a),H=(a,t)=>(delete a[t],a),z=(a,t)=>f(U(a),(([a,e])=>t(e,a))),K=a=>j.values(a),Q=a=>u(J(a)),V=a=>(a=>!r(a)&&c(B(a),(a=>a==j.prototype||r(B(a))),(()=>!0)))(a)&&0==Q(a),W=JSON.stringify,X=JSON.parse,q=a=>new Map(a),Z=(a,t)=>a?.get(t),aa=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>r(e)?(x(a,t),a):a?.set(t,e),ea=(a,t,e,n)=>(_(a,t)||ta(a,t,e()),Z(a,t)),na=q(),sa=q(),ia=(a,t,e,n,s,i,o,l={},w=[])=>{let u,d,v,g=0,f=0,E=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[A,m,T,b,N]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!V(a)||!V(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!V(a)||!V(t),t.setContent]:p("Store type not supported by this Persister"))(o,a),C=t=>{(A&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},$=async a=>(2!=g&&(g=1,f++,await R((async()=>{try{const a=await t();y(a)?C(a):p("Content is not an array "+a)}catch(t){i?.(t),a&&N(a)}g=0}))),L),O=()=>(d&&(s(d),d=void 0),L),S=async a=>(1!=g&&(g=2,E++,await R((async()=>{try{await e(m,a)}catch(a){i?.(a)}g=0}))),L),I=()=>(c(v,a.delListener),v=void 0,L),R=async(...a)=>(h(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!r((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),L),L={load:$,startAutoLoad:async a=>{await O().load(a);try{d=await n((async(a,t)=>{t||a?2!=g&&(g=1,f++,C(t??a),g=0):await $()}))}catch(a){i?.(a)}return L},stopAutoLoad:O,isAutoLoading:()=>!r(d),save:S,startAutoSave:async()=>(await I().save(),v=a.addDidFinishTransactionListener((()=>{const a=T();b(a)&&S(a)})),L),stopAutoSave:I,isAutoSaving:()=>!r(v),schedule:R,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),O().stopAutoSave()),getStats:()=>({loads:f,saves:E}),...l};return Y(L)},oa=a=>new Set(y(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),ca=(a,t,e,s,i,o,c,l)=>{const y=q();return[async()=>{y.clear(),f(await e(a,t),(({tn:a,cn:t})=>ra(ea(y,a,oa),t)))},async(t,e)=>((a,t)=>_(Z(y,a),t))(t,e)?k(A(f(await a(S+P(t)),(a=>{return[a[e],l?(t=H(a,e),n=l,k(z(t,((a,t)=>[t,n(a,t)])))):H(a,e)];var t,n})),(([a,t])=>!r(a)&&!V(t)))):{},async(t,e,s,l,w,u=!1)=>{const p=oa();z(s??{},(a=>f(J(a??{}),(a=>ra(p,a)))));const v=F(p);if(!u&&w&&E(v)&&_(y,t))return await a("DROP "+C+P(t)),void ta(y,t);const m=Z(y,t),T=oa(F(m));if(E(v)||(_(y,t)?await d(f([e,...v],(async(n,s)=>{x(T,n)||(await a($+P(t)+"ADD"+P(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+P(t)+`(${P(e)})`),ra(m,n))}))):(await a("CREATE "+C+P(t)+`(${P(e)}${i} PRIMARY KEY${g(f(v,(a=>n+P(a)+i)))});`),ta(y,t,oa([e,...v])))),await d([...!u&&l?f(F(T),(async n=>{n!=e&&(await a($+P(t)+"DROP"+P(n)),x(m,n))})):[]]),u)r(s)?await a(O+P(t)+N+" true"):await d(z(s,(async(n,s)=>{r(n)?await a(O+P(t)+N+P(e)+"=$1",[s]):E(v)||await la(a,t,e,J(n),[s,...c?f(K(n),c):K(n)],o)})));else if(E(v))_(y,t)&&await a(O+P(t)+N+" true");else{const n=A(F(Z(y,t)),(a=>a!=e)),i=[],r=[];z(s??{},((a,t)=>{h(i,t,...f(n,(t=>c?c(a?.[t]):a?.[t]))),h(r,t)})),await la(a,t,e,n,i,o),await a(O+P(t)+N+P(e)+`NOT IN(${M(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,e,s,i,o=0)=>await a("INSERT "+(o?"OR REPLACE ":"")+"INTO"+P(t)+"("+P(e)+g(f(s,(a=>n+P(a))))+")VALUES"+ya(i,u(s)+1)+(o?"":"ON CONFLICT("+P(e)+")DO UPDATE SET"+g(f(s,(a=>P(a)+"=excluded."+P(a))),n)),f(i,(a=>a??null))),ya=(a,t)=>g(v(u(a)/t,(a=>"("+g(v(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,o,[r,c,l],y,w,u,d,p,v)=>{const[g,f,E,A]=ca(t,y,w,s,p,v),h=ia(a,(async()=>await A((async()=>{return await g(),a=(await f(r,c))[m]?.[l]??"null",X(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await A((async()=>{var t;await g(),await E(r,c,{[m]:{[l]:(t=a()??null,W(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},ua=(a,t,e,n,s,i,o,[c,l,[y,w,u]],p,v,g,f,E,h,b,N)=>{const[C,$,O,S]=ca(t,p,v,s,E,h,b,N),I=async(a,t)=>await d(aa(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await O(e,n,a[o],s,i,t)}))),R=async(a,t)=>w?await O(u,T,{[m]:a},!0,!0,t):null,L=ia(a,(async()=>await S((async()=>{await C();const a=await(async()=>k(A(await d(aa(c,(async([a,t],e)=>[a,await $(e,t)]))),(a=>!V(a[1])))))(),t=await(async()=>y?(await $(u,T))[m]:{})();return V(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await C(),r(t)){const[t,e]=a();await I(t),await R(e)}else await I(t[0],!0),await R(t[1],!0)}))),e,n,s,o,{[f]:()=>g,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},g);return L},da="ColumnName",pa="store",va="json",ga=pa+"TableName",fa=pa+"Id"+da,Ea=pa+da,Aa="autoLoadIntervalSeconds",ha="rowId"+da,ma="tableId",Ta="tableName",ba="deleteEmptyColumns",Na="deleteEmptyTable",Ca={mode:va,[Aa]:1},$a={load:0,save:0,[Ta]:e+"_values"},Oa=(a,t,e,n,s)=>{const i=q();return z(a,((a,o)=>{const c=w(K(G(t,l(a)?{[e]:a}:a)),0,Q(t));r(c[0])||n(o,c[0])||(s(o,c[0]),ta(i,o,c))})),i},Sa=(a,t,n,s,i,r,c,y,u,d="getDb",
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),p=a=>{throw Error(a)},v=(a,t)=>f(Array(a).fill(0),((a,e)=>t(e))),g=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),E=a=>0==u(a),A=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m="_",T="_id",b="SELECT",N="WHERE",C="TABLE",$="ALTER "+C,O="DELETE FROM",S=b+"*FROM",I="pragma_",R="data_version",L="schema_version",D="pragma_table_",P=a=>`"${a.replace(/"/g,'""')}"`,M=a=>g(f(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],x=(a,t)=>a?.delete(t),j=Object,B=a=>j.getPrototypeOf(a),U=j.entries,J=j.keys,Y=j.freeze,k=(a=[])=>j.fromEntries(a),G=(...a)=>j.assign({},...a),H=(a,t)=>(delete a[t],a),z=(a,t)=>f(U(a),(([a,e])=>t(e,a))),K=a=>j.values(a),Q=a=>u(J(a)),V=a=>(a=>!r(a)&&c(B(a),(a=>a==j.prototype||r(B(a))),(()=>!0)))(a)&&0==Q(a),W=JSON.stringify,X=JSON.parse,q=a=>new Map(a),Z=(a,t)=>a?.get(t),aa=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>r(e)?(x(a,t),a):a?.set(t,e),ea=(a,t,e,n)=>(_(a,t)||ta(a,t,e()),Z(a,t)),na=q(),sa=q(),ia=(a,t,e,n,s,i,o,l={},w=[])=>{let u,d,v,g=0,f=0,E=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[A,m,T,b,N]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!V(a)||!V(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!V(a)||!V(t),t.setContent]:p("Store type not supported by this Persister"))(o,a),C=t=>{(A&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},$=async a=>(2!=g&&(g=1,f++,await R((async()=>{try{const a=await t();y(a)?C(a):p("Content is not an array "+a)}catch(t){i?.(t),a&&N(a)}g=0}))),L),O=()=>(d&&(s(d),d=void 0),L),S=async a=>(1!=g&&(g=2,E++,await R((async()=>{try{await e(m,a)}catch(a){i?.(a)}g=0}))),L),I=()=>(c(v,a.delListener),v=void 0,L),R=async(...a)=>(h(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!r((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),L),L={load:$,startAutoLoad:async a=>{await O().load(a);try{d=await n((async(a,t)=>{t||a?2!=g&&(g=1,f++,C(t??a),g=0):await $()}))}catch(a){i?.(a)}return L},stopAutoLoad:O,isAutoLoading:()=>!r(d),save:S,startAutoSave:async()=>(await I().save(),v=a.addDidFinishTransactionListener((()=>{const a=T();b(a)&&S(a)})),L),stopAutoSave:I,isAutoSaving:()=>!r(v),schedule:R,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),O().stopAutoSave()),getStats:()=>({loads:f,saves:E}),...l};return Y(L)},oa=a=>new Set(y(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),ca=(a,t,e,s,i,o,c,l)=>{const y=q();return[async()=>{y.clear(),f(await e(a,t),(({tn:a,cn:t})=>ra(ea(y,a,oa),t)))},async(t,e)=>((a,t)=>_(Z(y,a),t))(t,e)?k(A(f(await a(S+P(t)),(a=>{return[a[e],l?(t=H(a,e),n=l,k(z(t,((a,t)=>[t,n(a,t)])))):H(a,e)];var t,n})),(([a,t])=>!r(a)&&!V(t)))):{},async(t,e,s,l,w,u=!1)=>{const p=oa();z(s??{},(a=>f(J(a??{}),(a=>ra(p,a)))));const v=F(p);if(!u&&w&&E(v)&&_(y,t))return await a("DROP "+C+P(t)),void ta(y,t);const m=Z(y,t),T=oa(F(m));if(E(v)||(_(y,t)?await d(f([e,...v],(async(n,s)=>{x(T,n)||(await a($+P(t)+"ADD"+P(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+P(t)+`(${P(e)})`),ra(m,n))}))):(await a("CREATE "+C+P(t)+`(${P(e)}${i} PRIMARY KEY${g(f(v,(a=>n+P(a)+i)))});`),ta(y,t,oa([e,...v])))),await d([...!u&&l?f(F(T),(async n=>{n!=e&&(await a($+P(t)+"DROP"+P(n)),x(m,n))})):[]]),u)r(s)?await a(O+P(t)+N+" true"):await d(z(s,(async(n,s)=>{r(n)?await a(O+P(t)+N+P(e)+"=$1",[s]):E(v)||await la(a,t,e,J(n),[s,...c?f(K(n),c):K(n)],o)})));else if(E(v))_(y,t)&&await a(O+P(t)+N+" true");else{const n=A(F(Z(y,t)),(a=>a!=e)),i=[],r=[];z(s??{},((a,t)=>{h(i,t,...f(n,(t=>c?c(a?.[t]):a?.[t]))),h(r,t)})),await la(a,t,e,n,i,o),await a(O+P(t)+N+P(e)+`NOT IN(${M(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,e,s,i,o=0)=>await a("INSERT "+(o?"OR REPLACE ":"")+"INTO"+P(t)+"("+P(e)+g(f(s,(a=>n+P(a))))+")VALUES"+ya(i,u(s)+1)+(o?"":"ON CONFLICT("+P(e)+")DO UPDATE SET"+g(f(s,(a=>P(a)+"=excluded."+P(a))),n)),f(i,(a=>a??null))),ya=(a,t)=>g(v(u(a)/t,(a=>"("+g(v(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,o,[r,c,l],y,w,u,d,p,v)=>{const[g,f,E,A]=ca(t,y,w,s,p,v),h=ia(a,(async()=>await A((async()=>{return await g(),a=(await f(r,c))[m]?.[l]??"null",X(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await A((async()=>{var t;await g(),await E(r,c,{[m]:{[l]:(t=a()??null,W(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},ua=(a,t,e,n,s,i,o,[c,l,[y,w,u]],p,v,g,f,E,h,b,N)=>{const[C,$,O,S]=ca(t,p,v,s,E,h,b,N),I=async(a,t)=>await d(aa(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await O(e,n,a[o],s,i,t)}))),R=async(a,t)=>w?await O(u,T,{[m]:a},!0,!0,t):null,L=ia(a,(async()=>await S((async()=>{await C();const a=await(async()=>k(A(await d(aa(c,(async([a,t],e)=>[a,await $(e,t)]))),(a=>!V(a[1])))))(),t=await(async()=>y?(await $(u,T))[m]:{})();return V(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await C(),r(t)){const[t,e]=a();await I(t),await R(e)}else await I(t[0],!0),await R(t[1],!0)}))),e,n,s,o,{[f]:()=>g,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},g);return L},da="ColumnName",pa="store",va="json",ga=pa+"TableName",fa=pa+"Id"+da,Ea=pa+da,Aa="autoLoadIntervalSeconds",ha="rowId"+da,ma="tableId",Ta="tableName",ba="deleteEmptyColumns",Na="deleteEmptyTable",Ca={mode:va,[Aa]:1},$a={load:0,save:0,[Ta]:e+"_values"},Oa=(a,t,e,n,s)=>{const i=q();return z(a,((a,o)=>{const c=w(K(G(t,l(a)?{[e]:a}:a)),0,Q(t));r(c[0])||n(o,c[0])||(s(o,c[0]),ta(i,o,c))})),i},Sa=(a,t,n,s,i,r,c,y,u,d,p="getDb",v)=>{let g,f,E;const A=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,r),[h,m,C,$]=(a=>{const t=(a=>G(Ca,l(a)?{[ga]:a}:a??{}))(a),n=t[Aa];if(t.mode==va){const a=t[ga]??e;return[1,n,[a,t[fa]??T,t[Ea]??pa],oa(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=w(K(G($a,o)),0,Q($a)),c=r[2],y=oa(c),u=oa(c);return[0,n,[Oa(s,{[ma]:null,[ha]:T},ma,(a=>_(u,a)),(a=>ra(y,a))),Oa(i,{[Ta]:null,[ha]:T,[ba]:0,[Na]:0},Ta,((a,t)=>_(u,t)),((a,t)=>ra(y,t))),r],y]})(t);return(h?wa:ua)(a,A,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await A(`${b} ${R} d,${L} s,TOTAL_CHANGES() c FROM ${I}${R} JOIN ${I}${L}`);t==g&&e==f&&n==E||(null!=g&&a(),g=t,f=e,E=n)}catch{}}),1e3*m),n=()=>{g=f=E=null,o(t)},r=s((t=>{$.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(r)}}),(a=>a()),c,y,u,C,F($),(async(a,t)=>await a(`${b} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${N} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),d,p,"",v,(a=>!0===a?1:!1===a?0:a),void 0)};a.createPowerSyncPersister=(a,t,e,n,s,i=1)=>Sa(a,e,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)f(t.changedTables,a)})(),e}),(a=>a.abort()),n,s,(()=>0),1,t,"getPowerSync",i)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),p=a=>{throw Error(a)},v=(a,t)=>f(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),h="_",N="_id",T="SELECT",b="WHERE",$="TABLE",C="ALTER "+$,O="DELETE FROM",S=T+"*FROM",R="pragma_",I="data_version",L="schema_version",D="pragma_table_",_=a=>`"${a.replace(/"/g,'""')}"`,M=a=>E(f(a,((a,t)=>"$"+(t+1))),n),P=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],j=(a,t)=>a?.delete(t),x=Object,k=a=>x.getPrototypeOf(a),q=x.entries,B=x.keys,U=x.freeze,J=(a=[])=>x.fromEntries(a),W=(...a)=>x.assign({},...a),Y=(a,t)=>(delete a[t],a),G=(a,t)=>f(q(a),(([a,e])=>t(e,a))),H=a=>x.values(a),V=a=>u(B(a)),z=a=>(a=>!r(a)&&c(k(a),(a=>a==x.prototype||r(k(a))),(()=>!0)))(a)&&0==V(a),K=JSON.stringify,Q=JSON.parse,X=a=>new Map(a),Z=(a,t)=>a?.get(t),aa=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>r(e)?(j(a,t),a):a?.set(t,e),ea=(a,t,e,n)=>(P(a,t)||ta(a,t,e()),Z(a,t)),na=X(),sa=X(),ia=(a,t,e,n,s,i,o,l={},w=[])=>{let u,d,v,E=0,f=0,g=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[m,h,N,T,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!z(a)||!z(t),t.setContent]:p("Store type not supported by this Persister"))(o,a),$=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},C=async a=>(2!=E&&(E=1,f++,await I((async()=>{try{const a=await t();y(a)?$(a):p("Content is not an array "+a)}catch(t){i?.(t),a&&b(a)}E=0}))),L),O=()=>(d&&(s(d),d=void 0),L),S=async a=>(1!=E&&(E=2,g++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),L),R=()=>(c(v,a.delListener),v=void 0,L),I=async(...a)=>(A(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!r((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),L),L={load:C,startAutoLoad:async a=>{await O().load(a);try{d=await n((async(a,t)=>{t||a?2!=E&&(E=1,f++,$(t??a),E=0):await C()}))}catch(a){i?.(a)}return L},stopAutoLoad:O,isAutoLoading:()=>!r(d),save:S,startAutoSave:async()=>(await R().save(),v=a.addDidFinishTransactionListener((()=>{const a=N();T(a)&&S(a)})),L),stopAutoSave:R,isAutoSaving:()=>!r(v),schedule:I,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),O().stopAutoSave()),getStats:()=>({loads:f,saves:g}),...l};return U(L)},oa=a=>new Set(y(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),ca=(a,t,e,s,i,o,c,l)=>{const y=X();return[async()=>{y.clear(),f(await e(a,t),(({tn:a,cn:t})=>ra(ea(y,a,oa),t)))},async(t,e)=>((a,t)=>P(Z(y,a),t))(t,e)?J(m(f(await a(S+_(t)),(a=>{return[a[e],l?(t=Y(a,e),n=l,J(G(t,((a,t)=>[t,n(a,t)])))):Y(a,e)];var t,n})),(([a,t])=>!r(a)&&!z(t)))):{},async(t,e,s,l,w,u=!1)=>{const p=oa();G(s??{},(a=>f(B(a??{}),(a=>ra(p,a)))));const v=F(p);if(!u&&w&&g(v)&&P(y,t))return await a("DROP "+$+_(t)),void ta(y,t);const h=Z(y,t),N=oa(F(h));if(g(v)||(P(y,t)?await d(f([e,...v],(async(n,s)=>{j(N,n)||(await a(C+_(t)+"ADD"+_(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+_(t)+`(${_(e)})`),ra(h,n))}))):(await a("CREATE "+$+_(t)+`(${_(e)}${i} PRIMARY KEY${E(f(v,(a=>n+_(a)+i)))});`),ta(y,t,oa([e,...v])))),await d([...!u&&l?f(F(N),(async n=>{n!=e&&(await a(C+_(t)+"DROP"+_(n)),j(h,n))})):[]]),u)r(s)?await a(O+_(t)+b+" true"):await d(G(s,(async(n,s)=>{r(n)?await a(O+_(t)+b+_(e)+"=$1",[s]):g(v)||await la(a,t,e,B(n),[s,...c?f(H(n),c):H(n)],o)})));else if(g(v))P(y,t)&&await a(O+_(t)+b+" true");else{const n=m(F(Z(y,t)),(a=>a!=e)),i=[],r=[];G(s??{},((a,t)=>{A(i,t,...f(n,(t=>c?c(a?.[t]):a?.[t]))),A(r,t)})),await la(a,t,e,n,i,o),await a(O+_(t)+b+_(e)+`NOT IN(${M(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,e,s,i,o=0)=>await a("INSERT "+(o?"OR REPLACE ":"")+"INTO"+_(t)+"("+_(e)+E(f(s,(a=>n+_(a))))+")VALUES"+ya(i,u(s)+1)+(o?"":"ON CONFLICT("+_(e)+")DO UPDATE SET"+E(f(s,(a=>_(a)+"=excluded."+_(a))),n)),f(i,(a=>a??null))),ya=(a,t)=>E(v(u(a)/t,(a=>"("+E(v(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,o,[r,c,l],y,w,u,d,p,v)=>{const[E,f,g,m]=ca(t,y,w,s,p,v),A=ia(a,(async()=>await m((async()=>{return await E(),a=(await f(r,c))[h]?.[l]??"null",Q(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(r,c,{[h]:{[l]:(t=a()??null,K(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(A.stopAutoLoad().stopAutoSave(),i(),A)},u);return A},ua=(a,t,e,n,s,i,o,[c,l,[y,w,u]],p,v,E,f,g,A,T,b)=>{const[$,C,O,S]=ca(t,p,v,s,g,A,T,b),R=async(a,t)=>await d(aa(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await O(e,n,a[o],s,i,t)}))),I=async(a,t)=>w?await O(u,N,{[h]:a},!0,!0,t):null,L=ia(a,(async()=>await S((async()=>{await $();const a=await(async()=>J(m(await d(aa(c,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!z(a[1])))))(),t=await(async()=>y?(await C(u,N))[h]:{})();return z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await $(),r(t)){const[t,e]=a();await R(t),await I(e)}else await R(t[0],!0),await I(t[1],!0)}))),e,n,s,o,{[f]:()=>E,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},E);return L},da="ColumnName",pa="store",va="json",Ea=pa+"TableName",fa=pa+"Id"+da,ga=pa+da,ma="autoLoadIntervalSeconds",Aa="rowId"+da,ha="tableId",Na="tableName",Ta="deleteEmptyColumns",ba="deleteEmptyTable",$a={mode:va,[ma]:1},Ca={load:0,save:0,[Na]:e+"_values"},Oa=(a,t,e,n,s)=>{const i=X();return G(a,((a,o)=>{const c=w(H(W(t,l(a)?{[e]:a}:a)),0,V(t));r(c[0])||n(o,c[0])||(s(o,c[0]),ta(i,o,c))})),i},Sa=(a,t,n,s,i,r,c,y,u,d="getDb",
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),p=a=>{throw Error(a)},v=(a,t)=>f(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),h="_",N="_id",T="SELECT",b="WHERE",$="TABLE",C="ALTER "+$,O="DELETE FROM",S=T+"*FROM",R="pragma_",I="data_version",L="schema_version",D="pragma_table_",_=a=>`"${a.replace(/"/g,'""')}"`,M=a=>E(f(a,((a,t)=>"$"+(t+1))),n),P=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],j=(a,t)=>a?.delete(t),x=Object,k=a=>x.getPrototypeOf(a),q=x.entries,B=x.keys,U=x.freeze,J=(a=[])=>x.fromEntries(a),W=(...a)=>x.assign({},...a),Y=(a,t)=>(delete a[t],a),G=(a,t)=>f(q(a),(([a,e])=>t(e,a))),H=a=>x.values(a),V=a=>u(B(a)),z=a=>(a=>!r(a)&&c(k(a),(a=>a==x.prototype||r(k(a))),(()=>!0)))(a)&&0==V(a),K=JSON.stringify,Q=JSON.parse,X=a=>new Map(a),Z=(a,t)=>a?.get(t),aa=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>r(e)?(j(a,t),a):a?.set(t,e),ea=(a,t,e,n)=>(P(a,t)||ta(a,t,e()),Z(a,t)),na=X(),sa=X(),ia=(a,t,e,n,s,i,o,l={},w=[])=>{let u,d,v,E=0,f=0,g=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[m,h,N,T,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!z(a)||!z(t),t.setContent]:p("Store type not supported by this Persister"))(o,a),$=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},C=async a=>(2!=E&&(E=1,f++,await I((async()=>{try{const a=await t();y(a)?$(a):p("Content is not an array "+a)}catch(t){i?.(t),a&&b(a)}E=0}))),L),O=()=>(d&&(s(d),d=void 0),L),S=async a=>(1!=E&&(E=2,g++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),L),R=()=>(c(v,a.delListener),v=void 0,L),I=async(...a)=>(A(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!r((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),L),L={load:C,startAutoLoad:async a=>{await O().load(a);try{d=await n((async(a,t)=>{t||a?2!=E&&(E=1,f++,$(t??a),E=0):await C()}))}catch(a){i?.(a)}return L},stopAutoLoad:O,isAutoLoading:()=>!r(d),save:S,startAutoSave:async()=>(await R().save(),v=a.addDidFinishTransactionListener((()=>{const a=N();T(a)&&S(a)})),L),stopAutoSave:R,isAutoSaving:()=>!r(v),schedule:I,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),O().stopAutoSave()),getStats:()=>({loads:f,saves:g}),...l};return U(L)},oa=a=>new Set(y(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),ca=(a,t,e,s,i,o,c,l)=>{const y=X();return[async()=>{y.clear(),f(await e(a,t),(({tn:a,cn:t})=>ra(ea(y,a,oa),t)))},async(t,e)=>((a,t)=>P(Z(y,a),t))(t,e)?J(m(f(await a(S+_(t)),(a=>{return[a[e],l?(t=Y(a,e),n=l,J(G(t,((a,t)=>[t,n(a,t)])))):Y(a,e)];var t,n})),(([a,t])=>!r(a)&&!z(t)))):{},async(t,e,s,l,w,u=!1)=>{const p=oa();G(s??{},(a=>f(B(a??{}),(a=>ra(p,a)))));const v=F(p);if(!u&&w&&g(v)&&P(y,t))return await a("DROP "+$+_(t)),void ta(y,t);const h=Z(y,t),N=oa(F(h));if(g(v)||(P(y,t)?await d(f([e,...v],(async(n,s)=>{j(N,n)||(await a(C+_(t)+"ADD"+_(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+_(t)+`(${_(e)})`),ra(h,n))}))):(await a("CREATE "+$+_(t)+`(${_(e)}${i} PRIMARY KEY${E(f(v,(a=>n+_(a)+i)))});`),ta(y,t,oa([e,...v])))),await d([...!u&&l?f(F(N),(async n=>{n!=e&&(await a(C+_(t)+"DROP"+_(n)),j(h,n))})):[]]),u)r(s)?await a(O+_(t)+b+" true"):await d(G(s,(async(n,s)=>{r(n)?await a(O+_(t)+b+_(e)+"=$1",[s]):g(v)||await la(a,t,e,B(n),[s,...c?f(H(n),c):H(n)],o)})));else if(g(v))P(y,t)&&await a(O+_(t)+b+" true");else{const n=m(F(Z(y,t)),(a=>a!=e)),i=[],r=[];G(s??{},((a,t)=>{A(i,t,...f(n,(t=>c?c(a?.[t]):a?.[t]))),A(r,t)})),await la(a,t,e,n,i,o),await a(O+_(t)+b+_(e)+`NOT IN(${M(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,e,s,i,o=0)=>await a("INSERT "+(o?"OR REPLACE ":"")+"INTO"+_(t)+"("+_(e)+E(f(s,(a=>n+_(a))))+")VALUES"+ya(i,u(s)+1)+(o?"":"ON CONFLICT("+_(e)+")DO UPDATE SET"+E(f(s,(a=>_(a)+"=excluded."+_(a))),n)),f(i,(a=>a??null))),ya=(a,t)=>E(v(u(a)/t,(a=>"("+E(v(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,o,[r,c,l],y,w,u,d,p,v)=>{const[E,f,g,m]=ca(t,y,w,s,p,v),A=ia(a,(async()=>await m((async()=>{return await E(),a=(await f(r,c))[h]?.[l]??"null",Q(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(r,c,{[h]:{[l]:(t=a()??null,K(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(A.stopAutoLoad().stopAutoSave(),i(),A)},u);return A},ua=(a,t,e,n,s,i,o,[c,l,[y,w,u]],p,v,E,f,g,A,T,b)=>{const[$,C,O,S]=ca(t,p,v,s,g,A,T,b),R=async(a,t)=>await d(aa(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await O(e,n,a[o],s,i,t)}))),I=async(a,t)=>w?await O(u,N,{[h]:a},!0,!0,t):null,L=ia(a,(async()=>await S((async()=>{await $();const a=await(async()=>J(m(await d(aa(c,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!z(a[1])))))(),t=await(async()=>y?(await C(u,N))[h]:{})();return z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await $(),r(t)){const[t,e]=a();await R(t),await I(e)}else await R(t[0],!0),await I(t[1],!0)}))),e,n,s,o,{[f]:()=>E,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},E);return L},da="ColumnName",pa="store",va="json",Ea=pa+"TableName",fa=pa+"Id"+da,ga=pa+da,ma="autoLoadIntervalSeconds",Aa="rowId"+da,ha="tableId",Na="tableName",Ta="deleteEmptyColumns",ba="deleteEmptyTable",$a={mode:va,[ma]:1},Ca={load:0,save:0,[Na]:e+"_values"},Oa=(a,t,e,n,s)=>{const i=X();return G(a,((a,o)=>{const c=w(H(W(t,l(a)?{[e]:a}:a)),0,V(t));r(c[0])||n(o,c[0])||(s(o,c[0]),ta(i,o,c))})),i},Sa=(a,t,n,s,i,r,c,y,u,d,p="getDb",v)=>{let E,f,g;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,r),[A,h,$,C]=(a=>{const t=(a=>W($a,l(a)?{[Ea]:a}:a??{}))(a),n=t[ma];if(t.mode==va){const a=t[Ea]??e;return[1,n,[a,t[fa]??N,t[ga]??pa],oa(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=w(H(W(Ca,o)),0,V(Ca)),c=r[2],y=oa(c),u=oa(c);return[0,n,[Oa(s,{[ha]:null,[Aa]:N},ha,(a=>P(u,a)),(a=>ra(y,a))),Oa(i,{[Na]:null,[Aa]:N,[Ta]:0,[ba]:0},Na,((a,t)=>P(u,t)),((a,t)=>ra(y,t))),r],y]})(t);return(A?wa:ua)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${T} ${I} d,${L} s,TOTAL_CHANGES() c FROM ${R}${I} JOIN ${R}${L}`);t==E&&e==f&&n==g||(null!=E&&a(),E=t,f=e,g=n)}catch{}}),1e3*h),n=()=>{E=f=g=null,o(t)},r=s((t=>{C.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(r)}}),(a=>a()),c,y,u,$,F(C),(async(a,t)=>await a(`${T} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${b} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),d,p,"",v,(a=>!0===a?1:!1===a?0:a),void 0)};a.createSqliteWasmPersister=(a,t,e,n,s,i)=>Sa(a,n,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,n,s)=>a(s)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),s,i,(()=>0),3,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),p=a=>{throw Error(a)},v=(a,t)=>f(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),h="_",N="_id",T="SELECT",b="WHERE",$="TABLE",C="ALTER "+$,O="DELETE FROM",S=T+"*FROM",R="pragma_",I="data_version",L="schema_version",D="pragma_table_",_=a=>`"${a.replace(/"/g,'""')}"`,M=a=>E(f(a,((a,t)=>"$"+(t+1))),n),P=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],j=(a,t)=>a?.delete(t),x=Object,k=a=>x.getPrototypeOf(a),q=x.entries,B=x.keys,U=x.freeze,J=(a=[])=>x.fromEntries(a),W=(...a)=>x.assign({},...a),Y=(a,t)=>(delete a[t],a),G=(a,t)=>f(q(a),(([a,e])=>t(e,a))),H=a=>x.values(a),V=a=>u(B(a)),z=a=>(a=>!r(a)&&c(k(a),(a=>a==x.prototype||r(k(a))),(()=>!0)))(a)&&0==V(a),K=JSON.stringify,Q=JSON.parse,X=a=>new Map(a),Z=(a,t)=>a?.get(t),aa=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>r(e)?(j(a,t),a):a?.set(t,e),ea=(a,t,e,n)=>(P(a,t)||ta(a,t,e()),Z(a,t)),na=X(),sa=X(),ia=(a,t,e,n,s,i,o,l={},w=[])=>{let u,d,v,E=0,f=0,g=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[m,h,N,T,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!z(a)||!z(t),t.setContent]:p("Store type not supported by this Persister"))(o,a),$=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},C=async a=>(2!=E&&(E=1,f++,await I((async()=>{try{const a=await t();y(a)?$(a):p("Content is not an array "+a)}catch(t){i?.(t),a&&b(a)}E=0}))),L),O=()=>(d&&(s(d),d=void 0),L),S=async a=>(1!=E&&(E=2,g++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),L),R=()=>(c(v,a.delListener),v=void 0,L),I=async(...a)=>(A(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!r((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),L),L={load:C,startAutoLoad:async a=>{await O().load(a);try{d=await n((async(a,t)=>{t||a?2!=E&&(E=1,f++,$(t??a),E=0):await C()}))}catch(a){i?.(a)}return L},stopAutoLoad:O,isAutoLoading:()=>!r(d),save:S,startAutoSave:async()=>(await R().save(),v=a.addDidFinishTransactionListener((()=>{const a=N();T(a)&&S(a)})),L),stopAutoSave:R,isAutoSaving:()=>!r(v),schedule:I,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),O().stopAutoSave()),getStats:()=>({loads:f,saves:g}),...l};return U(L)},oa=a=>new Set(y(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),ca=(a,t,e,s,i,o,c,l)=>{const y=X();return[async()=>{y.clear(),f(await e(a,t),(({tn:a,cn:t})=>ra(ea(y,a,oa),t)))},async(t,e)=>((a,t)=>P(Z(y,a),t))(t,e)?J(m(f(await a(S+_(t)),(a=>{return[a[e],l?(t=Y(a,e),n=l,J(G(t,((a,t)=>[t,n(a,t)])))):Y(a,e)];var t,n})),(([a,t])=>!r(a)&&!z(t)))):{},async(t,e,s,l,w,u=!1)=>{const p=oa();G(s??{},(a=>f(B(a??{}),(a=>ra(p,a)))));const v=F(p);if(!u&&w&&g(v)&&P(y,t))return await a("DROP "+$+_(t)),void ta(y,t);const h=Z(y,t),N=oa(F(h));if(g(v)||(P(y,t)?await d(f([e,...v],(async(n,s)=>{j(N,n)||(await a(C+_(t)+"ADD"+_(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+_(t)+`(${_(e)})`),ra(h,n))}))):(await a("CREATE "+$+_(t)+`(${_(e)}${i} PRIMARY KEY${E(f(v,(a=>n+_(a)+i)))});`),ta(y,t,oa([e,...v])))),await d([...!u&&l?f(F(N),(async n=>{n!=e&&(await a(C+_(t)+"DROP"+_(n)),j(h,n))})):[]]),u)r(s)?await a(O+_(t)+b+" true"):await d(G(s,(async(n,s)=>{r(n)?await a(O+_(t)+b+_(e)+"=$1",[s]):g(v)||await la(a,t,e,B(n),[s,...c?f(H(n),c):H(n)],o)})));else if(g(v))P(y,t)&&await a(O+_(t)+b+" true");else{const n=m(F(Z(y,t)),(a=>a!=e)),i=[],r=[];G(s??{},((a,t)=>{A(i,t,...f(n,(t=>c?c(a?.[t]):a?.[t]))),A(r,t)})),await la(a,t,e,n,i,o),await a(O+_(t)+b+_(e)+`NOT IN(${M(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,e,s,i,o=0)=>await a("INSERT "+(o?"OR REPLACE ":"")+"INTO"+_(t)+"("+_(e)+E(f(s,(a=>n+_(a))))+")VALUES"+ya(i,u(s)+1)+(o?"":"ON CONFLICT("+_(e)+")DO UPDATE SET"+E(f(s,(a=>_(a)+"=excluded."+_(a))),n)),f(i,(a=>a??null))),ya=(a,t)=>E(v(u(a)/t,(a=>"("+E(v(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,o,[r,c,l],y,w,u,d,p,v)=>{const[E,f,g,m]=ca(t,y,w,s,p,v),A=ia(a,(async()=>await m((async()=>{return await E(),a=(await f(r,c))[h]?.[l]??"null",Q(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(r,c,{[h]:{[l]:(t=a()??null,K(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(A.stopAutoLoad().stopAutoSave(),i(),A)},u);return A},ua=(a,t,e,n,s,i,o,[c,l,[y,w,u]],p,v,E,f,g,A,T,b)=>{const[$,C,O,S]=ca(t,p,v,s,g,A,T,b),R=async(a,t)=>await d(aa(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await O(e,n,a[o],s,i,t)}))),I=async(a,t)=>w?await O(u,N,{[h]:a},!0,!0,t):null,L=ia(a,(async()=>await S((async()=>{await $();const a=await(async()=>J(m(await d(aa(c,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!z(a[1])))))(),t=await(async()=>y?(await C(u,N))[h]:{})();return z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await $(),r(t)){const[t,e]=a();await R(t),await I(e)}else await R(t[0],!0),await I(t[1],!0)}))),e,n,s,o,{[f]:()=>E,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},E);return L},da="ColumnName",pa="store",va="json",Ea=pa+"TableName",fa=pa+"Id"+da,ga=pa+da,ma="autoLoadIntervalSeconds",Aa="rowId"+da,ha="tableId",Na="tableName",Ta="deleteEmptyColumns",ba="deleteEmptyTable",$a={mode:va,[ma]:1},Ca={load:0,save:0,[Na]:e+"_values"},Oa=(a,t,e,n,s)=>{const i=X();return G(a,((a,o)=>{const c=w(H(W(t,l(a)?{[e]:a}:a)),0,V(t));r(c[0])||n(o,c[0])||(s(o,c[0]),ta(i,o,c))})),i},Sa=(a,t,n,s,i,r,c,y,u,d="getDb",
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),p=a=>{throw Error(a)},v=(a,t)=>f(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),h="_",N="_id",T="SELECT",b="WHERE",$="TABLE",C="ALTER "+$,O="DELETE FROM",S=T+"*FROM",R="pragma_",I="data_version",L="schema_version",D="pragma_table_",_=a=>`"${a.replace(/"/g,'""')}"`,M=a=>E(f(a,((a,t)=>"$"+(t+1))),n),P=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],j=(a,t)=>a?.delete(t),x=Object,k=a=>x.getPrototypeOf(a),q=x.entries,B=x.keys,U=x.freeze,J=(a=[])=>x.fromEntries(a),W=(...a)=>x.assign({},...a),Y=(a,t)=>(delete a[t],a),G=(a,t)=>f(q(a),(([a,e])=>t(e,a))),H=a=>x.values(a),V=a=>u(B(a)),z=a=>(a=>!r(a)&&c(k(a),(a=>a==x.prototype||r(k(a))),(()=>!0)))(a)&&0==V(a),K=JSON.stringify,Q=JSON.parse,X=a=>new Map(a),Z=(a,t)=>a?.get(t),aa=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>r(e)?(j(a,t),a):a?.set(t,e),ea=(a,t,e,n)=>(P(a,t)||ta(a,t,e()),Z(a,t)),na=X(),sa=X(),ia=(a,t,e,n,s,i,o,l={},w=[])=>{let u,d,v,E=0,f=0,g=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[m,h,N,T,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!z(a)||!z(t),t.setContent]:p("Store type not supported by this Persister"))(o,a),$=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},C=async a=>(2!=E&&(E=1,f++,await I((async()=>{try{const a=await t();y(a)?$(a):p("Content is not an array "+a)}catch(t){i?.(t),a&&b(a)}E=0}))),L),O=()=>(d&&(s(d),d=void 0),L),S=async a=>(1!=E&&(E=2,g++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),L),R=()=>(c(v,a.delListener),v=void 0,L),I=async(...a)=>(A(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!r((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),L),L={load:C,startAutoLoad:async a=>{await O().load(a);try{d=await n((async(a,t)=>{t||a?2!=E&&(E=1,f++,$(t??a),E=0):await C()}))}catch(a){i?.(a)}return L},stopAutoLoad:O,isAutoLoading:()=>!r(d),save:S,startAutoSave:async()=>(await R().save(),v=a.addDidFinishTransactionListener((()=>{const a=N();T(a)&&S(a)})),L),stopAutoSave:R,isAutoSaving:()=>!r(v),schedule:I,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),O().stopAutoSave()),getStats:()=>({loads:f,saves:g}),...l};return U(L)},oa=a=>new Set(y(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),ca=(a,t,e,s,i,o,c,l)=>{const y=X();return[async()=>{y.clear(),f(await e(a,t),(({tn:a,cn:t})=>ra(ea(y,a,oa),t)))},async(t,e)=>((a,t)=>P(Z(y,a),t))(t,e)?J(m(f(await a(S+_(t)),(a=>{return[a[e],l?(t=Y(a,e),n=l,J(G(t,((a,t)=>[t,n(a,t)])))):Y(a,e)];var t,n})),(([a,t])=>!r(a)&&!z(t)))):{},async(t,e,s,l,w,u=!1)=>{const p=oa();G(s??{},(a=>f(B(a??{}),(a=>ra(p,a)))));const v=F(p);if(!u&&w&&g(v)&&P(y,t))return await a("DROP "+$+_(t)),void ta(y,t);const h=Z(y,t),N=oa(F(h));if(g(v)||(P(y,t)?await d(f([e,...v],(async(n,s)=>{j(N,n)||(await a(C+_(t)+"ADD"+_(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+_(t)+`(${_(e)})`),ra(h,n))}))):(await a("CREATE "+$+_(t)+`(${_(e)}${i} PRIMARY KEY${E(f(v,(a=>n+_(a)+i)))});`),ta(y,t,oa([e,...v])))),await d([...!u&&l?f(F(N),(async n=>{n!=e&&(await a(C+_(t)+"DROP"+_(n)),j(h,n))})):[]]),u)r(s)?await a(O+_(t)+b+" true"):await d(G(s,(async(n,s)=>{r(n)?await a(O+_(t)+b+_(e)+"=$1",[s]):g(v)||await la(a,t,e,B(n),[s,...c?f(H(n),c):H(n)],o)})));else if(g(v))P(y,t)&&await a(O+_(t)+b+" true");else{const n=m(F(Z(y,t)),(a=>a!=e)),i=[],r=[];G(s??{},((a,t)=>{A(i,t,...f(n,(t=>c?c(a?.[t]):a?.[t]))),A(r,t)})),await la(a,t,e,n,i,o),await a(O+_(t)+b+_(e)+`NOT IN(${M(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,e,s,i,o=0)=>await a("INSERT "+(o?"OR REPLACE ":"")+"INTO"+_(t)+"("+_(e)+E(f(s,(a=>n+_(a))))+")VALUES"+ya(i,u(s)+1)+(o?"":"ON CONFLICT("+_(e)+")DO UPDATE SET"+E(f(s,(a=>_(a)+"=excluded."+_(a))),n)),f(i,(a=>a??null))),ya=(a,t)=>E(v(u(a)/t,(a=>"("+E(v(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,o,[r,c,l],y,w,u,d,p,v)=>{const[E,f,g,m]=ca(t,y,w,s,p,v),A=ia(a,(async()=>await m((async()=>{return await E(),a=(await f(r,c))[h]?.[l]??"null",Q(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(r,c,{[h]:{[l]:(t=a()??null,K(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(A.stopAutoLoad().stopAutoSave(),i(),A)},u);return A},ua=(a,t,e,n,s,i,o,[c,l,[y,w,u]],p,v,E,f,g,A,T,b)=>{const[$,C,O,S]=ca(t,p,v,s,g,A,T,b),R=async(a,t)=>await d(aa(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await O(e,n,a[o],s,i,t)}))),I=async(a,t)=>w?await O(u,N,{[h]:a},!0,!0,t):null,L=ia(a,(async()=>await S((async()=>{await $();const a=await(async()=>J(m(await d(aa(c,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!z(a[1])))))(),t=await(async()=>y?(await C(u,N))[h]:{})();return z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await $(),r(t)){const[t,e]=a();await R(t),await I(e)}else await R(t[0],!0),await I(t[1],!0)}))),e,n,s,o,{[f]:()=>E,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},E);return L},da="ColumnName",pa="store",va="json",Ea=pa+"TableName",fa=pa+"Id"+da,ga=pa+da,ma="autoLoadIntervalSeconds",Aa="rowId"+da,ha="tableId",Na="tableName",Ta="deleteEmptyColumns",ba="deleteEmptyTable",$a={mode:va,[ma]:1},Ca={load:0,save:0,[Na]:e+"_values"},Oa=(a,t,e,n,s)=>{const i=X();return G(a,((a,o)=>{const c=w(H(W(t,l(a)?{[e]:a}:a)),0,V(t));r(c[0])||n(o,c[0])||(s(o,c[0]),ta(i,o,c))})),i},Sa=(a,t,n,s,i,r,c,y,u,d,p="getDb",v)=>{let E,f,g;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,r),[A,h,$,C]=(a=>{const t=(a=>W($a,l(a)?{[Ea]:a}:a??{}))(a),n=t[ma];if(t.mode==va){const a=t[Ea]??e;return[1,n,[a,t[fa]??N,t[ga]??pa],oa(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=w(H(W(Ca,o)),0,V(Ca)),c=r[2],y=oa(c),u=oa(c);return[0,n,[Oa(s,{[ha]:null,[Aa]:N},ha,(a=>P(u,a)),(a=>ra(y,a))),Oa(i,{[Na]:null,[Aa]:N,[Ta]:0,[ba]:0},Na,((a,t)=>P(u,t)),((a,t)=>ra(y,t))),r],y]})(t);return(A?wa:ua)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${T} ${I} d,${L} s,TOTAL_CHANGES() c FROM ${R}${I} JOIN ${R}${L}`);t==E&&e==f&&n==g||(null!=E&&a(),E=t,f=e,g=n)}catch{}}),1e3*h),n=()=>{E=f=g=null,o(t)},r=s((t=>{C.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(r)}}),(a=>a()),c,y,u,$,F(C),(async(a,t)=>await a(`${T} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${b} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),d,p,"",v,(a=>!0===a?1:!1===a?0:a),void 0)};a.createSqliteWasmPersister=(a,t,e,n,s,i)=>Sa(a,n,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,n,s)=>a(s)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),s,i,(()=>0),3,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),p=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),f=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),g=a=>0==u(a),A=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m="_",N="_id",T="SELECT",$="WHERE",C="TABLE",O="ALTER "+C,S="DELETE FROM",b=T+"*FROM",I="pragma_",R="data_version",L="schema_version",D="pragma_table_",M=a=>`"${a.replace(/"/g,'""')}"`,P=a=>f(E(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],j=(a,t)=>a?.delete(t),x=Object,B=a=>x.getPrototypeOf(a),U=x.entries,J=x.keys,Y=x.freeze,k=(a=[])=>x.fromEntries(a),q=(...a)=>x.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>E(U(a),(([a,e])=>t(e,a))),z=a=>x.values(a),K=a=>u(J(a)),Q=a=>(a=>!r(a)&&c(B(a),(a=>a==x.prototype||r(B(a))),(()=>!0)))(a)&&0==K(a),V=JSON.stringify,W=JSON.parse,X=a=>new Map(a),Z=(a,t)=>a?.get(t),aa=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>r(e)?(j(a,t),a):a?.set(t,e),ea=(a,t,e,n)=>(_(a,t)||ta(a,t,e()),Z(a,t)),na=X(),sa=X(),ia=(a,t,e,n,s,i,o,l={},w=[])=>{let u,d,v,f=0,E=0,g=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[A,m,N,T,$]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!Q(a)||!Q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!Q(a)||!Q(t),t.setContent]:p("Store type not supported by this Persister"))(o,a),C=t=>{(A&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=f&&(f=1,E++,await R((async()=>{try{const a=await t();y(a)?C(a):p("Content is not an array "+a)}catch(t){i?.(t),a&&$(a)}f=0}))),L),S=()=>(d&&(s(d),d=void 0),L),b=async a=>(1!=f&&(f=2,g++,await R((async()=>{try{await e(m,a)}catch(a){i?.(a)}f=0}))),L),I=()=>(c(v,a.delListener),v=void 0,L),R=async(...a)=>(h(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!r((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),L),L={load:O,startAutoLoad:async a=>{await S().load(a);try{d=await n((async(a,t)=>{t||a?2!=f&&(f=1,E++,C(t??a),f=0):await O()}))}catch(a){i?.(a)}return L},stopAutoLoad:S,isAutoLoading:()=>!r(d),save:b,startAutoSave:async()=>(await I().save(),v=a.addDidFinishTransactionListener((()=>{const a=N();T(a)&&b(a)})),L),stopAutoSave:I,isAutoSaving:()=>!r(v),schedule:R,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),S().stopAutoSave()),getStats:()=>({loads:E,saves:g}),...l};return Y(L)},oa=a=>new Set(y(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),ca=(a,t,e,s,i,o,c,l)=>{const y=X();return[async()=>{y.clear(),E(await e(a,t),(({tn:a,cn:t})=>ra(ea(y,a,oa),t)))},async(t,e)=>((a,t)=>_(Z(y,a),t))(t,e)?k(A(E(await a(b+M(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,k(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!r(a)&&!Q(t)))):{},async(t,e,s,l,w,u=!1)=>{const p=oa();H(s??{},(a=>E(J(a??{}),(a=>ra(p,a)))));const v=F(p);if(!u&&w&&g(v)&&_(y,t))return await a("DROP "+C+M(t)),void ta(y,t);const m=Z(y,t),N=oa(F(m));if(g(v)||(_(y,t)?await d(E([e,...v],(async(n,s)=>{j(N,n)||(await a(O+M(t)+"ADD"+M(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+M(t)+`(${M(e)})`),ra(m,n))}))):(await a("CREATE "+C+M(t)+`(${M(e)}${i} PRIMARY KEY${f(E(v,(a=>n+M(a)+i)))});`),ta(y,t,oa([e,...v])))),await d([...!u&&l?E(F(N),(async n=>{n!=e&&(await a(O+M(t)+"DROP"+M(n)),j(m,n))})):[]]),u)r(s)?await a(S+M(t)+$+" true"):await d(H(s,(async(n,s)=>{r(n)?await a(S+M(t)+$+M(e)+"=$1",[s]):g(v)||await la(a,t,e,J(n),[s,...c?E(z(n),c):z(n)],o)})));else if(g(v))_(y,t)&&await a(S+M(t)+$+" true");else{const n=A(F(Z(y,t)),(a=>a!=e)),i=[],r=[];H(s??{},((a,t)=>{h(i,t,...E(n,(t=>c?c(a?.[t]):a?.[t]))),h(r,t)})),await la(a,t,e,n,i,o),await a(S+M(t)+$+M(e)+`NOT IN(${P(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,e,s,i,o=0)=>await a("INSERT "+(o?"OR REPLACE ":"")+"INTO"+M(t)+"("+M(e)+f(E(s,(a=>n+M(a))))+")VALUES"+ya(i,u(s)+1)+(o?"":"ON CONFLICT("+M(e)+")DO UPDATE SET"+f(E(s,(a=>M(a)+"=excluded."+M(a))),n)),E(i,(a=>a??null))),ya=(a,t)=>f(v(u(a)/t,(a=>"("+f(v(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,o,[r,c,l],y,w,u,d,p,v)=>{const[f,E,g,A]=ca(t,y,w,s,p,v),h=ia(a,(async()=>await A((async()=>{return await f(),a=(await E(r,c))[m]?.[l]??"null",W(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await A((async()=>{var t;await f(),await g(r,c,{[m]:{[l]:(t=a()??null,V(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},ua=(a,t,e,n,s,i,o,[c,l,[y,w,u]],p,v,f,E,g,h,T,$)=>{const[C,O,S,b]=ca(t,p,v,s,g,h,T,$),I=async(a,t)=>await d(aa(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await S(e,n,a[o],s,i,t)}))),R=async(a,t)=>w?await S(u,N,{[m]:a},!0,!0,t):null,L=ia(a,(async()=>await b((async()=>{await C();const a=await(async()=>k(A(await d(aa(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!Q(a[1])))))(),t=await(async()=>y?(await O(u,N))[m]:{})();return Q(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await b((async()=>{if(await C(),r(t)){const[t,e]=a();await I(t),await R(e)}else await I(t[0],!0),await R(t[1],!0)}))),e,n,s,o,{[E]:()=>f,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},f);return L},da="ColumnName",pa="store",va="json",fa=pa+"TableName",Ea=pa+"Id"+da,ga=pa+da,Aa="autoLoadIntervalSeconds",ha="rowId"+da,ma="tableId",Na="tableName",Ta="deleteEmptyColumns",$a="deleteEmptyTable",Ca={mode:va,[Aa]:1},Oa={load:0,save:0,[Na]:e+"_values"},Sa=(a,t,e,n,s)=>{const i=X();return H(a,((a,o)=>{const c=w(z(q(t,l(a)?{[e]:a}:a)),0,K(t));r(c[0])||n(o,c[0])||(s(o,c[0]),ta(i,o,c))})),i},ba=(a,t,n,s,i,r,c,y,u,d="getDb",
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),p=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),f=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),g=a=>0==u(a),A=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m="_",N="_id",T="SELECT",$="WHERE",C="TABLE",O="ALTER "+C,S="DELETE FROM",b=T+"*FROM",I="pragma_",R="data_version",L="schema_version",D="pragma_table_",M=a=>`"${a.replace(/"/g,'""')}"`,P=a=>f(E(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],j=(a,t)=>a?.delete(t),x=Object,B=a=>x.getPrototypeOf(a),U=x.entries,J=x.keys,Y=x.freeze,k=(a=[])=>x.fromEntries(a),q=(...a)=>x.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>E(U(a),(([a,e])=>t(e,a))),z=a=>x.values(a),K=a=>u(J(a)),Q=a=>(a=>!r(a)&&c(B(a),(a=>a==x.prototype||r(B(a))),(()=>!0)))(a)&&0==K(a),V=JSON.stringify,W=JSON.parse,X=a=>new Map(a),Z=(a,t)=>a?.get(t),aa=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>r(e)?(j(a,t),a):a?.set(t,e),ea=(a,t,e,n)=>(_(a,t)||ta(a,t,e()),Z(a,t)),na=X(),sa=X(),ia=(a,t,e,n,s,i,o,l={},w=[])=>{let u,d,v,f=0,E=0,g=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[A,m,N,T,$]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!Q(a)||!Q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!Q(a)||!Q(t),t.setContent]:p("Store type not supported by this Persister"))(o,a),C=t=>{(A&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=f&&(f=1,E++,await R((async()=>{try{const a=await t();y(a)?C(a):p("Content is not an array "+a)}catch(t){i?.(t),a&&$(a)}f=0}))),L),S=()=>(d&&(s(d),d=void 0),L),b=async a=>(1!=f&&(f=2,g++,await R((async()=>{try{await e(m,a)}catch(a){i?.(a)}f=0}))),L),I=()=>(c(v,a.delListener),v=void 0,L),R=async(...a)=>(h(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!r((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),L),L={load:O,startAutoLoad:async a=>{await S().load(a);try{d=await n((async(a,t)=>{t||a?2!=f&&(f=1,E++,C(t??a),f=0):await O()}))}catch(a){i?.(a)}return L},stopAutoLoad:S,isAutoLoading:()=>!r(d),save:b,startAutoSave:async()=>(await I().save(),v=a.addDidFinishTransactionListener((()=>{const a=N();T(a)&&b(a)})),L),stopAutoSave:I,isAutoSaving:()=>!r(v),schedule:R,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),S().stopAutoSave()),getStats:()=>({loads:E,saves:g}),...l};return Y(L)},oa=a=>new Set(y(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),ca=(a,t,e,s,i,o,c,l)=>{const y=X();return[async()=>{y.clear(),E(await e(a,t),(({tn:a,cn:t})=>ra(ea(y,a,oa),t)))},async(t,e)=>((a,t)=>_(Z(y,a),t))(t,e)?k(A(E(await a(b+M(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,k(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!r(a)&&!Q(t)))):{},async(t,e,s,l,w,u=!1)=>{const p=oa();H(s??{},(a=>E(J(a??{}),(a=>ra(p,a)))));const v=F(p);if(!u&&w&&g(v)&&_(y,t))return await a("DROP "+C+M(t)),void ta(y,t);const m=Z(y,t),N=oa(F(m));if(g(v)||(_(y,t)?await d(E([e,...v],(async(n,s)=>{j(N,n)||(await a(O+M(t)+"ADD"+M(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+M(t)+`(${M(e)})`),ra(m,n))}))):(await a("CREATE "+C+M(t)+`(${M(e)}${i} PRIMARY KEY${f(E(v,(a=>n+M(a)+i)))});`),ta(y,t,oa([e,...v])))),await d([...!u&&l?E(F(N),(async n=>{n!=e&&(await a(O+M(t)+"DROP"+M(n)),j(m,n))})):[]]),u)r(s)?await a(S+M(t)+$+" true"):await d(H(s,(async(n,s)=>{r(n)?await a(S+M(t)+$+M(e)+"=$1",[s]):g(v)||await la(a,t,e,J(n),[s,...c?E(z(n),c):z(n)],o)})));else if(g(v))_(y,t)&&await a(S+M(t)+$+" true");else{const n=A(F(Z(y,t)),(a=>a!=e)),i=[],r=[];H(s??{},((a,t)=>{h(i,t,...E(n,(t=>c?c(a?.[t]):a?.[t]))),h(r,t)})),await la(a,t,e,n,i,o),await a(S+M(t)+$+M(e)+`NOT IN(${P(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,e,s,i,o=0)=>await a("INSERT "+(o?"OR REPLACE ":"")+"INTO"+M(t)+"("+M(e)+f(E(s,(a=>n+M(a))))+")VALUES"+ya(i,u(s)+1)+(o?"":"ON CONFLICT("+M(e)+")DO UPDATE SET"+f(E(s,(a=>M(a)+"=excluded."+M(a))),n)),E(i,(a=>a??null))),ya=(a,t)=>f(v(u(a)/t,(a=>"("+f(v(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,o,[r,c,l],y,w,u,d,p,v)=>{const[f,E,g,A]=ca(t,y,w,s,p,v),h=ia(a,(async()=>await A((async()=>{return await f(),a=(await E(r,c))[m]?.[l]??"null",W(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await A((async()=>{var t;await f(),await g(r,c,{[m]:{[l]:(t=a()??null,V(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},ua=(a,t,e,n,s,i,o,[c,l,[y,w,u]],p,v,f,E,g,h,T,$)=>{const[C,O,S,b]=ca(t,p,v,s,g,h,T,$),I=async(a,t)=>await d(aa(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await S(e,n,a[o],s,i,t)}))),R=async(a,t)=>w?await S(u,N,{[m]:a},!0,!0,t):null,L=ia(a,(async()=>await b((async()=>{await C();const a=await(async()=>k(A(await d(aa(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!Q(a[1])))))(),t=await(async()=>y?(await O(u,N))[m]:{})();return Q(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await b((async()=>{if(await C(),r(t)){const[t,e]=a();await I(t),await R(e)}else await I(t[0],!0),await R(t[1],!0)}))),e,n,s,o,{[E]:()=>f,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},f);return L},da="ColumnName",pa="store",va="json",fa=pa+"TableName",Ea=pa+"Id"+da,ga=pa+da,Aa="autoLoadIntervalSeconds",ha="rowId"+da,ma="tableId",Na="tableName",Ta="deleteEmptyColumns",$a="deleteEmptyTable",Ca={mode:va,[Aa]:1},Oa={load:0,save:0,[Na]:e+"_values"},Sa=(a,t,e,n,s)=>{const i=X();return H(a,((a,o)=>{const c=w(z(q(t,l(a)?{[e]:a}:a)),0,K(t));r(c[0])||n(o,c[0])||(s(o,c[0]),ta(i,o,c))})),i},ba=(a,t,n,s,i,r,c,y,u,d,p="getDb",v)=>{let f,E,g;const A=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,r),[h,m,C,O]=(a=>{const t=(a=>q(Ca,l(a)?{[fa]:a}:a??{}))(a),n=t[Aa];if(t.mode==va){const a=t[fa]??e;return[1,n,[a,t[Ea]??N,t[ga]??pa],oa(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=w(z(q(Oa,o)),0,K(Oa)),c=r[2],y=oa(c),u=oa(c);return[0,n,[Sa(s,{[ma]:null,[ha]:N},ma,(a=>_(u,a)),(a=>ra(y,a))),Sa(i,{[Na]:null,[ha]:N,[Ta]:0,[$a]:0},Na,((a,t)=>_(u,t)),((a,t)=>ra(y,t))),r],y]})(t);return(h?wa:ua)(a,A,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await A(`${T} ${R} d,${L} s,TOTAL_CHANGES() c FROM ${I}${R} JOIN ${I}${L}`);t==f&&e==E&&n==g||(null!=f&&a(),f=t,E=e,g=n)}catch{}}),1e3*m),n=()=>{f=E=g=null,o(t)},r=s((t=>{O.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(r)}}),(a=>a()),c,y,u,C,F(O),(async(a,t)=>await a(`${T} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${$} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),d,p,"",v,(a=>!0===a?1:!1===a?0:a),void 0)},Ia="change";a.createSqlite3Persister=(a,t,e,n,s)=>ba(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new i(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(Ia,e),e}),(a=>t.off(Ia,a)),n,s,(()=>0),3,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),p=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),f=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),g=a=>0==u(a),A=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m="_",N="_id",T="SELECT",$="WHERE",C="TABLE",O="ALTER "+C,S="DELETE FROM",b=T+"*FROM",I="pragma_",R="data_version",L="schema_version",D="pragma_table_",M=a=>`"${a.replace(/"/g,'""')}"`,P=a=>f(E(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],j=(a,t)=>a?.delete(t),x=Object,B=a=>x.getPrototypeOf(a),U=x.entries,J=x.keys,Y=x.freeze,k=(a=[])=>x.fromEntries(a),q=(...a)=>x.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>E(U(a),(([a,e])=>t(e,a))),z=a=>x.values(a),K=a=>u(J(a)),Q=a=>(a=>!r(a)&&c(B(a),(a=>a==x.prototype||r(B(a))),(()=>!0)))(a)&&0==K(a),V=JSON.stringify,W=JSON.parse,X=a=>new Map(a),Z=(a,t)=>a?.get(t),aa=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>r(e)?(j(a,t),a):a?.set(t,e),ea=(a,t,e,n)=>(_(a,t)||ta(a,t,e()),Z(a,t)),na=X(),sa=X(),ia=(a,t,e,n,s,i,o,l={},w=[])=>{let u,d,v,f=0,E=0,g=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[A,m,N,T,$]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!Q(a)||!Q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!Q(a)||!Q(t),t.setContent]:p("Store type not supported by this Persister"))(o,a),C=t=>{(A&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=f&&(f=1,E++,await R((async()=>{try{const a=await t();y(a)?C(a):p("Content is not an array "+a)}catch(t){i?.(t),a&&$(a)}f=0}))),L),S=()=>(d&&(s(d),d=void 0),L),b=async a=>(1!=f&&(f=2,g++,await R((async()=>{try{await e(m,a)}catch(a){i?.(a)}f=0}))),L),I=()=>(c(v,a.delListener),v=void 0,L),R=async(...a)=>(h(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!r((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),L),L={load:O,startAutoLoad:async a=>{await S().load(a);try{d=await n((async(a,t)=>{t||a?2!=f&&(f=1,E++,C(t??a),f=0):await O()}))}catch(a){i?.(a)}return L},stopAutoLoad:S,isAutoLoading:()=>!r(d),save:b,startAutoSave:async()=>(await I().save(),v=a.addDidFinishTransactionListener((()=>{const a=N();T(a)&&b(a)})),L),stopAutoSave:I,isAutoSaving:()=>!r(v),schedule:R,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),S().stopAutoSave()),getStats:()=>({loads:E,saves:g}),...l};return Y(L)},oa=a=>new Set(y(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),ca=(a,t,e,s,i,o,c,l)=>{const y=X();return[async()=>{y.clear(),E(await e(a,t),(({tn:a,cn:t})=>ra(ea(y,a,oa),t)))},async(t,e)=>((a,t)=>_(Z(y,a),t))(t,e)?k(A(E(await a(b+M(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,k(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!r(a)&&!Q(t)))):{},async(t,e,s,l,w,u=!1)=>{const p=oa();H(s??{},(a=>E(J(a??{}),(a=>ra(p,a)))));const v=F(p);if(!u&&w&&g(v)&&_(y,t))return await a("DROP "+C+M(t)),void ta(y,t);const m=Z(y,t),N=oa(F(m));if(g(v)||(_(y,t)?await d(E([e,...v],(async(n,s)=>{j(N,n)||(await a(O+M(t)+"ADD"+M(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+M(t)+`(${M(e)})`),ra(m,n))}))):(await a("CREATE "+C+M(t)+`(${M(e)}${i} PRIMARY KEY${f(E(v,(a=>n+M(a)+i)))});`),ta(y,t,oa([e,...v])))),await d([...!u&&l?E(F(N),(async n=>{n!=e&&(await a(O+M(t)+"DROP"+M(n)),j(m,n))})):[]]),u)r(s)?await a(S+M(t)+$+" true"):await d(H(s,(async(n,s)=>{r(n)?await a(S+M(t)+$+M(e)+"=$1",[s]):g(v)||await la(a,t,e,J(n),[s,...c?E(z(n),c):z(n)],o)})));else if(g(v))_(y,t)&&await a(S+M(t)+$+" true");else{const n=A(F(Z(y,t)),(a=>a!=e)),i=[],r=[];H(s??{},((a,t)=>{h(i,t,...E(n,(t=>c?c(a?.[t]):a?.[t]))),h(r,t)})),await la(a,t,e,n,i,o),await a(S+M(t)+$+M(e)+`NOT IN(${P(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,e,s,i,o=0)=>await a("INSERT "+(o?"OR REPLACE ":"")+"INTO"+M(t)+"("+M(e)+f(E(s,(a=>n+M(a))))+")VALUES"+ya(i,u(s)+1)+(o?"":"ON CONFLICT("+M(e)+")DO UPDATE SET"+f(E(s,(a=>M(a)+"=excluded."+M(a))),n)),E(i,(a=>a??null))),ya=(a,t)=>f(v(u(a)/t,(a=>"("+f(v(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,o,[r,c,l],y,w,u,d,p,v)=>{const[f,E,g,A]=ca(t,y,w,s,p,v),h=ia(a,(async()=>await A((async()=>{return await f(),a=(await E(r,c))[m]?.[l]??"null",W(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await A((async()=>{var t;await f(),await g(r,c,{[m]:{[l]:(t=a()??null,V(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},ua=(a,t,e,n,s,i,o,[c,l,[y,w,u]],p,v,f,E,g,h,T,$)=>{const[C,O,S,b]=ca(t,p,v,s,g,h,T,$),I=async(a,t)=>await d(aa(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await S(e,n,a[o],s,i,t)}))),R=async(a,t)=>w?await S(u,N,{[m]:a},!0,!0,t):null,L=ia(a,(async()=>await b((async()=>{await C();const a=await(async()=>k(A(await d(aa(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!Q(a[1])))))(),t=await(async()=>y?(await O(u,N))[m]:{})();return Q(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await b((async()=>{if(await C(),r(t)){const[t,e]=a();await I(t),await R(e)}else await I(t[0],!0),await R(t[1],!0)}))),e,n,s,o,{[E]:()=>f,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},f);return L},da="ColumnName",pa="store",va="json",fa=pa+"TableName",Ea=pa+"Id"+da,ga=pa+da,Aa="autoLoadIntervalSeconds",ha="rowId"+da,ma="tableId",Na="tableName",Ta="deleteEmptyColumns",$a="deleteEmptyTable",Ca={mode:va,[Aa]:1},Oa={load:0,save:0,[Na]:e+"_values"},Sa=(a,t,e,n,s)=>{const i=X();return H(a,((a,o)=>{const c=w(z(q(t,l(a)?{[e]:a}:a)),0,K(t));r(c[0])||n(o,c[0])||(s(o,c[0]),ta(i,o,c))})),i},ba=(a,t,n,s,i,r,c,y,u,d="getDb",
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),p=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),f=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),g=a=>0==u(a),A=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m="_",N="_id",T="SELECT",$="WHERE",C="TABLE",O="ALTER "+C,S="DELETE FROM",b=T+"*FROM",I="pragma_",R="data_version",L="schema_version",D="pragma_table_",M=a=>`"${a.replace(/"/g,'""')}"`,P=a=>f(E(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],j=(a,t)=>a?.delete(t),x=Object,B=a=>x.getPrototypeOf(a),U=x.entries,J=x.keys,Y=x.freeze,k=(a=[])=>x.fromEntries(a),q=(...a)=>x.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>E(U(a),(([a,e])=>t(e,a))),z=a=>x.values(a),K=a=>u(J(a)),Q=a=>(a=>!r(a)&&c(B(a),(a=>a==x.prototype||r(B(a))),(()=>!0)))(a)&&0==K(a),V=JSON.stringify,W=JSON.parse,X=a=>new Map(a),Z=(a,t)=>a?.get(t),aa=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>r(e)?(j(a,t),a):a?.set(t,e),ea=(a,t,e,n)=>(_(a,t)||ta(a,t,e()),Z(a,t)),na=X(),sa=X(),ia=(a,t,e,n,s,i,o,l={},w=[])=>{let u,d,v,f=0,E=0,g=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[A,m,N,T,$]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!Q(a)||!Q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!Q(a)||!Q(t),t.setContent]:p("Store type not supported by this Persister"))(o,a),C=t=>{(A&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=f&&(f=1,E++,await R((async()=>{try{const a=await t();y(a)?C(a):p("Content is not an array "+a)}catch(t){i?.(t),a&&$(a)}f=0}))),L),S=()=>(d&&(s(d),d=void 0),L),b=async a=>(1!=f&&(f=2,g++,await R((async()=>{try{await e(m,a)}catch(a){i?.(a)}f=0}))),L),I=()=>(c(v,a.delListener),v=void 0,L),R=async(...a)=>(h(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!r((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),L),L={load:O,startAutoLoad:async a=>{await S().load(a);try{d=await n((async(a,t)=>{t||a?2!=f&&(f=1,E++,C(t??a),f=0):await O()}))}catch(a){i?.(a)}return L},stopAutoLoad:S,isAutoLoading:()=>!r(d),save:b,startAutoSave:async()=>(await I().save(),v=a.addDidFinishTransactionListener((()=>{const a=N();T(a)&&b(a)})),L),stopAutoSave:I,isAutoSaving:()=>!r(v),schedule:R,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),S().stopAutoSave()),getStats:()=>({loads:E,saves:g}),...l};return Y(L)},oa=a=>new Set(y(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),ca=(a,t,e,s,i,o,c,l)=>{const y=X();return[async()=>{y.clear(),E(await e(a,t),(({tn:a,cn:t})=>ra(ea(y,a,oa),t)))},async(t,e)=>((a,t)=>_(Z(y,a),t))(t,e)?k(A(E(await a(b+M(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,k(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!r(a)&&!Q(t)))):{},async(t,e,s,l,w,u=!1)=>{const p=oa();H(s??{},(a=>E(J(a??{}),(a=>ra(p,a)))));const v=F(p);if(!u&&w&&g(v)&&_(y,t))return await a("DROP "+C+M(t)),void ta(y,t);const m=Z(y,t),N=oa(F(m));if(g(v)||(_(y,t)?await d(E([e,...v],(async(n,s)=>{j(N,n)||(await a(O+M(t)+"ADD"+M(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+M(t)+`(${M(e)})`),ra(m,n))}))):(await a("CREATE "+C+M(t)+`(${M(e)}${i} PRIMARY KEY${f(E(v,(a=>n+M(a)+i)))});`),ta(y,t,oa([e,...v])))),await d([...!u&&l?E(F(N),(async n=>{n!=e&&(await a(O+M(t)+"DROP"+M(n)),j(m,n))})):[]]),u)r(s)?await a(S+M(t)+$+" true"):await d(H(s,(async(n,s)=>{r(n)?await a(S+M(t)+$+M(e)+"=$1",[s]):g(v)||await la(a,t,e,J(n),[s,...c?E(z(n),c):z(n)],o)})));else if(g(v))_(y,t)&&await a(S+M(t)+$+" true");else{const n=A(F(Z(y,t)),(a=>a!=e)),i=[],r=[];H(s??{},((a,t)=>{h(i,t,...E(n,(t=>c?c(a?.[t]):a?.[t]))),h(r,t)})),await la(a,t,e,n,i,o),await a(S+M(t)+$+M(e)+`NOT IN(${P(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,e,s,i,o=0)=>await a("INSERT "+(o?"OR REPLACE ":"")+"INTO"+M(t)+"("+M(e)+f(E(s,(a=>n+M(a))))+")VALUES"+ya(i,u(s)+1)+(o?"":"ON CONFLICT("+M(e)+")DO UPDATE SET"+f(E(s,(a=>M(a)+"=excluded."+M(a))),n)),E(i,(a=>a??null))),ya=(a,t)=>f(v(u(a)/t,(a=>"("+f(v(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,o,[r,c,l],y,w,u,d,p,v)=>{const[f,E,g,A]=ca(t,y,w,s,p,v),h=ia(a,(async()=>await A((async()=>{return await f(),a=(await E(r,c))[m]?.[l]??"null",W(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await A((async()=>{var t;await f(),await g(r,c,{[m]:{[l]:(t=a()??null,V(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},ua=(a,t,e,n,s,i,o,[c,l,[y,w,u]],p,v,f,E,g,h,T,$)=>{const[C,O,S,b]=ca(t,p,v,s,g,h,T,$),I=async(a,t)=>await d(aa(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await S(e,n,a[o],s,i,t)}))),R=async(a,t)=>w?await S(u,N,{[m]:a},!0,!0,t):null,L=ia(a,(async()=>await b((async()=>{await C();const a=await(async()=>k(A(await d(aa(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!Q(a[1])))))(),t=await(async()=>y?(await O(u,N))[m]:{})();return Q(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await b((async()=>{if(await C(),r(t)){const[t,e]=a();await I(t),await R(e)}else await I(t[0],!0),await R(t[1],!0)}))),e,n,s,o,{[E]:()=>f,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},f);return L},da="ColumnName",pa="store",va="json",fa=pa+"TableName",Ea=pa+"Id"+da,ga=pa+da,Aa="autoLoadIntervalSeconds",ha="rowId"+da,ma="tableId",Na="tableName",Ta="deleteEmptyColumns",$a="deleteEmptyTable",Ca={mode:va,[Aa]:1},Oa={load:0,save:0,[Na]:e+"_values"},Sa=(a,t,e,n,s)=>{const i=X();return H(a,((a,o)=>{const c=w(z(q(t,l(a)?{[e]:a}:a)),0,K(t));r(c[0])||n(o,c[0])||(s(o,c[0]),ta(i,o,c))})),i},ba=(a,t,n,s,i,r,c,y,u,d,p="getDb",v)=>{let f,E,g;const A=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,r),[h,m,C,O]=(a=>{const t=(a=>q(Ca,l(a)?{[fa]:a}:a??{}))(a),n=t[Aa];if(t.mode==va){const a=t[fa]??e;return[1,n,[a,t[Ea]??N,t[ga]??pa],oa(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=w(z(q(Oa,o)),0,K(Oa)),c=r[2],y=oa(c),u=oa(c);return[0,n,[Sa(s,{[ma]:null,[ha]:N},ma,(a=>_(u,a)),(a=>ra(y,a))),Sa(i,{[Na]:null,[ha]:N,[Ta]:0,[$a]:0},Na,((a,t)=>_(u,t)),((a,t)=>ra(y,t))),r],y]})(t);return(h?wa:ua)(a,A,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await A(`${T} ${R} d,${L} s,TOTAL_CHANGES() c FROM ${I}${R} JOIN ${I}${L}`);t==f&&e==E&&n==g||(null!=f&&a(),f=t,E=e,g=n)}catch{}}),1e3*m),n=()=>{f=E=g=null,o(t)},r=s((t=>{O.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(r)}}),(a=>a()),c,y,u,C,F(O),(async(a,t)=>await a(`${T} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${$} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),d,p,"",v,(a=>!0===a?1:!1===a?0:a),void 0)},Ia="change";a.createSqlite3Persister=(a,t,e,n,s)=>ba(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new i(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(Ia,e),e}),(a=>t.off(Ia,a)),n,s,(()=>0),3,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,r=clearInterval,o=a=>null==a,c=(a,t,e)=>o(a)?e?.():t(a),l=a=>t(a)==s,E=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),w=a=>a.length,d=async a=>i.all(a),u=a=>{throw Error(a)},R=(a,t)=>A(Array(a).fill(0),((a,e)=>t(e))),T=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),N=a=>0==w(a),p=(a,t)=>a.filter(t),g=(a,...t)=>a.push(...t),O=Object,m=a=>O.getPrototypeOf(a),$=O.entries,C=O.keys,v=O.freeze,I=(a=[])=>O.fromEntries(a),L=(...a)=>O.assign({},...a),S=(a,t)=>(delete a[t],a),_=(a,t)=>A($(a),(([a,e])=>t(e,a))),f=a=>O.values(a),b=a=>w(C(a)),h=a=>(a=>!o(a)&&c(m(a),(a=>a==O.prototype||o(m(a))),(()=>!0)))(a)&&0==b(a),P=(a,t)=>a?.has(t)??!1,D=a=>[...a?.values()??[]],M=(a,t)=>a?.delete(t),F=a=>new Map(a),U=(a,t)=>a?.get(t),G=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>o(e)?(M(a,t),a):a?.set(t,e),j=(a,t,e,n)=>(P(a,t)||B(a,t,e()),U(a,t)),x=F(),Y=F(),q=(a,t,e,n,s,i,r,l={},y=[])=>{let w,d,R,T=0,A=0,N=0;j(x,y,(()=>0)),j(Y,y,(()=>[]));const[p,O,m,$,C]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!h(a)||!h(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!h(a)||!h(t),t.setContent]:u("Store type not supported by this Persister"))(r,a),I=t=>{(p&&E(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},L=async a=>(2!=T&&(T=1,A++,await b((async()=>{try{const a=await t();E(a)?I(a):u("Content is not an array "+a)}catch(t){i?.(t),a&&C(a)}T=0}))),P),S=()=>(d&&(s(d),d=void 0),P),_=async a=>(1!=T&&(T=2,N++,await b((async()=>{try{await e(O,a)}catch(a){i?.(a)}T=0}))),P),f=()=>(c(R,a.delListener),R=void 0,P),b=async(...a)=>(g(U(Y,y),...a),await(async()=>{if(!U(x,y)){for(B(x,y,1);!o((a=U(Y,y),w=a.shift()));)try{await w()}catch(a){i?.(a)}B(x,y,0)}var a})(),P),P={load:L,startAutoLoad:async a=>{await S().load(a);try{d=await n((async(a,t)=>{t||a?2!=T&&(T=1,A++,I(t??a),T=0):await L()}))}catch(a){i?.(a)}return P},stopAutoLoad:S,isAutoLoading:()=>!o(d),save:_,startAutoSave:async()=>(await f().save(),R=a.addDidFinishTransactionListener((()=>{const a=m();$(a)&&_(a)})),P),stopAutoSave:f,isAutoSaving:()=>!o(R),schedule:b,getStore:()=>a,destroy:()=>(U(Y,y).splice(0,void 0),S().stopAutoSave()),getStats:()=>({loads:A,saves:N}),...l};return v(P)},H="_",X="_id",J="SELECT",W="WHERE",k="TABLE",K="ALTER "+k,V="DELETE FROM",z=J+"*FROM",Q="pragma_",Z="data_version",aa="schema_version",ta="pragma_table_",ea=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,na=a=>`"${a.replace(/"/g,'""')}"`,sa=a=>T(A(a,((a,t)=>"$"+(t+1))),n),ia=JSON.stringify,ra=JSON.parse,oa=a=>new Set(E(a)||o(a)?a:[a]),ca=(a,t)=>a?.add(t),la=(a,t,e,s,i,r,c,l)=>{const E=F();return[async()=>{E.clear(),A(await e(a,t),(({tn:a,cn:t})=>ca(j(E,a,oa),t)))},async(t,e)=>((a,t)=>P(U(E,a),t))(t,e)?I(p(A(await a(z+na(t)),(a=>{return[a[e],l?(t=S(a,e),n=l,I(_(t,((a,t)=>[t,n(a,t)])))):S(a,e)];var t,n})),(([a,t])=>!o(a)&&!h(t)))):{},async(t,e,s,l,y,w=!1)=>{const u=oa();_(s??{},(a=>A(C(a??{}),(a=>ca(u,a)))));const R=D(u);if(!w&&y&&N(R)&&P(E,t))return await a("DROP "+k+na(t)),void B(E,t);const O=U(E,t),m=oa(D(O));if(N(R)||(P(E,t)?await d(A([e,...R],(async(n,s)=>{M(m,n)||(await a(K+na(t)+"ADD"+na(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+na(t)+`(${na(e)})`),ca(O,n))}))):(await a("CREATE "+k+na(t)+`(${na(e)}${i} PRIMARY KEY${T(A(R,(a=>n+na(a)+i)))});`),B(E,t,oa([e,...R])))),await d([...!w&&l?A(D(m),(async n=>{n!=e&&(await a(K+na(t)+"DROP"+na(n)),M(O,n))})):[]]),w)o(s)?await a(V+na(t)+W+" true"):await d(_(s,(async(n,s)=>{o(n)?await a(V+na(t)+W+na(e)+"=$1",[s]):N(R)||await Ea(a,t,e,C(n),[s,...c?A(f(n),c):f(n)],r)})));else if(N(R))P(E,t)&&await a(V+na(t)+W+" true");else{const n=p(D(U(E,t)),(a=>a!=e)),i=[],o=[];_(s??{},((a,t)=>{g(i,t,...A(n,(t=>c?c(a?.[t]):a?.[t]))),g(o,t)})),await Ea(a,t,e,n,i,r),await a(V+na(t)+W+na(e)+`NOT IN(${sa(o)})`,o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},Ea=async(a,t,e,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+na(t)+"("+na(e)+T(A(s,(a=>n+na(a))))+")VALUES"+ya(i,w(s)+1)+(r?"":"ON CONFLICT("+na(e)+")DO UPDATE SET"+T(A(s,(a=>na(a)+"=excluded."+na(a))),n)),A(i,(a=>a??null))),ya=(a,t)=>T(R(w(a)/t,(a=>"("+T(R(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,r,[o,c,l],E,y,w,d,u,R)=>{const[T,A,N,p]=la(t,E,y,s,u,R),g=q(a,(async()=>await p((async()=>{return await T(),a=(await A(o,c))[H]?.[l]??"null",ra(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await T(),await N(o,c,{[H]:{[l]:(t=a()??null,ia(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>w,destroy:()=>(g.stopAutoLoad().stopAutoSave(),i(),g)},w);return g},da=(a,t,e,n,s,i,r,[c,l,[E,y,w]],u,R,T,A,N,g,O,m)=>{const[$,C,v,L]=la(t,u,R,s,N,g,O,m),S=async(a,t)=>await d(G(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await v(e,n,a[r],s,i,t)}))),_=async(a,t)=>y?await v(w,X,{[H]:a},!0,!0,t):null,f=q(a,(async()=>await L((async()=>{await $();const a=await(async()=>I(p(await d(G(c,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!h(a[1])))))(),t=await(async()=>E?(await C(w,X))[H]:{})();return h(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await $(),o(t)){const[t,e]=a();await S(t),await _(e)}else await S(t[0],!0),await _(t[1],!0)}))),e,n,s,r,{[A]:()=>T,destroy:()=>(f.stopAutoLoad().stopAutoSave(),i(),f)},T);return f},ua="ColumnName",Ra="store",Ta="json",Aa=Ra+"TableName",Na=Ra+"Id"+ua,pa=Ra+ua,ga="autoLoadIntervalSeconds",Oa="rowId"+ua,ma="tableId",$a="tableName",Ca="deleteEmptyColumns",va="deleteEmptyTable",Ia={mode:Ta,[ga]:1},La={load:0,save:0,[$a]:e+"_values"},Sa=(a,t,e,n,s)=>{const i=F();return _(a,((a,r)=>{const c=y(f(L(t,l(a)?{[e]:a}:a)),0,b(t));o(c[0])||n(r,c[0])||(s(r,c[0]),B(i,r,c))})),i},_a=a=>{const t=(a=>L(Ia,l(a)?{[Aa]:a}:a??{}))(a),n=t[ga];if(t.mode==Ta){const a=t[Aa]??e;return[1,n,[a,t[Na]??X,t[pa]??Ra],oa(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=y(f(L(La,r)),0,b(La)),c=o[2],E=oa(c),w=oa(c);return[0,n,[Sa(s,{[ma]:null,[Oa]:X},ma,(a=>P(w,a)),(a=>ca(E,a))),Sa(i,{[$a]:null,[Oa]:X,[Ca]:0,[va]:0},$a,((a,t)=>P(w,t)),((a,t)=>ca(E,t))),o],E]},fa=e,ba=/^([cd]:)(.+)/,ha=e+"_data",Pa=e+"_table";a.Persists={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},a.createCustomPersister=q,a.createCustomPostgreSqlPersister=(a,t,e,n,s,i,r,o,l,E,y="getDb")=>{const w=ea(e,i),[u,,R,T]=_a(t),N=async a=>{await w(`CREATE OR REPLACE TRIGGER ${na(ha+"_"+a)} AFTER INSERT OR UPDATE OR DELETE ON ${na(a)} EXECUTE FUNCTION ${ha}()`)};return(u?wa:da)(a,w,(async a=>{await w(`CREATE OR REPLACE FUNCTION ${Pa}()RETURNS event_trigger AS $t2$ DECLARE row record; BEGIN FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()WHERE command_tag='CREATE TABLE' LOOP PERFORM pg_notify('${fa}','c:'||SPLIT_PART(row.object_identity,'.',2));END LOOP;END;$t2$ LANGUAGE plpgsql;`);try{await w(`CREATE EVENT TRIGGER ${Pa} ON ddl_command_end WHEN TAG IN('CREATE TABLE')EXECUTE FUNCTION ${Pa}();`)}catch{}return await w(`CREATE OR REPLACE FUNCTION ${ha}()RETURNS trigger AS $t1$ BEGIN PERFORM pg_notify('${fa}','d:'||TG_TABLE_NAME);RETURN NULL;END;$t1$ LANGUAGE plpgsql;`),await d(A(D(T),(async a=>{await w(`CREATE TABLE IF NOT EXISTS ${na(a)}("_id"text PRIMARY KEY)`),await N(a)}))),await n(fa,(async t=>{return await c((e=t,n=ba,e?.match(n)),(async([,t,e])=>{P(T,e)&&("c:"==t&&await N(e),a())}));var e,n}))}),s,r,o,l,R,D(T),(async(a,t)=>await a(`${J} table_name tn,column_name cn FROM information_schema.columns ${W} table_schema='public'AND table_name IN(${sa(t)})`,t)),E,y,"text",0,(a=>ia(a)),(a=>ra(a)))},a.createCustomSqlitePersister=(a,t,e,n,s,i,o,c,l,E,y="getDb",w)=>{let d,u,R;const T=ea(e,i),[A,N,p,g]=_a(t);return(A?wa:da)(a,T,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await T(`${J} ${Z} d,${aa} s,TOTAL_CHANGES() c FROM ${Q}${Z} JOIN ${Q}${aa}`);t==d&&e==u&&n==R||(null!=d&&a(),d=t,u=e,R=n)}catch{}}),1e3*N),i=()=>{d=u=R=null,r(t)},o=n((t=>{g.has(t)&&(i(),a(),e())}));return e(),()=>{i(),s(o)}}),(a=>a()),o,c,l,p,D(g),(async(a,t)=>await a(`${J} t.name tn,c.name cn FROM ${ta}list()t,${ta}info(t.name)c ${W} t.schema='main'AND t.type IN('table','view')AND t.name IN(${sa(t)})ORDER BY t.name,c.name`,t)),E,y,"",w,(a=>!0===a?1:!1===a?0:a),void 0)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisters={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t="",a=Promise,s=globalThis,n=Math,o=n.floor,r=e=>null==e,i=(e,t,a)=>r(e)?a?.():t(e),c=e=>Array.isArray(e),l=(e,t,a)=>e.slice(t,a),d=e=>e.length,u=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),h=(e,t,a)=>e.reduce(t,a),f=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,S=e=>p.getPrototypeOf(e),w=p.entries,b=p.keys,A=p.freeze,C=(e,t)=>g(w(e),(([e,a])=>t(a,e))),M=e=>(e=>!r(e)&&i(S(e),(e=>e==p.prototype||r(S(e))),(()=>!0)))(e)&&0==(e=>d(b(e)))(e),L=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),m=e=>e?.size??0,T=(H=m,e=>h(k(e),((e,t)=>e+H(t)),0));var H;const D=e=>r(e)||0==m(e),k=e=>[...e?.values()??[]],x=(e,t)=>e?.forEach(t),E=(e,t)=>e?.delete(t),O=e=>new Map(e),P=e=>[...e?.keys()??[]],z=(e,t)=>e?.get(t),I=(e,t,a)=>r(a)?(E(e,t),e):e?.set(t,a),N=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(z(e,t)):I(e,t,a()),z(e,t)},R=(e,t,a,s,n=0)=>i((a?N:z)(e,t[n],n>d(t)-2?a:O),(o=>{if(n>d(t)-2)return s?.(o)&&I(e,t[n]),o;const r=R(o,t,a,s,n+1);return D(o)&&I(e,t[n]),r})),V=JSON.stringify,W=JSON.parse,j=(e,t)=>{const a=e.indexOf("\n");-1!==a&&t(l(e,0,a),l(e,a+1))},J=(e,t)=>e+"\n"+t;new s.TextEncoder;const $=(e,t)=>t?[e,t]:[e],B=(e,t)=>((e??"")>(t??"")?e:t)??"",F=(e="")=>$(((e=[])=>p.fromEntries(e))(),e),U=O(),q=O(),G="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t);O(y(
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t="",a=Promise,s=globalThis,n=Math,o=n.floor,r=e=>null==e,i=(e,t,a)=>r(e)?a?.():t(e),c=e=>Array.isArray(e),l=(e,t,a)=>e.slice(t,a),d=e=>e.length,u=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),h=(e,t,a)=>e.reduce(t,a),f=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,S=e=>p.getPrototypeOf(e),w=p.entries,b=p.keys,A=p.freeze,C=(e,t)=>g(w(e),(([e,a])=>t(a,e))),M=e=>(e=>!r(e)&&i(S(e),(e=>e==p.prototype||r(S(e))),(()=>!0)))(e)&&0==(e=>d(b(e)))(e),L=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),m=e=>e?.size??0,T=(H=m,e=>h(k(e),((e,t)=>e+H(t)),0));var H;const D=e=>r(e)||0==m(e),k=e=>[...e?.values()??[]],x=(e,t)=>e?.forEach(t),E=(e,t)=>e?.delete(t),O=e=>new Map(e),P=e=>[...e?.keys()??[]],z=(e,t)=>e?.get(t),I=(e,t,a)=>r(a)?(E(e,t),e):e?.set(t,a),N=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(z(e,t)):I(e,t,a()),z(e,t)},R=(e,t,a,s,n=0)=>i((a?N:z)(e,t[n],n>d(t)-2?a:O),(o=>{if(n>d(t)-2)return s?.(o)&&I(e,t[n]),o;const r=R(o,t,a,s,n+1);return D(o)&&I(e,t[n]),r})),V=JSON.stringify,W=JSON.parse,j=(e,t)=>{const a=e.indexOf("\n");-1!==a&&t(l(e,0,a),l(e,a+1))},J=(e,t)=>e+"\n"+t;new s.TextEncoder;const $=(e,t)=>t?[e,t]:[e],B=(e,t)=>((e??"")>(t??"")?e:t)??"",F=(e="")=>$(((e=[])=>p.fromEntries(e))(),e),U=O(),q=O(),G=e=>new Set(c(e)||r(e)?e:[e]),K="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t);O(y(K,((e,t)=>[e,t])));const Q=s.crypto?e=>s.crypto.getRandomValues(e):e=>y(e,(()=>o(256*n.random()))),X=/^\d+$/,Y=/\/([^?]*)/;e.createWsServer=(e,s)=>{const n=O(),o=O(),l=O(),y=O(),[p,S,w]=(()=>{let e;const[a,s]=(()=>{const e=[];let a=0;return[s=>(s?v(e):null)??t+a++,t=>{X.test(t)&&d(e)<1e3&&f(e,t)}]})(),n=O();return[(s,o,r,i=[],c=()=>[])=>{e??=k;const l=a(1);var d,u;return I(n,l,[s,o,r,i,c]),d=R(o,r??[t],G),u=l,d?.add(u),l},(a,s,...o)=>g(((e,a=[t])=>{const s=[],n=(e,t)=>t==d(a)?f(s,e):null===a[t]?x(e,(e=>n(e,t+1))):g([a[t],null],(a=>n(z(e,a),t+1)));return n(e,0),s})(a,s),(t=>x(t,(t=>z(n,t)[0](e,...s??[],...o))))),e=>i(z(n,e),(([,a,o])=>(R(a,o??[t],void 0,(t=>(E(t,e),D(t)?1:0))),I(n,e),s(e),o))),t=>i(z(n,t),(([t,,a=[],s,n])=>{const o=(...i)=>{const c=d(i);c==d(a)?t(e,...i,...n(i)):r(a[c])?g(s[c]?.(...i)??[],(e=>o(...i,e))):o(...i,a[c])};o()}))]})(),b=e=>{e[1]?.destroy(),e[2]?.destroy()},H=(e,a,s)=>n=>j(n,((n,o)=>{const r=J(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,x(a,((e,t)=>i(t,e)))):"S"===n?s[3]?.(r):z(a,n)?.send(r)}));e.on("connection",((e,d)=>{return i((p=d.url,w=Y,p?.match(w)),(([,p])=>i(d.headers["sec-websocket-key"],(async d=>{const w=N(l,p,O),m=N(y,p,(()=>[0])),T=H(d,w,m);D(w)&&(S(n,void 0,p,1),await(async(e,n,o)=>i(await(s?.(n)),(s=>{e[0]=1,e[1]=c(s)?s[0]:s;const n=H("S",o,e);e[2]=((e,t,s,n,o,l,d,g,y={})=>{let p,S=0,w=0;const b=O(),m=(e,a,s,n)=>{S++,t(e,a,s,n)},T=async(e,t,s="")=>new a(((a,n)=>{const r=((e=16)=>h(Q(new Uint8Array(e)),((e,t)=>e+K[63&t]),""))(),i=setTimeout((()=>{E(b,r),n(`No response from ${e??"anyone"} to ${r}, `+t)}),1e3*o);I(b,r,[e,(e,t)=>{clearTimeout(i),E(b,r),a([e,t])}]),m(e,r,t,s)})),H=(e,[t,a])=>{C(t,(([t,a],s)=>{const n=L(e[0],s,F);C(t,(([e,t],a)=>{const s=L(n[0],a,F);C(e,(([e,t],a)=>s[0][a]=$(e,t))),s[1]=B(s[1],t)})),n[1]=B(n[1],a)})),e[1]=B(e[1],a)},D=async(t=null,a)=>{r(a)&&([a,t]=await T(t,1));const[s,n]=a,[o,i]=e.getMergeableContentHashes();let c=F();if(o!=s){const[a,s]=(await T(t,4,e.getMergeableTableHashes()))[0];if(c=a,!M(s)){const[a,n]=(await T(t,5,e.getMergeableRowHashes(s)))[0];if(H(c,a),!M(n)){const a=(await T(t,6,e.getMergeableCellHashes(n)))[0];H(c,a)}}}return[c,i==n?F():(await T(t,7,e.getMergeableValueHashes()))[0],1]},k=((e,t,a,s,n,o,l,d={},g=[])=>{let y,h,p,S=0,w=0,b=0;N(U,g,(()=>0)),N(q,g,(()=>[]));const[C,L,m,T,H]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!M(e)||!M(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!M(e)||!M(t),t.setContent]:u("Store type not supported by this Persister"))(l,e),D=t=>{(C&&c(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},k=async e=>(2!=S&&(S=1,w++,await P((async()=>{try{const e=await t();c(e)?D(e):u("Content is not an array "+e)}catch(t){e&&H(e)}S=0}))),R),x=()=>(h&&(n(h),h=void 0),R),E=async e=>(1!=S&&(S=2,b++,await P((async()=>{try{await a(L,e)}catch(e){}S=0}))),R),O=()=>(i(p,e.delListener),p=void 0,R),P=async(...e)=>(f(z(q,g),...e),await(async()=>{if(!z(U,g)){for(I(U,g,1);!r(y=v(z(q,g)));)try{await y()}catch(e){}I(U,g,0)}})(),R),R={load:k,startAutoLoad:async e=>{await x().load(e);try{h=await s((async(e,t)=>{t||e?2!=S&&(S=1,w++,D(t??e),S=0):await k()}))}catch(e){}return R},stopAutoLoad:x,isAutoLoading:()=>!r(h),save:E,startAutoSave:async()=>(await O().save(),p=e.addDidFinishTransactionListener((()=>{const e=m();T(e)&&E(e)})),R),stopAutoSave:O,isAutoSaving:()=>!r(p),schedule:P,getStore:()=>e,destroy:()=>(z(q,g).splice(0,void 0),x().stopAutoSave()),getStats:()=>({loads:w,saves:b}),...d};return A(R)})(e,(async()=>{const e=await D();return M(e[0][0])&&M(e[1][0])?void 0:e}),(async(t,a)=>a?m(null,null,3,a):m(null,null,2,e.getMergeableContentHashes())),(e=>p=e),(()=>p=void 0),0,2,{startSync:async e=>await(await k.startAutoLoad(e)).startAutoSave(),stopSync:()=>k.stopAutoLoad().stopAutoSave(),destroy:()=>k.stopSync(),getSynchronizerStats:()=>({sends:S,receives:w}),...y});return s(((t,a,s,n)=>{w++,0==s?i(z(b,a),(([e,a])=>r(e)||e==t?a(n,t):0)):2==s&&k.isAutoLoading()?D(t,n).then((e=>{p?.(void 0,e)})):3==s&&k.isAutoLoading()?p?.(void 0,n):i(1==s&&k.isAutoSaving()?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,(e=>{m(t,a,0,e)}))})),k})(e[1].getStore(),((e,a,s,o)=>n(((e,...a)=>J(e??t,V(a,((e,t)=>void 0===t?"":t))))(e,a,s,o))),(t=>e[3]=e=>((e,t)=>j(e,((e,a)=>{return t(e,...(s=a,W(s,((e,t)=>""===t?void 0:t))));var s})))(e,t)),0,1),e[4]=[],e[5]=c(s)?s[1]:e=>0})))(m,p,w)),I(w,d,e),S(o,[p],d,1),e.on("message",(e=>{const t=e.toString("utf8");0==m[0]?T(t):f(m[4],t)})),1==m[0]&&(await(async e=>{e[0]=2,await e[1].schedule(e[1].startAutoLoad,e[1].startAutoSave,e[2].startSync),e[5](e[1].getStore()),e[0]=0})(m),g(m[4],T),m[4]=[]),e.on("close",(()=>{E(w,d),S(o,[p],d,-1),D(w)&&(b(m),E(y,p),E(l,p),S(n,void 0,p,-1))}))}))));var p,w}));const k={getWebSocketServer:()=>e,getPathIds:()=>P(l),getClientIds:e=>P(z(l,e)),addPathIdsListener:e=>p(e,n),addClientIdsListener:(e,t)=>p(t,o,[e]),delListener:e=>(w(e),k),getStats:()=>({paths:m(l),clients:T(l)}),destroy:()=>{l.clear(),x(y,b),e.close()}};return A(k)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsServer={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t="",a=Promise,s=globalThis,n=Math,o=n.floor,r=e=>null==e,i=(e,t,a)=>r(e)?a?.():t(e),c=e=>Array.isArray(e),l=(e,t,a)=>e.slice(t,a),d=e=>e.length,u=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),h=(e,t,a)=>e.reduce(t,a),f=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,S=e=>p.getPrototypeOf(e),w=p.entries,b=p.keys,A=p.freeze,C=(e,t)=>g(w(e),(([e,a])=>t(a,e))),M=e=>(e=>!r(e)&&i(S(e),(e=>e==p.prototype||r(S(e))),(()=>!0)))(e)&&0==(e=>d(b(e)))(e),L=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),m=e=>e?.size??0,T=(H=m,e=>h(k(e),((e,t)=>e+H(t)),0));var H;const D=e=>r(e)||0==m(e),k=e=>[...e?.values()??[]],x=(e,t)=>e?.forEach(t),E=(e,t)=>e?.delete(t),O=e=>new Map(e),P=e=>[...e?.keys()??[]],z=(e,t)=>e?.get(t),I=(e,t,a)=>r(a)?(E(e,t),e):e?.set(t,a),N=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(z(e,t)):I(e,t,a()),z(e,t)},R=(e,t,a,s,n=0)=>i((a?N:z)(e,t[n],n>d(t)-2?a:O),(o=>{if(n>d(t)-2)return s?.(o)&&I(e,t[n]),o;const r=R(o,t,a,s,n+1);return D(o)&&I(e,t[n]),r})),V=JSON.stringify,W=JSON.parse,j=(e,t)=>{const a=e.indexOf("\n");-1!==a&&t(l(e,0,a),l(e,a+1))},J=(e,t)=>e+"\n"+t;new s.TextEncoder;const $=(e,t)=>t?[e,t]:[e],B=(e,t)=>((e??"")>(t??"")?e:t)??"",F=(e="")=>$(((e=[])=>p.fromEntries(e))(),e),U=O(),q=O(),G="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t);O(y(
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t="",a=Promise,s=globalThis,n=Math,o=n.floor,r=e=>null==e,i=(e,t,a)=>r(e)?a?.():t(e),c=e=>Array.isArray(e),l=(e,t,a)=>e.slice(t,a),d=e=>e.length,u=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),h=(e,t,a)=>e.reduce(t,a),f=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,S=e=>p.getPrototypeOf(e),w=p.entries,b=p.keys,A=p.freeze,C=(e,t)=>g(w(e),(([e,a])=>t(a,e))),M=e=>(e=>!r(e)&&i(S(e),(e=>e==p.prototype||r(S(e))),(()=>!0)))(e)&&0==(e=>d(b(e)))(e),L=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),m=e=>e?.size??0,T=(H=m,e=>h(k(e),((e,t)=>e+H(t)),0));var H;const D=e=>r(e)||0==m(e),k=e=>[...e?.values()??[]],x=(e,t)=>e?.forEach(t),E=(e,t)=>e?.delete(t),O=e=>new Map(e),P=e=>[...e?.keys()??[]],z=(e,t)=>e?.get(t),I=(e,t,a)=>r(a)?(E(e,t),e):e?.set(t,a),N=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(z(e,t)):I(e,t,a()),z(e,t)},R=(e,t,a,s,n=0)=>i((a?N:z)(e,t[n],n>d(t)-2?a:O),(o=>{if(n>d(t)-2)return s?.(o)&&I(e,t[n]),o;const r=R(o,t,a,s,n+1);return D(o)&&I(e,t[n]),r})),V=JSON.stringify,W=JSON.parse,j=(e,t)=>{const a=e.indexOf("\n");-1!==a&&t(l(e,0,a),l(e,a+1))},J=(e,t)=>e+"\n"+t;new s.TextEncoder;const $=(e,t)=>t?[e,t]:[e],B=(e,t)=>((e??"")>(t??"")?e:t)??"",F=(e="")=>$(((e=[])=>p.fromEntries(e))(),e),U=O(),q=O(),G=e=>new Set(c(e)||r(e)?e:[e]),K="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t);O(y(K,((e,t)=>[e,t])));const Q=s.crypto?e=>s.crypto.getRandomValues(e):e=>y(e,(()=>o(256*n.random()))),X=/^\d+$/,Y=/\/([^?]*)/;e.createWsServer=(e,s)=>{const n=O(),o=O(),l=O(),y=O(),[p,S,w]=(()=>{let e;const[a,s]=(()=>{const e=[];let a=0;return[s=>(s?v(e):null)??t+a++,t=>{X.test(t)&&d(e)<1e3&&f(e,t)}]})(),n=O();return[(s,o,r,i=[],c=()=>[])=>{e??=k;const l=a(1);var d,u;return I(n,l,[s,o,r,i,c]),d=R(o,r??[t],G),u=l,d?.add(u),l},(a,s,...o)=>g(((e,a=[t])=>{const s=[],n=(e,t)=>t==d(a)?f(s,e):null===a[t]?x(e,(e=>n(e,t+1))):g([a[t],null],(a=>n(z(e,a),t+1)));return n(e,0),s})(a,s),(t=>x(t,(t=>z(n,t)[0](e,...s??[],...o))))),e=>i(z(n,e),(([,a,o])=>(R(a,o??[t],void 0,(t=>(E(t,e),D(t)?1:0))),I(n,e),s(e),o))),t=>i(z(n,t),(([t,,a=[],s,n])=>{const o=(...i)=>{const c=d(i);c==d(a)?t(e,...i,...n(i)):r(a[c])?g(s[c]?.(...i)??[],(e=>o(...i,e))):o(...i,a[c])};o()}))]})(),b=e=>{e[1]?.destroy(),e[2]?.destroy()},H=(e,a,s)=>n=>j(n,((n,o)=>{const r=J(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,x(a,((e,t)=>i(t,e)))):"S"===n?s[3]?.(r):z(a,n)?.send(r)}));e.on("connection",((e,d)=>{return i((p=d.url,w=Y,p?.match(w)),(([,p])=>i(d.headers["sec-websocket-key"],(async d=>{const w=N(l,p,O),m=N(y,p,(()=>[0])),T=H(d,w,m);D(w)&&(S(n,void 0,p,1),await(async(e,n,o)=>i(await(s?.(n)),(s=>{e[0]=1,e[1]=c(s)?s[0]:s;const n=H("S",o,e);e[2]=((e,t,s,n,o,l,d,g,y={})=>{let p,S=0,w=0;const b=O(),m=(e,a,s,n)=>{S++,t(e,a,s,n)},T=async(e,t,s="")=>new a(((a,n)=>{const r=((e=16)=>h(Q(new Uint8Array(e)),((e,t)=>e+K[63&t]),""))(),i=setTimeout((()=>{E(b,r),n(`No response from ${e??"anyone"} to ${r}, `+t)}),1e3*o);I(b,r,[e,(e,t)=>{clearTimeout(i),E(b,r),a([e,t])}]),m(e,r,t,s)})),H=(e,[t,a])=>{C(t,(([t,a],s)=>{const n=L(e[0],s,F);C(t,(([e,t],a)=>{const s=L(n[0],a,F);C(e,(([e,t],a)=>s[0][a]=$(e,t))),s[1]=B(s[1],t)})),n[1]=B(n[1],a)})),e[1]=B(e[1],a)},D=async(t=null,a)=>{r(a)&&([a,t]=await T(t,1));const[s,n]=a,[o,i]=e.getMergeableContentHashes();let c=F();if(o!=s){const[a,s]=(await T(t,4,e.getMergeableTableHashes()))[0];if(c=a,!M(s)){const[a,n]=(await T(t,5,e.getMergeableRowHashes(s)))[0];if(H(c,a),!M(n)){const a=(await T(t,6,e.getMergeableCellHashes(n)))[0];H(c,a)}}}return[c,i==n?F():(await T(t,7,e.getMergeableValueHashes()))[0],1]},k=((e,t,a,s,n,o,l,d={},g=[])=>{let y,h,p,S=0,w=0,b=0;N(U,g,(()=>0)),N(q,g,(()=>[]));const[C,L,m,T,H]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!M(e)||!M(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!M(e)||!M(t),t.setContent]:u("Store type not supported by this Persister"))(l,e),D=t=>{(C&&c(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},k=async e=>(2!=S&&(S=1,w++,await P((async()=>{try{const e=await t();c(e)?D(e):u("Content is not an array "+e)}catch(t){e&&H(e)}S=0}))),R),x=()=>(h&&(n(h),h=void 0),R),E=async e=>(1!=S&&(S=2,b++,await P((async()=>{try{await a(L,e)}catch(e){}S=0}))),R),O=()=>(i(p,e.delListener),p=void 0,R),P=async(...e)=>(f(z(q,g),...e),await(async()=>{if(!z(U,g)){for(I(U,g,1);!r(y=v(z(q,g)));)try{await y()}catch(e){}I(U,g,0)}})(),R),R={load:k,startAutoLoad:async e=>{await x().load(e);try{h=await s((async(e,t)=>{t||e?2!=S&&(S=1,w++,D(t??e),S=0):await k()}))}catch(e){}return R},stopAutoLoad:x,isAutoLoading:()=>!r(h),save:E,startAutoSave:async()=>(await O().save(),p=e.addDidFinishTransactionListener((()=>{const e=m();T(e)&&E(e)})),R),stopAutoSave:O,isAutoSaving:()=>!r(p),schedule:P,getStore:()=>e,destroy:()=>(z(q,g).splice(0,void 0),x().stopAutoSave()),getStats:()=>({loads:w,saves:b}),...d};return A(R)})(e,(async()=>{const e=await D();return M(e[0][0])&&M(e[1][0])?void 0:e}),(async(t,a)=>a?m(null,null,3,a):m(null,null,2,e.getMergeableContentHashes())),(e=>p=e),(()=>p=void 0),0,2,{startSync:async e=>await(await k.startAutoLoad(e)).startAutoSave(),stopSync:()=>k.stopAutoLoad().stopAutoSave(),destroy:()=>k.stopSync(),getSynchronizerStats:()=>({sends:S,receives:w}),...y});return s(((t,a,s,n)=>{w++,0==s?i(z(b,a),(([e,a])=>r(e)||e==t?a(n,t):0)):2==s&&k.isAutoLoading()?D(t,n).then((e=>{p?.(void 0,e)})):3==s&&k.isAutoLoading()?p?.(void 0,n):i(1==s&&k.isAutoSaving()?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,(e=>{m(t,a,0,e)}))})),k})(e[1].getStore(),((e,a,s,o)=>n(((e,...a)=>J(e??t,V(a,((e,t)=>void 0===t?"":t))))(e,a,s,o))),(t=>e[3]=e=>((e,t)=>j(e,((e,a)=>{return t(e,...(s=a,W(s,((e,t)=>""===t?void 0:t))));var s})))(e,t)),0,1),e[4]=[],e[5]=c(s)?s[1]:e=>0})))(m,p,w)),I(w,d,e),S(o,[p],d,1),e.on("message",(e=>{const t=e.toString("utf8");0==m[0]?T(t):f(m[4],t)})),1==m[0]&&(await(async e=>{e[0]=2,await e[1].schedule(e[1].startAutoLoad,e[1].startAutoSave,e[2].startSync),e[5](e[1].getStore()),e[0]=0})(m),g(m[4],T),m[4]=[]),e.on("close",(()=>{E(w,d),S(o,[p],d,-1),D(w)&&(b(m),E(y,p),E(l,p),S(n,void 0,p,-1))}))}))));var p,w}));const k={getWebSocketServer:()=>e,getPathIds:()=>P(l),getClientIds:e=>P(z(l,e)),addPathIdsListener:e=>p(e,n),addClientIdsListener:(e,t)=>p(t,o,[e]),delListener:e=>(w(e),k),getStats:()=>({paths:m(l),clients:T(l)}),destroy:()=>{l.clear(),x(y,b),e.close()}};return A(k)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsServer={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),l="type",i="default",c="Listener",d="Result",u="add",g="Has",h="Ids",f="Table",b=f+"s",w=f+h,C="Row",L=C+"Count",p=C+h,y="Sorted"+C+h,v="Cell",I=v+h,T="Value",S=T+"s",R=T+h,M=e=>s+e,m=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),D=Promise,E=globalThis,H=Math,k=H.max,A=H.min,x=H.floor,J=isFinite,F=e=>null==e,O=(e,t,s)=>F(e)?s?.():t(e),P=e=>e==n||e==a,Q=e=>t(e)==n,z=e=>t(e)==r,G=e=>Array.isArray(e),N=(e,t,s)=>e.slice(t,s),W=e=>e.length,j=()=>{},_=e=>{throw Error(e)},B=(e,t)=>e.includes(t),U=(e,t)=>e.every(t),$=(e,t)=>W(e)===W(t)&&U(e,((e,s)=>t[s]===e)),q=(e,t)=>U(e,((s,n)=>0==n||t(e[n-1],s)<=0)),K=(e,t)=>e.sort(t),X=(e,t)=>e.forEach(t),Y=(e,t)=>e.map(t),Z=e=>te(e,((e,t)=>e+t),0),ee=e=>0==W(e),te=(e,t,s)=>e.reduce(t,s),se=(e,t)=>e.splice(0,t),ne=(e,...t)=>e.push(...t),ae=e=>e.pop(),oe=e=>e.shift(),re=Object,le=e=>re.getPrototypeOf(e),ie=re.entries,ce=re.isFrozen,de=e=>!F(e)&&O(le(e),(e=>e==re.prototype||F(le(e))),(()=>!0)),ue=re.keys,ge=re.freeze,he=(e=[])=>re.fromEntries(e),fe=(e,t)=>t in e,be=(e,t)=>(delete e[t],e),we=(e,t)=>X(ie(e),(([e,s])=>t(s,e))),Ce=(e,t)=>Y(ie(e),(([e,s])=>t(s,e))),Le=e=>de(e)&&0==(e=>W(ue(e)))(e),pe=(e,t,s)=>(fe(e,t)||(e[t]=s()),e[t]),ye=(e,t,s,n=0)=>F(e)||!de(e)||!n&&Le(e)||ce(e)?(s?.(),!1):(Ce(e,((s,n)=>{t(s,n)||be(e,n)})),!!n||!Le(e)),ve=e=>t=>te(Ve(t),((t,s)=>t+e(s)),0),Ie=e=>e?.size??0,Te=ve(Ie),Se=ve(Te),Re=ve(Se),Me=(e,t)=>e?.has(t)??!1,me=e=>F(e)||0==Ie(e),Ve=e=>[...e?.values()??[]],De=e=>e.clear(),Ee=(e,t)=>e?.forEach(t),He=(e,t)=>e?.delete(t),ke=e=>new Map(e),Ae=e=>[...e?.keys()??[]],xe=(e,t)=>e?.get(t),Je=(e,t)=>Ee(e,((e,s)=>t(s,e))),Fe=(e,t,s)=>F(s)?(He(e,t),e):e?.set(t,s),Oe=(e,t,s,n)=>(Me(e,t)?n?.(xe(e,t)):Fe(e,t,s()),xe(e,t)),Pe=(e,t,s,n=Fe)=>(Ce(t,((t,n)=>s(e,n,t))),Je(e,(s=>fe(t,s)?0:n(e,s))),e),Qe=(e,t,s,n)=>{const a={};return Ee(e,((e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;n?.(s)||(a[o]=s)}})),a},ze=(e,t,s)=>Qe(e,(e=>Qe(e,t,s)),me,Le),Ge=(e,t,s)=>Qe(e,(e=>ze(e,t,s)),me,Le),Ne=(e,t)=>{const s=ke();return Ee(e,((e,n)=>s.set(n,t?.(e)??e))),s},We=e=>Ne(e,Ne),je=e=>Ne(e,We),_e=(e,t,s,n,a=0)=>O((s?Oe:xe)(e,t[a],a>W(t)-2?s:ke),(o=>{if(a>W(t)-2)return n?.(o)&&Fe(e,t[a]),o;const r=_e(o,t,s,n,a+1);return me(o)&&Fe(e,t[a]),r})),Be=e=>{const s=t(e);return P(s)||s==o&&J(e)?s:void 0},Ue=e=>F(e)||!F(Be(e)),$e=(e,t,s,n,a)=>F(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),qe=(e,t,s)=>F(s)?e.delValue(t):e.setValue(t,s),Ke=e=>new Set(G(e)||F(e)?e:[e]),Xe=(e,t)=>e?.add(t),Ye=(e,t,s,n,a)=>{const o=e.hasRow,r=ke(),l=ke(),i=ke(),c=ke(),d=ke(),u=ke(),g=(t,s,...n)=>{const a=Oe(u,t,Ke);return X(n,(t=>Xe(a,t)&&s&&e.callListener(t))),n},h=(t,...s)=>O(xe(u,t),(n=>{X(ee(s)?Ve(n):s,(t=>{e.delListener(t),He(n,t)})),me(n)&&Fe(u,t)})),f=(e,s)=>{Fe(r,e,s),Me(l,e)||(Fe(l,e,t()),Fe(c,e,ke()),Fe(d,e,ke()),a(i))},b=e=>{Fe(r,e),Fe(l,e),Fe(c,e),Fe(d,e),h(e),a(i)};return[()=>e,()=>Ae(r),e=>Je(l,e),e=>Me(l,e),e=>xe(r,e),e=>xe(l,e),(e,t)=>Fe(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=ke(),u=ke(),b=xe(c,t),w=xe(d,t),C=t=>{const a=s=>e.getCell(n,t,s),c=xe(b,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||G(c)&&G(d)&&$(c,d)||Fe(i,t,[c,d]),!F(l)){const e=xe(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&Fe(u,t,s)}},L=e=>{a((()=>{Ee(i,(([,e],t)=>Fe(b,t,e))),Ee(u,((e,t)=>Fe(w,t,e)))}),i,u,b,w,e),De(i),De(u)};Je(b,C),e.hasTable(n)&&X(e.getRowIds(n),(e=>{Me(b,e)||C(e)})),L(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>C(s))),e.addTableListener(n,(()=>L())))},b,e=>n(e,i),()=>Je(u,b),g,h]},Ze=(e,t)=>Q(e)?t=>t(e):e??(()=>t??s),et=(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}},tt=/^\d+$/,st=()=>{const e=[];let t=0;return[n=>(n?oe(e):null)??s+t++,t=>{tt.test(t)&&W(e)<1e3&&ne(e,t)}]},nt=e=>{let t;const[n,a]=st(),o=ke();return[(a,r,l,i=[],c=()=>[])=>{t??=e();const d=n(1);return Fe(o,d,[a,r,l,i,c]),Xe(_e(r,l??[s],Ke),d),d},(e,n,...a)=>X(((e,t=[s])=>{const n=[],a=(e,s)=>s==W(t)?ne(n,e):null===t[s]?Ee(e,(e=>a(e,s+1))):X([t[s],null],(t=>a(xe(e,t),s+1)));return a(e,0),n})(e,n),(e=>Ee(e,(e=>xe(o,e)[0](t,...n??[],...a))))),e=>O(xe(o,e),(([,t,n])=>(_e(t,n??[s],void 0,(t=>(He(t,e),me(t)?1:0))),Fe(o,e),a(e),n))),e=>O(xe(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=W(r);l==W(s)?e(t,...r,...a(r)):F(s[l])?X(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},at=et((e=>{let t,n,a,o=100,r=ke(),l=ke(),i=1;const c=ke(),d=ke(),[u,g,h]=nt((()=>A)),f=ke(),b=ke(),w=[],C=[],L=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=xe(f,s);Ee(n,((s,n)=>Ee(s,((s,a)=>Ee(s,((s,o)=>$e(e,n,a,o,s[t]))))))),Ee(a,((s,n)=>qe(e,n,s[t])))})),i=1},p=e=>{Fe(f,e),Fe(b,e),g(d,[e])},y=(e,t)=>X(se(e,t??W(e)),p),v=()=>y(w,W(w)-o),I=()=>O(t,(()=>{ne(w,t),v(),y(C),t=void 0,a=1})),T=()=>{t=ae(w),a=1};let S,R;const M=(e=s)=>(F(t)&&(t=s+n++,Fe(f,t,[r,l]),H(t,e),r=ke(),l=ke(),a=1),t),m=()=>{ee(w)||(((e,...t)=>{e.unshift(...t)})(C,M()),L(0,t),t=ae(w),a=1)},V=()=>{ee(C)||(ne(w,t),t=oe(C),L(1,t),a=1)},D=()=>{a&&(g(c),a=0)},E=e=>{const t=M(e);return D(),t},H=(e,t)=>(k(e)&&xe(b,e)!==t&&(Fe(b,e,t),g(d,[e])),A),k=e=>Me(f,e),A={setSize:e=>(o=e,v(),A),addCheckpoint:E,setCheckpoint:H,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...C]],forEachCheckpoint:e=>Je(b,e),hasCheckpoint:k,getCheckpoint:e=>xe(b,e),goBackward:()=>(m(),D(),A),goForward:()=>(V(),D(),A),goTo:e=>{const s=B(w,e)?m:B(C,e)?V:null;for(;!F(s)&&e!=t;)s();return D(),A},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(h(e),A),clear:()=>(y(w),y(C),F(t)||p(t),t=void 0,n=0,E(),A),clearForward:()=>(ee(C)||(y(C),g(c)),A),destroy:()=>{e.delListener(S),e.delListener(R)},getListenerStats:()=>({checkpointIds:Te(c),checkpoint:Te(d)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){I();const e=Oe(r,t,ke),l=Oe(e,s,ke),i=Oe(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&me(Fe(l,n))&&me(Fe(e,s))&&me(Fe(r,t))&&T(),D()}})),R=e.addValueListener(null,((e,t,s,n)=>{if(i){I();const e=Oe(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&me(Fe(l,t))&&T(),D()}}))}};return ge(A.clear())}),(e=>e._registerListeners())),ot="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(s),rt=ke(Y(ot,((e,t)=>[e,t]))),lt=e=>ot[63&e],it=(e,t)=>xe(rt,e[t])??0,ct=E.crypto?e=>E.crypto.getRandomValues(e):e=>Y(e,(()=>x(256*H.random()))),dt=(e,t)=>(e??0)<(t??0)?-1:1,ut=(e=16)=>te(ct(new Uint8Array(e)),((e,t)=>e+lt(t)),""),gt=et((e=>{const t=ke(),n=ke(),[a,o,r]=nt((()=>p)),[l,i,c,d,u,g,h,,f,b,w,C]=Ye(e,ke,(e=>F(e)?s:G(e)?Y(e,M):M(e)),a,o),L=(t,s,n)=>{const a=u(t);Ee(n,((t,n)=>s(n,(s=>Ee(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},p={setIndexDefinition:(e,s,a,r,l,i=dt)=>{const c=F(l)?void 0:([e],[t])=>l(e,t);return f(e,s,((s,a,l,d,u,f)=>{let b=0;const w=Ke(),C=Ke(),L=g(e);if(Ee(a,(([e,t],s)=>{const n=Ke(e),a=Ke(t);Ee(n,(e=>He(a,e)?He(n,e):0)),Ee(n,(e=>{Xe(w,e),O(xe(L,e),(t=>{He(t,s),me(t)&&(Fe(L,e),b=1)}))})),Ee(a,(e=>{Xe(w,e),Me(L,e)||(Fe(L,e,Ke()),b=1),Xe(xe(L,e),s),F(r)||Xe(C,e)}))})),s(),me(u)||(f?Je(L,(e=>Xe(C,e))):Je(l,(e=>O(xe(d,e),(e=>Xe(C,e))))),Ee(C,(e=>{const t=(t,s)=>i(xe(u,t),xe(u,s),e),s=[...xe(L,e)];q(s,t)||(Fe(L,e,Ke(K(s,t))),Xe(w,e))}))),(b||f)&&!F(c)){const t=[...L];q(t,c)||(h(e,ke(K(t,c))),b=1)}b&&o(t,[e]),Ee(w,(t=>o(n,[e,t])))}),Ze(a),O(r,Ze)),p},delIndexDefinition:e=>(b(e),p),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>L(t,e,s))))),forEachSlice:(e,t)=>L(e,t,g(e)),hasIndex:d,hasSlice:(e,t)=>Me(g(e),t),getTableId:u,getSliceIds:e=>Ae(g(e)),getSliceRowIds:(e,t)=>Ve(xe(g(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),p),destroy:C,getListenerStats:()=>({sliceIds:Te(t),sliceRowIds:Se(n)})};return ge(p)})),ht=ke([["avg",[(e,t)=>Z(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=>k(...e),(e,t)=>k(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:k(t,e)]],["min",[e=>A(...e),(e,t)=>A(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:A(t,e)]],["sum",[e=>Z(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),ft=(e,t,s,n,a,o=!1)=>{if(me(s))return;const[r,l,i,c]=a;return o||=F(e),Ee(n,(([s,n])=>{o||(e=F(s)?l?.(e,n,t++):F(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=F(e))})),o?r(Ve(s),Ie(s)):e},bt=et((e=>{const t=ke(),[n,a,o]=nt((()=>C)),[r,l,i,c,d,u,g,,h,f,b,w]=Ye(e,j,(e=>isNaN(e)||F(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),C={setMetricDefinition:(e,s,n,o,r,l,i)=>{const c=z(n)?[n,r,l,i]:xe(ht,n)??xe(ht,"sum");return h(e,s,((s,n,o,r,l,i)=>{const d=u(e),h=Ie(r);i||=F(d),s();let f=ft(d,h,r,n,c,i);J(f)||(f=void 0),f!=d&&(g(e,f),a(t,[e],f,d))}),Ze(o,1)),C},delMetricDefinition:e=>(f(e),C),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),C),destroy:w,getListenerStats:()=>({metric:Te(t)})};return ge(C)})),wt=ke(),Ct=ke(),Lt=(e,t,s,n,a,o,r,l={},i=[])=>{let c,d,u,g=0,h=0,f=0;Oe(wt,i,(()=>0)),Oe(Ct,i,(()=>[]));const[b,w,C,L,p]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!Le(e)||!Le(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!Le(e)||!Le(t),t.setContent]:_("Store type not supported by this Persister"))(r,e),y=t=>{(b&&G(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},v=async e=>(2!=g&&(g=1,h++,await R((async()=>{try{const e=await t();G(e)?y(e):_("Content is not an array "+e)}catch(t){o?.(t),e&&p(e)}g=0}))),M),I=()=>(d&&(a(d),d=void 0),M),T=async e=>(1!=g&&(g=2,f++,await R((async()=>{try{await s(w,e)}catch(e){o?.(e)}g=0}))),M),S=()=>(O(u,e.delListener),u=void 0,M),R=async(...e)=>(ne(xe(Ct,i),...e),await(async()=>{if(!xe(wt,i)){for(Fe(wt,i,1);!F(c=oe(xe(Ct,i)));)try{await c()}catch(e){o?.(e)}Fe(wt,i,0)}})(),M),M={load:v,startAutoLoad:async e=>{await I().load(e);try{d=await n((async(e,t)=>{t||e?2!=g&&(g=1,h++,y(t??e),g=0):await v()}))}catch(e){o?.(e)}return M},stopAutoLoad:I,isAutoLoading:()=>!F(d),save:T,startAutoSave:async()=>(await S().save(),u=e.addDidFinishTransactionListener((()=>{const e=C();L(e)&&T(e)})),M),stopAutoSave:S,isAutoSaving:()=>!F(u),schedule:R,getStore:()=>e,destroy:()=>(se(xe(Ct,i)),I().stopAutoSave()),getStats:()=>({loads:h,saves:f}),...l};return ge(M)},pt=new E.TextEncoder,yt=e=>{let t=2166136261;return X(pt.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},vt=([e,t,s])=>[e,t,s],It=([e,t])=>Tt(e,t),Tt=(e,t)=>t?[e,t]:[e],St=e=>e[2],Rt=(e,t)=>yt(e+":"+t),Mt=(e,t)=>t>e?(e?yt(e):0)^yt(t):0,mt=(e,t)=>((e??"")>(t??"")?e:t)??"",Vt=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},Dt=(e=s)=>Tt(he(),e),Et=(e=s)=>[ke(),e,0],Ht=([e,t,s],n=vt)=>[Qe(e,n),t,s],kt=([e,t],s=It)=>Tt(Qe(e,s),t),At=(e,s)=>G(e)&&3==W(e)&&Q(e[1])&&t(e[2])==o&&J(e[2])&&s(e[0]),xt=et((e=>{const t=e.createStore,n=t(),a=t(),o=ke(),{addListener:r,callListeners:l,delListener:i}=a,[g,h,b,w,T,,,S,,R,M,m,V,D]=Ye(e,(()=>!0),j,r,l),E=(e,t,...s)=>X(s,(s=>Xe(Oe(Oe(o,t,ke),e,Ke),s))),H=e=>{O(xe(o,e),(e=>{Je(e,((e,t)=>Ee(t,(t=>e.delListener(t))))),De(e)})),X([a,n],(t=>t.delTable(e)))},k=(e,t,s)=>E(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),A={setQueryDefinition:(t,o,r)=>{S(t,o),H(t);const l=[],i=[[null,[o,null,null,[],ke()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=z(e)?[W(l)+s,e]:[F(t)?e:t,s=>s(e,t)];return ne(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=F(s)||z(t)?null:t,a=F(n)?t:s,o=[e,[e,n,z(a)?a:e=>e(a),[],ke()]];return ne(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>ne(c,z(e)?e:F(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,z(t)?[t,s,n,a]:xe(ht,t)??[(e,t)=>t]]];return ne(d,o),{as:e=>o[0]=e}},having:(e,t)=>ne(u,z(e)?e:s=>s(e)===t)});const g=ke(l);if(me(g))return A;const h=ke(i);Je(h,((e,[,t])=>O(xe(h,t),(({3:t})=>F(e)?0:ne(t,e)))));const f=ke(d);let b=n;if(me(f)&&ee(u))b=a;else{k(t,b,a);const e=ke();Je(f,((t,[s,n])=>Xe(Oe(e,s,Ke),[t,n])));const s=Ke();Je(g,(t=>Me(e,t)?0:Xe(s,t)));const n=ke(),o=(s,n,o,r)=>O(s,(([l,i,c,d])=>{Je(n,((t,[s])=>{const n=Oe(l,t,ke),a=xe(n,o),i=r?void 0:s;if(a!==i){const s=Ke([[a,i]]),r=Ie(n);Fe(n,o,i),Ee(xe(e,t),(([e,t])=>{const a=ft(d[e],r,n,s,t);d[e]=F(Be(a))?null:a}))}})),me(i)||!U(u,(e=>e((e=>d[e]))))?a.delRow(t,c):F(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));E(b,t,b.addRowListener(t,null,((a,r,l,i)=>{const c=[],d=[],u=ke(),g=b.hasRow(t,l);let h=!g;Ee(s,(e=>{const[s,n,a]=i(t,l,e);ne(c,n),ne(d,a),h||=s})),Je(e,(e=>{const[s,,n]=i(t,l,e);(h||s)&&Fe(u,e,[n])})),h&&o(_e(n,c,void 0,(([,e])=>(He(e,l),me(e)))),u,l,1),g&&o(_e(n,d,(()=>{const e={};return Ee(s,(s=>e[s]=b.getCell(t,l,s))),[ke(),Ke(),void 0,e]}),(([,e])=>{Xe(e,l)})),u,l)})))}k(t,e,b);const w=(s,n,a,r)=>{const l=t=>e.getCell(n,a,t);X(r,(n=>{const[a,,o,r,i]=xe(h,n),c=o?.(l,s),[d,u]=xe(i,s)??[];c!=d&&(F(u)||D(t,u),Fe(i,s,F(c)?null:[c,...V(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...F(n)?[o,s,t]:t===o?[o,s,n]:[xe(h,t)?.[0],xe(xe(h,t)?.[4],s)?.[0],n]);b.transaction((()=>U(c,(e=>e(n)))?Je(g,((e,a)=>$e(b,t,s,e,a(n,s)))):b.delRow(t,s)))})(s)},{3:C}=xe(h,null);return b.transaction((()=>V(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,C):(b.delRow(t,a),Ee(h,(({4:e})=>O(xe(e,a),(([,s])=>{D(t,s),Fe(e,a)})))))}))))),A},delQueryDefinition:e=>(H(e),R(e),A),getStore:g,getQueryIds:h,forEachQuery:b,hasQuery:w,getTableId:T,addQueryIdsListener:e=>M((()=>e(A))),delListener:e=>(i(e),A),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return Ce({[f]:[1,1],[f+I]:[0,1],[L]:[0,1],[p]:[0,1],[y]:[0,5],[C]:[1,2],[I]:[0,2],[v]:[1,3]},(([e,t],s)=>{X(e?["get","has","forEach"]:["get"],(e=>A[e+d+s]=(...t)=>a[e+s](...t))),A[u+d+s+c]=(...e)=>a[u+s+c](...N(e,0,t),((s,...n)=>e[t](A,...n)),!0)})),ge(A)})),Jt=et((e=>{const t=ke(),n=ke(),a=ke(),o=ke(),[r,l,i]=nt((()=>I)),[c,d,u,g,h,f,,,b,w,C,L]=Ye(e,(()=>[ke(),ke(),ke(),ke()]),(e=>F(e)?void 0:e+s),r,l),p=(e,t,s)=>O(f(e),(([n,,a])=>{if(!Me(a,t)){const o=Ke();if(h(e)!=v(e))Xe(o,t);else{let e=t;for(;!F(e)&&!Me(o,e);)Xe(o,e),e=xe(n,e)}if(s)return o;Fe(a,t,o)}return xe(a,t)})),y=(e,t)=>O(f(e),(([,,e])=>Fe(e,t))),v=e=>xe(t,e),I={setRelationshipDefinition:(e,s,r,i)=>(Fe(t,e,r),b(e,s,((t,s)=>{const r=Ke(),i=Ke(),c=Ke(),[d,u]=f(e);Ee(s,(([t,s],n)=>{F(t)||(Xe(i,t),O(xe(u,t),(e=>{He(e,n),me(e)&&Fe(u,t)}))),F(s)||(Xe(i,s),Me(u,s)||Fe(u,s,Ke()),Xe(xe(u,s),n)),Xe(r,n),Fe(d,n,s),Je(xe(o,e),(t=>{Me(p(e,t),n)&&Xe(c,t)}))})),t(),Ee(r,(t=>l(n,[e,t]))),Ee(i,(t=>l(a,[e,t]))),Ee(c,(t=>{y(e,t),l(o,[e,t])}))}),Ze(i)),I),delRelationshipDefinition:e=>(Fe(t,e),w(e),I),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:v,getRemoteRowId:(e,t)=>xe(f(e)?.[0],t),getLocalRowIds:(e,t)=>Ve(xe(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>F(f(e))?[t]:Ve(p(e,t,!0)),addRelationshipIdsListener:C,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=>(y(...i(e)??[]),I),destroy:L,getListenerStats:()=>({remoteRowId:Se(n),localRowIds:Se(a),linkedRowIds:Se(o)})};return ge(I)})),Ft=e=>[e,e],Ot=(e,t=Te)=>t(e[0])+t(e[1]),Pt=()=>[ke(),ke()],Qt=e=>[...e],zt=([e,t])=>e===t,Gt=JSON.stringify,Nt=JSON.parse,Wt=e=>Gt(e,((e,t)=>t instanceof Map?re.fromEntries([...t]):t)),jt=(e,t,s)=>Fe(e,t,xe(e,t)==-s?void 0:s),_t=()=>{let e,t,s=!1,n=!1,a=0,r=[];const d=ke(),h=ke(),y=ke(),m=ke(),V=ke(),D=ke(),E=ke(),H=ke(),k=ke(),A=ke(),x=ke(),J=ke(),Q=ke(),W=ke(),j=Ke(),_=ke(),U=ke(),q=ke(),Z=ke(),ee=Pt(),te=Pt(),se=Pt(),ae=Pt(),oe=Pt(),re=Pt(),le=Pt(),ie=Pt(),ce=Pt(),de=Pt(),ue=Pt(),he=Pt(),we=Pt(),pe=Pt(),ve=Pt(),Ve=Pt(),_e=Pt(),Ue=Pt(),Ye=Pt(),Ze=Pt(),et=Pt(),tt=Pt(),at=ke(),ot=Pt(),[rt,lt,it,ct]=nt((()=>zs)),ut=e=>{if(!ye(e,((e,t)=>B([l,i],t))))return!1;const t=e[l];return!(!P(t)&&t!=o||(Be(e[i])!=t&&be(e,i),0))},gt=G,ht=(t,s)=>(!e||Me(x,s)||Yt(s))&&ye(t,((e,t)=>ft(s,t,e)),(()=>Yt(s))),ft=(e,t,s,n)=>ye(n?s:Lt(s,e,t),((n,a)=>O(bt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Yt(e,t))),bt=(t,s,n,a)=>e?O(xe(xe(x,t),n),(e=>Be(a)!=e[l]?Yt(t,s,n,a,e[i]):a),(()=>Yt(t,s,n,a))):F(Be(a))?Yt(t,s,n,a):a,wt=(e,t)=>ye(t?e:pt(e),((t,s)=>O(Ct(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Zt())),Ct=(e,s)=>t?O(xe(Q,e),(t=>Be(s)!=t[l]?Zt(e,s,t[i]):s),(()=>Zt(e,s))):F(Be(s))?Zt(e,s):s,Lt=(e,t,s)=>(O(xe(J,t),(([n,a])=>{Ee(n,((t,s)=>{fe(e,s)||(e[s]=t)})),Ee(a,(n=>{fe(e,n)||Yt(t,s,n)}))})),e),pt=e=>(t&&(Ee(W,((t,s)=>{fe(e,s)||(e[s]=t)})),Ee(j,(t=>{fe(e,t)||Zt(t)}))),e),yt=e=>Pe(x,e,((e,t,s)=>{const n=ke(),a=Ke();Pe(Oe(x,t,ke),s,((e,t,s)=>{Fe(e,t,s),O(s[i],(e=>Fe(n,t,e)),(()=>Xe(a,t)))})),Fe(J,t,[n,a])}),((e,t)=>{Fe(x,t),Fe(J,t)})),vt=e=>Pe(Q,e,((e,t,s)=>{Fe(Q,t,s),O(s[i],(e=>Fe(W,t,e)),(()=>Xe(j,t)))}),((e,t)=>{Fe(Q,t),Fe(W,t),He(j,t)})),It=e=>Le(e)?Hs():Ms(e),Tt=e=>Pe(q,e,((e,t,s)=>St(t,s)),((e,t)=>At(t))),St=(e,t)=>Pe(Oe(q,e,(()=>(Bt(e,1),Fe(_,e,st()),Fe(U,e,ke()),ke()))),t,((t,s,n)=>Rt(e,t,s,n)),((t,s)=>xt(e,t,s))),Rt=(e,t,s,n,a)=>Pe(Oe(t,s,(()=>(Ut(e,s,1),ke()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,o)=>Jt(e,t,s,n,o,a))),Mt=(e,t,s,n,a)=>{Me(s,n)||$t(e,t,n,1);const o=xe(s,n);a!==o&&(qt(e,t,n,o,a),Fe(s,n,a))},mt=(e,t,s,n,a)=>O(xe(t,s),(t=>Mt(e,s,t,n,a)),(()=>Rt(e,t,s,Lt({[n]:a},e,s)))),Vt=e=>Le(e)?xs():ms(e),Dt=e=>Pe(Z,e,((e,t,s)=>Et(t,s)),((e,t)=>Gt(t))),Et=(e,t)=>{Me(Z,e)||Kt(e,1);const s=xe(Z,e);t!==s&&(Xt(e,s,t),Fe(Z,e,t))},Ht=(e,t)=>{const[s]=xe(_,e),n=s(t);return Me(xe(q,e),n)?Ht(e,t):n},kt=e=>xe(q,e)??St(e,{}),At=e=>St(e,{}),xt=(e,t,s)=>{const[,n]=xe(_,e);n(s),Rt(e,t,s,{},!0)},Jt=(e,t,s,n,a,o)=>{const r=xe(xe(J,e)?.[0],a);if(!F(r)&&!o)return Mt(e,s,n,a,r);const l=t=>{qt(e,s,t,xe(n,t)),$t(e,s,t,-1),Fe(n,t)};F(r)?l(a):Je(n,l),me(n)&&(Ut(e,s,-1),me(Fe(t,s))&&(Bt(e,-1),Fe(q,e),Fe(_,e),Fe(U,e)))},Gt=e=>{const t=xe(W,e);if(!F(t))return Et(e,t);Xt(e,xe(Z,e)),Kt(e,-1),Fe(Z,e)},Bt=(e,t)=>jt(d,e,t),Ut=(e,t,s)=>jt(Oe(m,e,ke),t,s)&&Fe(y,e,Oe(y,e,(()=>0))+s),$t=(e,t,s,n)=>{const a=xe(U,e),o=xe(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&jt(Oe(h,e,ke),s,n),Fe(a,s,o!=-n?o+n:null),jt(Oe(Oe(V,e,ke),t,ke),s,n)},qt=(e,t,s,n,a)=>{Oe(Oe(Oe(D,e,ke),t,ke),s,(()=>[n,0]))[1]=a,r[3]?.(e,t,s,a)},Kt=(e,t)=>jt(E,e,t),Xt=(e,t,s)=>{Oe(H,e,(()=>[t,0]))[1]=s,r[4]?.(e,s)},Yt=(e,t,s,n,a)=>(ne(Oe(Oe(Oe(k,e,ke),t,ke),s,(()=>[])),n),a),Zt=(e,t,s)=>(ne(Oe(A,e,(()=>[])),t),s),es=(e,t,s)=>O(xe(xe(xe(D,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ft(bs(e,t,s))])),ts=e=>O(xe(H,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ft(Ls(e))])),ss=e=>me(k)||me(Ve[e])?0:Ee(e?je(k):k,((t,s)=>Ee(t,((t,n)=>Ee(t,((t,a)=>lt(Ve[e],[s,n,a],t))))))),ns=e=>me(A)||me(_e[e])?0:Ee(e?Ne(A):A,((t,s)=>lt(_e[e],[s],t))),as=(e,t,s,n)=>{if(!me(e))return lt(t,n,(()=>Qe(e))),Je(e,((e,t)=>lt(s,[...n??[],e],1==t))),1},os=e=>{const t=ps();t!=s&<(ee[e],void 0,t);const n=me(de[e]),a=me(we[e])&&me(pe[e])&&me(ce[e])&&me(ue[e])&&me(re[e])&&me(le[e])&&me(ie[e])&&n&&me(se[e])&&me(ae[e]),o=me(ve[e])&&me(he[e])&&me(oe[e])&&me(te[e]);if(!a||!o){const t=e?[Ne(d),We(h),Ne(y),We(m),je(V),je(D)]:[d,h,y,m,V,D];if(!a){as(t[0],se[e],ae[e]),Ee(t[1],((t,s)=>as(t,re[e],le[e],[s]))),Ee(t[2],((t,s)=>{0!=t&<(ie[e],[s],us(s))}));const s=Ke();Ee(t[3],((t,a)=>{as(t,ce[e],ue[e],[a])&&!n&&(lt(de[e],[a,null]),Xe(s,a))})),n||Ee(t[5],((t,n)=>{if(!Me(s,n)){const s=Ke();Ee(t,(e=>Ee(e,(([t,n],a)=>n!==t?Xe(s,a):He(e,a))))),Ee(s,(t=>lt(de[e],[n,t])))}})),Ee(t[4],((t,s)=>Ee(t,((t,n)=>as(t,we[e],pe[e],[s,n])))))}if(!o){let s;Ee(t[5],((t,n)=>{let a;Ee(t,((t,o)=>{let r;Ee(t,(([t,l],i)=>{l!==t&&(lt(ve[e],[n,o,i],l,t,es),s=a=r=1)})),r&<(he[e],[n,o],es)})),a&<(oe[e],[n],es)})),s&<(te[e],void 0,es)}}},rs=e=>{const t=Ss();t!=n&<(Ue[e],void 0,t);const s=me(Ze[e])&&me(et[e]),a=me(tt[e])&&me(Ye[e]);if(!s||!a){const t=e?[Ne(E),Ne(H)]:[E,H];if(s||as(t[0],Ze[e],et[e]),!a){let s;Ee(t[1],(([t,n],a)=>{n!==t&&(lt(tt[e],[a],n,t,ts),s=1)})),s&<(Ye[e],void 0,ts)}}},ls=(e,...t)=>(Os((()=>e(...Y(t,M)))),zs),is=()=>Ge(q),cs=()=>Ae(q),ds=e=>Ae(xe(U,M(e))),us=e=>Ie(xe(q,M(e))),gs=e=>Ae(xe(q,M(e))),hs=(e,t,s,n=0,a)=>{return Y(N(K((o=xe(q,M(e)),r=(e,s)=>[F(t)?s:xe(e,M(t)),s],Y([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>dt(e,t)*(s?-1:1))),n,F(a)?a:n+a),(([,e])=>e));var o,r},fs=(e,t)=>Ae(xe(xe(q,M(e)),M(t))),bs=(e,t,s)=>xe(xe(xe(q,M(e)),M(t)),M(s)),ws=()=>Qe(Z),Cs=()=>Ae(Z),Ls=e=>xe(Z,M(e)),ps=()=>!me(q),ys=e=>Me(q,M(e)),vs=(e,t)=>Me(xe(U,M(e)),M(t)),Is=(e,t)=>Me(xe(q,M(e)),M(t)),Ts=(e,t,s)=>Me(xe(xe(q,M(e)),M(t)),M(s)),Ss=()=>!me(Z),Rs=e=>Me(Z,M(e)),Ms=e=>ls((()=>(e=>ye(e,ht,Yt))(e)?Tt(e):0)),ms=e=>ls((()=>wt(e)?Dt(e):0)),Vs=e=>{try{It(Nt(e))}catch{}return zs},Ds=t=>ls((()=>{if((e=ye(t,(e=>ye(e,ut))))&&(yt(t),!me(q))){const e=is();Hs(),Ms(e)}})),Es=e=>ls((()=>{if(t=(e=>ye(e,ut))(e)){const s=ws();Fs(),xs(),t=!0,vt(e),ms(s)}})),Hs=()=>ls((()=>Tt({}))),ks=e=>ls((e=>Me(q,e)?At(e):0),e),As=(e,t)=>ls(((e,t)=>O(xe(q,e),(s=>Me(s,t)?xt(e,s,t):0))),e,t),xs=()=>ls((()=>Dt({}))),Js=()=>ls((()=>{yt({}),e=!1})),Fs=()=>ls((()=>{vt({}),t=!1})),Os=(e,t)=>{if(-1!=a){Ps();const s=e();return Qs(t),s}},Ps=()=>(-1!=a&&a++,1==a&&(r[0]?.(),lt(at)),zs),Qs=e=>(a>0&&(a--,0==a&&(a=1,ss(1),me(D)||os(1),ns(1),me(H)||rs(1),e?.(zs)&&(Ee(D,((e,t)=>Ee(e,((e,s)=>Ee(e,(([e],n)=>$e(zs,t,s,n,e))))))),De(D),Ee(H,(([e],t)=>qe(zs,t,e))),De(H)),lt(ot[0],void 0),a=-1,ss(0),me(D)||os(0),ns(0),me(H)||rs(0),r[1]?.(),lt(ot[1],void 0),r[2]?.(),a=0,s=ps(),n=Ss(),X([d,h,y,m,V,D,k,E,H,A],De))),zs),zs={getContent:()=>[is(),ws()],getTables:is,getTableIds:cs,getTable:e=>ze(xe(q,M(e))),getTableCellIds:ds,getRowCount:us,getRowIds:gs,getSortedRowIds:hs,getRow:(e,t)=>Qe(xe(xe(q,M(e)),M(t))),getCellIds:fs,getCell:bs,getValues:ws,getValueIds:Cs,getValue:Ls,hasTables:ps,hasTable:ys,hasTableCell:vs,hasRow:Is,hasCell:Ts,hasValues:Ss,hasValue:Rs,getTablesJson:()=>Wt(q),getValuesJson:()=>Wt(Z),getJson:()=>Wt([q,Z]),getTablesSchemaJson:()=>Wt(x),getValuesSchemaJson:()=>Wt(Q),getSchemaJson:()=>Wt([x,Q]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>ls((()=>gt(e)?(([e,t])=>{(Le(e)?Hs:Ms)(e),(Le(t)?xs:ms)(t)})(e):0)),setTables:Ms,setTable:(e,t)=>ls((e=>ht(t,e)?St(e,t):0),e),setRow:(e,t,s)=>ls(((e,t)=>ft(e,t,s)?Rt(e,kt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Os((()=>{let n;return ft(e,n,t)&&(e=M(e),Rt(e,kt(e),n=Ht(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ls(((e,t)=>{if(ft(e,t,s,1)){const n=kt(e);Ce(s,((s,a)=>mt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ls(((e,t,s)=>O(bt(e,t,s,z(n)?n(bs(e,t,s)):n),(n=>mt(e,kt(e),t,s,n)))),e,t,s),setValues:ms,setPartialValues:e=>ls((()=>wt(e,1)?Ce(e,((e,t)=>Et(t,e))):0)),setValue:(e,t)=>ls((e=>O(Ct(e,z(t)?t(Ls(e)):t),(t=>Et(e,t)))),e),applyChanges:e=>ls((()=>{Ce(e[0],((e,t)=>F(e)?ks(t):Ce(e,((e,s)=>F(e)?As(t,s):Ce(e,((e,n)=>$e(zs,t,s,n,e))))))),Ce(e[1],((e,t)=>qe(zs,t,e)))})),setTablesJson:Vs,setValuesJson:e=>{try{Vt(Nt(e))}catch{}return zs},setJson:e=>ls((()=>{try{const[t,s]=Nt(e);It(t),Vt(s)}catch{Vs(e)}})),setTablesSchema:Ds,setValuesSchema:Es,setSchema:(e,t)=>ls((()=>{Ds(e),Es(t)})),delTables:Hs,delTable:ks,delRow:As,delCell:(e,t,s,n)=>ls(((e,t,s)=>O(xe(q,e),(a=>O(xe(a,t),(o=>Me(o,s)?Jt(e,a,t,o,s,n):0))))),e,t,s),delValues:xs,delValue:e=>ls((e=>Me(Z,e)?Gt(e):0),e),delTablesSchema:Js,delValuesSchema:Fs,delSchema:()=>ls((()=>{Js(),Fs()})),transaction:Os,startTransaction:Ps,getTransactionChanges:()=>[Qe(D,((e,t)=>-1===xe(d,t)?void 0:Qe(e,((e,s)=>-1===xe(xe(m,t),s)?void 0:Qe(e,(([,e])=>e),(e=>zt(e)))),me,Le)),me,Le),Qe(H,(([,e])=>e),(e=>zt(e))),1],getTransactionLog:()=>[!me(D),!me(H),Ge(D,Qt,zt),Ge(k),Qe(H,Qt,zt),Qe(A),Qe(d),ze(m),Ge(V),Qe(E)],finishTransaction:Qs,forEachTable:e=>Ee(q,((t,s)=>e(s,(e=>Ee(t,((t,s)=>e(s,(e=>Je(t,e))))))))),forEachTableCell:(e,t)=>Je(xe(U,M(e)),t),forEachRow:(e,t)=>Ee(xe(q,M(e)),((e,s)=>t(s,(t=>Je(e,t))))),forEachCell:(e,t,s)=>Je(xe(xe(q,M(e)),M(t)),s),forEachValue:e=>Je(Z,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=hs(e,t,s,n,a);return rt((()=>{const r=hs(e,t,s,n,a);$(r,l)||(l=r,o(zs,e,t,s,n,a,l))}),de[r?1:0],[e,t],[cs])},addStartTransactionListener:e=>rt(e,at),addWillFinishTransactionListener:e=>rt(e,ot[0]),addDidFinishTransactionListener:e=>rt(e,ot[1]),callListener:e=>(ct(e),zs),delListener:e=>(it(e),zs),getListenerStats:()=>({hasTables:Ot(ee),tables:Ot(te),tableIds:Ot(se),hasTable:Ot(ae),table:Ot(oe),tableCellIds:Ot(re),hasTableCell:Ot(le,Se),rowCount:Ot(ie),rowIds:Ot(ce),sortedRowIds:Ot(de),hasRow:Ot(ue,Se),row:Ot(he,Se),cellIds:Ot(we,Se),hasCell:Ot(pe,Re),cell:Ot(ve,Re),invalidCell:Ot(Ve,Re),hasValues:Ot(Ue),values:Ot(Ye),valueIds:Ot(Ze),hasValue:Ot(et),value:Ot(tt),invalidValue:Ot(_e),transaction:Te(at)+Ot(ot)}),isMergeable:()=>!1,createStore:_t,addListener:rt,callListeners:lt,setInternalListeners:(e,t,s,n,a)=>r=[e,t,s,n,a]};return Ce({[g+b]:[0,ee,[],()=>[ps()]],[b]:[0,te],[w]:[0,se],[g+f]:[1,ae,[cs],e=>[ys(...e)]],[f]:[1,oe,[cs]],[f+I]:[1,re,[cs]],[g+f+v]:[2,le,[cs,ds],e=>[vs(...e)]],[L]:[1,ie,[cs]],[p]:[1,ce,[cs]],[g+C]:[2,ue,[cs,gs],e=>[Is(...e)]],[C]:[2,he,[cs,gs]],[I]:[2,we,[cs,gs]],[g+v]:[3,pe,[cs,gs,fs],e=>[Ts(...e)]],[v]:[3,ve,[cs,gs,fs],e=>Ft(bs(...e))],InvalidCell:[3,Ve],[g+S]:[0,Ue,[],()=>[Ss()]],[S]:[0,Ye],[R]:[0,Ze],[g+T]:[1,et,[Cs],e=>[Rs(...e)]],[T]:[1,tt,[Cs],e=>Ft(Ls(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{zs[u+a+c]=(...a)=>rt(a[e],t[a[e+1]?1:0],e>0?N(a,0,e):void 0,s,n)})),ge(zs)},Bt=2**36,Ut=2**30,$t=2**24,qt=2**18,Kt=4096,Xt={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},Yt=(e=s)=>[Et(e),Et(e)];e.Message={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},e.Persists={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},e.createCheckpoints=at,e.createCustomPersister=Lt,e.createCustomSynchronizer=(e,t,n,a,o,r,l,i,c={})=>{let d,u=0,g=0;const h=ke(),f=(e,s,n,a)=>{u++,r?.(e,s,n,a),t(e,s,n,a)},b=async(e,t,n=s)=>new D(((s,a)=>{const r=ut(),l=setTimeout((()=>{He(h,r),a(`No response from ${e??"anyone"} to ${r}, `+t)}),1e3*o);Fe(h,r,[e,(e,t)=>{clearTimeout(l),He(h,r),s([e,t])}]),f(e,r,t,n)})),w=(e,[t,s])=>{we(t,(([t,s],n)=>{const a=pe(e[0],n,Dt);we(t,(([e,t],s)=>{const n=pe(a[0],s,Dt);we(e,(([e,t],s)=>n[0][s]=Tt(e,t))),n[1]=mt(n[1],t)})),a[1]=mt(a[1],s)})),e[1]=mt(e[1],s)},C=async(t=null,s)=>{F(s)&&([s,t]=await b(t,1));const[n,a]=s,[o,r]=e.getMergeableContentHashes();let l=Dt();if(o!=n){const[s,n]=(await b(t,4,e.getMergeableTableHashes()))[0];if(l=s,!Le(n)){const[s,a]=(await b(t,5,e.getMergeableRowHashes(n)))[0];if(w(l,s),!Le(a)){const s=(await b(t,6,e.getMergeableCellHashes(a)))[0];w(l,s)}}}return[l,r==a?Dt():(await b(t,7,e.getMergeableValueHashes()))[0],1]},L=Lt(e,(async()=>{const e=await C();return Le(e[0][0])&&Le(e[1][0])?void 0:e}),(async(t,s)=>s?f(null,null,3,s):f(null,null,2,e.getMergeableContentHashes())),(e=>d=e),(()=>d=void 0),i,2,{startSync:async e=>await(await L.startAutoLoad(e)).startAutoSave(),stopSync:()=>L.stopAutoLoad().stopAutoSave(),destroy:()=>(a(),L.stopSync()),getSynchronizerStats:()=>({sends:u,receives:g}),...c});return n(((t,s,n,a)=>{g++,l?.(t,s,n,a),0==n?O(xe(h,s),(([e,s])=>F(e)||e==t?s(a,t):0)):2==n&&L.isAutoLoading()?C(t,a).then((e=>{d?.(void 0,e)})):3==n&&L.isAutoLoading()?d?.(void 0,a):O(1==n&&L.isAutoSaving()?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(a):5==n?e.getMergeableRowDiff(a):6==n?e.getMergeableCellDiff(a):7==n?e.getMergeableValueDiff(a):void 0,(e=>{f(t,s,0,e)}))})),L},e.createIndexes=gt,e.createMergeableStore=e=>{let t=1,n=Yt(),a=0;const o=ke(),r=Ke(),[l,i]=(e=>{let t=0,s=-1;const n=O(e,(e=>{const t=yt(e);return lt(t/$t)+lt(t/qt)+lt(t/Kt)+lt(t/64)+lt(t)}),(()=>ut(5))),a=e=>{const n=t,[a,o]=F(e)||""==e?[0,0]:[it(r=e,0)*Bt+it(r,1)*Ut+it(r,2)*$t+it(r,3)*qt+it(r,4)*Kt+64*it(r,5)+it(r,6),it(r,7)*qt+it(r,8)*Kt+64*it(r,9)+it(r,10)];var r;t=k(n,a,E.HLC_TIME??Date.now()),s=t==n?t==a?k(s,o):s:t==a?o:-1};return[()=>{return a(),o=++s,lt((e=t)/Bt)+lt(e/Ut)+lt(e/$t)+lt(e/qt)+lt(e/Kt)+lt(e/64)+lt(e)+lt(o/qt)+lt(o/Kt)+lt(o/64)+lt(o)+n;var e,o},a]})(e),c=_t(),d=e=>{const s=t;return t=0,e(),t=s,b},u=(e,t=0)=>{const a={},o={},[[r,l=s,c=0],d]=e,[u,h]=n,[f,b,w]=u;let C=t?c:w,L=l;we(r,(([e,n=s,o=0],r)=>{const l=Oe(f,r,Et),[i,c,d]=l;let u=t?o:d,h=n;we(e,((e,s)=>{const[n,o,l]=g(e,Oe(i,s,Et),pe(pe(a,r,he),s,he),t);u^=t?0:(o?Rt(s,o):0)^Rt(s,l),h=mt(h,n)})),u^=t?0:Mt(c,n),Vt(l,u,n),C^=t?0:(d?Rt(r,d):0)^Rt(r,l[2]),L=mt(L,h)})),C^=t?0:Mt(b,l),Vt(u,C,l);const[p]=g(d,h,o,t);return i(mt(L,p)),[a,o,1]},g=(e,t,n,a)=>{const[o,r=s,l=0]=e,[i,c,d]=t;let u=r,g=a?l:d;return we(o,(([e,t,o=0],r)=>{const l=Oe(i,r,(()=>[void 0,s,0])),[,c,d]=l;(!c||t>c)&&(Vt(l,a?o:yt(Wt(e??null)+":"+t),t),l[0]=e,n[r]=e,g^=a?0:Rt(r,d)^Rt(r,l[2]),u=mt(u,t))})),g^=a?0:Mt(c,r),Vt(t,g,r),[u,d,t[2]]},h=()=>[Ht(n[0],(e=>Ht(e,(e=>Ht(e))))),Ht(n[1])],f=e=>d((()=>c.applyChanges(u(e)))),b={getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>Qe(n[0][0],St),getMergeableTableDiff:e=>{const t=Dt(n[0][1]),s={};return Je(n[0][0],((n,[a,o,r])=>fe(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=kt([a,o],(e=>kt(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return we(e,((e,s)=>O(xe(n[0][0],s),(([n,,a])=>a!=e?Je(n,((e,[,,n])=>pe(t,s,he)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=Dt(n[0][1]),s={};return we(e,((e,a)=>Je(xe(n[0][0],a)?.[0],((n,[o,r,l])=>fe(e,n)?l!==e[n]?pe(s,a,he)[n]=l:0:pe(t[0],a,Dt)[0][n]=kt([o,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return we(e,((e,s)=>O(xe(n[0][0],s),(([n])=>we(e,((e,a)=>O(xe(n,a),(([n,,o])=>o!==e?Je(n,((e,[,,n])=>pe(pe(t,s,he),a,he)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,a={};return we(e,((e,s)=>we(e,((e,n)=>O(xe(t,s),(([t,o])=>O(xe(t,n),(([t,r])=>Je(t,((t,[l,i,c])=>c!==e[t]?pe(pe(a,s,(()=>Dt(o)))[0],n,(()=>Dt(r)))[0][t]=[l,i]:0)))))))))),Tt(a,s)},getMergeableValueHashes:()=>Qe(n[1][0],St),getMergeableValueDiff:e=>{const[,[t,s]]=n,a=Qe(t,It,(([,,t],s)=>t==e?.[s]));return Tt(a,s)},setMergeableContent:e=>d((()=>(e=>G(e)&&2==W(e)&&At(e[0],(e=>ye(e,(e=>At(e,(e=>ye(e,(e=>At(e,(e=>ye(e,(e=>At(e,Ue)),void 0,1)))),void 0,1)))),void 0,1)))&&At(e[1],(e=>ye(e,(e=>At(e,Ue)),void 0,1))))(e)?c.transaction((()=>{c.delTables().delValues(),n=Yt(),c.applyChanges(u(e,1))})):0)),setDefaultContent:e=>(c.transaction((()=>{a=1,c.setContent(e),a=0})),b),getTransactionMergeableChanges:()=>{const[[e,t],[s,a]]=n,l={};Ee(o,((t,s)=>O(xe(e,s),(([e,n])=>{const a={};Ee(t,((t,s)=>O(xe(e,s),(([e,n])=>{const o={};Ee(t,(t=>{O(xe(e,t),(([e,s])=>o[t]=Tt(e,s)))})),a[s]=Tt(o,n)})))),l[s]=Tt(a,n)}))));const i={};return Ee(r,(e=>O(xe(s,e),(([t,s])=>i[e]=Tt(t,s))))),[Tt(l,t),Tt(i,a),1]},applyMergeableChanges:f,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return c.setInternalListeners((()=>{}),(()=>{}),(()=>{De(o),De(r)}),((e,n,r,i)=>{Xe(Oe(Oe(o,e,ke),n,Ke),r),t&&u([[{[e]:[{[n]:[{[r]:[i,a?s:l()]}]}]}],[{}],1])}),((e,n)=>{Xe(r,e),t&&u([[{}],[{[e]:[n,a?s:l()]}],1])})),Ce(c,((e,t)=>b[t]=m(t,"set")||m(t,"del")||m(t,"apply")||V(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):m(t,"add")&&V(t,"Listener")?(...s)=>{const n=Xt[N(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),ge(b)},e.createMetrics=bt,e.createQueries=xt,e.createRelationships=Jt,e.createStore=_t,e.defaultSorter=dt,e.getUniqueId=ut},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),o=t(!0),r=t(0),a=t(t),l="type",i="default",d="Listener",c="Result",u="add",g="Has",h="Ids",f="Table",b=f+"s",I=f+h,L="Row",w=L+"Count",C=L+h,R="Sorted"+L+h,T="Cell",p=T+h,v="Value",S=v+"s",y=v+h,M=e=>s+e,V=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),E=globalThis,k=Math,D=k.max,x=k.min,H=k.floor,J=isFinite,F=e=>null==e,Q=(e,t,s)=>F(e)?s?.():t(e),z=e=>e==n||e==o,N=e=>t(e)==n,O=e=>t(e)==a,W=e=>Array.isArray(e),j=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=()=>{},_=(e,t)=>e.includes(t),B=(e,t)=>e.every(t),U=(e,t)=>A(e)===A(t)&&B(e,((e,s)=>t[s]===e)),q=(e,t)=>B(e,((s,n)=>0==n||t(e[n-1],s)<=0)),G=(e,t)=>e.sort(t),K=(e,t)=>e.forEach(t),X=(e,t)=>e.map(t),Y=e=>$(e,((e,t)=>e+t),0),Z=e=>0==A(e),$=(e,t,s)=>e.reduce(t,s),ee=(e,...t)=>e.push(...t),te=e=>e.pop(),se=e=>e.shift(),ne=Object,oe=e=>ne.getPrototypeOf(e),re=ne.entries,ae=ne.isFrozen,le=e=>!F(e)&&Q(oe(e),(e=>e==ne.prototype||F(oe(e))),(()=>!0)),ie=ne.keys,de=ne.freeze,ce=(e=[])=>ne.fromEntries(e),ue=(e,t)=>t in e,ge=(e,t)=>(delete e[t],e),he=(e,t)=>K(re(e),(([e,s])=>t(s,e))),fe=(e,t)=>X(re(e),(([e,s])=>t(s,e))),be=e=>le(e)&&0==(e=>A(ie(e)))(e),Ie=(e,t,s)=>(ue(e,t)||(e[t]=s()),e[t]),Le=(e,t,s,n=0)=>F(e)||!le(e)||!n&&be(e)||ae(e)?(s?.(),!1):(fe(e,((s,n)=>{t(s,n)||ge(e,n)})),!!n||!be(e)),we=e=>t=>$(ye(t),((t,s)=>t+e(s)),0),Ce=e=>e?.size??0,Re=we(Ce),Te=we(Re),pe=we(Te),ve=(e,t)=>e?.has(t)??!1,Se=e=>F(e)||0==Ce(e),ye=e=>[...e?.values()??[]],Me=e=>e.clear(),Ve=(e,t)=>e?.forEach(t),me=(e,t)=>e?.delete(t),Ee=e=>new Map(e),ke=e=>[...e?.keys()??[]],De=(e,t)=>e?.get(t),xe=(e,t)=>Ve(e,((e,s)=>t(s,e))),He=(e,t,s)=>F(s)?(me(e,t),e):e?.set(t,s),Je=(e,t,s,n)=>(ve(e,t)?n?.(De(e,t)):He(e,t,s()),De(e,t)),Fe=(e,t,s,n=He)=>(fe(t,((t,n)=>s(e,n,t))),xe(e,(s=>ue(t,s)?0:n(e,s))),e),Qe=(e,t,s,n)=>{const o={};return Ve(e,((e,r)=>{if(!s?.(e,r)){const s=t?t(e,r):e;n?.(s)||(o[r]=s)}})),o},ze=(e,t,s)=>Qe(e,(e=>Qe(e,t,s)),Se,be),Ne=(e,t,s)=>Qe(e,(e=>ze(e,t,s)),Se,be),Oe=(e,t)=>{const s=Ee();return Ve(e,((e,n)=>s.set(n,t?.(e)??e))),s},We=e=>Oe(e,Oe),je=e=>Oe(e,We),Ae=(e,t,s,n,o=0)=>Q((s?Je:De)(e,t[o],o>A(t)-2?s:Ee),(r=>{if(o>A(t)-2)return n?.(r)&&He(e,t[o]),r;const a=Ae(r,t,s,n,o+1);return Se(r)&&He(e,t[o]),a})),Pe=e=>{const s=t(e);return z(s)||s==r&&J(e)?s:void 0},_e=e=>F(e)||!F(Pe(e)),Be=(e,t,s,n,o)=>F(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Ue=(e,t,s)=>F(s)?e.delValue(t):e.setValue(t,s),qe=e=>new Set(W(e)||F(e)?e:[e]),Ge=(e,t)=>e?.add(t),Ke=(e,t,s,n,o)=>{const r=e.hasRow,a=Ee(),l=Ee(),i=Ee(),d=Ee(),c=Ee(),u=Ee(),g=(t,s,...n)=>{const o=Je(u,t,qe);return K(n,(t=>Ge(o,t)&&s&&e.callListener(t))),n},h=(t,...s)=>Q(De(u,t),(n=>{K(Z(s)?ye(n):s,(t=>{e.delListener(t),me(n,t)})),Se(n)&&He(u,t)})),f=(e,s)=>{He(a,e,s),ve(l,e)||(He(l,e,t()),He(d,e,Ee()),He(c,e,Ee()),o(i))},b=e=>{He(a,e),He(l,e),He(d,e),He(c,e),h(e),o(i)};return[()=>e,()=>ke(a),e=>xe(l,e),e=>ve(l,e),e=>De(a,e),e=>De(l,e),(e,t)=>He(l,e,t),f,(t,n,o,a,l)=>{f(t,n);const i=Ee(),u=Ee(),b=De(d,t),I=De(c,t),L=t=>{const o=s=>e.getCell(n,t,s),d=De(b,t),c=r(n,t)?s(a(o,t)):void 0;if(d===c||W(d)&&W(c)&&U(d,c)||He(i,t,[d,c]),!F(l)){const e=De(I,t),s=r(n,t)?l(o,t):void 0;e!=s&&He(u,t,s)}},w=e=>{o((()=>{Ve(i,(([,e],t)=>He(b,t,e))),Ve(u,((e,t)=>He(I,t,e)))}),i,u,b,I,e),Me(i),Me(u)};xe(b,L),e.hasTable(n)&&K(e.getRowIds(n),(e=>{ve(b,e)||L(e)})),w(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>L(s))),e.addTableListener(n,(()=>w())))},b,e=>n(e,i),()=>xe(u,b),g,h]},Xe=(e,t)=>N(e)?t=>t(e):e??(()=>t??s),Ye=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const o=s.get(n);return t?.(o),o}},Ze=/^\d+$/,$e=()=>{const e=[];let t=0;return[n=>(n?se(e):null)??s+t++,t=>{Ze.test(t)&&A(e)<1e3&&ee(e,t)}]},et=e=>{let t;const[n,o]=$e(),r=Ee();return[(o,a,l,i=[],d=()=>[])=>{t??=e();const c=n(1);return He(r,c,[o,a,l,i,d]),Ge(Ae(a,l??[s],qe),c),c},(e,n,...o)=>K(((e,t=[s])=>{const n=[],o=(e,s)=>s==A(t)?ee(n,e):null===t[s]?Ve(e,(e=>o(e,s+1))):K([t[s],null],(t=>o(De(e,t),s+1)));return o(e,0),n})(e,n),(e=>Ve(e,(e=>De(r,e)[0](t,...n??[],...o))))),e=>Q(De(r,e),(([,t,n])=>(Ae(t,n??[s],void 0,(t=>(me(t,e),Se(t)?1:0))),He(r,e),o(e),n))),e=>Q(De(r,e),(([e,,s=[],n,o])=>{const r=(...a)=>{const l=A(a);l==A(s)?e(t,...a,...o(a)):F(s[l])?K(n[l]?.(...a)??[],(e=>r(...a,e))):r(...a,s[l])};r()}))]},tt=Ye((e=>{let t,n,o,r=100,a=Ee(),l=Ee(),i=1;const d=Ee(),c=Ee(),[u,g,h]=et((()=>H)),f=Ee(),b=Ee(),I=[],L=[],w=(t,s)=>{i=0,e.transaction((()=>{const[n,o]=De(f,s);Ve(n,((s,n)=>Ve(s,((s,o)=>Ve(s,((s,r)=>Be(e,n,o,r,s[t]))))))),Ve(o,((s,n)=>Ue(e,n,s[t])))})),i=1},C=e=>{He(f,e),He(b,e),g(c,[e])},R=(e,t)=>K(((e,t)=>e.splice(0,t))(e,t??A(e)),C),T=()=>R(I,A(I)-r),p=()=>Q(t,(()=>{ee(I,t),T(),R(L),t=void 0,o=1})),v=()=>{t=te(I),o=1};let S,y;const M=(e=s)=>(F(t)&&(t=s+n++,He(f,t,[a,l]),D(t,e),a=Ee(),l=Ee(),o=1),t),V=()=>{Z(I)||(((e,...t)=>{e.unshift(...t)})(L,M()),w(0,t),t=te(I),o=1)},m=()=>{Z(L)||(ee(I,t),t=se(L),w(1,t),o=1)},E=()=>{o&&(g(d),o=0)},k=e=>{const t=M(e);return E(),t},D=(e,t)=>(x(e)&&De(b,e)!==t&&(He(b,e,t),g(c,[e])),H),x=e=>ve(f,e),H={setSize:e=>(r=e,T(),H),addCheckpoint:k,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...I],t,[...L]],forEachCheckpoint:e=>xe(b,e),hasCheckpoint:x,getCheckpoint:e=>De(b,e),goBackward:()=>(V(),E(),H),goForward:()=>(m(),E(),H),goTo:e=>{const s=_(I,e)?V:_(L,e)?m:null;for(;!F(s)&&e!=t;)s();return E(),H},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),H),clear:()=>(R(I),R(L),F(t)||C(t),t=void 0,n=0,k(),H),clearForward:()=>(Z(L)||(R(L),g(d)),H),destroy:()=>{e.delListener(S),e.delListener(y)},getListenerStats:()=>({checkpointIds:Re(d),checkpoint:Re(c)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,((e,t,s,n,o,r)=>{if(i){p();const e=Je(a,t,Ee),l=Je(e,s,Ee),i=Je(l,n,(()=>[r,void 0]));i[1]=o,i[0]===o&&Se(He(l,n))&&Se(He(e,s))&&Se(He(a,t))&&v(),E()}})),y=e.addValueListener(null,((e,t,s,n)=>{if(i){p();const e=Je(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&Se(He(l,t))&&v(),E()}}))}};return de(H.clear())}),(e=>e._registerListeners())),st="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(s),nt=Ee(X(st,((e,t)=>[e,t]))),ot=e=>st[63&e],rt=(e,t)=>De(nt,e[t])??0,at=E.crypto?e=>E.crypto.getRandomValues(e):e=>X(e,(()=>H(256*k.random()))),lt=(e,t)=>(e??0)<(t??0)?-1:1,it=(e=16)=>$(at(new Uint8Array(e)),((e,t)=>e+ot(t)),""),dt=Ye((e=>{const t=Ee(),n=Ee(),[o,r,a]=et((()=>C)),[l,i,d,c,u,g,h,,f,b,I,L]=Ke(e,Ee,(e=>F(e)?s:W(e)?X(e,M):M(e)),o,r),w=(t,s,n)=>{const o=u(t);Ve(n,((t,n)=>s(n,(s=>Ve(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},C={setIndexDefinition:(e,s,o,a,l,i=lt)=>{const d=F(l)?void 0:([e],[t])=>l(e,t);return f(e,s,((s,o,l,c,u,f)=>{let b=0;const I=qe(),L=qe(),w=g(e);if(Ve(o,(([e,t],s)=>{const n=qe(e),o=qe(t);Ve(n,(e=>me(o,e)?me(n,e):0)),Ve(n,(e=>{Ge(I,e),Q(De(w,e),(t=>{me(t,s),Se(t)&&(He(w,e),b=1)}))})),Ve(o,(e=>{Ge(I,e),ve(w,e)||(He(w,e,qe()),b=1),Ge(De(w,e),s),F(a)||Ge(L,e)}))})),s(),Se(u)||(f?xe(w,(e=>Ge(L,e))):xe(l,(e=>Q(De(c,e),(e=>Ge(L,e))))),Ve(L,(e=>{const t=(t,s)=>i(De(u,t),De(u,s),e),s=[...De(w,e)];q(s,t)||(He(w,e,qe(G(s,t))),Ge(I,e))}))),(b||f)&&!F(d)){const t=[...w];q(t,d)||(h(e,Ee(G(t,d))),b=1)}b&&r(t,[e]),Ve(I,(t=>r(n,[e,t])))}),Xe(o),Q(a,Xe)),C},delIndexDefinition:e=>(b(e),C),getStore:l,getIndexIds:i,forEachIndex:e=>d(((t,s)=>e(t,(e=>w(t,e,s))))),forEachSlice:(e,t)=>w(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>ve(g(e),t),getTableId:u,getSliceIds:e=>ke(g(e)),getSliceRowIds:(e,t)=>ye(De(g(e),t)),addIndexIdsListener:I,addSliceIdsListener:(e,s)=>o(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>o(s,n,[e,t]),delListener:e=>(a(e),C),destroy:L,getListenerStats:()=>({sliceIds:Re(t),sliceRowIds:Te(n)})};return de(C)})),ct=Ee([["avg",[(e,t)=>Y(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=>D(...e),(e,t)=>D(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:D(t,e)]],["min",[e=>x(...e),(e,t)=>x(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:x(t,e)]],["sum",[e=>Y(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),ut=(e,t,s,n,o,r=!1)=>{if(Se(s))return;const[a,l,i,d]=o;return r||=F(e),Ve(n,(([s,n])=>{r||(e=F(s)?l?.(e,n,t++):F(n)?i?.(e,s,t--):d?.(e,n,s,t),r||=F(e))})),r?a(ye(s),Ce(s)):e},gt=Ye((e=>{const t=Ee(),[n,o,r]=et((()=>L)),[a,l,i,d,c,u,g,,h,f,b,I]=Ke(e,P,(e=>isNaN(e)||F(e)||!0===e||!1===e||e===s?void 0:1*e),n,o),L={setMetricDefinition:(e,s,n,r,a,l,i)=>{const d=O(n)?[n,a,l,i]:De(ct,n)??De(ct,"sum");return h(e,s,((s,n,r,a,l,i)=>{const c=u(e),h=Ce(a);i||=F(c),s();let f=ut(c,h,a,n,d,i);J(f)||(f=void 0),f!=c&&(g(e,f),o(t,[e],f,c))}),Xe(r,1)),L},delMetricDefinition:e=>(f(e),L),getStore:a,getMetricIds:l,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(r(e),L),destroy:I,getListenerStats:()=>({metric:Re(t)})};return de(L)})),ht=Ye((e=>{const t=e.createStore,n=t(),o=t(),r=Ee(),{addListener:a,callListeners:l,delListener:i}=o,[g,h,b,I,v,,,S,,y,M,V,m,E]=Ke(e,(()=>!0),P,a,l),k=(e,t,...s)=>K(s,(s=>Ge(Je(Je(r,t,Ee),e,qe),s))),D=e=>{Q(De(r,e),(e=>{xe(e,((e,t)=>Ve(t,(t=>e.delListener(t))))),Me(e)})),K([o,n],(t=>t.delTable(e)))},x=(e,t,s)=>k(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),H={setQueryDefinition:(t,r,a)=>{S(t,r),D(t);const l=[],i=[[null,[r,null,null,[],Ee()]]],d=[],c=[],u=[];a({select:(e,t)=>{const n=O(e)?[A(l)+s,e]:[F(t)?e:t,s=>s(e,t)];return ee(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=F(s)||O(t)?null:t,o=F(n)?t:s,r=[e,[e,n,O(o)?o:e=>e(o),[],Ee()]];return ee(i,r),{as:e=>r[0]=e}},where:(e,t,s)=>ee(d,O(e)?e:F(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const r=[e,[e,O(t)?[t,s,n,o]:De(ct,t)??[(e,t)=>t]]];return ee(c,r),{as:e=>r[0]=e}},having:(e,t)=>ee(u,O(e)?e:s=>s(e)===t)});const g=Ee(l);if(Se(g))return H;const h=Ee(i);xe(h,((e,[,t])=>Q(De(h,t),(({3:t})=>F(e)?0:ee(t,e)))));const f=Ee(c);let b=n;if(Se(f)&&Z(u))b=o;else{x(t,b,o);const e=Ee();xe(f,((t,[s,n])=>Ge(Je(e,s,qe),[t,n])));const s=qe();xe(g,(t=>ve(e,t)?0:Ge(s,t)));const n=Ee(),r=(s,n,r,a)=>Q(s,(([l,i,d,c])=>{xe(n,((t,[s])=>{const n=Je(l,t,Ee),o=De(n,r),i=a?void 0:s;if(o!==i){const s=qe([[o,i]]),a=Ce(n);He(n,r,i),Ve(De(e,t),(([e,t])=>{const o=ut(c[e],a,n,s,t);c[e]=F(Pe(o))?null:o}))}})),Se(i)||!B(u,(e=>e((e=>c[e]))))?o.delRow(t,d):F(d)?s[2]=o.addRow(t,c):o.setRow(t,d,c)}));k(b,t,b.addRowListener(t,null,((o,a,l,i)=>{const d=[],c=[],u=Ee(),g=b.hasRow(t,l);let h=!g;Ve(s,(e=>{const[s,n,o]=i(t,l,e);ee(d,n),ee(c,o),h||=s})),xe(e,(e=>{const[s,,n]=i(t,l,e);(h||s)&&He(u,e,[n])})),h&&r(Ae(n,d,void 0,(([,e])=>(me(e,l),Se(e)))),u,l,1),g&&r(Ae(n,c,(()=>{const e={};return Ve(s,(s=>e[s]=b.getCell(t,l,s))),[Ee(),qe(),void 0,e]}),(([,e])=>{Ge(e,l)})),u,l)})))}x(t,e,b);const I=(s,n,o,a)=>{const l=t=>e.getCell(n,o,t);K(a,(n=>{const[o,,r,a,i]=De(h,n),d=r?.(l,s),[c,u]=De(i,s)??[];d!=c&&(F(u)||E(t,u),He(i,s,F(d)?null:[d,...m(t,1,e.addRowListener(o,d,(()=>I(s,o,d,a))))]))})),(s=>{const n=(t,n)=>e.getCell(...F(n)?[r,s,t]:t===r?[r,s,n]:[De(h,t)?.[0],De(De(h,t)?.[4],s)?.[0],n]);b.transaction((()=>B(d,(e=>e(n)))?xe(g,((e,o)=>Be(b,t,s,e,o(n,s)))):b.delRow(t,s)))})(s)},{3:L}=De(h,null);return b.transaction((()=>m(t,1,e.addRowListener(r,null,((s,n,o)=>{e.hasRow(r,o)?I(o,r,o,L):(b.delRow(t,o),Ve(h,(({4:e})=>Q(De(e,o),(([,s])=>{E(t,s),He(e,o)})))))}))))),H},delQueryDefinition:e=>(D(e),y(e),H),getStore:g,getQueryIds:h,forEachQuery:b,hasQuery:I,getTableId:v,addQueryIdsListener:e=>M((()=>e(H))),delListener:e=>(i(e),H),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=o.getListenerStats();return n}};return fe({[f]:[1,1],[f+p]:[0,1],[w]:[0,1],[C]:[0,1],[R]:[0,5],[L]:[1,2],[p]:[0,2],[T]:[1,3]},(([e,t],s)=>{K(e?["get","has","forEach"]:["get"],(e=>H[e+c+s]=(...t)=>o[e+s](...t))),H[u+c+s+d]=(...e)=>o[u+s+d](...j(e,0,t),((s,...n)=>e[t](H,...n)),!0)})),de(H)})),ft=Ye((e=>{const t=Ee(),n=Ee(),o=Ee(),r=Ee(),[a,l,i]=et((()=>p)),[d,c,u,g,h,f,,,b,I,L,w]=Ke(e,(()=>[Ee(),Ee(),Ee(),Ee()]),(e=>F(e)?void 0:e+s),a,l),C=(e,t,s)=>Q(f(e),(([n,,o])=>{if(!ve(o,t)){const r=qe();if(h(e)!=T(e))Ge(r,t);else{let e=t;for(;!F(e)&&!ve(r,e);)Ge(r,e),e=De(n,e)}if(s)return r;He(o,t,r)}return De(o,t)})),R=(e,t)=>Q(f(e),(([,,e])=>He(e,t))),T=e=>De(t,e),p={setRelationshipDefinition:(e,s,a,i)=>(He(t,e,a),b(e,s,((t,s)=>{const a=qe(),i=qe(),d=qe(),[c,u]=f(e);Ve(s,(([t,s],n)=>{F(t)||(Ge(i,t),Q(De(u,t),(e=>{me(e,n),Se(e)&&He(u,t)}))),F(s)||(Ge(i,s),ve(u,s)||He(u,s,qe()),Ge(De(u,s),n)),Ge(a,n),He(c,n,s),xe(De(r,e),(t=>{ve(C(e,t),n)&&Ge(d,t)}))})),t(),Ve(a,(t=>l(n,[e,t]))),Ve(i,(t=>l(o,[e,t]))),Ve(d,(t=>{R(e,t),l(r,[e,t])}))}),Xe(i)),p),delRelationshipDefinition:e=>(He(t,e),I(e),p),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:T,getRemoteRowId:(e,t)=>De(f(e)?.[0],t),getLocalRowIds:(e,t)=>ye(De(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>F(f(e))?[t]:ye(C(e,t,!0)),addRelationshipIdsListener:L,addRemoteRowIdListener:(e,t,s)=>a(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>a(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(C(e,t),a(s,r,[e,t])),delListener:e=>(R(...i(e)??[]),p),destroy:w,getListenerStats:()=>({remoteRowId:Te(n),localRowIds:Te(o),linkedRowIds:Te(r)})};return de(p)})),bt=new E.TextEncoder,It=e=>{let t=2166136261;return K(bt.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],wt=([e,t])=>Ct(e,t),Ct=(e,t)=>t?[e,t]:[e],Rt=e=>e[2],Tt=(e,t)=>It(e+":"+t),pt=(e,t)=>t>e?(e?It(e):0)^It(t):0,vt=(e,t)=>((e??"")>(t??"")?e:t)??"",St=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},yt=(e=s)=>Ct(ce(),e),Mt=(e=s)=>[Ee(),e,0],Vt=([e,t,s],n=Lt)=>[Qe(e,n),t,s],mt=([e,t],s=wt)=>Ct(Qe(e,s),t),Et=(e,s)=>W(e)&&3==A(e)&&N(e[1])&&t(e[2])==r&&J(e[2])&&s(e[0]),kt=e=>[e,e],Dt=(e,t=Re)=>t(e[0])+t(e[1]),xt=()=>[Ee(),Ee()],Ht=e=>[...e],Jt=([e,t])=>e===t,Ft=JSON.stringify,Qt=JSON.parse,zt=e=>Ft(e,((e,t)=>t instanceof Map?ne.fromEntries([...t]):t)),Nt=(e,t,s)=>He(e,t,De(e,t)==-s?void 0:s),Ot=()=>{let e,t,s=!1,n=!1,o=0,a=[];const c=Ee(),h=Ee(),R=Ee(),V=Ee(),m=Ee(),E=Ee(),k=Ee(),D=Ee(),x=Ee(),H=Ee(),J=Ee(),N=Ee(),A=Ee(),P=Ee(),B=qe(),q=Ee(),Y=Ee(),Z=Ee(),$=Ee(),te=xt(),se=xt(),ne=xt(),oe=xt(),re=xt(),ae=xt(),le=xt(),ie=xt(),ce=xt(),he=xt(),Ie=xt(),we=xt(),ye=xt(),Ae=xt(),_e=xt(),Ke=xt(),Xe=xt(),Ye=xt(),Ze=xt(),tt=xt(),st=xt(),nt=xt(),ot=Ee(),rt=xt(),[at,it,dt,ct]=et((()=>Ws)),ut=e=>{if(!Le(e,((e,t)=>_([l,i],t))))return!1;const t=e[l];return!(!z(t)&&t!=r||(Pe(e[i])!=t&&ge(e,i),0))},gt=W,ht=(t,s)=>(!e||ve(J,s)||Zt(s))&&Le(t,((e,t)=>ft(s,t,e)),(()=>Zt(s))),ft=(e,t,s,n)=>Le(n?s:wt(s,e,t),((n,o)=>Q(bt(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>Zt(e,t))),bt=(t,s,n,o)=>e?Q(De(De(J,t),n),(e=>Pe(o)!=e[l]?Zt(t,s,n,o,e[i]):o),(()=>Zt(t,s,n,o))):F(Pe(o))?Zt(t,s,n,o):o,It=(e,t)=>Le(t?e:Ct(e),((t,s)=>Q(Lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>$t())),Lt=(e,s)=>t?Q(De(A,e),(t=>Pe(s)!=t[l]?$t(e,s,t[i]):s),(()=>$t(e,s))):F(Pe(s))?$t(e,s):s,wt=(e,t,s)=>(Q(De(N,t),(([n,o])=>{Ve(n,((t,s)=>{ue(e,s)||(e[s]=t)})),Ve(o,(n=>{ue(e,n)||Zt(t,s,n)}))})),e),Ct=e=>(t&&(Ve(P,((t,s)=>{ue(e,s)||(e[s]=t)})),Ve(B,(t=>{ue(e,t)||$t(t)}))),e),Rt=e=>Fe(J,e,((e,t,s)=>{const n=Ee(),o=qe();Fe(Je(J,t,Ee),s,((e,t,s)=>{He(e,t,s),Q(s[i],(e=>He(n,t,e)),(()=>Ge(o,t)))})),He(N,t,[n,o])}),((e,t)=>{He(J,t),He(N,t)})),Tt=e=>Fe(A,e,((e,t,s)=>{He(A,t,s),Q(s[i],(e=>He(P,t,e)),(()=>Ge(B,t)))}),((e,t)=>{He(A,t),He(P,t),me(B,t)})),pt=e=>be(e)?Ds():Ms(e),vt=e=>Fe(Z,e,((e,t,s)=>St(t,s)),((e,t)=>At(t))),St=(e,t)=>Fe(Je(Z,e,(()=>(Ut(e,1),He(q,e,$e()),He(Y,e,Ee()),Ee()))),t,((t,s,n)=>yt(e,t,s,n)),((t,s)=>Pt(e,t,s))),yt=(e,t,s,n,o)=>Fe(Je(t,s,(()=>(qt(e,s,1),Ee()))),n,((t,n,o)=>Mt(e,s,t,n,o)),((n,r)=>_t(e,t,s,n,r,o))),Mt=(e,t,s,n,o)=>{ve(s,n)||Gt(e,t,n,1);const r=De(s,n);o!==r&&(Kt(e,t,n,r,o),He(s,n,o))},Vt=(e,t,s,n,o)=>Q(De(t,s),(t=>Mt(e,s,t,n,o)),(()=>yt(e,t,s,wt({[n]:o},e,s)))),mt=e=>be(e)?Js():Vs(e),Et=e=>Fe($,e,((e,t,s)=>Ft(t,s)),((e,t)=>Bt(t))),Ft=(e,t)=>{ve($,e)||Xt(e,1);const s=De($,e);t!==s&&(Yt(e,s,t),He($,e,t))},Wt=(e,t)=>{const[s]=De(q,e),n=s(t);return ve(De(Z,e),n)?Wt(e,t):n},jt=e=>De(Z,e)??St(e,{}),At=e=>St(e,{}),Pt=(e,t,s)=>{const[,n]=De(q,e);n(s),yt(e,t,s,{},!0)},_t=(e,t,s,n,o,r)=>{const a=De(De(N,e)?.[0],o);if(!F(a)&&!r)return Mt(e,s,n,o,a);const l=t=>{Kt(e,s,t,De(n,t)),Gt(e,s,t,-1),He(n,t)};F(a)?l(o):xe(n,l),Se(n)&&(qt(e,s,-1),Se(He(t,s))&&(Ut(e,-1),He(Z,e),He(q,e),He(Y,e)))},Bt=e=>{const t=De(P,e);if(!F(t))return Ft(e,t);Yt(e,De($,e)),Xt(e,-1),He($,e)},Ut=(e,t)=>Nt(c,e,t),qt=(e,t,s)=>Nt(Je(V,e,Ee),t,s)&&He(R,e,Je(R,e,(()=>0))+s),Gt=(e,t,s,n)=>{const o=De(Y,e),r=De(o,s)??0;(0==r&&1==n||1==r&&-1==n)&&Nt(Je(h,e,Ee),s,n),He(o,s,r!=-n?r+n:null),Nt(Je(Je(m,e,Ee),t,Ee),s,n)},Kt=(e,t,s,n,o)=>{Je(Je(Je(E,e,Ee),t,Ee),s,(()=>[n,0]))[1]=o,a[3]?.(e,t,s,o)},Xt=(e,t)=>Nt(k,e,t),Yt=(e,t,s)=>{Je(D,e,(()=>[t,0]))[1]=s,a[4]?.(e,s)},Zt=(e,t,s,n,o)=>(ee(Je(Je(Je(x,e,Ee),t,Ee),s,(()=>[])),n),o),$t=(e,t,s)=>(ee(Je(H,e,(()=>[])),t),s),es=(e,t,s)=>Q(De(De(De(E,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...kt(bs(e,t,s))])),ts=e=>Q(De(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...kt(ws(e))])),ss=e=>Se(x)||Se(Ke[e])?0:Ve(e?je(x):x,((t,s)=>Ve(t,((t,n)=>Ve(t,((t,o)=>it(Ke[e],[s,n,o],t))))))),ns=e=>Se(H)||Se(Xe[e])?0:Ve(e?Oe(H):H,((t,s)=>it(Xe[e],[s],t))),os=(e,t,s,n)=>{if(!Se(e))return it(t,n,(()=>Qe(e))),xe(e,((e,t)=>it(s,[...n??[],e],1==t))),1},rs=e=>{const t=Cs();t!=s&&it(te[e],void 0,t);const n=Se(he[e]),o=Se(ye[e])&&Se(Ae[e])&&Se(ce[e])&&Se(Ie[e])&&Se(ae[e])&&Se(le[e])&&Se(ie[e])&&n&&Se(ne[e])&&Se(oe[e]),r=Se(_e[e])&&Se(we[e])&&Se(re[e])&&Se(se[e]);if(!o||!r){const t=e?[Oe(c),We(h),Oe(R),We(V),je(m),je(E)]:[c,h,R,V,m,E];if(!o){os(t[0],ne[e],oe[e]),Ve(t[1],((t,s)=>os(t,ae[e],le[e],[s]))),Ve(t[2],((t,s)=>{0!=t&&it(ie[e],[s],us(s))}));const s=qe();Ve(t[3],((t,o)=>{os(t,ce[e],Ie[e],[o])&&!n&&(it(he[e],[o,null]),Ge(s,o))})),n||Ve(t[5],((t,n)=>{if(!ve(s,n)){const s=qe();Ve(t,(e=>Ve(e,(([t,n],o)=>n!==t?Ge(s,o):me(e,o))))),Ve(s,(t=>it(he[e],[n,t])))}})),Ve(t[4],((t,s)=>Ve(t,((t,n)=>os(t,ye[e],Ae[e],[s,n])))))}if(!r){let s;Ve(t[5],((t,n)=>{let o;Ve(t,((t,r)=>{let a;Ve(t,(([t,l],i)=>{l!==t&&(it(_e[e],[n,r,i],l,t,es),s=o=a=1)})),a&&it(we[e],[n,r],es)})),o&&it(re[e],[n],es)})),s&&it(se[e],void 0,es)}}},as=e=>{const t=Ss();t!=n&&it(Ye[e],void 0,t);const s=Se(tt[e])&&Se(st[e]),o=Se(nt[e])&&Se(Ze[e]);if(!s||!o){const t=e?[Oe(k),Oe(D)]:[k,D];if(s||os(t[0],tt[e],st[e]),!o){let s;Ve(t[1],(([t,n],o)=>{n!==t&&(it(nt[e],[o],n,t,ts),s=1)})),s&&it(Ze[e],void 0,ts)}}},ls=(e,...t)=>(zs((()=>e(...X(t,M)))),Ws),is=()=>Ne(Z),ds=()=>ke(Z),cs=e=>ke(De(Y,M(e))),us=e=>Ce(De(Z,M(e))),gs=e=>ke(De(Z,M(e))),hs=(e,t,s,n=0,o)=>{return X(j(G((r=De(Z,M(e)),a=(e,s)=>[F(t)?s:De(e,M(t)),s],X([...r?.entries()??[]],(([e,t])=>a(t,e)))),(([e],[t])=>lt(e,t)*(s?-1:1))),n,F(o)?o:n+o),(([,e])=>e));var r,a},fs=(e,t)=>ke(De(De(Z,M(e)),M(t))),bs=(e,t,s)=>De(De(De(Z,M(e)),M(t)),M(s)),Is=()=>Qe($),Ls=()=>ke($),ws=e=>De($,M(e)),Cs=()=>!Se(Z),Rs=e=>ve(Z,M(e)),Ts=(e,t)=>ve(De(Y,M(e)),M(t)),ps=(e,t)=>ve(De(Z,M(e)),M(t)),vs=(e,t,s)=>ve(De(De(Z,M(e)),M(t)),M(s)),Ss=()=>!Se($),ys=e=>ve($,M(e)),Ms=e=>ls((()=>(e=>Le(e,ht,Zt))(e)?vt(e):0)),Vs=e=>ls((()=>It(e)?Et(e):0)),ms=e=>{try{pt(Qt(e))}catch{}return Ws},Es=t=>ls((()=>{if((e=Le(t,(e=>Le(e,ut))))&&(Rt(t),!Se(Z))){const e=is();Ds(),Ms(e)}})),ks=e=>ls((()=>{if(t=(e=>Le(e,ut))(e)){const s=Is();Qs(),Js(),t=!0,Tt(e),Vs(s)}})),Ds=()=>ls((()=>vt({}))),xs=e=>ls((e=>ve(Z,e)?At(e):0),e),Hs=(e,t)=>ls(((e,t)=>Q(De(Z,e),(s=>ve(s,t)?Pt(e,s,t):0))),e,t),Js=()=>ls((()=>Et({}))),Fs=()=>ls((()=>{Rt({}),e=!1})),Qs=()=>ls((()=>{Tt({}),t=!1})),zs=(e,t)=>{if(-1!=o){Ns();const s=e();return Os(t),s}},Ns=()=>(-1!=o&&o++,1==o&&(a[0]?.(),it(ot)),Ws),Os=e=>(o>0&&(o--,0==o&&(o=1,ss(1),Se(E)||rs(1),ns(1),Se(D)||as(1),e?.(Ws)&&(Ve(E,((e,t)=>Ve(e,((e,s)=>Ve(e,(([e],n)=>Be(Ws,t,s,n,e))))))),Me(E),Ve(D,(([e],t)=>Ue(Ws,t,e))),Me(D)),it(rt[0],void 0),o=-1,ss(0),Se(E)||rs(0),ns(0),Se(D)||as(0),a[1]?.(),it(rt[1],void 0),a[2]?.(),o=0,s=Cs(),n=Ss(),K([c,h,R,V,m,E,x,k,D,H],Me))),Ws),Ws={getContent:()=>[is(),Is()],getTables:is,getTableIds:ds,getTable:e=>ze(De(Z,M(e))),getTableCellIds:cs,getRowCount:us,getRowIds:gs,getSortedRowIds:hs,getRow:(e,t)=>Qe(De(De(Z,M(e)),M(t))),getCellIds:fs,getCell:bs,getValues:Is,getValueIds:Ls,getValue:ws,hasTables:Cs,hasTable:Rs,hasTableCell:Ts,hasRow:ps,hasCell:vs,hasValues:Ss,hasValue:ys,getTablesJson:()=>zt(Z),getValuesJson:()=>zt($),getJson:()=>zt([Z,$]),getTablesSchemaJson:()=>zt(J),getValuesSchemaJson:()=>zt(A),getSchemaJson:()=>zt([J,A]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>ls((()=>gt(e)?(([e,t])=>{(be(e)?Ds:Ms)(e),(be(t)?Js:Vs)(t)})(e):0)),setTables:Ms,setTable:(e,t)=>ls((e=>ht(t,e)?St(e,t):0),e),setRow:(e,t,s)=>ls(((e,t)=>ft(e,t,s)?yt(e,jt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let n;return ft(e,n,t)&&(e=M(e),yt(e,jt(e),n=Wt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ls(((e,t)=>{if(ft(e,t,s,1)){const n=jt(e);fe(s,((s,o)=>Vt(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>ls(((e,t,s)=>Q(bt(e,t,s,O(n)?n(bs(e,t,s)):n),(n=>Vt(e,jt(e),t,s,n)))),e,t,s),setValues:Vs,setPartialValues:e=>ls((()=>It(e,1)?fe(e,((e,t)=>Ft(t,e))):0)),setValue:(e,t)=>ls((e=>Q(Lt(e,O(t)?t(ws(e)):t),(t=>Ft(e,t)))),e),applyChanges:e=>ls((()=>{fe(e[0],((e,t)=>F(e)?xs(t):fe(e,((e,s)=>F(e)?Hs(t,s):fe(e,((e,n)=>Be(Ws,t,s,n,e))))))),fe(e[1],((e,t)=>Ue(Ws,t,e)))})),setTablesJson:ms,setValuesJson:e=>{try{mt(Qt(e))}catch{}return Ws},setJson:e=>ls((()=>{try{const[t,s]=Qt(e);pt(t),mt(s)}catch{ms(e)}})),setTablesSchema:Es,setValuesSchema:ks,setSchema:(e,t)=>ls((()=>{Es(e),ks(t)})),delTables:Ds,delTable:xs,delRow:Hs,delCell:(e,t,s,n)=>ls(((e,t,s)=>Q(De(Z,e),(o=>Q(De(o,t),(r=>ve(r,s)?_t(e,o,t,r,s,n):0))))),e,t,s),delValues:Js,delValue:e=>ls((e=>ve($,e)?Bt(e):0),e),delTablesSchema:Fs,delValuesSchema:Qs,delSchema:()=>ls((()=>{Fs(),Qs()})),transaction:zs,startTransaction:Ns,getTransactionChanges:()=>[Qe(E,((e,t)=>-1===De(c,t)?void 0:Qe(e,((e,s)=>-1===De(De(V,t),s)?void 0:Qe(e,(([,e])=>e),(e=>Jt(e)))),Se,be)),Se,be),Qe(D,(([,e])=>e),(e=>Jt(e))),1],getTransactionLog:()=>[!Se(E),!Se(D),Ne(E,Ht,Jt),Ne(x),Qe(D,Ht,Jt),Qe(H),Qe(c),ze(V),Ne(m),Qe(k)],finishTransaction:Os,forEachTable:e=>Ve(Z,((t,s)=>e(s,(e=>Ve(t,((t,s)=>e(s,(e=>xe(t,e))))))))),forEachTableCell:(e,t)=>xe(De(Y,M(e)),t),forEachRow:(e,t)=>Ve(De(Z,M(e)),((e,s)=>t(s,(t=>xe(e,t))))),forEachCell:(e,t,s)=>xe(De(De(Z,M(e)),M(t)),s),forEachValue:e=>xe($,e),addSortedRowIdsListener:(e,t,s,n,o,r,a)=>{let l=hs(e,t,s,n,o);return at((()=>{const a=hs(e,t,s,n,o);U(a,l)||(l=a,r(Ws,e,t,s,n,o,l))}),he[a?1:0],[e,t],[ds])},addStartTransactionListener:e=>at(e,ot),addWillFinishTransactionListener:e=>at(e,rt[0]),addDidFinishTransactionListener:e=>at(e,rt[1]),callListener:e=>(ct(e),Ws),delListener:e=>(dt(e),Ws),getListenerStats:()=>({hasTables:Dt(te),tables:Dt(se),tableIds:Dt(ne),hasTable:Dt(oe),table:Dt(re),tableCellIds:Dt(ae),hasTableCell:Dt(le,Te),rowCount:Dt(ie),rowIds:Dt(ce),sortedRowIds:Dt(he),hasRow:Dt(Ie,Te),row:Dt(we,Te),cellIds:Dt(ye,Te),hasCell:Dt(Ae,pe),cell:Dt(_e,pe),invalidCell:Dt(Ke,pe),hasValues:Dt(Ye),values:Dt(Ze),valueIds:Dt(tt),hasValue:Dt(st),value:Dt(nt),invalidValue:Dt(Xe),transaction:Re(ot)+Dt(rt)}),isMergeable:()=>!1,createStore:Ot,addListener:at,callListeners:it,setInternalListeners:(e,t,s,n,o)=>a=[e,t,s,n,o]};return fe({[g+b]:[0,te,[],()=>[Cs()]],[b]:[0,se],[I]:[0,ne],[g+f]:[1,oe,[ds],e=>[Rs(...e)]],[f]:[1,re,[ds]],[f+p]:[1,ae,[ds]],[g+f+T]:[2,le,[ds,cs],e=>[Ts(...e)]],[w]:[1,ie,[ds]],[C]:[1,ce,[ds]],[g+L]:[2,Ie,[ds,gs],e=>[ps(...e)]],[L]:[2,we,[ds,gs]],[p]:[2,ye,[ds,gs]],[g+T]:[3,Ae,[ds,gs,fs],e=>[vs(...e)]],[T]:[3,_e,[ds,gs,fs],e=>kt(bs(...e))],InvalidCell:[3,Ke],[g+S]:[0,Ye,[],()=>[Ss()]],[S]:[0,Ze],[y]:[0,tt],[g+v]:[1,st,[Ls],e=>[ys(...e)]],[v]:[1,nt,[Ls],e=>kt(ws(e[0]))],InvalidValue:[1,Xe]},(([e,t,s,n],o)=>{Ws[u+o+d]=(...o)=>at(o[e],t[o[e+1]?1:0],e>0?j(o,0,e):void 0,s,n)})),de(Ws)},Wt=2**36,jt=2**30,At=2**24,Pt=2**18,_t=4096,Bt={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},Ut=(e=s)=>[Mt(e),Mt(e)];e.createCheckpoints=tt,e.createIndexes=dt,e.createMergeableStore=e=>{let t=1,n=Ut(),o=0;const r=Ee(),a=qe(),[l,i]=(e=>{let t=0,s=-1;const n=Q(e,(e=>{const t=It(e);return ot(t/At)+ot(t/Pt)+ot(t/_t)+ot(t/64)+ot(t)}),(()=>it(5))),o=e=>{const n=t,[o,r]=F(e)||""==e?[0,0]:[rt(a=e,0)*Wt+rt(a,1)*jt+rt(a,2)*At+rt(a,3)*Pt+rt(a,4)*_t+64*rt(a,5)+rt(a,6),rt(a,7)*Pt+rt(a,8)*_t+64*rt(a,9)+rt(a,10)];var a;t=D(n,o,E.HLC_TIME??Date.now()),s=t==n?t==o?D(s,r):s:t==o?r:-1};return[()=>{return o(),r=++s,ot((e=t)/Wt)+ot(e/jt)+ot(e/At)+ot(e/Pt)+ot(e/_t)+ot(e/64)+ot(e)+ot(r/Pt)+ot(r/_t)+ot(r/64)+ot(r)+n;var e,r},o]})(e),d=Ot(),c=e=>{const s=t;return t=0,e(),t=s,b},u=(e,t=0)=>{const o={},r={},[[a,l=s,d=0],c]=e,[u,h]=n,[f,b,I]=u;let L=t?d:I,w=l;he(a,(([e,n=s,r=0],a)=>{const l=Je(f,a,Mt),[i,d,c]=l;let u=t?r:c,h=n;he(e,((e,s)=>{const[n,r,l]=g(e,Je(i,s,Mt),Ie(Ie(o,a,ce),s,ce),t);u^=t?0:(r?Tt(s,r):0)^Tt(s,l),h=vt(h,n)})),u^=t?0:pt(d,n),St(l,u,n),L^=t?0:(c?Tt(a,c):0)^Tt(a,l[2]),w=vt(w,h)})),L^=t?0:pt(b,l),St(u,L,l);const[C]=g(c,h,r,t);return i(vt(w,C)),[o,r,1]},g=(e,t,n,o)=>{const[r,a=s,l=0]=e,[i,d,c]=t;let u=a,g=o?l:c;return he(r,(([e,t,r=0],a)=>{const l=Je(i,a,(()=>[void 0,s,0])),[,d,c]=l;(!d||t>d)&&(St(l,o?r:It(zt(e??null)+":"+t),t),l[0]=e,n[a]=e,g^=o?0:Tt(a,c)^Tt(a,l[2]),u=vt(u,t))})),g^=o?0:pt(d,a),St(t,g,a),[u,c,t[2]]},h=()=>[Vt(n[0],(e=>Vt(e,(e=>Vt(e))))),Vt(n[1])],f=e=>c((()=>d.applyChanges(u(e)))),b={getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>Qe(n[0][0],Rt),getMergeableTableDiff:e=>{const t=yt(n[0][1]),s={};return xe(n[0][0],((n,[o,r,a])=>ue(e,n)?a!=e[n]?s[n]=a:0:t[0][n]=mt([o,r],(e=>mt(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return he(e,((e,s)=>Q(De(n[0][0],s),(([n,,o])=>o!=e?xe(n,((e,[,,n])=>Ie(t,s,ce)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=yt(n[0][1]),s={};return he(e,((e,o)=>xe(De(n[0][0],o)?.[0],((n,[r,a,l])=>ue(e,n)?l!==e[n]?Ie(s,o,ce)[n]=l:0:Ie(t[0],o,yt)[0][n]=mt([r,a]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return he(e,((e,s)=>Q(De(n[0][0],s),(([n])=>he(e,((e,o)=>Q(De(n,o),(([n,,r])=>r!==e?xe(n,((e,[,,n])=>Ie(Ie(t,s,ce),o,ce)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,o={};return he(e,((e,s)=>he(e,((e,n)=>Q(De(t,s),(([t,r])=>Q(De(t,n),(([t,a])=>xe(t,((t,[l,i,d])=>d!==e[t]?Ie(Ie(o,s,(()=>yt(r)))[0],n,(()=>yt(a)))[0][t]=[l,i]:0)))))))))),Ct(o,s)},getMergeableValueHashes:()=>Qe(n[1][0],Rt),getMergeableValueDiff:e=>{const[,[t,s]]=n,o=Qe(t,wt,(([,,t],s)=>t==e?.[s]));return Ct(o,s)},setMergeableContent:e=>c((()=>(e=>W(e)&&2==A(e)&&Et(e[0],(e=>Le(e,(e=>Et(e,(e=>Le(e,(e=>Et(e,(e=>Le(e,(e=>Et(e,_e)),void 0,1)))),void 0,1)))),void 0,1)))&&Et(e[1],(e=>Le(e,(e=>Et(e,_e)),void 0,1))))(e)?d.transaction((()=>{d.delTables().delValues(),n=Ut(),d.applyChanges(u(e,1))})):0)),setDefaultContent:e=>(d.transaction((()=>{o=1,d.setContent(e),o=0})),b),getTransactionMergeableChanges:()=>{const[[e,t],[s,o]]=n,l={};Ve(r,((t,s)=>Q(De(e,s),(([e,n])=>{const o={};Ve(t,((t,s)=>Q(De(e,s),(([e,n])=>{const r={};Ve(t,(t=>{Q(De(e,t),(([e,s])=>r[t]=Ct(e,s)))})),o[s]=Ct(r,n)})))),l[s]=Ct(o,n)}))));const i={};return Ve(a,(e=>Q(De(s,e),(([t,s])=>i[e]=Ct(t,s))))),[Ct(l,t),Ct(i,o),1]},applyMergeableChanges:f,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return d.setInternalListeners((()=>{}),(()=>{}),(()=>{Me(r),Me(a)}),((e,n,a,i)=>{Ge(Je(Je(r,e,Ee),n,qe),a),t&&u([[{[e]:[{[n]:[{[a]:[i,o?s:l()]}]}]}],[{}],1])}),((e,n)=>{Ge(a,e),t&&u([[{}],[{[e]:[n,o?s:l()]}],1])})),fe(d,((e,t)=>b[t]=V(t,"set")||V(t,"del")||V(t,"apply")||m(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):V(t,"add")&&m(t,"Listener")?(...s)=>{const n=Bt[j(t,3,-8)]??0,o=s[n];return s[n]=(e,...t)=>o(b,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),de(b)},e.createMetrics=gt,e.createQueries=ht,e.createRelationships=ft,e.createStore=Ot,e.defaultSorter=lt,e.getUniqueId=it},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
|
|
Binary file
|