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
package/cjs/min/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Has",g="Ids",h="Table",f=h+"s",b=h+g,w="Row",C=w+"Count",p=w+g,L="Sorted"+w+g,v="Cell",y=v+g,I="Value",S=I+"s",R=I+g,T=e=>t+e,M=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),m=Promise,D=globalThis,x=Math,E=x.max,H=x.min,k=x.floor,A=isFinite,J=e=>null==e,F=(e,t,s)=>J(e)?s?.():t(e),O=e=>e==s||e==n,P=t=>e(t)==s,Q=t=>e(t)==o,z=e=>Array.isArray(e),G=(e,t,s)=>e.slice(t,s),N=e=>e.length,W=()=>{},_=e=>{throw Error(e)},j=(e,t)=>e.includes(t),U=(e,t)=>e.every(t),$=(e,t)=>N(e)===N(t)&&U(e,((e,s)=>t[s]===e)),q=(e,t)=>U(e,((s,n)=>0==n||t(e[n-1],s)<=0)),B=(e,t)=>e.sort(t),K=(e,t)=>e.forEach(t),X=(e,t)=>e.map(t),Y=e=>ee(e,((e,t)=>e+t),0),Z=e=>0==N(e),ee=(e,t,s)=>e.reduce(t,s),te=(e,t)=>e.splice(0,t),se=(e,...t)=>e.push(...t),ne=e=>e.pop(),ae=e=>e.shift(),oe=Object,re=e=>oe.getPrototypeOf(e),le=oe.entries,ie=oe.isFrozen,ce=e=>!J(e)&&F(re(e),(e=>e==oe.prototype||J(re(e))),(()=>!0)),de=oe.keys,ue=oe.freeze,ge=(e=[])=>oe.fromEntries(e),he=(e,t)=>t in e,fe=(e,t)=>(delete e[t],e),be=(e,t)=>K(le(e),(([e,s])=>t(s,e))),we=(e,t)=>X(le(e),(([e,s])=>t(s,e))),Ce=e=>ce(e)&&0==(e=>N(de(e)))(e),pe=(e,t,s)=>(he(e,t)||(e[t]=s()),e[t]),Le=(e,t,s,n=0)=>J(e)||!ce(e)||!n&&Ce(e)||ie(e)?(s?.(),!1):(we(e,((s,n)=>{t(s,n)||fe(e,n)})),!!n||!Ce(e)),ve=e=>t=>ee(Ve(t),((t,s)=>t+e(s)),0),ye=e=>e?.size??0,Ie=ve(ye),Se=ve(Ie),Re=ve(Se),Te=(e,t)=>e?.has(t)??!1,Me=e=>J(e)||0==ye(e),Ve=e=>[...e?.values()??[]],me=e=>e.clear(),De=(e,t)=>e?.forEach(t),xe=(e,t)=>e?.delete(t),Ee=e=>new Map(e),He=e=>[...e?.keys()??[]],ke=(e,t)=>e?.get(t),Ae=(e,t)=>De(e,((e,s)=>t(s,e))),Je=(e,t,s)=>J(s)?(xe(e,t),e):e?.set(t,s),Fe=(e,t,s,n)=>(Te(e,t)?n?.(ke(e,t)):Je(e,t,s()),ke(e,t)),Oe=(e,t,s,n=Je)=>(we(t,((t,n)=>s(e,n,t))),Ae(e,(s=>he(t,s)?0:n(e,s))),e),Pe=(e,t,s,n)=>{const a={};return De(e,((e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;n?.(s)||(a[o]=s)}})),a},Qe=(e,t,s)=>Pe(e,(e=>Pe(e,t,s)),Me,Ce),ze=(e,t,s)=>Pe(e,(e=>Qe(e,t,s)),Me,Ce),Ge=(e,t)=>{const s=Ee();return De(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ne=e=>Ge(e,Ge),We=e=>Ge(e,Ne),_e=(e,t,s,n,a=0)=>F((s?Fe:ke)(e,t[a],a>N(t)-2?s:Ee),(o=>{if(a>N(t)-2)return n?.(o)&&Je(e,t[a]),o;const r=_e(o,t,s,n,a+1);return Me(o)&&Je(e,t[a]),r})),je=t=>{const s=e(t);return O(s)||s==a&&A(t)?s:void 0},Ue=e=>J(e)||!J(je(e)),$e=(e,t,s,n,a)=>J(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),qe=(e,t,s)=>J(s)?e.delValue(t):e.setValue(t,s),Be=e=>new Set(z(e)||J(e)?e:[e]),Ke=(e,t)=>e?.add(t),Xe=(e,t,s,n,a)=>{const o=e.hasRow,r=Ee(),l=Ee(),i=Ee(),c=Ee(),d=Ee(),u=Ee(),g=(t,s,...n)=>{const a=Fe(u,t,Be);return K(n,(t=>Ke(a,t)&&s&&e.callListener(t))),n},h=(t,...s)=>F(ke(u,t),(n=>{K(Z(s)?Ve(n):s,(t=>{e.delListener(t),xe(n,t)})),Me(n)&&Je(u,t)})),f=(e,s)=>{Je(r,e,s),Te(l,e)||(Je(l,e,t()),Je(c,e,Ee()),Je(d,e,Ee()),a(i))},b=e=>{Je(r,e),Je(l,e),Je(c,e),Je(d,e),h(e),a(i)};return[()=>e,()=>He(r),e=>Ae(l,e),e=>Te(l,e),e=>ke(r,e),e=>ke(l,e),(e,t)=>Je(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=Ee(),u=Ee(),b=ke(c,t),w=ke(d,t),C=t=>{const a=s=>e.getCell(n,t,s),c=ke(b,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||z(c)&&z(d)&&$(c,d)||Je(i,t,[c,d]),!J(l)){const e=ke(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&Je(u,t,s)}},p=e=>{a((()=>{De(i,(([,e],t)=>Je(b,t,e))),De(u,((e,t)=>Je(w,t,e)))}),i,u,b,w,e),me(i),me(u)};Ae(b,C),e.hasTable(n)&&K(e.getRowIds(n),(e=>{Te(b,e)||C(e)})),p(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>C(s))),e.addTableListener(n,(()=>p())))},b,e=>n(e,i),()=>Ae(u,b),g,h]},Ye=(e,s)=>P(e)?t=>t(e):e??(()=>s??t),Ze=(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}},et=/^\d+$/,tt=()=>{const e=[];let s=0;return[n=>(n?ae(e):null)??t+s++,t=>{et.test(t)&&N(e)<1e3&&se(e,t)}]},st=e=>{let s;const[n,a]=tt(),o=Ee();return[(a,r,l,i=[],c=()=>[])=>{s??=e();const d=n(1);return Je(o,d,[a,r,l,i,c]),Ke(_e(r,l??[t],Be),d),d},(e,n,...a)=>K(((e,s=[t])=>{const n=[],a=(e,t)=>t==N(s)?se(n,e):null===s[t]?De(e,(e=>a(e,t+1))):K([s[t],null],(s=>a(ke(e,s),t+1)));return a(e,0),n})(e,n),(e=>De(e,(e=>ke(o,e)[0](s,...n??[],...a))))),e=>F(ke(o,e),(([,s,n])=>(_e(s,n??[t],void 0,(t=>(xe(t,e),Me(t)?1:0))),Je(o,e),a(e),n))),e=>F(ke(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=N(r);l==N(t)?e(s,...r,...a(r)):J(t[l])?K(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},nt=Ze((e=>{let s,n,a,o=100,r=Ee(),l=Ee(),i=1;const c=Ee(),d=Ee(),[u,g,h]=st((()=>k)),f=Ee(),b=Ee(),w=[],C=[],p=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=ke(f,s);De(n,((s,n)=>De(s,((s,a)=>De(s,((s,o)=>$e(e,n,a,o,s[t]))))))),De(a,((s,n)=>qe(e,n,s[t])))})),i=1},L=e=>{Je(f,e),Je(b,e),g(d,[e])},v=(e,t)=>K(te(e,t??N(e)),L),y=()=>v(w,N(w)-o),I=()=>F(s,(()=>{se(w,s),y(),v(C),s=void 0,a=1})),S=()=>{s=ne(w),a=1};let R,T;const M=(e=t)=>(J(s)&&(s=t+n++,Je(f,s,[r,l]),E(s,e),r=Ee(),l=Ee(),a=1),s),V=()=>{Z(w)||(((e,...t)=>{e.unshift(...t)})(C,M()),p(0,s),s=ne(w),a=1)},m=()=>{Z(C)||(se(w,s),s=ae(C),p(1,s),a=1)},D=()=>{a&&(g(c),a=0)},x=e=>{const t=M(e);return D(),t},E=(e,t)=>(H(e)&&ke(b,e)!==t&&(Je(b,e,t),g(d,[e])),k),H=e=>Te(f,e),k={setSize:e=>(o=e,y(),k),addCheckpoint:x,setCheckpoint:E,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...C]],forEachCheckpoint:e=>Ae(b,e),hasCheckpoint:H,getCheckpoint:e=>ke(b,e),goBackward:()=>(V(),D(),k),goForward:()=>(m(),D(),k),goTo:e=>{const t=j(w,e)?V:j(C,e)?m:null;for(;!J(t)&&e!=s;)t();return D(),k},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(h(e),k),clear:()=>(v(w),v(C),J(s)||L(s),s=void 0,n=0,x(),k),clearForward:()=>(Z(C)||(v(C),g(c)),k),destroy:()=>{e.delListener(R),e.delListener(T)},getListenerStats:()=>({checkpointIds:Ie(c),checkpoint:Ie(d)}),_registerListeners:()=>{R=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){I();const e=Fe(r,t,Ee),l=Fe(e,s,Ee),i=Fe(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&Me(Je(l,n))&&Me(Je(e,s))&&Me(Je(r,t))&&S(),D()}})),T=e.addValueListener(null,((e,t,s,n)=>{if(i){I();const e=Fe(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&Me(Je(l,t))&&S(),D()}}))}};return ue(k.clear())}),(e=>e._registerListeners())),at="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t),ot=Ee(X(at,((e,t)=>[e,t]))),rt=e=>at[63&e],lt=(e,t)=>ke(ot,e[t])??0,it=D.crypto?e=>D.crypto.getRandomValues(e):e=>X(e,(()=>k(256*x.random()))),ct=(e,t)=>(e??0)<(t??0)?-1:1,dt=(e=16)=>ee(it(new Uint8Array(e)),((e,t)=>e+rt(t)),""),ut=Ze((e=>{const s=Ee(),n=Ee(),[a,o,r]=st((()=>L)),[l,i,c,d,u,g,h,,f,b,w,C]=Xe(e,Ee,(e=>J(e)?t:z(e)?X(e,T):T(e)),a,o),p=(t,s,n)=>{const a=u(t);De(n,((t,n)=>s(n,(s=>De(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},L={setIndexDefinition:(e,t,a,r,l,i=ct)=>{const c=J(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,d,u,f)=>{let b=0;const w=Be(),C=Be(),p=g(e);if(De(a,(([e,t],s)=>{const n=Be(e),a=Be(t);De(n,(e=>xe(a,e)?xe(n,e):0)),De(n,(e=>{Ke(w,e),F(ke(p,e),(t=>{xe(t,s),Me(t)&&(Je(p,e),b=1)}))})),De(a,(e=>{Ke(w,e),Te(p,e)||(Je(p,e,Be()),b=1),Ke(ke(p,e),s),J(r)||Ke(C,e)}))})),t(),Me(u)||(f?Ae(p,(e=>Ke(C,e))):Ae(l,(e=>F(ke(d,e),(e=>Ke(C,e))))),De(C,(e=>{const t=(t,s)=>i(ke(u,t),ke(u,s),e),s=[...ke(p,e)];q(s,t)||(Je(p,e,Be(B(s,t))),Ke(w,e))}))),(b||f)&&!J(c)){const t=[...p];q(t,c)||(h(e,Ee(B(t,c))),b=1)}b&&o(s,[e]),De(w,(t=>o(n,[e,t])))}),Ye(a),F(r,Ye)),L},delIndexDefinition:e=>(b(e),L),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>p(t,e,s))))),forEachSlice:(e,t)=>p(e,t,g(e)),hasIndex:d,hasSlice:(e,t)=>Te(g(e),t),getTableId:u,getSliceIds:e=>He(g(e)),getSliceRowIds:(e,t)=>Ve(ke(g(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,t)=>a(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),L),destroy:C,getListenerStats:()=>({sliceIds:Ie(s),sliceRowIds:Se(n)})};return ue(L)})),gt=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=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:E(t,e)]],["min",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["sum",[e=>Y(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),ht=(e,t,s,n,a,o=!1)=>{if(Me(s))return;const[r,l,i,c]=a;return o||=J(e),De(n,(([s,n])=>{o||(e=J(s)?l?.(e,n,t++):J(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=J(e))})),o?r(Ve(s),ye(s)):e},ft=Ze((e=>{const s=Ee(),[n,a,o]=st((()=>C)),[r,l,i,c,d,u,g,,h,f,b,w]=Xe(e,W,(e=>isNaN(e)||J(e)||!0===e||!1===e||e===t?void 0:1*e),n,a),C={setMetricDefinition:(e,t,n,o,r,l,i)=>{const c=Q(n)?[n,r,l,i]:ke(gt,n)??ke(gt,"sum");return h(e,t,((t,n,o,r,l,i)=>{const d=u(e),h=ye(r);i||=J(d),t();let f=ht(d,h,r,n,c,i);A(f)||(f=void 0),f!=d&&(g(e,f),a(s,[e],f,d))}),Ye(o,1)),C},delMetricDefinition:e=>(f(e),C),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),C),destroy:w,getListenerStats:()=>({metric:Ie(s)})};return ue(C)})),bt=Ee(),wt=Ee(),Ct=(e,t,s,n,a,o,r,l={},i=[])=>{let c,d,u,g=0,h=0,f=0;Fe(bt,i,(()=>0)),Fe(wt,i,(()=>[]));const[b,w,C,p,L]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!Ce(e)||!Ce(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!Ce(e)||!Ce(t),t.setContent]:_("Store type not supported by this Persister"))(r,e),v=t=>{(b&&z(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},y=async e=>(2!=g&&(g=1,h++,await T((async()=>{try{const e=await t();z(e)?v(e):_("Content is not an array "+e)}catch(t){o?.(t),e&&L(e)}g=0}))),M),I=()=>(d&&(a(d),d=void 0),M),S=async e=>(1!=g&&(g=2,f++,await T((async()=>{try{await s(w,e)}catch(e){o?.(e)}g=0}))),M),R=()=>(F(u,e.delListener),u=void 0,M),T=async(...e)=>(se(ke(wt,i),...e),await(async()=>{if(!ke(bt,i)){for(Je(bt,i,1);!J(c=ae(ke(wt,i)));)try{await c()}catch(e){o?.(e)}Je(bt,i,0)}})(),M),M={load:y,startAutoLoad:async e=>{await I().load(e);try{d=await n((async(e,t)=>{t||e?2!=g&&(g=1,h++,v(t??e),g=0):await y()}))}catch(e){o?.(e)}return M},stopAutoLoad:I,isAutoLoading:()=>!J(d),save:S,startAutoSave:async()=>(await R().save(),u=e.addDidFinishTransactionListener((()=>{const e=C();p(e)&&S(e)})),M),stopAutoSave:R,isAutoSaving:()=>!J(u),schedule:T,getStore:()=>e,destroy:()=>(te(ke(wt,i)),I().stopAutoSave()),getStats:()=>({loads:h,saves:f}),...l};return ue(M)},pt=new D.TextEncoder,Lt=e=>{let t=2166136261;return K(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],yt=([e,t])=>It(e,t),It=(e,t)=>t?[e,t]:[e],St=e=>e[2],Rt=(e,t)=>Lt(e+":"+t),Tt=(e,t)=>t>e?(e?Lt(e):0)^Lt(t):0,Mt=(e,t)=>((e??"")>(t??"")?e:t)??"",Vt=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},mt=(e=t)=>It(ge(),e),Dt=(e=t)=>[Ee(),e,0],xt=([e,t,s],n=vt)=>[Pe(e,n),t,s],Et=([e,t],s=yt)=>It(Pe(e,s),t),Ht=(t,s)=>z(t)&&3==N(t)&&P(t[1])&&e(t[2])==a&&A(t[2])&&s(t[0]),kt=Ze((e=>{const s=e.createStore,n=s(),a=s(),o=Ee(),{addListener:r,callListeners:l,delListener:u}=a,[g,f,b,I,S,,,R,,T,M,V,m,D]=Xe(e,(()=>!0),W,r,l),x=(e,t,...s)=>K(s,(s=>Ke(Fe(Fe(o,t,Ee),e,Be),s))),E=e=>{F(ke(o,e),(e=>{Ae(e,((e,t)=>De(t,(t=>e.delListener(t))))),me(e)})),K([a,n],(t=>t.delTable(e)))},H=(e,t,s)=>x(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(s,o,r)=>{R(s,o),E(s);const l=[],i=[[null,[o,null,null,[],Ee()]]],c=[],d=[],u=[];r({select:(e,s)=>{const n=Q(e)?[N(l)+t,e]:[J(s)?e:s,t=>t(e,s)];return se(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=J(s)||Q(t)?null:t,a=J(n)?t:s,o=[e,[e,n,Q(a)?a:e=>e(a),[],Ee()]];return se(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>se(c,Q(e)?e:J(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,Q(t)?[t,s,n,a]:ke(gt,t)??[(e,t)=>t]]];return se(d,o),{as:e=>o[0]=e}},having:(e,t)=>se(u,Q(e)?e:s=>s(e)===t)});const g=Ee(l);if(Me(g))return k;const h=Ee(i);Ae(h,((e,[,t])=>F(ke(h,t),(({3:t})=>J(e)?0:se(t,e)))));const f=Ee(d);let b=n;if(Me(f)&&Z(u))b=a;else{H(s,b,a);const e=Ee();Ae(f,((t,[s,n])=>Ke(Fe(e,s,Be),[t,n])));const t=Be();Ae(g,(s=>Te(e,s)?0:Ke(t,s)));const n=Ee(),o=(t,n,o,r)=>F(t,(([l,i,c,d])=>{Ae(n,((t,[s])=>{const n=Fe(l,t,Ee),a=ke(n,o),i=r?void 0:s;if(a!==i){const s=Be([[a,i]]),r=ye(n);Je(n,o,i),De(ke(e,t),(([e,t])=>{const a=ht(d[e],r,n,s,t);d[e]=J(je(a))?null:a}))}})),Me(i)||!U(u,(e=>e((e=>d[e]))))?a.delRow(s,c):J(c)?t[2]=a.addRow(s,d):a.setRow(s,c,d)}));x(b,s,b.addRowListener(s,null,((a,r,l,i)=>{const c=[],d=[],u=Ee(),g=b.hasRow(s,l);let h=!g;De(t,(e=>{const[t,n,a]=i(s,l,e);se(c,n),se(d,a),h||=t})),Ae(e,(e=>{const[t,,n]=i(s,l,e);(h||t)&&Je(u,e,[n])})),h&&o(_e(n,c,void 0,(([,e])=>(xe(e,l),Me(e)))),u,l,1),g&&o(_e(n,d,(()=>{const e={};return De(t,(t=>e[t]=b.getCell(s,l,t))),[Ee(),Be(),void 0,e]}),(([,e])=>{Ke(e,l)})),u,l)})))}H(s,e,b);const w=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);K(r,(n=>{const[a,,o,r,i]=ke(h,n),c=o?.(l,t),[d,u]=ke(i,t)??[];c!=d&&(J(u)||D(s,u),Je(i,t,J(c)?null:[c,...m(s,1,e.addRowListener(a,c,(()=>w(t,a,c,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...J(n)?[o,t,s]:s===o?[o,t,n]:[ke(h,s)?.[0],ke(ke(h,s)?.[4],t)?.[0],n]);b.transaction((()=>U(c,(e=>e(n)))?Ae(g,((e,a)=>$e(b,s,t,e,a(n,t)))):b.delRow(s,t)))})(t)},{3:C}=ke(h,null);return b.transaction((()=>m(s,1,e.addRowListener(o,null,((t,n,a)=>{e.hasRow(o,a)?w(a,o,a,C):(b.delRow(s,a),De(h,(({4:e})=>F(ke(e,a),(([,t])=>{D(s,t),Je(e,a)})))))}))))),k},delQueryDefinition:e=>(E(e),T(e),k),getStore:g,getQueryIds:f,forEachQuery:b,hasQuery:I,getTableId:S,addQueryIdsListener:e=>M((()=>e(k))),delListener:e=>(u(e),k),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return we({[h]:[1,1],[h+y]:[0,1],[C]:[0,1],[p]:[0,1],[L]:[0,5],[w]:[1,2],[y]:[0,2],[v]:[1,3]},(([e,t],s)=>{K(e?["get","has","forEach"]:["get"],(e=>k[e+c+s]=(...t)=>a[e+s](...t))),k[d+c+s+i]=(...e)=>a[d+s+i](...G(e,0,t),((s,...n)=>e[t](k,...n)),!0)})),ue(k)})),At=Ze((e=>{const s=Ee(),n=Ee(),a=Ee(),o=Ee(),[r,l,i]=st((()=>I)),[c,d,u,g,h,f,,,b,w,C,p]=Xe(e,(()=>[Ee(),Ee(),Ee(),Ee()]),(e=>J(e)?void 0:e+t),r,l),L=(e,t,s)=>F(f(e),(([n,,a])=>{if(!Te(a,t)){const o=Be();if(h(e)!=y(e))Ke(o,t);else{let e=t;for(;!J(e)&&!Te(o,e);)Ke(o,e),e=ke(n,e)}if(s)return o;Je(a,t,o)}return ke(a,t)})),v=(e,t)=>F(f(e),(([,,e])=>Je(e,t))),y=e=>ke(s,e),I={setRelationshipDefinition:(e,t,r,i)=>(Je(s,e,r),b(e,t,((t,s)=>{const r=Be(),i=Be(),c=Be(),[d,u]=f(e);De(s,(([t,s],n)=>{J(t)||(Ke(i,t),F(ke(u,t),(e=>{xe(e,n),Me(e)&&Je(u,t)}))),J(s)||(Ke(i,s),Te(u,s)||Je(u,s,Be()),Ke(ke(u,s),n)),Ke(r,n),Je(d,n,s),Ae(ke(o,e),(t=>{Te(L(e,t),n)&&Ke(c,t)}))})),t(),De(r,(t=>l(n,[e,t]))),De(i,(t=>l(a,[e,t]))),De(c,(t=>{v(e,t),l(o,[e,t])}))}),Ye(i)),I),delRelationshipDefinition:e=>(Je(s,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:y,getRemoteRowId:(e,t)=>ke(f(e)?.[0],t),getLocalRowIds:(e,t)=>Ve(ke(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>J(f(e))?[t]:Ve(L(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)=>(L(e,t),r(s,o,[e,t])),delListener:e=>(v(...i(e)??[]),I),destroy:p,getListenerStats:()=>({remoteRowId:Se(n),localRowIds:Se(a),linkedRowIds:Se(o)})};return ue(I)})),Jt=e=>[e,e],Ft=(e,t=Ie)=>t(e[0])+t(e[1]),Ot=()=>[Ee(),Ee()],Pt=e=>[...e],Qt=([e,t])=>e===t,zt=JSON.stringify,Gt=JSON.parse,Nt=e=>zt(e,((e,t)=>t instanceof Map?oe.fromEntries([...t]):t)),Wt=(e,t,s)=>Je(e,t,ke(e,t)==-s?void 0:s),_t=()=>{let e,t,s=!1,n=!1,o=0,c=[];const g=Ee(),L=Ee(),M=Ee(),V=Ee(),m=Ee(),D=Ee(),x=Ee(),E=Ee(),H=Ee(),k=Ee(),A=Ee(),P=Ee(),N=Ee(),W=Ee(),_=Be(),U=Ee(),q=Ee(),Y=Ee(),Z=Ee(),ee=Ot(),te=Ot(),ne=Ot(),ae=Ot(),oe=Ot(),re=Ot(),le=Ot(),ie=Ot(),ce=Ot(),de=Ot(),ge=Ot(),be=Ot(),pe=Ot(),ve=Ot(),Ve=Ot(),_e=Ot(),Ue=Ot(),Xe=Ot(),Ye=Ot(),Ze=Ot(),et=Ot(),nt=Ot(),at=Ee(),ot=Ot(),[rt,lt,it,dt]=st((()=>zs)),ut=e=>{if(!Le(e,((e,t)=>j([r,l],t))))return!1;const t=e[r];return!(!O(t)&&t!=a||(je(e[l])!=t&&fe(e,l),0))},gt=z,ht=(t,s)=>(!e||Te(A,s)||Yt(s))&&Le(t,((e,t)=>ft(s,t,e)),(()=>Yt(s))),ft=(e,t,s,n)=>Le(n?s:pt(s,e,t),((n,a)=>F(bt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Yt(e,t))),bt=(t,s,n,a)=>e?F(ke(ke(A,t),n),(e=>je(a)!=e[r]?Yt(t,s,n,a,e[l]):a),(()=>Yt(t,s,n,a))):J(je(a))?Yt(t,s,n,a):a,wt=(e,t)=>Le(t?e:Lt(e),((t,s)=>F(Ct(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Zt())),Ct=(e,s)=>t?F(ke(N,e),(t=>je(s)!=t[r]?Zt(e,s,t[l]):s),(()=>Zt(e,s))):J(je(s))?Zt(e,s):s,pt=(e,t,s)=>(F(ke(P,t),(([n,a])=>{De(n,((t,s)=>{he(e,s)||(e[s]=t)})),De(a,(n=>{he(e,n)||Yt(t,s,n)}))})),e),Lt=e=>(t&&(De(W,((t,s)=>{he(e,s)||(e[s]=t)})),De(_,(t=>{he(e,t)||Zt(t)}))),e),vt=e=>Oe(A,e,((e,t,s)=>{const n=Ee(),a=Be();Oe(Fe(A,t,Ee),s,((e,t,s)=>{Je(e,t,s),F(s[l],(e=>Je(n,t,e)),(()=>Ke(a,t)))})),Je(P,t,[n,a])}),((e,t)=>{Je(A,t),Je(P,t)})),yt=e=>Oe(N,e,((e,t,s)=>{Je(N,t,s),F(s[l],(e=>Je(W,t,e)),(()=>Ke(_,t)))}),((e,t)=>{Je(N,t),Je(W,t),xe(_,t)})),It=e=>Ce(e)?Es():Ms(e),St=e=>Oe(Y,e,((e,t,s)=>Rt(t,s)),((e,t)=>kt(t))),Rt=(e,t)=>Oe(Fe(Y,e,(()=>(Ut(e,1),Je(U,e,tt()),Je(q,e,Ee()),Ee()))),t,((t,s,n)=>Tt(e,t,s,n)),((t,s)=>At(e,t,s))),Tt=(e,t,s,n,a)=>Oe(Fe(t,s,(()=>($t(e,s,1),Ee()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,o)=>zt(e,t,s,n,o,a))),Mt=(e,t,s,n,a)=>{Te(s,n)||qt(e,t,n,1);const o=ke(s,n);a!==o&&(Bt(e,t,n,o,a),Je(s,n,a))},Vt=(e,t,s,n,a)=>F(ke(t,s),(t=>Mt(e,s,t,n,a)),(()=>Tt(e,t,s,pt({[n]:a},e,s)))),mt=e=>Ce(e)?As():Vs(e),Dt=e=>Oe(Z,e,((e,t,s)=>xt(t,s)),((e,t)=>jt(t))),xt=(e,t)=>{Te(Z,e)||Kt(e,1);const s=ke(Z,e);t!==s&&(Xt(e,s,t),Je(Z,e,t))},Et=(e,t)=>{const[s]=ke(U,e),n=s(t);return Te(ke(Y,e),n)?Et(e,t):n},Ht=e=>ke(Y,e)??Rt(e,{}),kt=e=>Rt(e,{}),At=(e,t,s)=>{const[,n]=ke(U,e);n(s),Tt(e,t,s,{},!0)},zt=(e,t,s,n,a,o)=>{const r=ke(ke(P,e)?.[0],a);if(!J(r)&&!o)return Mt(e,s,n,a,r);const l=t=>{Bt(e,s,t,ke(n,t)),qt(e,s,t,-1),Je(n,t)};J(r)?l(a):Ae(n,l),Me(n)&&($t(e,s,-1),Me(Je(t,s))&&(Ut(e,-1),Je(Y,e),Je(U,e),Je(q,e)))},jt=e=>{const t=ke(W,e);if(!J(t))return xt(e,t);Xt(e,ke(Z,e)),Kt(e,-1),Je(Z,e)},Ut=(e,t)=>Wt(g,e,t),$t=(e,t,s)=>Wt(Fe(V,e,Ee),t,s)&&Je(M,e,Fe(M,e,(()=>0))+s),qt=(e,t,s,n)=>{const a=ke(q,e),o=ke(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Wt(Fe(L,e,Ee),s,n),Je(a,s,o!=-n?o+n:null),Wt(Fe(Fe(m,e,Ee),t,Ee),s,n)},Bt=(e,t,s,n,a)=>{Fe(Fe(Fe(D,e,Ee),t,Ee),s,(()=>[n,0]))[1]=a,c[3]?.(e,t,s,a)},Kt=(e,t)=>Wt(x,e,t),Xt=(e,t,s)=>{Fe(E,e,(()=>[t,0]))[1]=s,c[4]?.(e,s)},Yt=(e,t,s,n,a)=>(se(Fe(Fe(Fe(H,e,Ee),t,Ee),s,(()=>[])),n),a),Zt=(e,t,s)=>(se(Fe(k,e,(()=>[])),t),s),es=(e,t,s)=>F(ke(ke(ke(D,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Jt(bs(e,t,s))])),ts=e=>F(ke(E,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Jt(ps(e))])),ss=e=>Me(H)||Me(_e[e])?0:De(e?We(H):H,((t,s)=>De(t,((t,n)=>De(t,((t,a)=>lt(_e[e],[s,n,a],t))))))),ns=e=>Me(k)||Me(Ue[e])?0:De(e?Ge(k):k,((t,s)=>lt(Ue[e],[s],t))),as=(e,t,s,n)=>{if(!Me(e))return lt(t,n,(()=>Pe(e))),Ae(e,((e,t)=>lt(s,[...n??[],e],1==t))),1},os=e=>{const t=Ls();t!=s&<(ee[e],void 0,t);const n=Me(de[e]),a=Me(pe[e])&&Me(ve[e])&&Me(ce[e])&&Me(ge[e])&&Me(re[e])&&Me(le[e])&&Me(ie[e])&&n&&Me(ne[e])&&Me(ae[e]),o=Me(Ve[e])&&Me(be[e])&&Me(oe[e])&&Me(te[e]);if(!a||!o){const t=e?[Ge(g),Ne(L),Ge(M),Ne(V),We(m),We(D)]:[g,L,M,V,m,D];if(!a){as(t[0],ne[e],ae[e]),De(t[1],((t,s)=>as(t,re[e],le[e],[s]))),De(t[2],((t,s)=>{0!=t&<(ie[e],[s],us(s))}));const s=Be();De(t[3],((t,a)=>{as(t,ce[e],ge[e],[a])&&!n&&(lt(de[e],[a,null]),Ke(s,a))})),n||De(t[5],((t,n)=>{if(!Te(s,n)){const s=Be();De(t,(e=>De(e,(([t,n],a)=>n!==t?Ke(s,a):xe(e,a))))),De(s,(t=>lt(de[e],[n,t])))}})),De(t[4],((t,s)=>De(t,((t,n)=>as(t,pe[e],ve[e],[s,n])))))}if(!o){let s;De(t[5],((t,n)=>{let a;De(t,((t,o)=>{let r;De(t,(([t,l],i)=>{l!==t&&(lt(Ve[e],[n,o,i],l,t,es),s=a=r=1)})),r&<(be[e],[n,o],es)})),a&<(oe[e],[n],es)})),s&<(te[e],void 0,es)}}},rs=e=>{const t=Rs();t!=n&<(Xe[e],void 0,t);const s=Me(Ze[e])&&Me(et[e]),a=Me(nt[e])&&Me(Ye[e]);if(!s||!a){const t=e?[Ge(x),Ge(E)]:[x,E];if(s||as(t[0],Ze[e],et[e]),!a){let s;De(t[1],(([t,n],a)=>{n!==t&&(lt(nt[e],[a],n,t,ts),s=1)})),s&<(Ye[e],void 0,ts)}}},ls=(e,...t)=>(Os((()=>e(...X(t,T)))),zs),is=()=>ze(Y),cs=()=>He(Y),ds=e=>He(ke(q,T(e))),us=e=>ye(ke(Y,T(e))),gs=e=>He(ke(Y,T(e))),hs=(e,t,s,n=0,a)=>{return X(G(B((o=ke(Y,T(e)),r=(e,s)=>[J(t)?s:ke(e,T(t)),s],X([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>ct(e,t)*(s?-1:1))),n,J(a)?a:n+a),(([,e])=>e));var o,r},fs=(e,t)=>He(ke(ke(Y,T(e)),T(t))),bs=(e,t,s)=>ke(ke(ke(Y,T(e)),T(t)),T(s)),ws=()=>Pe(Z),Cs=()=>He(Z),ps=e=>ke(Z,T(e)),Ls=()=>!Me(Y),vs=e=>Te(Y,T(e)),ys=(e,t)=>Te(ke(q,T(e)),T(t)),Is=(e,t)=>Te(ke(Y,T(e)),T(t)),Ss=(e,t,s)=>Te(ke(ke(Y,T(e)),T(t)),T(s)),Rs=()=>!Me(Z),Ts=e=>Te(Z,T(e)),Ms=e=>ls((()=>(e=>Le(e,ht,Yt))(e)?St(e):0)),Vs=e=>ls((()=>wt(e)?Dt(e):0)),ms=e=>{try{It(Gt(e))}catch{}return zs},Ds=t=>ls((()=>{if((e=Le(t,(e=>Le(e,ut))))&&(vt(t),!Me(Y))){const e=is();Es(),Ms(e)}})),xs=e=>ls((()=>{if(t=(e=>Le(e,ut))(e)){const s=ws();Fs(),As(),t=!0,yt(e),Vs(s)}})),Es=()=>ls((()=>St({}))),Hs=e=>ls((e=>Te(Y,e)?kt(e):0),e),ks=(e,t)=>ls(((e,t)=>F(ke(Y,e),(s=>Te(s,t)?At(e,s,t):0))),e,t),As=()=>ls((()=>Dt({}))),Js=()=>ls((()=>{vt({}),e=!1})),Fs=()=>ls((()=>{yt({}),t=!1})),Os=(e,t)=>{if(-1!=o){Ps();const s=e();return Qs(t),s}},Ps=()=>(-1!=o&&o++,1==o&&(c[0]?.(),lt(at)),zs),Qs=e=>(o>0&&(o--,0==o&&(o=1,ss(1),Me(D)||os(1),ns(1),Me(E)||rs(1),e?.(zs)&&(De(D,((e,t)=>De(e,((e,s)=>De(e,(([e],n)=>$e(zs,t,s,n,e))))))),me(D),De(E,(([e],t)=>qe(zs,t,e))),me(E)),lt(ot[0],void 0),o=-1,ss(0),Me(D)||os(0),ns(0),Me(E)||rs(0),c[1]?.(),lt(ot[1],void 0),c[2]?.(),o=0,s=Ls(),n=Rs(),K([g,L,M,V,m,D,H,x,E,k],me))),zs),zs={getContent:()=>[is(),ws()],getTables:is,getTableIds:cs,getTable:e=>Qe(ke(Y,T(e))),getTableCellIds:ds,getRowCount:us,getRowIds:gs,getSortedRowIds:hs,getRow:(e,t)=>Pe(ke(ke(Y,T(e)),T(t))),getCellIds:fs,getCell:bs,getValues:ws,getValueIds:Cs,getValue:ps,hasTables:Ls,hasTable:vs,hasTableCell:ys,hasRow:Is,hasCell:Ss,hasValues:Rs,hasValue:Ts,getTablesJson:()=>Nt(Y),getValuesJson:()=>Nt(Z),getJson:()=>Nt([Y,Z]),getTablesSchemaJson:()=>Nt(A),getValuesSchemaJson:()=>Nt(N),getSchemaJson:()=>Nt([A,N]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>ls((()=>gt(e)?(([e,t])=>{(Ce(e)?Es:Ms)(e),(Ce(t)?As:Vs)(t)})(e):0)),setTables:Ms,setTable:(e,t)=>ls((e=>ht(t,e)?Rt(e,t):0),e),setRow:(e,t,s)=>ls(((e,t)=>ft(e,t,s)?Tt(e,Ht(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Os((()=>{let n;return ft(e,n,t)&&(e=T(e),Tt(e,Ht(e),n=Et(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ls(((e,t)=>{if(ft(e,t,s,1)){const n=Ht(e);we(s,((s,a)=>Vt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ls(((e,t,s)=>F(bt(e,t,s,Q(n)?n(bs(e,t,s)):n),(n=>Vt(e,Ht(e),t,s,n)))),e,t,s),setValues:Vs,setPartialValues:e=>ls((()=>wt(e,1)?we(e,((e,t)=>xt(t,e))):0)),setValue:(e,t)=>ls((e=>F(Ct(e,Q(t)?t(ps(e)):t),(t=>xt(e,t)))),e),applyChanges:e=>ls((()=>{we(e[0],((e,t)=>J(e)?Hs(t):we(e,((e,s)=>J(e)?ks(t,s):we(e,((e,n)=>$e(zs,t,s,n,e))))))),we(e[1],((e,t)=>qe(zs,t,e)))})),setTablesJson:ms,setValuesJson:e=>{try{mt(Gt(e))}catch{}return zs},setJson:e=>ls((()=>{try{const[t,s]=Gt(e);It(t),mt(s)}catch{ms(e)}})),setTablesSchema:Ds,setValuesSchema:xs,setSchema:(e,t)=>ls((()=>{Ds(e),xs(t)})),delTables:Es,delTable:Hs,delRow:ks,delCell:(e,t,s,n)=>ls(((e,t,s)=>F(ke(Y,e),(a=>F(ke(a,t),(o=>Te(o,s)?zt(e,a,t,o,s,n):0))))),e,t,s),delValues:As,delValue:e=>ls((e=>Te(Z,e)?jt(e):0),e),delTablesSchema:Js,delValuesSchema:Fs,delSchema:()=>ls((()=>{Js(),Fs()})),transaction:Os,startTransaction:Ps,getTransactionChanges:()=>[Pe(D,((e,t)=>-1===ke(g,t)?void 0:Pe(e,((e,s)=>-1===ke(ke(V,t),s)?void 0:Pe(e,(([,e])=>e),(e=>Qt(e)))),Me,Ce)),Me,Ce),Pe(E,(([,e])=>e),(e=>Qt(e))),1],getTransactionLog:()=>[!Me(D),!Me(E),ze(D,Pt,Qt),ze(H),Pe(E,Pt,Qt),Pe(k),Pe(g),Qe(V),ze(m),Pe(x)],finishTransaction:Qs,forEachTable:e=>De(Y,((t,s)=>e(s,(e=>De(t,((t,s)=>e(s,(e=>Ae(t,e))))))))),forEachTableCell:(e,t)=>Ae(ke(q,T(e)),t),forEachRow:(e,t)=>De(ke(Y,T(e)),((e,s)=>t(s,(t=>Ae(e,t))))),forEachCell:(e,t,s)=>Ae(ke(ke(Y,T(e)),T(t)),s),forEachValue:e=>Ae(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=>(dt(e),zs),delListener:e=>(it(e),zs),getListenerStats:()=>({hasTables:Ft(ee),tables:Ft(te),tableIds:Ft(ne),hasTable:Ft(ae),table:Ft(oe),tableCellIds:Ft(re),hasTableCell:Ft(le,Se),rowCount:Ft(ie),rowIds:Ft(ce),sortedRowIds:Ft(de),hasRow:Ft(ge,Se),row:Ft(be,Se),cellIds:Ft(pe,Se),hasCell:Ft(ve,Re),cell:Ft(Ve,Re),invalidCell:Ft(_e,Re),hasValues:Ft(Xe),values:Ft(Ye),valueIds:Ft(Ze),hasValue:Ft(et),value:Ft(nt),invalidValue:Ft(Ue),transaction:Ie(at)+Ft(ot)}),isMergeable:()=>!1,createStore:_t,addListener:rt,callListeners:lt,setInternalListeners:(e,t,s,n,a)=>c=[e,t,s,n,a]};return we({[u+f]:[0,ee,[],()=>[Ls()]],[f]:[0,te],[b]:[0,ne],[u+h]:[1,ae,[cs],e=>[vs(...e)]],[h]:[1,oe,[cs]],[h+y]:[1,re,[cs]],[u+h+v]:[2,le,[cs,ds],e=>[ys(...e)]],[C]:[1,ie,[cs]],[p]:[1,ce,[cs]],[u+w]:[2,ge,[cs,gs],e=>[Is(...e)]],[w]:[2,be,[cs,gs]],[y]:[2,pe,[cs,gs]],[u+v]:[3,ve,[cs,gs,fs],e=>[Ss(...e)]],[v]:[3,Ve,[cs,gs,fs],e=>Jt(bs(...e))],InvalidCell:[3,_e],[u+S]:[0,Xe,[],()=>[Rs()]],[S]:[0,Ye],[R]:[0,Ze],[u+I]:[1,et,[Cs],e=>[Ts(...e)]],[I]:[1,nt,[Cs],e=>Jt(ps(e[0]))],InvalidValue:[1,Ue]},(([e,t,s,n],a)=>{zs[d+a+i]=(...a)=>rt(a[e],t[a[e+1]?1:0],e>0?G(a,0,e):void 0,s,n)})),ue(zs)},jt=2**36,Ut=2**30,$t=2**24,qt=2**18,Bt=4096,Kt={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},Xt=(e=t)=>[Dt(e),Dt(e)];exports.Message={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},exports.Persists={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},exports.createCheckpoints=nt,exports.createCustomPersister=Ct,exports.createCustomSynchronizer=(e,s,n,a,o,r,l,i,c={})=>{let d,u=0,g=0;const h=Ee(),f=(e,t,n,a)=>{u++,r?.(e,t,n,a),s(e,t,n,a)},b=async(e,s,n=t)=>new m(((t,a)=>{const r=dt(),l=setTimeout((()=>{xe(h,r),a(`No response from ${e??"anyone"} to ${r}, `+s)}),1e3*o);Je(h,r,[e,(e,s)=>{clearTimeout(l),xe(h,r),t([e,s])}]),f(e,r,s,n)})),w=(e,[t,s])=>{be(t,(([t,s],n)=>{const a=pe(e[0],n,mt);be(t,(([e,t],s)=>{const n=pe(a[0],s,mt);be(e,(([e,t],s)=>n[0][s]=It(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)=>{J(s)&&([s,t]=await b(t,1));const[n,a]=s,[o,r]=e.getMergeableContentHashes();let l=mt();if(o!=n){const[s,n]=(await b(t,4,e.getMergeableTableHashes()))[0];if(l=s,!Ce(n)){const[s,a]=(await b(t,5,e.getMergeableRowHashes(n)))[0];if(w(l,s),!Ce(a)){const s=(await b(t,6,e.getMergeableCellHashes(a)))[0];w(l,s)}}}return[l,r==a?mt():(await b(t,7,e.getMergeableValueHashes()))[0],1]},p=Ct(e,(async()=>{const e=await C();return Ce(e[0][0])&&Ce(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 p.startAutoLoad(e)).startAutoSave(),stopSync:()=>p.stopAutoLoad().stopAutoSave(),destroy:()=>(a(),p.stopSync()),getSynchronizerStats:()=>({sends:u,receives:g}),...c});return n(((t,s,n,a)=>{g++,l?.(t,s,n,a),0==n?F(ke(h,s),(([e,s])=>J(e)||e==t?s(a,t):0)):2==n&&p.isAutoLoading()?C(t,a).then((e=>{d?.(void 0,e)})):3==n&&p.isAutoLoading()?d?.(void 0,a):F(1==n&&p.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)}))})),p},exports.createIndexes=ut,exports.createMergeableStore=e=>{let s=1,n=Xt(),a=0;const o=Ee(),r=Be(),[l,i]=(e=>{let t=0,s=-1;const n=F(e,(e=>{const t=Lt(e);return rt(t/$t)+rt(t/qt)+rt(t/Bt)+rt(t/64)+rt(t)}),(()=>dt(5))),a=e=>{const n=t,[a,o]=J(e)||""==e?[0,0]:[lt(r=e,0)*jt+lt(r,1)*Ut+lt(r,2)*$t+lt(r,3)*qt+lt(r,4)*Bt+64*lt(r,5)+lt(r,6),lt(r,7)*qt+lt(r,8)*Bt+64*lt(r,9)+lt(r,10)];var r;t=E(n,a,D.HLC_TIME??Date.now()),s=t==n?t==a?E(s,o):s:t==a?o:-1};return[()=>{return a(),o=++s,rt((e=t)/jt)+rt(e/Ut)+rt(e/$t)+rt(e/qt)+rt(e/Bt)+rt(e/64)+rt(e)+rt(o/qt)+rt(o/Bt)+rt(o/64)+rt(o)+n;var e,o},a]})(e),c=_t(),d=e=>{const t=s;return s=0,e(),s=t,b},u=(e,s=0)=>{const a={},o={},[[r,l=t,c=0],d]=e,[u,h]=n,[f,b,w]=u;let C=s?c:w,p=l;be(r,(([e,n=t,o=0],r)=>{const l=Fe(f,r,Dt),[i,c,d]=l;let u=s?o:d,h=n;be(e,((e,t)=>{const[n,o,l]=g(e,Fe(i,t,Dt),pe(pe(a,r,ge),t,ge),s);u^=s?0:(o?Rt(t,o):0)^Rt(t,l),h=Mt(h,n)})),u^=s?0:Tt(c,n),Vt(l,u,n),C^=s?0:(d?Rt(r,d):0)^Rt(r,l[2]),p=Mt(p,h)})),C^=s?0:Tt(b,l),Vt(u,C,l);const[L]=g(d,h,o,s);return i(Mt(p,L)),[a,o,1]},g=(e,s,n,a)=>{const[o,r=t,l=0]=e,[i,c,d]=s;let u=r,g=a?l:d;return be(o,(([e,s,o=0],r)=>{const l=Fe(i,r,(()=>[void 0,t,0])),[,c,d]=l;(!c||s>c)&&(Vt(l,a?o:Lt(Nt(e??null)+":"+s),s),l[0]=e,n[r]=e,g^=a?0:Rt(r,d)^Rt(r,l[2]),u=Mt(u,s))})),g^=a?0:Tt(c,r),Vt(s,g,r),[u,d,s[2]]},h=()=>[xt(n[0],(e=>xt(e,(e=>xt(e))))),xt(n[1])],f=e=>d((()=>c.applyChanges(u(e)))),b={getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>Pe(n[0][0],St),getMergeableTableDiff:e=>{const t=mt(n[0][1]),s={};return Ae(n[0][0],((n,[a,o,r])=>he(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=Et([a,o],(e=>Et(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return be(e,((e,s)=>F(ke(n[0][0],s),(([n,,a])=>a!=e?Ae(n,((e,[,,n])=>pe(t,s,ge)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=mt(n[0][1]),s={};return be(e,((e,a)=>Ae(ke(n[0][0],a)?.[0],((n,[o,r,l])=>he(e,n)?l!==e[n]?pe(s,a,ge)[n]=l:0:pe(t[0],a,mt)[0][n]=Et([o,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return be(e,((e,s)=>F(ke(n[0][0],s),(([n])=>be(e,((e,a)=>F(ke(n,a),(([n,,o])=>o!==e?Ae(n,((e,[,,n])=>pe(pe(t,s,ge),a,ge)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,a={};return be(e,((e,s)=>be(e,((e,n)=>F(ke(t,s),(([t,o])=>F(ke(t,n),(([t,r])=>Ae(t,((t,[l,i,c])=>c!==e[t]?pe(pe(a,s,(()=>mt(o)))[0],n,(()=>mt(r)))[0][t]=[l,i]:0)))))))))),It(a,s)},getMergeableValueHashes:()=>Pe(n[1][0],St),getMergeableValueDiff:e=>{const[,[t,s]]=n,a=Pe(t,yt,(([,,t],s)=>t==e?.[s]));return It(a,s)},setMergeableContent:e=>d((()=>(e=>z(e)&&2==N(e)&&Ht(e[0],(e=>Le(e,(e=>Ht(e,(e=>Le(e,(e=>Ht(e,(e=>Le(e,(e=>Ht(e,Ue)),void 0,1)))),void 0,1)))),void 0,1)))&&Ht(e[1],(e=>Le(e,(e=>Ht(e,Ue)),void 0,1))))(e)?c.transaction((()=>{c.delTables().delValues(),n=Xt(),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={};De(o,((t,s)=>F(ke(e,s),(([e,n])=>{const a={};De(t,((t,s)=>F(ke(e,s),(([e,n])=>{const o={};De(t,(t=>{F(ke(e,t),(([e,s])=>o[t]=It(e,s)))})),a[s]=It(o,n)})))),l[s]=It(a,n)}))));const i={};return De(r,(e=>F(ke(s,e),(([t,s])=>i[e]=It(t,s))))),[It(l,t),It(i,a),1]},applyMergeableChanges:f,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return c.setInternalListeners((()=>{}),(()=>{}),(()=>{me(o),me(r)}),((e,n,r,i)=>{Ke(Fe(Fe(o,e,Ee),n,Be),r),s&&u([[{[e]:[{[n]:[{[r]:[i,a?t:l()]}]}]}],[{}],1])}),((e,n)=>{Ke(r,e),s&&u([[{}],[{[e]:[n,a?t:l()]}],1])})),we(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=Kt[G(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),ue(b)},exports.createMetrics=ft,exports.createQueries=kt,exports.createRelationships=At,exports.createStore=_t,exports.defaultSorter=ct,exports.getUniqueId=dt;
|
|
1
|
+
"use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),r=e(0),o=e(e),a="type",l="default",i="Listener",c="Result",d="add",u="Has",g="Ids",h="Table",f=h+"s",I=h+g,b="Row",L=b+"Count",w=b+g,C="Sorted"+b+g,R="Cell",p=R+g,T="Value",v=T+"s",S=T+g,y=e=>t+e,M=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),m=globalThis,E=Math,x=E.max,k=E.min,D=E.floor,H=isFinite,J=e=>null==e,F=(e,t,s)=>J(e)?s?.():t(e),Q=e=>e==s||e==n,z=t=>e(t)==s,N=t=>e(t)==o,O=e=>Array.isArray(e),W=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=()=>{},_=(e,t)=>e.includes(t),j=(e,t)=>e.every(t),U=(e,t)=>A(e)===A(t)&&j(e,((e,s)=>t[s]===e)),q=(e,t)=>j(e,((s,n)=>0==n||t(e[n-1],s)<=0)),B=(e,t)=>e.sort(t),G=(e,t)=>e.forEach(t),K=(e,t)=>e.map(t),X=e=>Z(e,((e,t)=>e+t),0),Y=e=>0==A(e),Z=(e,t,s)=>e.reduce(t,s),$=(e,...t)=>e.push(...t),ee=e=>e.pop(),te=e=>e.shift(),se=Object,ne=e=>se.getPrototypeOf(e),re=se.entries,oe=se.isFrozen,ae=e=>!J(e)&&F(ne(e),(e=>e==se.prototype||J(ne(e))),(()=>!0)),le=se.keys,ie=se.freeze,ce=(e=[])=>se.fromEntries(e),de=(e,t)=>t in e,ue=(e,t)=>(delete e[t],e),ge=(e,t)=>G(re(e),(([e,s])=>t(s,e))),he=(e,t)=>K(re(e),(([e,s])=>t(s,e))),fe=e=>ae(e)&&0==(e=>A(le(e)))(e),Ie=(e,t,s)=>(de(e,t)||(e[t]=s()),e[t]),be=(e,t,s,n=0)=>J(e)||!ae(e)||!n&&fe(e)||oe(e)?(s?.(),!1):(he(e,((s,n)=>{t(s,n)||ue(e,n)})),!!n||!fe(e)),Le=e=>t=>Z(Se(t),((t,s)=>t+e(s)),0),we=e=>e?.size??0,Ce=Le(we),Re=Le(Ce),pe=Le(Re),Te=(e,t)=>e?.has(t)??!1,ve=e=>J(e)||0==we(e),Se=e=>[...e?.values()??[]],ye=e=>e.clear(),Me=(e,t)=>e?.forEach(t),Ve=(e,t)=>e?.delete(t),me=e=>new Map(e),Ee=e=>[...e?.keys()??[]],xe=(e,t)=>e?.get(t),ke=(e,t)=>Me(e,((e,s)=>t(s,e))),De=(e,t,s)=>J(s)?(Ve(e,t),e):e?.set(t,s),He=(e,t,s,n)=>(Te(e,t)?n?.(xe(e,t)):De(e,t,s()),xe(e,t)),Je=(e,t,s,n=De)=>(he(t,((t,n)=>s(e,n,t))),ke(e,(s=>de(t,s)?0:n(e,s))),e),Fe=(e,t,s,n)=>{const r={};return Me(e,((e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;n?.(s)||(r[o]=s)}})),r},Qe=(e,t,s)=>Fe(e,(e=>Fe(e,t,s)),ve,fe),ze=(e,t,s)=>Fe(e,(e=>Qe(e,t,s)),ve,fe),Ne=(e,t)=>{const s=me();return Me(e,((e,n)=>s.set(n,t?.(e)??e))),s},Oe=e=>Ne(e,Ne),We=e=>Ne(e,Oe),Ae=(e,t,s,n,r=0)=>F((s?He:xe)(e,t[r],r>A(t)-2?s:me),(o=>{if(r>A(t)-2)return n?.(o)&&De(e,t[r]),o;const a=Ae(o,t,s,n,r+1);return ve(o)&&De(e,t[r]),a})),Pe=t=>{const s=e(t);return Q(s)||s==r&&H(t)?s:void 0},_e=e=>J(e)||!J(Pe(e)),je=(e,t,s,n,r)=>J(r)?e.delCell(t,s,n,!0):e.setCell(t,s,n,r),Ue=(e,t,s)=>J(s)?e.delValue(t):e.setValue(t,s),qe=e=>new Set(O(e)||J(e)?e:[e]),Be=(e,t)=>e?.add(t),Ge=(e,t,s,n,r)=>{const o=e.hasRow,a=me(),l=me(),i=me(),c=me(),d=me(),u=me(),g=(t,s,...n)=>{const r=He(u,t,qe);return G(n,(t=>Be(r,t)&&s&&e.callListener(t))),n},h=(t,...s)=>F(xe(u,t),(n=>{G(Y(s)?Se(n):s,(t=>{e.delListener(t),Ve(n,t)})),ve(n)&&De(u,t)})),f=(e,s)=>{De(a,e,s),Te(l,e)||(De(l,e,t()),De(c,e,me()),De(d,e,me()),r(i))},I=e=>{De(a,e),De(l,e),De(c,e),De(d,e),h(e),r(i)};return[()=>e,()=>Ee(a),e=>ke(l,e),e=>Te(l,e),e=>xe(a,e),e=>xe(l,e),(e,t)=>De(l,e,t),f,(t,n,r,a,l)=>{f(t,n);const i=me(),u=me(),I=xe(c,t),b=xe(d,t),L=t=>{const r=s=>e.getCell(n,t,s),c=xe(I,t),d=o(n,t)?s(a(r,t)):void 0;if(c===d||O(c)&&O(d)&&U(c,d)||De(i,t,[c,d]),!J(l)){const e=xe(b,t),s=o(n,t)?l(r,t):void 0;e!=s&&De(u,t,s)}},w=e=>{r((()=>{Me(i,(([,e],t)=>De(I,t,e))),Me(u,((e,t)=>De(b,t,e)))}),i,u,I,b,e),ye(i),ye(u)};ke(I,L),e.hasTable(n)&&G(e.getRowIds(n),(e=>{Te(I,e)||L(e)})),w(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>L(s))),e.addTableListener(n,(()=>w())))},I,e=>n(e,i),()=>ke(u,I),g,h]},Ke=(e,s)=>z(e)?t=>t(e):e??(()=>s??t),Xe=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const r=s.get(n);return t?.(r),r}},Ye=/^\d+$/,Ze=()=>{const e=[];let s=0;return[n=>(n?te(e):null)??t+s++,t=>{Ye.test(t)&&A(e)<1e3&&$(e,t)}]},$e=e=>{let s;const[n,r]=Ze(),o=me();return[(r,a,l,i=[],c=()=>[])=>{s??=e();const d=n(1);return De(o,d,[r,a,l,i,c]),Be(Ae(a,l??[t],qe),d),d},(e,n,...r)=>G(((e,s=[t])=>{const n=[],r=(e,t)=>t==A(s)?$(n,e):null===s[t]?Me(e,(e=>r(e,t+1))):G([s[t],null],(s=>r(xe(e,s),t+1)));return r(e,0),n})(e,n),(e=>Me(e,(e=>xe(o,e)[0](s,...n??[],...r))))),e=>F(xe(o,e),(([,s,n])=>(Ae(s,n??[t],void 0,(t=>(Ve(t,e),ve(t)?1:0))),De(o,e),r(e),n))),e=>F(xe(o,e),(([e,,t=[],n,r])=>{const o=(...a)=>{const l=A(a);l==A(t)?e(s,...a,...r(a)):J(t[l])?G(n[l]?.(...a)??[],(e=>o(...a,e))):o(...a,t[l])};o()}))]},et=Xe((e=>{let s,n,r,o=100,a=me(),l=me(),i=1;const c=me(),d=me(),[u,g,h]=$e((()=>H)),f=me(),I=me(),b=[],L=[],w=(t,s)=>{i=0,e.transaction((()=>{const[n,r]=xe(f,s);Me(n,((s,n)=>Me(s,((s,r)=>Me(s,((s,o)=>je(e,n,r,o,s[t]))))))),Me(r,((s,n)=>Ue(e,n,s[t])))})),i=1},C=e=>{De(f,e),De(I,e),g(d,[e])},R=(e,t)=>G(((e,t)=>e.splice(0,t))(e,t??A(e)),C),p=()=>R(b,A(b)-o),T=()=>F(s,(()=>{$(b,s),p(),R(L),s=void 0,r=1})),v=()=>{s=ee(b),r=1};let S,y;const M=(e=t)=>(J(s)&&(s=t+n++,De(f,s,[a,l]),k(s,e),a=me(),l=me(),r=1),s),V=()=>{Y(b)||(((e,...t)=>{e.unshift(...t)})(L,M()),w(0,s),s=ee(b),r=1)},m=()=>{Y(L)||($(b,s),s=te(L),w(1,s),r=1)},E=()=>{r&&(g(c),r=0)},x=e=>{const t=M(e);return E(),t},k=(e,t)=>(D(e)&&xe(I,e)!==t&&(De(I,e,t),g(d,[e])),H),D=e=>Te(f,e),H={setSize:e=>(o=e,p(),H),addCheckpoint:x,setCheckpoint:k,getStore:()=>e,getCheckpointIds:()=>[[...b],s,[...L]],forEachCheckpoint:e=>ke(I,e),hasCheckpoint:D,getCheckpoint:e=>xe(I,e),goBackward:()=>(V(),E(),H),goForward:()=>(m(),E(),H),goTo:e=>{const t=_(b,e)?V:_(L,e)?m:null;for(;!J(t)&&e!=s;)t();return E(),H},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(h(e),H),clear:()=>(R(b),R(L),J(s)||C(s),s=void 0,n=0,x(),H),clearForward:()=>(Y(L)||(R(L),g(c)),H),destroy:()=>{e.delListener(S),e.delListener(y)},getListenerStats:()=>({checkpointIds:Ce(c),checkpoint:Ce(d)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,((e,t,s,n,r,o)=>{if(i){T();const e=He(a,t,me),l=He(e,s,me),i=He(l,n,(()=>[o,void 0]));i[1]=r,i[0]===r&&ve(De(l,n))&&ve(De(e,s))&&ve(De(a,t))&&v(),E()}})),y=e.addValueListener(null,((e,t,s,n)=>{if(i){T();const e=He(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ve(De(l,t))&&v(),E()}}))}};return ie(H.clear())}),(e=>e._registerListeners())),tt="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t),st=me(K(tt,((e,t)=>[e,t]))),nt=e=>tt[63&e],rt=(e,t)=>xe(st,e[t])??0,ot=m.crypto?e=>m.crypto.getRandomValues(e):e=>K(e,(()=>D(256*E.random()))),at=(e,t)=>(e??0)<(t??0)?-1:1,lt=(e=16)=>Z(ot(new Uint8Array(e)),((e,t)=>e+nt(t)),""),it=Xe((e=>{const s=me(),n=me(),[r,o,a]=$e((()=>C)),[l,i,c,d,u,g,h,,f,I,b,L]=Ge(e,me,(e=>J(e)?t:O(e)?K(e,y):y(e)),r,o),w=(t,s,n)=>{const r=u(t);Me(n,((t,n)=>s(n,(s=>Me(t,(t=>s(t,(s=>e.forEachCell(r,t,s)))))))))},C={setIndexDefinition:(e,t,r,a,l,i=at)=>{const c=J(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,r,l,d,u,f)=>{let I=0;const b=qe(),L=qe(),w=g(e);if(Me(r,(([e,t],s)=>{const n=qe(e),r=qe(t);Me(n,(e=>Ve(r,e)?Ve(n,e):0)),Me(n,(e=>{Be(b,e),F(xe(w,e),(t=>{Ve(t,s),ve(t)&&(De(w,e),I=1)}))})),Me(r,(e=>{Be(b,e),Te(w,e)||(De(w,e,qe()),I=1),Be(xe(w,e),s),J(a)||Be(L,e)}))})),t(),ve(u)||(f?ke(w,(e=>Be(L,e))):ke(l,(e=>F(xe(d,e),(e=>Be(L,e))))),Me(L,(e=>{const t=(t,s)=>i(xe(u,t),xe(u,s),e),s=[...xe(w,e)];q(s,t)||(De(w,e,qe(B(s,t))),Be(b,e))}))),(I||f)&&!J(c)){const t=[...w];q(t,c)||(h(e,me(B(t,c))),I=1)}I&&o(s,[e]),Me(b,(t=>o(n,[e,t])))}),Ke(r),F(a,Ke)),C},delIndexDefinition:e=>(I(e),C),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>w(t,e,s))))),forEachSlice:(e,t)=>w(e,t,g(e)),hasIndex:d,hasSlice:(e,t)=>Te(g(e),t),getTableId:u,getSliceIds:e=>Ee(g(e)),getSliceRowIds:(e,t)=>Se(xe(g(e),t)),addIndexIdsListener:b,addSliceIdsListener:(e,t)=>r(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>r(s,n,[e,t]),delListener:e=>(a(e),C),destroy:L,getListenerStats:()=>({sliceIds:Ce(s),sliceRowIds:Re(n)})};return ie(C)})),ct=me([["avg",[(e,t)=>X(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=>x(...e),(e,t)=>x(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:x(t,e)]],["min",[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)]],["sum",[e=>X(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),dt=(e,t,s,n,r,o=!1)=>{if(ve(s))return;const[a,l,i,c]=r;return o||=J(e),Me(n,(([s,n])=>{o||(e=J(s)?l?.(e,n,t++):J(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=J(e))})),o?a(Se(s),we(s)):e},ut=Xe((e=>{const s=me(),[n,r,o]=$e((()=>L)),[a,l,i,c,d,u,g,,h,f,I,b]=Ge(e,P,(e=>isNaN(e)||J(e)||!0===e||!1===e||e===t?void 0:1*e),n,r),L={setMetricDefinition:(e,t,n,o,a,l,i)=>{const c=N(n)?[n,a,l,i]:xe(ct,n)??xe(ct,"sum");return h(e,t,((t,n,o,a,l,i)=>{const d=u(e),h=we(a);i||=J(d),t();let f=dt(d,h,a,n,c,i);H(f)||(f=void 0),f!=d&&(g(e,f),r(s,[e],f,d))}),Ke(o,1)),L},delMetricDefinition:e=>(f(e),L),getStore:a,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:I,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),L),destroy:b,getListenerStats:()=>({metric:Ce(s)})};return ie(L)})),gt=Xe((e=>{const s=e.createStore,n=s(),r=s(),o=me(),{addListener:a,callListeners:l,delListener:u}=r,[g,f,I,T,v,,,S,,y,M,V,m,E]=Ge(e,(()=>!0),P,a,l),x=(e,t,...s)=>G(s,(s=>Be(He(He(o,t,me),e,qe),s))),k=e=>{F(xe(o,e),(e=>{ke(e,((e,t)=>Me(t,(t=>e.delListener(t))))),ye(e)})),G([r,n],(t=>t.delTable(e)))},D=(e,t,s)=>x(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),H={setQueryDefinition:(s,o,a)=>{S(s,o),k(s);const l=[],i=[[null,[o,null,null,[],me()]]],c=[],d=[],u=[];a({select:(e,s)=>{const n=N(e)?[A(l)+t,e]:[J(s)?e:s,t=>t(e,s)];return $(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=J(s)||N(t)?null:t,r=J(n)?t:s,o=[e,[e,n,N(r)?r:e=>e(r),[],me()]];return $(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>$(c,N(e)?e:J(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,r)=>{const o=[e,[e,N(t)?[t,s,n,r]:xe(ct,t)??[(e,t)=>t]]];return $(d,o),{as:e=>o[0]=e}},having:(e,t)=>$(u,N(e)?e:s=>s(e)===t)});const g=me(l);if(ve(g))return H;const h=me(i);ke(h,((e,[,t])=>F(xe(h,t),(({3:t})=>J(e)?0:$(t,e)))));const f=me(d);let I=n;if(ve(f)&&Y(u))I=r;else{D(s,I,r);const e=me();ke(f,((t,[s,n])=>Be(He(e,s,qe),[t,n])));const t=qe();ke(g,(s=>Te(e,s)?0:Be(t,s)));const n=me(),o=(t,n,o,a)=>F(t,(([l,i,c,d])=>{ke(n,((t,[s])=>{const n=He(l,t,me),r=xe(n,o),i=a?void 0:s;if(r!==i){const s=qe([[r,i]]),a=we(n);De(n,o,i),Me(xe(e,t),(([e,t])=>{const r=dt(d[e],a,n,s,t);d[e]=J(Pe(r))?null:r}))}})),ve(i)||!j(u,(e=>e((e=>d[e]))))?r.delRow(s,c):J(c)?t[2]=r.addRow(s,d):r.setRow(s,c,d)}));x(I,s,I.addRowListener(s,null,((r,a,l,i)=>{const c=[],d=[],u=me(),g=I.hasRow(s,l);let h=!g;Me(t,(e=>{const[t,n,r]=i(s,l,e);$(c,n),$(d,r),h||=t})),ke(e,(e=>{const[t,,n]=i(s,l,e);(h||t)&&De(u,e,[n])})),h&&o(Ae(n,c,void 0,(([,e])=>(Ve(e,l),ve(e)))),u,l,1),g&&o(Ae(n,d,(()=>{const e={};return Me(t,(t=>e[t]=I.getCell(s,l,t))),[me(),qe(),void 0,e]}),(([,e])=>{Be(e,l)})),u,l)})))}D(s,e,I);const b=(t,n,r,a)=>{const l=t=>e.getCell(n,r,t);G(a,(n=>{const[r,,o,a,i]=xe(h,n),c=o?.(l,t),[d,u]=xe(i,t)??[];c!=d&&(J(u)||E(s,u),De(i,t,J(c)?null:[c,...m(s,1,e.addRowListener(r,c,(()=>b(t,r,c,a))))]))})),(t=>{const n=(s,n)=>e.getCell(...J(n)?[o,t,s]:s===o?[o,t,n]:[xe(h,s)?.[0],xe(xe(h,s)?.[4],t)?.[0],n]);I.transaction((()=>j(c,(e=>e(n)))?ke(g,((e,r)=>je(I,s,t,e,r(n,t)))):I.delRow(s,t)))})(t)},{3:L}=xe(h,null);return I.transaction((()=>m(s,1,e.addRowListener(o,null,((t,n,r)=>{e.hasRow(o,r)?b(r,o,r,L):(I.delRow(s,r),Me(h,(({4:e})=>F(xe(e,r),(([,t])=>{E(s,t),De(e,r)})))))}))))),H},delQueryDefinition:e=>(k(e),y(e),H),getStore:g,getQueryIds:f,forEachQuery:I,hasQuery:T,getTableId:v,addQueryIdsListener:e=>M((()=>e(H))),delListener:e=>(u(e),H),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=r.getListenerStats();return n}};return he({[h]:[1,1],[h+p]:[0,1],[L]:[0,1],[w]:[0,1],[C]:[0,5],[b]:[1,2],[p]:[0,2],[R]:[1,3]},(([e,t],s)=>{G(e?["get","has","forEach"]:["get"],(e=>H[e+c+s]=(...t)=>r[e+s](...t))),H[d+c+s+i]=(...e)=>r[d+s+i](...W(e,0,t),((s,...n)=>e[t](H,...n)),!0)})),ie(H)})),ht=Xe((e=>{const s=me(),n=me(),r=me(),o=me(),[a,l,i]=$e((()=>T)),[c,d,u,g,h,f,,,I,b,L,w]=Ge(e,(()=>[me(),me(),me(),me()]),(e=>J(e)?void 0:e+t),a,l),C=(e,t,s)=>F(f(e),(([n,,r])=>{if(!Te(r,t)){const o=qe();if(h(e)!=p(e))Be(o,t);else{let e=t;for(;!J(e)&&!Te(o,e);)Be(o,e),e=xe(n,e)}if(s)return o;De(r,t,o)}return xe(r,t)})),R=(e,t)=>F(f(e),(([,,e])=>De(e,t))),p=e=>xe(s,e),T={setRelationshipDefinition:(e,t,a,i)=>(De(s,e,a),I(e,t,((t,s)=>{const a=qe(),i=qe(),c=qe(),[d,u]=f(e);Me(s,(([t,s],n)=>{J(t)||(Be(i,t),F(xe(u,t),(e=>{Ve(e,n),ve(e)&&De(u,t)}))),J(s)||(Be(i,s),Te(u,s)||De(u,s,qe()),Be(xe(u,s),n)),Be(a,n),De(d,n,s),ke(xe(o,e),(t=>{Te(C(e,t),n)&&Be(c,t)}))})),t(),Me(a,(t=>l(n,[e,t]))),Me(i,(t=>l(r,[e,t]))),Me(c,(t=>{R(e,t),l(o,[e,t])}))}),Ke(i)),T),delRelationshipDefinition:e=>(De(s,e),b(e),T),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:p,getRemoteRowId:(e,t)=>xe(f(e)?.[0],t),getLocalRowIds:(e,t)=>Se(xe(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>J(f(e))?[t]:Se(C(e,t,!0)),addRelationshipIdsListener:L,addRemoteRowIdListener:(e,t,s)=>a(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>a(s,r,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(C(e,t),a(s,o,[e,t])),delListener:e=>(R(...i(e)??[]),T),destroy:w,getListenerStats:()=>({remoteRowId:Re(n),localRowIds:Re(r),linkedRowIds:Re(o)})};return ie(T)})),ft=new m.TextEncoder,It=e=>{let t=2166136261;return G(ft.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},bt=([e,t,s])=>[e,t,s],Lt=([e,t])=>wt(e,t),wt=(e,t)=>t?[e,t]:[e],Ct=e=>e[2],Rt=(e,t)=>It(e+":"+t),pt=(e,t)=>t>e?(e?It(e):0)^It(t):0,Tt=(e,t)=>((e??"")>(t??"")?e:t)??"",vt=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},St=(e=t)=>wt(ce(),e),yt=(e=t)=>[me(),e,0],Mt=([e,t,s],n=bt)=>[Fe(e,n),t,s],Vt=([e,t],s=Lt)=>wt(Fe(e,s),t),mt=(t,s)=>O(t)&&3==A(t)&&z(t[1])&&e(t[2])==r&&H(t[2])&&s(t[0]),Et=e=>[e,e],xt=(e,t=Ce)=>t(e[0])+t(e[1]),kt=()=>[me(),me()],Dt=e=>[...e],Ht=([e,t])=>e===t,Jt=JSON.stringify,Ft=JSON.parse,Qt=e=>Jt(e,((e,t)=>t instanceof Map?se.fromEntries([...t]):t)),zt=(e,t,s)=>De(e,t,xe(e,t)==-s?void 0:s),Nt=()=>{let e,t,s=!1,n=!1,o=0,c=[];const g=me(),C=me(),M=me(),V=me(),m=me(),E=me(),x=me(),k=me(),D=me(),H=me(),z=me(),A=me(),P=me(),j=me(),q=qe(),X=me(),Y=me(),Z=me(),ee=me(),te=kt(),se=kt(),ne=kt(),re=kt(),oe=kt(),ae=kt(),le=kt(),ce=kt(),ge=kt(),Ie=kt(),Le=kt(),Se=kt(),Ae=kt(),_e=kt(),Ge=kt(),Ke=kt(),Xe=kt(),Ye=kt(),et=kt(),tt=kt(),st=kt(),nt=kt(),rt=me(),ot=kt(),[lt,it,ct,dt]=$e((()=>Ws)),ut=e=>{if(!be(e,((e,t)=>_([a,l],t))))return!1;const t=e[a];return!(!Q(t)&&t!=r||(Pe(e[l])!=t&&ue(e,l),0))},gt=O,ht=(t,s)=>(!e||Te(z,s)||Zt(s))&&be(t,((e,t)=>ft(s,t,e)),(()=>Zt(s))),ft=(e,t,s,n)=>be(n?s:wt(s,e,t),((n,r)=>F(It(e,t,r,n),(e=>(s[r]=e,!0)),(()=>!1))),(()=>Zt(e,t))),It=(t,s,n,r)=>e?F(xe(xe(z,t),n),(e=>Pe(r)!=e[a]?Zt(t,s,n,r,e[l]):r),(()=>Zt(t,s,n,r))):J(Pe(r))?Zt(t,s,n,r):r,bt=(e,t)=>be(t?e:Ct(e),((t,s)=>F(Lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>$t())),Lt=(e,s)=>t?F(xe(P,e),(t=>Pe(s)!=t[a]?$t(e,s,t[l]):s),(()=>$t(e,s))):J(Pe(s))?$t(e,s):s,wt=(e,t,s)=>(F(xe(A,t),(([n,r])=>{Me(n,((t,s)=>{de(e,s)||(e[s]=t)})),Me(r,(n=>{de(e,n)||Zt(t,s,n)}))})),e),Ct=e=>(t&&(Me(j,((t,s)=>{de(e,s)||(e[s]=t)})),Me(q,(t=>{de(e,t)||$t(t)}))),e),Rt=e=>Je(z,e,((e,t,s)=>{const n=me(),r=qe();Je(He(z,t,me),s,((e,t,s)=>{De(e,t,s),F(s[l],(e=>De(n,t,e)),(()=>Be(r,t)))})),De(A,t,[n,r])}),((e,t)=>{De(z,t),De(A,t)})),pt=e=>Je(P,e,((e,t,s)=>{De(P,t,s),F(s[l],(e=>De(j,t,e)),(()=>Be(q,t)))}),((e,t)=>{De(P,t),De(j,t),Ve(q,t)})),Tt=e=>fe(e)?ks():Ms(e),vt=e=>Je(Z,e,((e,t,s)=>St(t,s)),((e,t)=>Pt(t))),St=(e,t)=>Je(He(Z,e,(()=>(qt(e,1),De(X,e,Ze()),De(Y,e,me()),me()))),t,((t,s,n)=>yt(e,t,s,n)),((t,s)=>_t(e,t,s))),yt=(e,t,s,n,r)=>Je(He(t,s,(()=>(Bt(e,s,1),me()))),n,((t,n,r)=>Mt(e,s,t,n,r)),((n,o)=>jt(e,t,s,n,o,r))),Mt=(e,t,s,n,r)=>{Te(s,n)||Gt(e,t,n,1);const o=xe(s,n);r!==o&&(Kt(e,t,n,o,r),De(s,n,r))},Vt=(e,t,s,n,r)=>F(xe(t,s),(t=>Mt(e,s,t,n,r)),(()=>yt(e,t,s,wt({[n]:r},e,s)))),mt=e=>fe(e)?Js():Vs(e),Jt=e=>Je(ee,e,((e,t,s)=>Ot(t,s)),((e,t)=>Ut(t))),Ot=(e,t)=>{Te(ee,e)||Xt(e,1);const s=xe(ee,e);t!==s&&(Yt(e,s,t),De(ee,e,t))},Wt=(e,t)=>{const[s]=xe(X,e),n=s(t);return Te(xe(Z,e),n)?Wt(e,t):n},At=e=>xe(Z,e)??St(e,{}),Pt=e=>St(e,{}),_t=(e,t,s)=>{const[,n]=xe(X,e);n(s),yt(e,t,s,{},!0)},jt=(e,t,s,n,r,o)=>{const a=xe(xe(A,e)?.[0],r);if(!J(a)&&!o)return Mt(e,s,n,r,a);const l=t=>{Kt(e,s,t,xe(n,t)),Gt(e,s,t,-1),De(n,t)};J(a)?l(r):ke(n,l),ve(n)&&(Bt(e,s,-1),ve(De(t,s))&&(qt(e,-1),De(Z,e),De(X,e),De(Y,e)))},Ut=e=>{const t=xe(j,e);if(!J(t))return Ot(e,t);Yt(e,xe(ee,e)),Xt(e,-1),De(ee,e)},qt=(e,t)=>zt(g,e,t),Bt=(e,t,s)=>zt(He(V,e,me),t,s)&&De(M,e,He(M,e,(()=>0))+s),Gt=(e,t,s,n)=>{const r=xe(Y,e),o=xe(r,s)??0;(0==o&&1==n||1==o&&-1==n)&&zt(He(C,e,me),s,n),De(r,s,o!=-n?o+n:null),zt(He(He(m,e,me),t,me),s,n)},Kt=(e,t,s,n,r)=>{He(He(He(E,e,me),t,me),s,(()=>[n,0]))[1]=r,c[3]?.(e,t,s,r)},Xt=(e,t)=>zt(x,e,t),Yt=(e,t,s)=>{He(k,e,(()=>[t,0]))[1]=s,c[4]?.(e,s)},Zt=(e,t,s,n,r)=>($(He(He(He(D,e,me),t,me),s,(()=>[])),n),r),$t=(e,t,s)=>($(He(H,e,(()=>[])),t),s),es=(e,t,s)=>F(xe(xe(xe(E,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Et(Is(e,t,s))])),ts=e=>F(xe(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Et(ws(e))])),ss=e=>ve(D)||ve(Ke[e])?0:Me(e?We(D):D,((t,s)=>Me(t,((t,n)=>Me(t,((t,r)=>it(Ke[e],[s,n,r],t))))))),ns=e=>ve(H)||ve(Xe[e])?0:Me(e?Ne(H):H,((t,s)=>it(Xe[e],[s],t))),rs=(e,t,s,n)=>{if(!ve(e))return it(t,n,(()=>Fe(e))),ke(e,((e,t)=>it(s,[...n??[],e],1==t))),1},os=e=>{const t=Cs();t!=s&&it(te[e],void 0,t);const n=ve(Ie[e]),r=ve(Ae[e])&&ve(_e[e])&&ve(ge[e])&&ve(Le[e])&&ve(ae[e])&&ve(le[e])&&ve(ce[e])&&n&&ve(ne[e])&&ve(re[e]),o=ve(Ge[e])&&ve(Se[e])&&ve(oe[e])&&ve(se[e]);if(!r||!o){const t=e?[Ne(g),Oe(C),Ne(M),Oe(V),We(m),We(E)]:[g,C,M,V,m,E];if(!r){rs(t[0],ne[e],re[e]),Me(t[1],((t,s)=>rs(t,ae[e],le[e],[s]))),Me(t[2],((t,s)=>{0!=t&&it(ce[e],[s],us(s))}));const s=qe();Me(t[3],((t,r)=>{rs(t,ge[e],Le[e],[r])&&!n&&(it(Ie[e],[r,null]),Be(s,r))})),n||Me(t[5],((t,n)=>{if(!Te(s,n)){const s=qe();Me(t,(e=>Me(e,(([t,n],r)=>n!==t?Be(s,r):Ve(e,r))))),Me(s,(t=>it(Ie[e],[n,t])))}})),Me(t[4],((t,s)=>Me(t,((t,n)=>rs(t,Ae[e],_e[e],[s,n])))))}if(!o){let s;Me(t[5],((t,n)=>{let r;Me(t,((t,o)=>{let a;Me(t,(([t,l],i)=>{l!==t&&(it(Ge[e],[n,o,i],l,t,es),s=r=a=1)})),a&&it(Se[e],[n,o],es)})),r&&it(oe[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=ve(tt[e])&&ve(st[e]),r=ve(nt[e])&&ve(et[e]);if(!s||!r){const t=e?[Ne(x),Ne(k)]:[x,k];if(s||rs(t[0],tt[e],st[e]),!r){let s;Me(t[1],(([t,n],r)=>{n!==t&&(it(nt[e],[r],n,t,ts),s=1)})),s&&it(et[e],void 0,ts)}}},ls=(e,...t)=>(zs((()=>e(...K(t,y)))),Ws),is=()=>ze(Z),cs=()=>Ee(Z),ds=e=>Ee(xe(Y,y(e))),us=e=>we(xe(Z,y(e))),gs=e=>Ee(xe(Z,y(e))),hs=(e,t,s,n=0,r)=>{return K(W(B((o=xe(Z,y(e)),a=(e,s)=>[J(t)?s:xe(e,y(t)),s],K([...o?.entries()??[]],(([e,t])=>a(t,e)))),(([e],[t])=>at(e,t)*(s?-1:1))),n,J(r)?r:n+r),(([,e])=>e));var o,a},fs=(e,t)=>Ee(xe(xe(Z,y(e)),y(t))),Is=(e,t,s)=>xe(xe(xe(Z,y(e)),y(t)),y(s)),bs=()=>Fe(ee),Ls=()=>Ee(ee),ws=e=>xe(ee,y(e)),Cs=()=>!ve(Z),Rs=e=>Te(Z,y(e)),ps=(e,t)=>Te(xe(Y,y(e)),y(t)),Ts=(e,t)=>Te(xe(Z,y(e)),y(t)),vs=(e,t,s)=>Te(xe(xe(Z,y(e)),y(t)),y(s)),Ss=()=>!ve(ee),ys=e=>Te(ee,y(e)),Ms=e=>ls((()=>(e=>be(e,ht,Zt))(e)?vt(e):0)),Vs=e=>ls((()=>bt(e)?Jt(e):0)),ms=e=>{try{Tt(Ft(e))}catch{}return Ws},Es=t=>ls((()=>{if((e=be(t,(e=>be(e,ut))))&&(Rt(t),!ve(Z))){const e=is();ks(),Ms(e)}})),xs=e=>ls((()=>{if(t=(e=>be(e,ut))(e)){const s=bs();Qs(),Js(),t=!0,pt(e),Vs(s)}})),ks=()=>ls((()=>vt({}))),Ds=e=>ls((e=>Te(Z,e)?Pt(e):0),e),Hs=(e,t)=>ls(((e,t)=>F(xe(Z,e),(s=>Te(s,t)?_t(e,s,t):0))),e,t),Js=()=>ls((()=>Jt({}))),Fs=()=>ls((()=>{Rt({}),e=!1})),Qs=()=>ls((()=>{pt({}),t=!1})),zs=(e,t)=>{if(-1!=o){Ns();const s=e();return Os(t),s}},Ns=()=>(-1!=o&&o++,1==o&&(c[0]?.(),it(rt)),Ws),Os=e=>(o>0&&(o--,0==o&&(o=1,ss(1),ve(E)||os(1),ns(1),ve(k)||as(1),e?.(Ws)&&(Me(E,((e,t)=>Me(e,((e,s)=>Me(e,(([e],n)=>je(Ws,t,s,n,e))))))),ye(E),Me(k,(([e],t)=>Ue(Ws,t,e))),ye(k)),it(ot[0],void 0),o=-1,ss(0),ve(E)||os(0),ns(0),ve(k)||as(0),c[1]?.(),it(ot[1],void 0),c[2]?.(),o=0,s=Cs(),n=Ss(),G([g,C,M,V,m,E,D,x,k,H],ye))),Ws),Ws={getContent:()=>[is(),bs()],getTables:is,getTableIds:cs,getTable:e=>Qe(xe(Z,y(e))),getTableCellIds:ds,getRowCount:us,getRowIds:gs,getSortedRowIds:hs,getRow:(e,t)=>Fe(xe(xe(Z,y(e)),y(t))),getCellIds:fs,getCell:Is,getValues:bs,getValueIds:Ls,getValue:ws,hasTables:Cs,hasTable:Rs,hasTableCell:ps,hasRow:Ts,hasCell:vs,hasValues:Ss,hasValue:ys,getTablesJson:()=>Qt(Z),getValuesJson:()=>Qt(ee),getJson:()=>Qt([Z,ee]),getTablesSchemaJson:()=>Qt(z),getValuesSchemaJson:()=>Qt(P),getSchemaJson:()=>Qt([z,P]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>ls((()=>gt(e)?(([e,t])=>{(fe(e)?ks:Ms)(e),(fe(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,At(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let n;return ft(e,n,t)&&(e=y(e),yt(e,At(e),n=Wt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ls(((e,t)=>{if(ft(e,t,s,1)){const n=At(e);he(s,((s,r)=>Vt(e,n,t,r,s)))}}),e,t),setCell:(e,t,s,n)=>ls(((e,t,s)=>F(It(e,t,s,N(n)?n(Is(e,t,s)):n),(n=>Vt(e,At(e),t,s,n)))),e,t,s),setValues:Vs,setPartialValues:e=>ls((()=>bt(e,1)?he(e,((e,t)=>Ot(t,e))):0)),setValue:(e,t)=>ls((e=>F(Lt(e,N(t)?t(ws(e)):t),(t=>Ot(e,t)))),e),applyChanges:e=>ls((()=>{he(e[0],((e,t)=>J(e)?Ds(t):he(e,((e,s)=>J(e)?Hs(t,s):he(e,((e,n)=>je(Ws,t,s,n,e))))))),he(e[1],((e,t)=>Ue(Ws,t,e)))})),setTablesJson:ms,setValuesJson:e=>{try{mt(Ft(e))}catch{}return Ws},setJson:e=>ls((()=>{try{const[t,s]=Ft(e);Tt(t),mt(s)}catch{ms(e)}})),setTablesSchema:Es,setValuesSchema:xs,setSchema:(e,t)=>ls((()=>{Es(e),xs(t)})),delTables:ks,delTable:Ds,delRow:Hs,delCell:(e,t,s,n)=>ls(((e,t,s)=>F(xe(Z,e),(r=>F(xe(r,t),(o=>Te(o,s)?jt(e,r,t,o,s,n):0))))),e,t,s),delValues:Js,delValue:e=>ls((e=>Te(ee,e)?Ut(e):0),e),delTablesSchema:Fs,delValuesSchema:Qs,delSchema:()=>ls((()=>{Fs(),Qs()})),transaction:zs,startTransaction:Ns,getTransactionChanges:()=>[Fe(E,((e,t)=>-1===xe(g,t)?void 0:Fe(e,((e,s)=>-1===xe(xe(V,t),s)?void 0:Fe(e,(([,e])=>e),(e=>Ht(e)))),ve,fe)),ve,fe),Fe(k,(([,e])=>e),(e=>Ht(e))),1],getTransactionLog:()=>[!ve(E),!ve(k),ze(E,Dt,Ht),ze(D),Fe(k,Dt,Ht),Fe(H),Fe(g),Qe(V),ze(m),Fe(x)],finishTransaction:Os,forEachTable:e=>Me(Z,((t,s)=>e(s,(e=>Me(t,((t,s)=>e(s,(e=>ke(t,e))))))))),forEachTableCell:(e,t)=>ke(xe(Y,y(e)),t),forEachRow:(e,t)=>Me(xe(Z,y(e)),((e,s)=>t(s,(t=>ke(e,t))))),forEachCell:(e,t,s)=>ke(xe(xe(Z,y(e)),y(t)),s),forEachValue:e=>ke(ee,e),addSortedRowIdsListener:(e,t,s,n,r,o,a)=>{let l=hs(e,t,s,n,r);return lt((()=>{const a=hs(e,t,s,n,r);U(a,l)||(l=a,o(Ws,e,t,s,n,r,l))}),Ie[a?1:0],[e,t],[cs])},addStartTransactionListener:e=>lt(e,rt),addWillFinishTransactionListener:e=>lt(e,ot[0]),addDidFinishTransactionListener:e=>lt(e,ot[1]),callListener:e=>(dt(e),Ws),delListener:e=>(ct(e),Ws),getListenerStats:()=>({hasTables:xt(te),tables:xt(se),tableIds:xt(ne),hasTable:xt(re),table:xt(oe),tableCellIds:xt(ae),hasTableCell:xt(le,Re),rowCount:xt(ce),rowIds:xt(ge),sortedRowIds:xt(Ie),hasRow:xt(Le,Re),row:xt(Se,Re),cellIds:xt(Ae,Re),hasCell:xt(_e,pe),cell:xt(Ge,pe),invalidCell:xt(Ke,pe),hasValues:xt(Ye),values:xt(et),valueIds:xt(tt),hasValue:xt(st),value:xt(nt),invalidValue:xt(Xe),transaction:Ce(rt)+xt(ot)}),isMergeable:()=>!1,createStore:Nt,addListener:lt,callListeners:it,setInternalListeners:(e,t,s,n,r)=>c=[e,t,s,n,r]};return he({[u+f]:[0,te,[],()=>[Cs()]],[f]:[0,se],[I]:[0,ne],[u+h]:[1,re,[cs],e=>[Rs(...e)]],[h]:[1,oe,[cs]],[h+p]:[1,ae,[cs]],[u+h+R]:[2,le,[cs,ds],e=>[ps(...e)]],[L]:[1,ce,[cs]],[w]:[1,ge,[cs]],[u+b]:[2,Le,[cs,gs],e=>[Ts(...e)]],[b]:[2,Se,[cs,gs]],[p]:[2,Ae,[cs,gs]],[u+R]:[3,_e,[cs,gs,fs],e=>[vs(...e)]],[R]:[3,Ge,[cs,gs,fs],e=>Et(Is(...e))],InvalidCell:[3,Ke],[u+v]:[0,Ye,[],()=>[Ss()]],[v]:[0,et],[S]:[0,tt],[u+T]:[1,st,[Ls],e=>[ys(...e)]],[T]:[1,nt,[Ls],e=>Et(ws(e[0]))],InvalidValue:[1,Xe]},(([e,t,s,n],r)=>{Ws[d+r+i]=(...r)=>lt(r[e],t[r[e+1]?1:0],e>0?W(r,0,e):void 0,s,n)})),ie(Ws)},Ot=2**36,Wt=2**30,At=2**24,Pt=2**18,_t=4096,jt={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=t)=>[yt(e),yt(e)];exports.createCheckpoints=et,exports.createIndexes=it,exports.createMergeableStore=e=>{let s=1,n=Ut(),r=0;const o=me(),a=qe(),[l,i]=(e=>{let t=0,s=-1;const n=F(e,(e=>{const t=It(e);return nt(t/At)+nt(t/Pt)+nt(t/_t)+nt(t/64)+nt(t)}),(()=>lt(5))),r=e=>{const n=t,[r,o]=J(e)||""==e?[0,0]:[rt(a=e,0)*Ot+rt(a,1)*Wt+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=x(n,r,m.HLC_TIME??Date.now()),s=t==n?t==r?x(s,o):s:t==r?o:-1};return[()=>{return r(),o=++s,nt((e=t)/Ot)+nt(e/Wt)+nt(e/At)+nt(e/Pt)+nt(e/_t)+nt(e/64)+nt(e)+nt(o/Pt)+nt(o/_t)+nt(o/64)+nt(o)+n;var e,o},r]})(e),c=Nt(),d=e=>{const t=s;return s=0,e(),s=t,I},u=(e,s=0)=>{const r={},o={},[[a,l=t,c=0],d]=e,[u,h]=n,[f,I,b]=u;let L=s?c:b,w=l;ge(a,(([e,n=t,o=0],a)=>{const l=He(f,a,yt),[i,c,d]=l;let u=s?o:d,h=n;ge(e,((e,t)=>{const[n,o,l]=g(e,He(i,t,yt),Ie(Ie(r,a,ce),t,ce),s);u^=s?0:(o?Rt(t,o):0)^Rt(t,l),h=Tt(h,n)})),u^=s?0:pt(c,n),vt(l,u,n),L^=s?0:(d?Rt(a,d):0)^Rt(a,l[2]),w=Tt(w,h)})),L^=s?0:pt(I,l),vt(u,L,l);const[C]=g(d,h,o,s);return i(Tt(w,C)),[r,o,1]},g=(e,s,n,r)=>{const[o,a=t,l=0]=e,[i,c,d]=s;let u=a,g=r?l:d;return ge(o,(([e,s,o=0],a)=>{const l=He(i,a,(()=>[void 0,t,0])),[,c,d]=l;(!c||s>c)&&(vt(l,r?o:It(Qt(e??null)+":"+s),s),l[0]=e,n[a]=e,g^=r?0:Rt(a,d)^Rt(a,l[2]),u=Tt(u,s))})),g^=r?0:pt(c,a),vt(s,g,a),[u,d,s[2]]},h=()=>[Mt(n[0],(e=>Mt(e,(e=>Mt(e))))),Mt(n[1])],f=e=>d((()=>c.applyChanges(u(e)))),I={getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>Fe(n[0][0],Ct),getMergeableTableDiff:e=>{const t=St(n[0][1]),s={};return ke(n[0][0],((n,[r,o,a])=>de(e,n)?a!=e[n]?s[n]=a:0:t[0][n]=Vt([r,o],(e=>Vt(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return ge(e,((e,s)=>F(xe(n[0][0],s),(([n,,r])=>r!=e?ke(n,((e,[,,n])=>Ie(t,s,ce)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=St(n[0][1]),s={};return ge(e,((e,r)=>ke(xe(n[0][0],r)?.[0],((n,[o,a,l])=>de(e,n)?l!==e[n]?Ie(s,r,ce)[n]=l:0:Ie(t[0],r,St)[0][n]=Vt([o,a]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return ge(e,((e,s)=>F(xe(n[0][0],s),(([n])=>ge(e,((e,r)=>F(xe(n,r),(([n,,o])=>o!==e?ke(n,((e,[,,n])=>Ie(Ie(t,s,ce),r,ce)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,r={};return ge(e,((e,s)=>ge(e,((e,n)=>F(xe(t,s),(([t,o])=>F(xe(t,n),(([t,a])=>ke(t,((t,[l,i,c])=>c!==e[t]?Ie(Ie(r,s,(()=>St(o)))[0],n,(()=>St(a)))[0][t]=[l,i]:0)))))))))),wt(r,s)},getMergeableValueHashes:()=>Fe(n[1][0],Ct),getMergeableValueDiff:e=>{const[,[t,s]]=n,r=Fe(t,Lt,(([,,t],s)=>t==e?.[s]));return wt(r,s)},setMergeableContent:e=>d((()=>(e=>O(e)&&2==A(e)&&mt(e[0],(e=>be(e,(e=>mt(e,(e=>be(e,(e=>mt(e,(e=>be(e,(e=>mt(e,_e)),void 0,1)))),void 0,1)))),void 0,1)))&&mt(e[1],(e=>be(e,(e=>mt(e,_e)),void 0,1))))(e)?c.transaction((()=>{c.delTables().delValues(),n=Ut(),c.applyChanges(u(e,1))})):0)),setDefaultContent:e=>(c.transaction((()=>{r=1,c.setContent(e),r=0})),I),getTransactionMergeableChanges:()=>{const[[e,t],[s,r]]=n,l={};Me(o,((t,s)=>F(xe(e,s),(([e,n])=>{const r={};Me(t,((t,s)=>F(xe(e,s),(([e,n])=>{const o={};Me(t,(t=>{F(xe(e,t),(([e,s])=>o[t]=wt(e,s)))})),r[s]=wt(o,n)})))),l[s]=wt(r,n)}))));const i={};return Me(a,(e=>F(xe(s,e),(([t,s])=>i[e]=wt(t,s))))),[wt(l,t),wt(i,r),1]},applyMergeableChanges:f,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return c.setInternalListeners((()=>{}),(()=>{}),(()=>{ye(o),ye(a)}),((e,n,a,i)=>{Be(He(He(o,e,me),n,qe),a),s&&u([[{[e]:[{[n]:[{[a]:[i,r?t:l()]}]}]}],[{}],1])}),((e,n)=>{Be(a,e),s&&u([[{}],[{[e]:[n,r?t:l()]}],1])})),he(c,((e,t)=>I[t]=M(t,"set")||M(t,"del")||M(t,"apply")||V(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),I):M(t,"add")&&V(t,"Listener")?(...s)=>{const n=jt[W(t,3,-8)]??0,r=s[n];return s[n]=(e,...t)=>r(I,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),ie(I)},exports.createMetrics=ut,exports.createQueries=gt,exports.createRelationships=ht,exports.createStore=Nt,exports.defaultSorter=at,exports.getUniqueId=lt;
|
package/cjs/min/index.cjs.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const
|
|
1
|
+
"use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,r=clearInterval,i=a=>null==a,o=(a,t,e)=>i(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),w=a=>a.length,y=async a=>s.all(a),d=a=>{throw Error(a)},u=(a,t)=>A(Array(a).fill(0),((a,e)=>t(e))),R=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),T=a=>0==w(a),N=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),g=Object,p=a=>g.getPrototypeOf(a),$=g.entries,m=g.keys,C=g.freeze,v=(a=[])=>g.fromEntries(a),I=(...a)=>g.assign({},...a),L=(a,t)=>(delete a[t],a),S=(a,t)=>A($(a),(([a,e])=>t(e,a))),_=a=>g.values(a),b=a=>w(m(a)),h=a=>(a=>!i(a)&&o(p(a),(a=>a==g.prototype||i(p(a))),(()=>!0)))(a)&&0==b(a),P=(a,t)=>a?.has(t)??!1,D=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),M=a=>new Map(a),F=(a,t)=>a?.get(t),U=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>i(e)?(f(a,t),a):a?.set(t,e),B=(a,t,e,n)=>(P(a,t)||G(a,t,e()),F(a,t)),x=M(),j=M(),Y=(a,t,e,n,s,r,c,E={},w=[])=>{let y,u,R,A=0,T=0,N=0;B(x,w,(()=>0)),B(j,w,(()=>[]));const[g,p,$,m,v]=((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]:d("Store type not supported by this Persister"))(c,a),I=t=>{(g&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},L=async a=>(2!=A&&(A=1,T++,await P((async()=>{try{const a=await t();l(a)?I(a):d("Content is not an array "+a)}catch(t){r?.(t),a&&v(a)}A=0}))),D),S=()=>(u&&(s(u),u=void 0),D),_=async a=>(1!=A&&(A=2,N++,await P((async()=>{try{await e(p,a)}catch(a){r?.(a)}A=0}))),D),b=()=>(o(R,a.delListener),R=void 0,D),P=async(...a)=>(O(F(j,w),...a),await(async()=>{if(!F(x,w)){for(G(x,w,1);!i((a=F(j,w),y=a.shift()));)try{await y()}catch(a){r?.(a)}G(x,w,0)}var a})(),D),D={load:L,startAutoLoad:async a=>{await S().load(a);try{u=await n((async(a,t)=>{t||a?2!=A&&(A=1,T++,I(t??a),A=0):await L()}))}catch(a){r?.(a)}return D},stopAutoLoad:S,isAutoLoading:()=>!i(u),save:_,startAutoSave:async()=>(await b().save(),R=a.addDidFinishTransactionListener((()=>{const a=$();m(a)&&_(a)})),D),stopAutoSave:b,isAutoSaving:()=>!i(R),schedule:P,getStore:()=>a,destroy:()=>(F(j,w).splice(0,void 0),S().stopAutoSave()),getStats:()=>({loads:T,saves:N}),...E};return C(D)},q="_",H="_id",X="SELECT",J="WHERE",W="TABLE",k="ALTER "+W,K="DELETE FROM",V=X+"*FROM",z="pragma_",Q="data_version",Z="schema_version",aa="pragma_table_",ta=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,ea=a=>`"${a.replace(/"/g,'""')}"`,na=a=>R(A(a,((a,t)=>"$"+(t+1))),e),sa=JSON.stringify,ra=JSON.parse,ia=a=>new Set(l(a)||i(a)?a:[a]),oa=(a,t)=>a?.add(t),ca=(a,t,n,s,r,o,c,l)=>{const E=M();return[async()=>{E.clear(),A(await n(a,t),(({tn:a,cn:t})=>oa(B(E,a,ia),t)))},async(t,e)=>((a,t)=>P(F(E,a),t))(t,e)?v(N(A(await a(V+ea(t)),(a=>{return[a[e],l?(t=L(a,e),n=l,v(S(t,((a,t)=>[t,n(a,t)])))):L(a,e)];var t,n})),(([a,t])=>!i(a)&&!h(t)))):{},async(t,n,s,l,w,d=!1)=>{const u=ia();S(s??{},(a=>A(m(a??{}),(a=>oa(u,a)))));const g=D(u);if(!d&&w&&T(g)&&P(E,t))return await a("DROP "+W+ea(t)),void G(E,t);const p=F(E,t),$=ia(D(p));if(T(g)||(P(E,t)?await y(A([n,...g],(async(e,s)=>{f($,e)||(await a(k+ea(t)+"ADD"+ea(e)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+ea(t)+`(${ea(n)})`),oa(p,e))}))):(await a("CREATE "+W+ea(t)+`(${ea(n)}${r} PRIMARY KEY${R(A(g,(a=>e+ea(a)+r)))});`),G(E,t,ia([n,...g])))),await y([...!d&&l?A(D($),(async e=>{e!=n&&(await a(k+ea(t)+"DROP"+ea(e)),f(p,e))})):[]]),d)i(s)?await a(K+ea(t)+J+" true"):await y(S(s,(async(e,s)=>{i(e)?await a(K+ea(t)+J+ea(n)+"=$1",[s]):T(g)||await la(a,t,n,m(e),[s,...c?A(_(e),c):_(e)],o)})));else if(T(g))P(E,t)&&await a(K+ea(t)+J+" true");else{const e=N(D(F(E,t)),(a=>a!=n)),r=[],i=[];S(s??{},((a,t)=>{O(r,t,...A(e,(t=>c?c(a?.[t]):a?.[t]))),O(i,t)})),await la(a,t,n,e,r,o),await a(K+ea(t)+J+ea(n)+`NOT IN(${na(i)})`,i)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,n,s,r,i=0)=>await a("INSERT "+(i?"OR REPLACE ":"")+"INTO"+ea(t)+"("+ea(n)+R(A(s,(a=>e+ea(a))))+")VALUES"+Ea(r,w(s)+1)+(i?"":"ON CONFLICT("+ea(n)+")DO UPDATE SET"+R(A(s,(a=>ea(a)+"=excluded."+ea(a))),e)),A(r,(a=>a??null))),Ea=(a,t)=>R(u(w(a)/t,(a=>"("+R(u(t,(e=>"$"+(a*t+e+1))),e)+")")),e),wa=(a,t,e,n,s,r,i,[o,c,l],E,w,y,d,u,R)=>{const[A,T,N,O]=ca(t,E,w,s,u,R),g=Y(a,(async()=>await O((async()=>{return await A(),a=(await T(o,c))[q]?.[l]??"null",ra(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await O((async()=>{var t;await A(),await N(o,c,{[q]:{[l]:(t=a()??null,sa(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[d]:()=>y,destroy:()=>(g.stopAutoLoad().stopAutoSave(),r(),g)},y);return g},ya=(a,t,e,n,s,r,o,[c,l,[E,w,d]],u,R,A,T,O,g,p,$)=>{const[m,C,I,L]=ca(t,u,R,s,O,g,p,$),S=async(a,t)=>await y(U(l,(async([e,n,s,r],i)=>{t&&!(i in a)||await I(e,n,a[i],s,r,t)}))),_=async(a,t)=>w?await I(d,H,{[q]:a},!0,!0,t):null,b=Y(a,(async()=>await L((async()=>{await m();const a=await(async()=>v(N(await y(U(c,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!h(a[1])))))(),t=await(async()=>E?(await C(d,H))[q]:{})();return h(a)&&i(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await m(),i(t)){const[t,e]=a();await S(t),await _(e)}else await S(t[0],!0),await _(t[1],!0)}))),e,n,s,o,{[T]:()=>A,destroy:()=>(b.stopAutoLoad().stopAutoSave(),r(),b)},A);return b},da="ColumnName",ua="store",Ra="json",Aa=ua+"TableName",Ta=ua+"Id"+da,Na=ua+da,Oa="autoLoadIntervalSeconds",ga="rowId"+da,pa="tableId",$a="tableName",ma="deleteEmptyColumns",Ca="deleteEmptyTable",va={mode:Ra,[Oa]:1},Ia={load:0,save:0,[$a]:t+"_values"},La=(a,t,e,n,s)=>{const r=M();return S(a,((a,o)=>{const l=E(_(I(t,c(a)?{[e]:a}:a)),0,b(t));i(l[0])||n(o,l[0])||(s(o,l[0]),G(r,o,l))})),r},Sa=a=>{const e=(a=>I(va,c(a)?{[Aa]:a}:a??{}))(a),n=e[Oa];if(e.mode==Ra){const a=e[Aa]??t;return[1,n,[a,e[Ta]??H,e[Na]??ua],ia(a)]}const{tables:{load:s={},save:r={}}={},values:i={}}=e,o=E(_(I(Ia,i)),0,b(Ia)),l=o[2],w=ia(l),y=ia(l);return[0,n,[La(s,{[pa]:null,[ga]:H},pa,(a=>P(y,a)),(a=>oa(w,a))),La(r,{[$a]:null,[ga]:H,[ma]:0,[Ca]:0},$a,((a,t)=>P(y,t)),((a,t)=>oa(w,t))),o],w]},_a=t,ba=/^([cd]:)(.+)/,ha=t+"_data",Pa=t+"_table";exports.Persists={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},exports.createCustomPersister=Y,exports.createCustomPostgreSqlPersister=(a,t,e,n,s,r,i,c,l,E,w="getDb")=>{const d=ta(e,r),[u,,R,T]=Sa(t),N=async a=>{await d(`CREATE OR REPLACE TRIGGER ${ea(ha+"_"+a)} AFTER INSERT OR UPDATE OR DELETE ON ${ea(a)} EXECUTE FUNCTION ${ha}()`)};return(u?wa:ya)(a,d,(async a=>{await d(`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('${_a}','c:'||SPLIT_PART(row.object_identity,'.',2));END LOOP;END;$t2$ LANGUAGE plpgsql;`);try{await d(`CREATE EVENT TRIGGER ${Pa} ON ddl_command_end WHEN TAG IN('CREATE TABLE')EXECUTE FUNCTION ${Pa}();`)}catch{}return await d(`CREATE OR REPLACE FUNCTION ${ha}()RETURNS trigger AS $t1$ BEGIN PERFORM pg_notify('${_a}','d:'||TG_TABLE_NAME);RETURN NULL;END;$t1$ LANGUAGE plpgsql;`),await y(A(D(T),(async a=>{await d(`CREATE TABLE IF NOT EXISTS ${ea(a)}("_id"text PRIMARY KEY)`),await N(a)}))),await n(_a,(async t=>{return await o((e=t,n=ba,e?.match(n)),(async([,t,e])=>{P(T,e)&&("c:"==t&&await N(e),a())}));var e,n}))}),s,i,c,l,R,D(T),(async(a,t)=>await a(`${X} table_name tn,column_name cn FROM information_schema.columns ${J} table_schema='public'AND table_name IN(${na(t)})`,t)),E,w,"text",0,(a=>sa(a)),(a=>ra(a)))},exports.createCustomSqlitePersister=(a,t,e,n,s,i,o,c,l,E,w="getDb",y)=>{let d,u,R;const A=ta(e,i),[T,N,O,g]=Sa(t);return(T?wa:ya)(a,A,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await A(`${X} ${Q} d,${Z} s,TOTAL_CHANGES() c FROM ${z}${Q} JOIN ${z}${Z}`);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,O,D(g),(async(a,t)=>await a(`${X} t.name tn,c.name cn FROM ${aa}list()t,${aa}info(t.name)c ${J} t.schema='main'AND t.type IN('table','view')AND t.name IN(${na(t)})ORDER BY t.name,c.name`,t)),E,w,"",y,(a=>!0===a?1:!1===a?0:a),void 0)};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),w=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),A=a=>0==w(a),g=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",O="WHERE",$="TABLE",S="ALTER "+$,T="DELETE FROM",f=C+"*FROM",I="pragma_",R="data_version",b="schema_version",L="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),x=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>E(x(a),(([a,e])=>t(e,a))),W=a=>U.values(a),q=a=>w(B(a)),z=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==q(a),K=JSON.stringify,Q=JSON.parse,V=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=V(),na=V(),sa=(a,t,e,n,s,i,c,y={},w=[])=>{let u,v,p,E=0,A=0,g=0;ta(ea,w,(()=>0)),ta(na,w,(()=>[]));const[N,h,C,O,$]=((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]:d("Store type not supported by this Persister"))(c,a),S=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,A++,await b((async()=>{try{const a=await t();l(a)?S(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&$(a)}E=0}))),L),f=()=>(v&&(s(v),v=void 0),L),I=async a=>(1!=E&&(E=2,g++,await b((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),L),R=()=>(o(p,a.delListener),p=void 0,L),b=async(...a)=>(m(X(na,w),...a),await(async()=>{if(!X(ea,w)){for(aa(ea,w,1);!r((a=X(na,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,w,0)}var a})(),L),L={load:T,startAutoLoad:async a=>{await f().load(a);try{v=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return L},stopAutoLoad:f,isAutoLoading:()=>!r(v),save:I,startAutoSave:async()=>(await R().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();O(a)&&I(a)})),L),stopAutoSave:R,isAutoSaving:()=>!r(p),schedule:b,getStore:()=>a,destroy:()=>(X(na,w).splice(0,void 0),f().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...y};return J(L)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const y=V();return[async()=>{y.clear(),E(await n(a,t),(({tn:a,cn:t})=>ra(ta(y,a,ia),t)))},async(t,e)=>((a,t)=>P(X(y,a),t))(t,e)?Y(g(E(await a(f+D(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,Y(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!r(a)&&!z(t)))):{},async(t,n,s,l,w,d=!1)=>{const v=ia();H(s??{},(a=>E(B(a??{}),(a=>ra(v,a)))));const N=_(v);if(!d&&w&&A(N)&&P(y,t))return await a("DROP "+$+D(t)),void aa(y,t);const h=X(y,t),C=ia(_(h));if(A(N)||(P(y,t)?await u(E([n,...N],(async(e,s)=>{F(C,e)||(await a(S+D(t)+"ADD"+D(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(n)})`),ra(h,e))}))):(await a("CREATE "+$+D(t)+`(${D(n)}${i} PRIMARY KEY${p(E(N,(a=>e+D(a)+i)))});`),aa(y,t,ia([n,...N])))),await u([...!d&&l?E(_(C),(async e=>{e!=n&&(await a(S+D(t)+"DROP"+D(e)),F(h,e))})):[]]),d)r(s)?await a(T+D(t)+O+" true"):await u(H(s,(async(e,s)=>{r(e)?await a(T+D(t)+O+D(n)+"=$1",[s]):A(N)||await ca(a,t,n,B(e),[s,...c?E(W(e),c):W(e)],o)})));else if(A(N))P(y,t)&&await a(T+D(t)+O+" true");else{const e=g(_(X(y,t)),(a=>a!=n)),i=[],r=[];H(s??{},((a,t)=>{m(i,t,...E(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(T+D(t)+O+D(n)+`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}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+D(t)+"("+D(n)+p(E(s,(a=>e+D(a))))+")VALUES"+la(i,w(s)+1)+(r?"":"ON CONFLICT("+D(n)+")DO UPDATE SET"+p(E(s,(a=>D(a)+"=excluded."+D(a))),e)),E(i,(a=>a??null))),la=(a,t)=>p(v(w(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),ya=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v,p)=>{const[E,A,g,m]=oa(t,y,w,s,v,p),h=sa(a,(async()=>await m((async()=>{return await E(),a=(await A(o,c))[N]?.[l]??"null",Q(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(o,c,{[N]:{[l]:(t=a()??null,K(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},wa=(a,t,e,n,s,i,o,[c,l,[y,w,d]],v,p,E,A,m,C,O,$)=>{const[S,T,f,I]=oa(t,v,p,s,m,C,O,$),R=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await f(e,n,a[r],s,i,t)}))),b=async(a,t)=>w?await f(d,h,{[N]:a},!0,!0,t):null,L=sa(a,(async()=>await I((async()=>{await S();const a=await(async()=>Y(g(await u(Z(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!z(a[1])))))(),t=await(async()=>y?(await T(d,h))[N]:{})();return z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await I((async()=>{if(await S(),r(t)){const[t,e]=a();await R(t),await b(e)}else await R(t[0],!0),await b(t[1],!0)}))),e,n,s,o,{[A]:()=>E,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},E);return L},ua="ColumnName",da="store",va="json",pa=da+"TableName",Ea=da+"Id"+ua,Aa=da+ua,ga="autoLoadIntervalSeconds",ma="rowId"+ua,Na="tableId",ha="tableName",Ca="deleteEmptyColumns",Oa="deleteEmptyTable",$a={mode:va,[ga]:1},Sa={load:0,save:0,[ha]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=V();return H(a,((a,o)=>{const l=y(W(k(t,c(a)?{[e]:a}:a)),0,q(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},fa=(a,e,n,s,r,o,l,w,u,d="getDb",
|
|
1
|
+
"use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),w=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),A=a=>0==w(a),g=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",O="WHERE",$="TABLE",S="ALTER "+$,T="DELETE FROM",f=C+"*FROM",I="pragma_",R="data_version",b="schema_version",L="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),x=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>E(x(a),(([a,e])=>t(e,a))),W=a=>U.values(a),q=a=>w(B(a)),z=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==q(a),K=JSON.stringify,Q=JSON.parse,V=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=V(),na=V(),sa=(a,t,e,n,s,i,c,y={},w=[])=>{let u,v,p,E=0,A=0,g=0;ta(ea,w,(()=>0)),ta(na,w,(()=>[]));const[N,h,C,O,$]=((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]:d("Store type not supported by this Persister"))(c,a),S=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,A++,await b((async()=>{try{const a=await t();l(a)?S(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&$(a)}E=0}))),L),f=()=>(v&&(s(v),v=void 0),L),I=async a=>(1!=E&&(E=2,g++,await b((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),L),R=()=>(o(p,a.delListener),p=void 0,L),b=async(...a)=>(m(X(na,w),...a),await(async()=>{if(!X(ea,w)){for(aa(ea,w,1);!r((a=X(na,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,w,0)}var a})(),L),L={load:T,startAutoLoad:async a=>{await f().load(a);try{v=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return L},stopAutoLoad:f,isAutoLoading:()=>!r(v),save:I,startAutoSave:async()=>(await R().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();O(a)&&I(a)})),L),stopAutoSave:R,isAutoSaving:()=>!r(p),schedule:b,getStore:()=>a,destroy:()=>(X(na,w).splice(0,void 0),f().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...y};return J(L)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const y=V();return[async()=>{y.clear(),E(await n(a,t),(({tn:a,cn:t})=>ra(ta(y,a,ia),t)))},async(t,e)=>((a,t)=>P(X(y,a),t))(t,e)?Y(g(E(await a(f+D(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,Y(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!r(a)&&!z(t)))):{},async(t,n,s,l,w,d=!1)=>{const v=ia();H(s??{},(a=>E(B(a??{}),(a=>ra(v,a)))));const N=_(v);if(!d&&w&&A(N)&&P(y,t))return await a("DROP "+$+D(t)),void aa(y,t);const h=X(y,t),C=ia(_(h));if(A(N)||(P(y,t)?await u(E([n,...N],(async(e,s)=>{F(C,e)||(await a(S+D(t)+"ADD"+D(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(n)})`),ra(h,e))}))):(await a("CREATE "+$+D(t)+`(${D(n)}${i} PRIMARY KEY${p(E(N,(a=>e+D(a)+i)))});`),aa(y,t,ia([n,...N])))),await u([...!d&&l?E(_(C),(async e=>{e!=n&&(await a(S+D(t)+"DROP"+D(e)),F(h,e))})):[]]),d)r(s)?await a(T+D(t)+O+" true"):await u(H(s,(async(e,s)=>{r(e)?await a(T+D(t)+O+D(n)+"=$1",[s]):A(N)||await ca(a,t,n,B(e),[s,...c?E(W(e),c):W(e)],o)})));else if(A(N))P(y,t)&&await a(T+D(t)+O+" true");else{const e=g(_(X(y,t)),(a=>a!=n)),i=[],r=[];H(s??{},((a,t)=>{m(i,t,...E(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(T+D(t)+O+D(n)+`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}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+D(t)+"("+D(n)+p(E(s,(a=>e+D(a))))+")VALUES"+la(i,w(s)+1)+(r?"":"ON CONFLICT("+D(n)+")DO UPDATE SET"+p(E(s,(a=>D(a)+"=excluded."+D(a))),e)),E(i,(a=>a??null))),la=(a,t)=>p(v(w(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),ya=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v,p)=>{const[E,A,g,m]=oa(t,y,w,s,v,p),h=sa(a,(async()=>await m((async()=>{return await E(),a=(await A(o,c))[N]?.[l]??"null",Q(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(o,c,{[N]:{[l]:(t=a()??null,K(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},wa=(a,t,e,n,s,i,o,[c,l,[y,w,d]],v,p,E,A,m,C,O,$)=>{const[S,T,f,I]=oa(t,v,p,s,m,C,O,$),R=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await f(e,n,a[r],s,i,t)}))),b=async(a,t)=>w?await f(d,h,{[N]:a},!0,!0,t):null,L=sa(a,(async()=>await I((async()=>{await S();const a=await(async()=>Y(g(await u(Z(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!z(a[1])))))(),t=await(async()=>y?(await T(d,h))[N]:{})();return z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await I((async()=>{if(await S(),r(t)){const[t,e]=a();await R(t),await b(e)}else await R(t[0],!0),await b(t[1],!0)}))),e,n,s,o,{[A]:()=>E,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},E);return L},ua="ColumnName",da="store",va="json",pa=da+"TableName",Ea=da+"Id"+ua,Aa=da+ua,ga="autoLoadIntervalSeconds",ma="rowId"+ua,Na="tableId",ha="tableName",Ca="deleteEmptyColumns",Oa="deleteEmptyTable",$a={mode:va,[ga]:1},Sa={load:0,save:0,[ha]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=V();return H(a,((a,o)=>{const l=y(W(k(t,c(a)?{[e]:a}:a)),0,q(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},fa=(a,e,n,s,r,o,l,w,u,d,v="getDb",p)=>{let E,A,g;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[N,$,S,T]=(a=>{const e=(a=>k($a,c(a)?{[pa]:a}:a??{}))(a),n=e[ga];if(e.mode==va){const a=e[pa]??t;return[1,n,[a,e[Ea]??h,e[Aa]??da],ia(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=y(W(k(Sa,r)),0,q(Sa)),l=o[2],w=ia(l),u=ia(l);return[0,n,[Ta(s,{[Na]:null,[ma]:h},Na,(a=>P(u,a)),(a=>ra(w,a))),Ta(i,{[ha]:null,[ma]:h,[Ca]:0,[Oa]:0},ha,((a,t)=>P(u,t)),((a,t)=>ra(w,t))),o],w]})(e);return(N?ya:wa)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${C} ${R} d,${b} s,TOTAL_CHANGES() c FROM ${I}${R} JOIN ${I}${b}`);t==E&&e==A&&n==g||(null!=E&&a(),E=t,A=e,g=n)}catch{}}),1e3*$),n=()=>{E=A=g=null,i(t)},o=s((t=>{T.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(o)}}),(a=>a()),l,w,u,S,_(T),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${L}list()t,${L}info(t.name)c ${O} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),d,v,"",p,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createCrSqliteWasmPersister=(a,t,e,n,s)=>fa(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,(()=>0),1,t);
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),w=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),A=a=>0==w(a),g=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",O="WHERE",$="TABLE",S="ALTER "+$,T="DELETE FROM",f=C+"*FROM",I="pragma_",R="data_version",b="schema_version",L="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),x=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>E(x(a),(([a,e])=>t(e,a))),W=a=>U.values(a),q=a=>w(B(a)),z=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==q(a),K=JSON.stringify,Q=JSON.parse,V=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=V(),na=V(),sa=(a,t,e,n,s,i,c,y={},w=[])=>{let u,v,p,E=0,A=0,g=0;ta(ea,w,(()=>0)),ta(na,w,(()=>[]));const[N,h,C,O,$]=((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]:d("Store type not supported by this Persister"))(c,a),S=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,A++,await b((async()=>{try{const a=await t();l(a)?S(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&$(a)}E=0}))),L),f=()=>(v&&(s(v),v=void 0),L),I=async a=>(1!=E&&(E=2,g++,await b((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),L),R=()=>(o(p,a.delListener),p=void 0,L),b=async(...a)=>(m(X(na,w),...a),await(async()=>{if(!X(ea,w)){for(aa(ea,w,1);!r((a=X(na,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,w,0)}var a})(),L),L={load:T,startAutoLoad:async a=>{await f().load(a);try{v=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return L},stopAutoLoad:f,isAutoLoading:()=>!r(v),save:I,startAutoSave:async()=>(await R().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();O(a)&&I(a)})),L),stopAutoSave:R,isAutoSaving:()=>!r(p),schedule:b,getStore:()=>a,destroy:()=>(X(na,w).splice(0,void 0),f().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...y};return J(L)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const y=V();return[async()=>{y.clear(),E(await n(a,t),(({tn:a,cn:t})=>ra(ta(y,a,ia),t)))},async(t,e)=>((a,t)=>P(X(y,a),t))(t,e)?Y(g(E(await a(f+D(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,Y(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!r(a)&&!z(t)))):{},async(t,n,s,l,w,d=!1)=>{const v=ia();H(s??{},(a=>E(B(a??{}),(a=>ra(v,a)))));const N=_(v);if(!d&&w&&A(N)&&P(y,t))return await a("DROP "+$+D(t)),void aa(y,t);const h=X(y,t),C=ia(_(h));if(A(N)||(P(y,t)?await u(E([n,...N],(async(e,s)=>{F(C,e)||(await a(S+D(t)+"ADD"+D(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(n)})`),ra(h,e))}))):(await a("CREATE "+$+D(t)+`(${D(n)}${i} PRIMARY KEY${p(E(N,(a=>e+D(a)+i)))});`),aa(y,t,ia([n,...N])))),await u([...!d&&l?E(_(C),(async e=>{e!=n&&(await a(S+D(t)+"DROP"+D(e)),F(h,e))})):[]]),d)r(s)?await a(T+D(t)+O+" true"):await u(H(s,(async(e,s)=>{r(e)?await a(T+D(t)+O+D(n)+"=$1",[s]):A(N)||await ca(a,t,n,B(e),[s,...c?E(W(e),c):W(e)],o)})));else if(A(N))P(y,t)&&await a(T+D(t)+O+" true");else{const e=g(_(X(y,t)),(a=>a!=n)),i=[],r=[];H(s??{},((a,t)=>{m(i,t,...E(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(T+D(t)+O+D(n)+`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}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+D(t)+"("+D(n)+p(E(s,(a=>e+D(a))))+")VALUES"+la(i,w(s)+1)+(r?"":"ON CONFLICT("+D(n)+")DO UPDATE SET"+p(E(s,(a=>D(a)+"=excluded."+D(a))),e)),E(i,(a=>a??null))),la=(a,t)=>p(v(w(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),ya=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v,p)=>{const[E,A,g,m]=oa(t,y,w,s,v,p),h=sa(a,(async()=>await m((async()=>{return await E(),a=(await A(o,c))[N]?.[l]??"null",Q(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(o,c,{[N]:{[l]:(t=a()??null,K(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},wa=(a,t,e,n,s,i,o,[c,l,[y,w,d]],v,p,E,A,m,C,O,$)=>{const[S,T,f,I]=oa(t,v,p,s,m,C,O,$),R=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await f(e,n,a[r],s,i,t)}))),b=async(a,t)=>w?await f(d,h,{[N]:a},!0,!0,t):null,L=sa(a,(async()=>await I((async()=>{await S();const a=await(async()=>Y(g(await u(Z(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!z(a[1])))))(),t=await(async()=>y?(await T(d,h))[N]:{})();return z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await I((async()=>{if(await S(),r(t)){const[t,e]=a();await R(t),await b(e)}else await R(t[0],!0),await b(t[1],!0)}))),e,n,s,o,{[A]:()=>E,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},E);return L},ua="ColumnName",da="store",va="json",pa=da+"TableName",Ea=da+"Id"+ua,Aa=da+ua,ga="autoLoadIntervalSeconds",ma="rowId"+ua,Na="tableId",ha="tableName",Ca="deleteEmptyColumns",Oa="deleteEmptyTable",$a={mode:va,[ga]:1},Sa={load:0,save:0,[ha]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=V();return H(a,((a,o)=>{const l=y(W(k(t,c(a)?{[e]:a}:a)),0,q(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},fa=(a,e,n,s,r,o,l,w,u,d="getDb",
|
|
1
|
+
"use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),w=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),A=a=>0==w(a),g=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",O="WHERE",$="TABLE",S="ALTER "+$,T="DELETE FROM",f=C+"*FROM",I="pragma_",R="data_version",b="schema_version",L="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),x=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>E(x(a),(([a,e])=>t(e,a))),W=a=>U.values(a),q=a=>w(B(a)),z=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==q(a),K=JSON.stringify,Q=JSON.parse,V=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=V(),na=V(),sa=(a,t,e,n,s,i,c,y={},w=[])=>{let u,v,p,E=0,A=0,g=0;ta(ea,w,(()=>0)),ta(na,w,(()=>[]));const[N,h,C,O,$]=((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]:d("Store type not supported by this Persister"))(c,a),S=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,A++,await b((async()=>{try{const a=await t();l(a)?S(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&$(a)}E=0}))),L),f=()=>(v&&(s(v),v=void 0),L),I=async a=>(1!=E&&(E=2,g++,await b((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),L),R=()=>(o(p,a.delListener),p=void 0,L),b=async(...a)=>(m(X(na,w),...a),await(async()=>{if(!X(ea,w)){for(aa(ea,w,1);!r((a=X(na,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,w,0)}var a})(),L),L={load:T,startAutoLoad:async a=>{await f().load(a);try{v=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return L},stopAutoLoad:f,isAutoLoading:()=>!r(v),save:I,startAutoSave:async()=>(await R().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();O(a)&&I(a)})),L),stopAutoSave:R,isAutoSaving:()=>!r(p),schedule:b,getStore:()=>a,destroy:()=>(X(na,w).splice(0,void 0),f().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...y};return J(L)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const y=V();return[async()=>{y.clear(),E(await n(a,t),(({tn:a,cn:t})=>ra(ta(y,a,ia),t)))},async(t,e)=>((a,t)=>P(X(y,a),t))(t,e)?Y(g(E(await a(f+D(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,Y(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!r(a)&&!z(t)))):{},async(t,n,s,l,w,d=!1)=>{const v=ia();H(s??{},(a=>E(B(a??{}),(a=>ra(v,a)))));const N=_(v);if(!d&&w&&A(N)&&P(y,t))return await a("DROP "+$+D(t)),void aa(y,t);const h=X(y,t),C=ia(_(h));if(A(N)||(P(y,t)?await u(E([n,...N],(async(e,s)=>{F(C,e)||(await a(S+D(t)+"ADD"+D(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(n)})`),ra(h,e))}))):(await a("CREATE "+$+D(t)+`(${D(n)}${i} PRIMARY KEY${p(E(N,(a=>e+D(a)+i)))});`),aa(y,t,ia([n,...N])))),await u([...!d&&l?E(_(C),(async e=>{e!=n&&(await a(S+D(t)+"DROP"+D(e)),F(h,e))})):[]]),d)r(s)?await a(T+D(t)+O+" true"):await u(H(s,(async(e,s)=>{r(e)?await a(T+D(t)+O+D(n)+"=$1",[s]):A(N)||await ca(a,t,n,B(e),[s,...c?E(W(e),c):W(e)],o)})));else if(A(N))P(y,t)&&await a(T+D(t)+O+" true");else{const e=g(_(X(y,t)),(a=>a!=n)),i=[],r=[];H(s??{},((a,t)=>{m(i,t,...E(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(T+D(t)+O+D(n)+`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}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+D(t)+"("+D(n)+p(E(s,(a=>e+D(a))))+")VALUES"+la(i,w(s)+1)+(r?"":"ON CONFLICT("+D(n)+")DO UPDATE SET"+p(E(s,(a=>D(a)+"=excluded."+D(a))),e)),E(i,(a=>a??null))),la=(a,t)=>p(v(w(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),ya=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v,p)=>{const[E,A,g,m]=oa(t,y,w,s,v,p),h=sa(a,(async()=>await m((async()=>{return await E(),a=(await A(o,c))[N]?.[l]??"null",Q(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(o,c,{[N]:{[l]:(t=a()??null,K(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},wa=(a,t,e,n,s,i,o,[c,l,[y,w,d]],v,p,E,A,m,C,O,$)=>{const[S,T,f,I]=oa(t,v,p,s,m,C,O,$),R=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await f(e,n,a[r],s,i,t)}))),b=async(a,t)=>w?await f(d,h,{[N]:a},!0,!0,t):null,L=sa(a,(async()=>await I((async()=>{await S();const a=await(async()=>Y(g(await u(Z(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!z(a[1])))))(),t=await(async()=>y?(await T(d,h))[N]:{})();return z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await I((async()=>{if(await S(),r(t)){const[t,e]=a();await R(t),await b(e)}else await R(t[0],!0),await b(t[1],!0)}))),e,n,s,o,{[A]:()=>E,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},E);return L},ua="ColumnName",da="store",va="json",pa=da+"TableName",Ea=da+"Id"+ua,Aa=da+ua,ga="autoLoadIntervalSeconds",ma="rowId"+ua,Na="tableId",ha="tableName",Ca="deleteEmptyColumns",Oa="deleteEmptyTable",$a={mode:va,[ga]:1},Sa={load:0,save:0,[ha]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=V();return H(a,((a,o)=>{const l=y(W(k(t,c(a)?{[e]:a}:a)),0,q(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},fa=(a,e,n,s,r,o,l,w,u,d,v="getDb",p)=>{let E,A,g;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[N,$,S,T]=(a=>{const e=(a=>k($a,c(a)?{[pa]:a}:a??{}))(a),n=e[ga];if(e.mode==va){const a=e[pa]??t;return[1,n,[a,e[Ea]??h,e[Aa]??da],ia(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=y(W(k(Sa,r)),0,q(Sa)),l=o[2],w=ia(l),u=ia(l);return[0,n,[Ta(s,{[Na]:null,[ma]:h},Na,(a=>P(u,a)),(a=>ra(w,a))),Ta(i,{[ha]:null,[ma]:h,[Ca]:0,[Oa]:0},ha,((a,t)=>P(u,t)),((a,t)=>ra(w,t))),o],w]})(e);return(N?ya:wa)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${C} ${R} d,${b} s,TOTAL_CHANGES() c FROM ${I}${R} JOIN ${I}${b}`);t==E&&e==A&&n==g||(null!=E&&a(),E=t,A=e,g=n)}catch{}}),1e3*$),n=()=>{E=A=g=null,i(t)},o=s((t=>{T.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(o)}}),(a=>a()),l,w,u,S,_(T),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${L}list()t,${L}info(t.name)c ${O} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),d,v,"",p,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createCrSqliteWasmPersister=(a,t,e,n,s)=>fa(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,(()=>0),1,t);
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>p(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),h="_",C="_id",N="SELECT",$="WHERE",b="TABLE",f="ALTER "+b,O="DELETE FROM",T=N+"*FROM",S="pragma_",I="data_version",R="schema_version",D="pragma_table_",L=a=>`"${a.replace(/"/g,'""')}"`,M=a=>E(p(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),B=U.entries,J=U.keys,Y=U.freeze,k=(a=[])=>U.fromEntries(a),q=(...a)=>U.assign({},...a),x=(a,t)=>(delete a[t],a),G=(a,t)=>p(B(a),(([a,e])=>t(e,a))),H=a=>U.values(a),z=a=>y(J(a)),K=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==z(a),Q=JSON.stringify,V=JSON.parse,W=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=W(),na=W(),sa=(a,t,e,n,s,i,c,w={},y=[])=>{let u,v,E,p=0,g=0,A=0;ta(ea,y,(()=>0)),ta(na,y,(()=>[]));const[h,C,N,$,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!K(a)||!K(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!K(a)||!K(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),f=t=>{(h&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=p&&(p=1,g++,await R((async()=>{try{const a=await t();l(a)?f(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&b(a)}p=0}))),D),T=()=>(v&&(s(v),v=void 0),D),S=async a=>(1!=p&&(p=2,A++,await R((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),I=()=>(o(E,a.delListener),E=void 0,D),R=async(...a)=>(m(X(na,y),...a),await(async()=>{if(!X(ea,y)){for(aa(ea,y,1);!r((a=X(na,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,y,0)}var a})(),D),D={load:O,startAutoLoad:async a=>{await T().load(a);try{v=await n((async(a,t)=>{t||a?2!=p&&(p=1,g++,f(t??a),p=0):await O()}))}catch(a){i?.(a)}return D},stopAutoLoad:T,isAutoLoading:()=>!r(v),save:S,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=N();$(a)&&S(a)})),D),stopAutoSave:I,isAutoSaving:()=>!r(E),schedule:R,getStore:()=>a,destroy:()=>(X(na,y).splice(0,void 0),T().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return Y(D)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const w=W();return[async()=>{w.clear(),p(await n(a,t),(({tn:a,cn:t})=>ra(ta(w,a,ia),t)))},async(t,e)=>((a,t)=>P(X(w,a),t))(t,e)?k(A(p(await a(T+L(t)),(a=>{return[a[e],l?(t=x(a,e),n=l,k(G(t,((a,t)=>[t,n(a,t)])))):x(a,e)];var t,n})),(([a,t])=>!r(a)&&!K(t)))):{},async(t,n,s,l,y,d=!1)=>{const v=ia();G(s??{},(a=>p(J(a??{}),(a=>ra(v,a)))));const h=_(v);if(!d&&y&&g(h)&&P(w,t))return await a("DROP "+b+L(t)),void aa(w,t);const C=X(w,t),N=ia(_(C));if(g(h)||(P(w,t)?await u(p([n,...h],(async(e,s)=>{F(N,e)||(await a(f+L(t)+"ADD"+L(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+L(t)+`(${L(n)})`),ra(C,e))}))):(await a("CREATE "+b+L(t)+`(${L(n)}${i} PRIMARY KEY${E(p(h,(a=>e+L(a)+i)))});`),aa(w,t,ia([n,...h])))),await u([...!d&&l?p(_(N),(async e=>{e!=n&&(await a(f+L(t)+"DROP"+L(e)),F(C,e))})):[]]),d)r(s)?await a(O+L(t)+$+" true"):await u(G(s,(async(e,s)=>{r(e)?await a(O+L(t)+$+L(n)+"=$1",[s]):g(h)||await ca(a,t,n,J(e),[s,...c?p(H(e),c):H(e)],o)})));else if(g(h))P(w,t)&&await a(O+L(t)+$+" true");else{const e=A(_(X(w,t)),(a=>a!=n)),i=[],r=[];G(s??{},((a,t)=>{m(i,t,...p(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(O+L(t)+$+L(n)+`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}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+L(t)+"("+L(n)+E(p(s,(a=>e+L(a))))+")VALUES"+la(i,y(s)+1)+(r?"":"ON CONFLICT("+L(n)+")DO UPDATE SET"+E(p(s,(a=>L(a)+"=excluded."+L(a))),e)),p(i,(a=>a??null))),la=(a,t)=>E(v(y(a)/t,(a=>"("+E(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),wa=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v,E)=>{const[p,g,A,m]=oa(t,w,y,s,v,E),C=sa(a,(async()=>await m((async()=>{return await p(),a=(await g(o,c))[h]?.[l]??"null",V(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await p(),await A(o,c,{[h]:{[l]:(t=a()??null,Q(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(C.stopAutoLoad().stopAutoSave(),i(),C)},u);return C},ya=(a,t,e,n,s,i,o,[c,l,[w,y,d]],v,E,p,g,m,N,$,b)=>{const[f,O,T,S]=oa(t,v,E,s,m,N,$,b),I=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await T(e,n,a[r],s,i,t)}))),R=async(a,t)=>y?await T(d,C,{[h]:a},!0,!0,t):null,D=sa(a,(async()=>await S((async()=>{await f();const a=await(async()=>k(A(await u(Z(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!K(a[1])))))(),t=await(async()=>w?(await O(d,C))[h]:{})();return K(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await f(),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,{[g]:()=>p,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},p);return D},ua="ColumnName",da="store",va="json",Ea=da+"TableName",pa=da+"Id"+ua,ga=da+ua,Aa="autoLoadIntervalSeconds",ma="rowId"+ua,ha="tableId",Ca="tableName",Na="deleteEmptyColumns",$a="deleteEmptyTable",ba={mode:va,[Aa]:1},fa={load:0,save:0,[Ca]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=W();return G(a,((a,o)=>{const l=w(H(q(t,c(a)?{[e]:a}:a)),0,z(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},Ta=(a,e,n,s,r,o,l,y,u,d="getDb",
|
|
1
|
+
"use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>p(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),h="_",C="_id",N="SELECT",$="WHERE",b="TABLE",f="ALTER "+b,O="DELETE FROM",T=N+"*FROM",S="pragma_",I="data_version",R="schema_version",D="pragma_table_",L=a=>`"${a.replace(/"/g,'""')}"`,M=a=>E(p(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),B=U.entries,J=U.keys,Y=U.freeze,k=(a=[])=>U.fromEntries(a),q=(...a)=>U.assign({},...a),x=(a,t)=>(delete a[t],a),G=(a,t)=>p(B(a),(([a,e])=>t(e,a))),H=a=>U.values(a),z=a=>y(J(a)),K=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==z(a),Q=JSON.stringify,V=JSON.parse,W=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=W(),na=W(),sa=(a,t,e,n,s,i,c,w={},y=[])=>{let u,v,E,p=0,g=0,A=0;ta(ea,y,(()=>0)),ta(na,y,(()=>[]));const[h,C,N,$,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!K(a)||!K(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!K(a)||!K(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),f=t=>{(h&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=p&&(p=1,g++,await R((async()=>{try{const a=await t();l(a)?f(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&b(a)}p=0}))),D),T=()=>(v&&(s(v),v=void 0),D),S=async a=>(1!=p&&(p=2,A++,await R((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),I=()=>(o(E,a.delListener),E=void 0,D),R=async(...a)=>(m(X(na,y),...a),await(async()=>{if(!X(ea,y)){for(aa(ea,y,1);!r((a=X(na,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,y,0)}var a})(),D),D={load:O,startAutoLoad:async a=>{await T().load(a);try{v=await n((async(a,t)=>{t||a?2!=p&&(p=1,g++,f(t??a),p=0):await O()}))}catch(a){i?.(a)}return D},stopAutoLoad:T,isAutoLoading:()=>!r(v),save:S,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=N();$(a)&&S(a)})),D),stopAutoSave:I,isAutoSaving:()=>!r(E),schedule:R,getStore:()=>a,destroy:()=>(X(na,y).splice(0,void 0),T().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return Y(D)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const w=W();return[async()=>{w.clear(),p(await n(a,t),(({tn:a,cn:t})=>ra(ta(w,a,ia),t)))},async(t,e)=>((a,t)=>P(X(w,a),t))(t,e)?k(A(p(await a(T+L(t)),(a=>{return[a[e],l?(t=x(a,e),n=l,k(G(t,((a,t)=>[t,n(a,t)])))):x(a,e)];var t,n})),(([a,t])=>!r(a)&&!K(t)))):{},async(t,n,s,l,y,d=!1)=>{const v=ia();G(s??{},(a=>p(J(a??{}),(a=>ra(v,a)))));const h=_(v);if(!d&&y&&g(h)&&P(w,t))return await a("DROP "+b+L(t)),void aa(w,t);const C=X(w,t),N=ia(_(C));if(g(h)||(P(w,t)?await u(p([n,...h],(async(e,s)=>{F(N,e)||(await a(f+L(t)+"ADD"+L(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+L(t)+`(${L(n)})`),ra(C,e))}))):(await a("CREATE "+b+L(t)+`(${L(n)}${i} PRIMARY KEY${E(p(h,(a=>e+L(a)+i)))});`),aa(w,t,ia([n,...h])))),await u([...!d&&l?p(_(N),(async e=>{e!=n&&(await a(f+L(t)+"DROP"+L(e)),F(C,e))})):[]]),d)r(s)?await a(O+L(t)+$+" true"):await u(G(s,(async(e,s)=>{r(e)?await a(O+L(t)+$+L(n)+"=$1",[s]):g(h)||await ca(a,t,n,J(e),[s,...c?p(H(e),c):H(e)],o)})));else if(g(h))P(w,t)&&await a(O+L(t)+$+" true");else{const e=A(_(X(w,t)),(a=>a!=n)),i=[],r=[];G(s??{},((a,t)=>{m(i,t,...p(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(O+L(t)+$+L(n)+`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}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+L(t)+"("+L(n)+E(p(s,(a=>e+L(a))))+")VALUES"+la(i,y(s)+1)+(r?"":"ON CONFLICT("+L(n)+")DO UPDATE SET"+E(p(s,(a=>L(a)+"=excluded."+L(a))),e)),p(i,(a=>a??null))),la=(a,t)=>E(v(y(a)/t,(a=>"("+E(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),wa=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v,E)=>{const[p,g,A,m]=oa(t,w,y,s,v,E),C=sa(a,(async()=>await m((async()=>{return await p(),a=(await g(o,c))[h]?.[l]??"null",V(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await p(),await A(o,c,{[h]:{[l]:(t=a()??null,Q(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(C.stopAutoLoad().stopAutoSave(),i(),C)},u);return C},ya=(a,t,e,n,s,i,o,[c,l,[w,y,d]],v,E,p,g,m,N,$,b)=>{const[f,O,T,S]=oa(t,v,E,s,m,N,$,b),I=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await T(e,n,a[r],s,i,t)}))),R=async(a,t)=>y?await T(d,C,{[h]:a},!0,!0,t):null,D=sa(a,(async()=>await S((async()=>{await f();const a=await(async()=>k(A(await u(Z(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!K(a[1])))))(),t=await(async()=>w?(await O(d,C))[h]:{})();return K(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await f(),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,{[g]:()=>p,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},p);return D},ua="ColumnName",da="store",va="json",Ea=da+"TableName",pa=da+"Id"+ua,ga=da+ua,Aa="autoLoadIntervalSeconds",ma="rowId"+ua,ha="tableId",Ca="tableName",Na="deleteEmptyColumns",$a="deleteEmptyTable",ba={mode:va,[Aa]:1},fa={load:0,save:0,[Ca]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=W();return G(a,((a,o)=>{const l=w(H(q(t,c(a)?{[e]:a}:a)),0,z(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},Ta=(a,e,n,s,r,o,l,y,u,d,v="getDb",E)=>{let p,g,A;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[h,b,f,O]=(a=>{const e=(a=>q(ba,c(a)?{[Ea]:a}:a??{}))(a),n=e[Aa];if(e.mode==va){const a=e[Ea]??t;return[1,n,[a,e[pa]??C,e[ga]??da],ia(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=w(H(q(fa,r)),0,z(fa)),l=o[2],y=ia(l),u=ia(l);return[0,n,[Oa(s,{[ha]:null,[ma]:C},ha,(a=>P(u,a)),(a=>ra(y,a))),Oa(i,{[Ca]:null,[ma]:C,[Na]:0,[$a]:0},Ca,((a,t)=>P(u,t)),((a,t)=>ra(y,t))),o],y]})(e);return(h?wa:ya)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${N} ${I} d,${R} s,TOTAL_CHANGES() c FROM ${S}${I} JOIN ${S}${R}`);t==p&&e==g&&n==A||(null!=p&&a(),p=t,g=e,A=n)}catch{}}),1e3*b),n=()=>{p=g=A=null,i(t)},o=s((t=>{O.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(o)}}),(a=>a()),l,y,u,f,_(O),(async(a,t)=>await a(`${N} 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(${M(t)})ORDER BY t.name,c.name`,t)),d,v,"",E,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createElectricSqlPersister=(a,t,e,n,s)=>Ta(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,(()=>0),1,t,"getElectricClient");
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>p(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),h="_",C="_id",N="SELECT",$="WHERE",b="TABLE",f="ALTER "+b,O="DELETE FROM",T=N+"*FROM",S="pragma_",I="data_version",R="schema_version",D="pragma_table_",L=a=>`"${a.replace(/"/g,'""')}"`,M=a=>E(p(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),B=U.entries,J=U.keys,Y=U.freeze,k=(a=[])=>U.fromEntries(a),q=(...a)=>U.assign({},...a),x=(a,t)=>(delete a[t],a),G=(a,t)=>p(B(a),(([a,e])=>t(e,a))),H=a=>U.values(a),z=a=>y(J(a)),K=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==z(a),Q=JSON.stringify,V=JSON.parse,W=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=W(),na=W(),sa=(a,t,e,n,s,i,c,w={},y=[])=>{let u,v,E,p=0,g=0,A=0;ta(ea,y,(()=>0)),ta(na,y,(()=>[]));const[h,C,N,$,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!K(a)||!K(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!K(a)||!K(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),f=t=>{(h&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=p&&(p=1,g++,await R((async()=>{try{const a=await t();l(a)?f(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&b(a)}p=0}))),D),T=()=>(v&&(s(v),v=void 0),D),S=async a=>(1!=p&&(p=2,A++,await R((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),I=()=>(o(E,a.delListener),E=void 0,D),R=async(...a)=>(m(X(na,y),...a),await(async()=>{if(!X(ea,y)){for(aa(ea,y,1);!r((a=X(na,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,y,0)}var a})(),D),D={load:O,startAutoLoad:async a=>{await T().load(a);try{v=await n((async(a,t)=>{t||a?2!=p&&(p=1,g++,f(t??a),p=0):await O()}))}catch(a){i?.(a)}return D},stopAutoLoad:T,isAutoLoading:()=>!r(v),save:S,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=N();$(a)&&S(a)})),D),stopAutoSave:I,isAutoSaving:()=>!r(E),schedule:R,getStore:()=>a,destroy:()=>(X(na,y).splice(0,void 0),T().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return Y(D)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const w=W();return[async()=>{w.clear(),p(await n(a,t),(({tn:a,cn:t})=>ra(ta(w,a,ia),t)))},async(t,e)=>((a,t)=>P(X(w,a),t))(t,e)?k(A(p(await a(T+L(t)),(a=>{return[a[e],l?(t=x(a,e),n=l,k(G(t,((a,t)=>[t,n(a,t)])))):x(a,e)];var t,n})),(([a,t])=>!r(a)&&!K(t)))):{},async(t,n,s,l,y,d=!1)=>{const v=ia();G(s??{},(a=>p(J(a??{}),(a=>ra(v,a)))));const h=_(v);if(!d&&y&&g(h)&&P(w,t))return await a("DROP "+b+L(t)),void aa(w,t);const C=X(w,t),N=ia(_(C));if(g(h)||(P(w,t)?await u(p([n,...h],(async(e,s)=>{F(N,e)||(await a(f+L(t)+"ADD"+L(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+L(t)+`(${L(n)})`),ra(C,e))}))):(await a("CREATE "+b+L(t)+`(${L(n)}${i} PRIMARY KEY${E(p(h,(a=>e+L(a)+i)))});`),aa(w,t,ia([n,...h])))),await u([...!d&&l?p(_(N),(async e=>{e!=n&&(await a(f+L(t)+"DROP"+L(e)),F(C,e))})):[]]),d)r(s)?await a(O+L(t)+$+" true"):await u(G(s,(async(e,s)=>{r(e)?await a(O+L(t)+$+L(n)+"=$1",[s]):g(h)||await ca(a,t,n,J(e),[s,...c?p(H(e),c):H(e)],o)})));else if(g(h))P(w,t)&&await a(O+L(t)+$+" true");else{const e=A(_(X(w,t)),(a=>a!=n)),i=[],r=[];G(s??{},((a,t)=>{m(i,t,...p(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(O+L(t)+$+L(n)+`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}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+L(t)+"("+L(n)+E(p(s,(a=>e+L(a))))+")VALUES"+la(i,y(s)+1)+(r?"":"ON CONFLICT("+L(n)+")DO UPDATE SET"+E(p(s,(a=>L(a)+"=excluded."+L(a))),e)),p(i,(a=>a??null))),la=(a,t)=>E(v(y(a)/t,(a=>"("+E(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),wa=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v,E)=>{const[p,g,A,m]=oa(t,w,y,s,v,E),C=sa(a,(async()=>await m((async()=>{return await p(),a=(await g(o,c))[h]?.[l]??"null",V(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await p(),await A(o,c,{[h]:{[l]:(t=a()??null,Q(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(C.stopAutoLoad().stopAutoSave(),i(),C)},u);return C},ya=(a,t,e,n,s,i,o,[c,l,[w,y,d]],v,E,p,g,m,N,$,b)=>{const[f,O,T,S]=oa(t,v,E,s,m,N,$,b),I=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await T(e,n,a[r],s,i,t)}))),R=async(a,t)=>y?await T(d,C,{[h]:a},!0,!0,t):null,D=sa(a,(async()=>await S((async()=>{await f();const a=await(async()=>k(A(await u(Z(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!K(a[1])))))(),t=await(async()=>w?(await O(d,C))[h]:{})();return K(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await f(),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,{[g]:()=>p,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},p);return D},ua="ColumnName",da="store",va="json",Ea=da+"TableName",pa=da+"Id"+ua,ga=da+ua,Aa="autoLoadIntervalSeconds",ma="rowId"+ua,ha="tableId",Ca="tableName",Na="deleteEmptyColumns",$a="deleteEmptyTable",ba={mode:va,[Aa]:1},fa={load:0,save:0,[Ca]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=W();return G(a,((a,o)=>{const l=w(H(q(t,c(a)?{[e]:a}:a)),0,z(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},Ta=(a,e,n,s,r,o,l,y,u,d="getDb",
|
|
1
|
+
"use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>p(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),h="_",C="_id",N="SELECT",$="WHERE",b="TABLE",f="ALTER "+b,O="DELETE FROM",T=N+"*FROM",S="pragma_",I="data_version",R="schema_version",D="pragma_table_",L=a=>`"${a.replace(/"/g,'""')}"`,M=a=>E(p(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),B=U.entries,J=U.keys,Y=U.freeze,k=(a=[])=>U.fromEntries(a),q=(...a)=>U.assign({},...a),x=(a,t)=>(delete a[t],a),G=(a,t)=>p(B(a),(([a,e])=>t(e,a))),H=a=>U.values(a),z=a=>y(J(a)),K=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==z(a),Q=JSON.stringify,V=JSON.parse,W=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=W(),na=W(),sa=(a,t,e,n,s,i,c,w={},y=[])=>{let u,v,E,p=0,g=0,A=0;ta(ea,y,(()=>0)),ta(na,y,(()=>[]));const[h,C,N,$,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!K(a)||!K(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!K(a)||!K(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),f=t=>{(h&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=p&&(p=1,g++,await R((async()=>{try{const a=await t();l(a)?f(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&b(a)}p=0}))),D),T=()=>(v&&(s(v),v=void 0),D),S=async a=>(1!=p&&(p=2,A++,await R((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),I=()=>(o(E,a.delListener),E=void 0,D),R=async(...a)=>(m(X(na,y),...a),await(async()=>{if(!X(ea,y)){for(aa(ea,y,1);!r((a=X(na,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,y,0)}var a})(),D),D={load:O,startAutoLoad:async a=>{await T().load(a);try{v=await n((async(a,t)=>{t||a?2!=p&&(p=1,g++,f(t??a),p=0):await O()}))}catch(a){i?.(a)}return D},stopAutoLoad:T,isAutoLoading:()=>!r(v),save:S,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=N();$(a)&&S(a)})),D),stopAutoSave:I,isAutoSaving:()=>!r(E),schedule:R,getStore:()=>a,destroy:()=>(X(na,y).splice(0,void 0),T().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return Y(D)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const w=W();return[async()=>{w.clear(),p(await n(a,t),(({tn:a,cn:t})=>ra(ta(w,a,ia),t)))},async(t,e)=>((a,t)=>P(X(w,a),t))(t,e)?k(A(p(await a(T+L(t)),(a=>{return[a[e],l?(t=x(a,e),n=l,k(G(t,((a,t)=>[t,n(a,t)])))):x(a,e)];var t,n})),(([a,t])=>!r(a)&&!K(t)))):{},async(t,n,s,l,y,d=!1)=>{const v=ia();G(s??{},(a=>p(J(a??{}),(a=>ra(v,a)))));const h=_(v);if(!d&&y&&g(h)&&P(w,t))return await a("DROP "+b+L(t)),void aa(w,t);const C=X(w,t),N=ia(_(C));if(g(h)||(P(w,t)?await u(p([n,...h],(async(e,s)=>{F(N,e)||(await a(f+L(t)+"ADD"+L(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+L(t)+`(${L(n)})`),ra(C,e))}))):(await a("CREATE "+b+L(t)+`(${L(n)}${i} PRIMARY KEY${E(p(h,(a=>e+L(a)+i)))});`),aa(w,t,ia([n,...h])))),await u([...!d&&l?p(_(N),(async e=>{e!=n&&(await a(f+L(t)+"DROP"+L(e)),F(C,e))})):[]]),d)r(s)?await a(O+L(t)+$+" true"):await u(G(s,(async(e,s)=>{r(e)?await a(O+L(t)+$+L(n)+"=$1",[s]):g(h)||await ca(a,t,n,J(e),[s,...c?p(H(e),c):H(e)],o)})));else if(g(h))P(w,t)&&await a(O+L(t)+$+" true");else{const e=A(_(X(w,t)),(a=>a!=n)),i=[],r=[];G(s??{},((a,t)=>{m(i,t,...p(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(O+L(t)+$+L(n)+`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}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+L(t)+"("+L(n)+E(p(s,(a=>e+L(a))))+")VALUES"+la(i,y(s)+1)+(r?"":"ON CONFLICT("+L(n)+")DO UPDATE SET"+E(p(s,(a=>L(a)+"=excluded."+L(a))),e)),p(i,(a=>a??null))),la=(a,t)=>E(v(y(a)/t,(a=>"("+E(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),wa=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v,E)=>{const[p,g,A,m]=oa(t,w,y,s,v,E),C=sa(a,(async()=>await m((async()=>{return await p(),a=(await g(o,c))[h]?.[l]??"null",V(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await p(),await A(o,c,{[h]:{[l]:(t=a()??null,Q(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(C.stopAutoLoad().stopAutoSave(),i(),C)},u);return C},ya=(a,t,e,n,s,i,o,[c,l,[w,y,d]],v,E,p,g,m,N,$,b)=>{const[f,O,T,S]=oa(t,v,E,s,m,N,$,b),I=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await T(e,n,a[r],s,i,t)}))),R=async(a,t)=>y?await T(d,C,{[h]:a},!0,!0,t):null,D=sa(a,(async()=>await S((async()=>{await f();const a=await(async()=>k(A(await u(Z(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!K(a[1])))))(),t=await(async()=>w?(await O(d,C))[h]:{})();return K(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await f(),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,{[g]:()=>p,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},p);return D},ua="ColumnName",da="store",va="json",Ea=da+"TableName",pa=da+"Id"+ua,ga=da+ua,Aa="autoLoadIntervalSeconds",ma="rowId"+ua,ha="tableId",Ca="tableName",Na="deleteEmptyColumns",$a="deleteEmptyTable",ba={mode:va,[Aa]:1},fa={load:0,save:0,[Ca]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=W();return G(a,((a,o)=>{const l=w(H(q(t,c(a)?{[e]:a}:a)),0,z(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},Ta=(a,e,n,s,r,o,l,y,u,d,v="getDb",E)=>{let p,g,A;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[h,b,f,O]=(a=>{const e=(a=>q(ba,c(a)?{[Ea]:a}:a??{}))(a),n=e[Aa];if(e.mode==va){const a=e[Ea]??t;return[1,n,[a,e[pa]??C,e[ga]??da],ia(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=w(H(q(fa,r)),0,z(fa)),l=o[2],y=ia(l),u=ia(l);return[0,n,[Oa(s,{[ha]:null,[ma]:C},ha,(a=>P(u,a)),(a=>ra(y,a))),Oa(i,{[Ca]:null,[ma]:C,[Na]:0,[$a]:0},Ca,((a,t)=>P(u,t)),((a,t)=>ra(y,t))),o],y]})(e);return(h?wa:ya)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${N} ${I} d,${R} s,TOTAL_CHANGES() c FROM ${S}${I} JOIN ${S}${R}`);t==p&&e==g&&n==A||(null!=p&&a(),p=t,g=e,A=n)}catch{}}),1e3*b),n=()=>{p=g=A=null,i(t)},o=s((t=>{O.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(o)}}),(a=>a()),l,y,u,f,_(O),(async(a,t)=>await a(`${N} 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(${M(t)})ORDER BY t.name,c.name`,t)),d,v,"",E,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createElectricSqlPersister=(a,t,e,n,s)=>Ta(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,(()=>0),1,t,"getElectricClient");
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var a=require("expo-sqlite");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,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>A(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),h="_",C="_id",$="SELECT",O="WHERE",S="TABLE",T="ALTER "+S,b="DELETE FROM",f=$+"*FROM",I="pragma_",L="data_version",R="schema_version",D="pragma_table_",M=a=>`"${a.replace(/"/g,'""')}"`,P=a=>E(A(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],x=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),q=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>A(q(a),(([a,e])=>t(e,a))),z=a=>U.values(a),K=a=>u(B(a)),Q=a=>(a=>!o(a)&&c(j(a),(a=>a==U.prototype||o(j(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)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>o(e)?(x(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,r,l={},w=[])=>{let u,d,p,E=0,A=0,g=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[m,h,C,$,O]=((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]:v("Store type not supported by this Persister"))(r,a),S=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,A++,await L((async()=>{try{const a=await t();y(a)?S(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&O(a)}E=0}))),R),b=()=>(d&&(s(d),d=void 0),R),f=async a=>(1!=E&&(E=2,g++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(c(p,a.delListener),p=void 0,R),L=async(...a)=>(N(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!o((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),R),R={load:T,startAutoLoad:async a=>{await b().load(a);try{d=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!o(d),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();$(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!o(p),schedule:L,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...l};return J(R)},ra=a=>new Set(y(a)||o(a)?a:[a]),oa=(a,t)=>a?.add(t),ca=(a,t,e,s,i,r,c,l)=>{const y=X();return[async()=>{y.clear(),A(await e(a,t),(({tn:a,cn:t})=>oa(ea(y,a,ra),t)))},async(t,e)=>((a,t)=>_(Z(y,a),t))(t,e)?Y(m(A(await a(f+M(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,Y(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!o(a)&&!Q(t)))):{},async(t,e,s,l,w,u=!1)=>{const v=ra();H(s??{},(a=>A(B(a??{}),(a=>oa(v,a)))));const p=F(v);if(!u&&w&&g(p)&&_(y,t))return await a("DROP "+S+M(t)),void ta(y,t);const h=Z(y,t),C=ra(F(h));if(g(p)||(_(y,t)?await d(A([e,...p],(async(n,s)=>{x(C,n)||(await a(T+M(t)+"ADD"+M(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+M(t)+`(${M(e)})`),oa(h,n))}))):(await a("CREATE "+S+M(t)+`(${M(e)}${i} PRIMARY KEY${E(A(p,(a=>n+M(a)+i)))});`),ta(y,t,ra([e,...p])))),await d([...!u&&l?A(F(C),(async n=>{n!=e&&(await a(T+M(t)+"DROP"+M(n)),x(h,n))})):[]]),u)o(s)?await a(b+M(t)+O+" true"):await d(H(s,(async(n,s)=>{o(n)?await a(b+M(t)+O+M(e)+"=$1",[s]):g(p)||await la(a,t,e,B(n),[s,...c?A(z(n),c):z(n)],r)})));else if(g(p))_(y,t)&&await a(b+M(t)+O+" true");else{const n=m(F(Z(y,t)),(a=>a!=e)),i=[],o=[];H(s??{},((a,t)=>{N(i,t,...A(n,(t=>c?c(a?.[t]):a?.[t]))),N(o,t)})),await la(a,t,e,n,i,r),await a(b+M(t)+O+M(e)+`NOT IN(${P(o)})`,o)}},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,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+M(t)+"("+M(e)+E(A(s,(a=>n+M(a))))+")VALUES"+ya(i,u(s)+1)+(r?"":"ON CONFLICT("+M(e)+")DO UPDATE SET"+E(A(s,(a=>M(a)+"=excluded."+M(a))),n)),A(i,(a=>a??null))),ya=(a,t)=>E(p(u(a)/t,(a=>"("+E(p(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v,p)=>{const[E,A,g,m]=ca(t,y,w,s,v,p),N=ia(a,(async()=>await m((async()=>{return await E(),a=(await A(o,c))[h]?.[l]??"null",W(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(o,c,{[h]:{[l]:(t=a()??null,V(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(N.stopAutoLoad().stopAutoSave(),i(),N)},u);return N},ua=(a,t,e,n,s,i,r,[c,l,[y,w,u]],v,p,E,A,g,N,$,O)=>{const[S,T,b,f]=ca(t,v,p,s,g,N,$,O),I=async(a,t)=>await d(aa(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await b(e,n,a[r],s,i,t)}))),L=async(a,t)=>w?await b(u,C,{[h]:a},!0,!0,t):null,R=ia(a,(async()=>await f((async()=>{await S();const a=await(async()=>Y(m(await d(aa(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!Q(a[1])))))(),t=await(async()=>y?(await T(u,C))[h]:{})();return Q(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await S(),o(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,r,{[A]:()=>E,destroy:()=>(R.stopAutoLoad().stopAutoSave(),i(),R)},E);return R},da="ColumnName",va="store",pa="json",Ea=va+"TableName",Aa=va+"Id"+da,ga=va+da,ma="autoLoadIntervalSeconds",Na="rowId"+da,ha="tableId",Ca="tableName",$a="deleteEmptyColumns",Oa="deleteEmptyTable",Sa={mode:pa,[ma]:1},Ta={load:0,save:0,[Ca]:e+"_values"},ba=(a,t,e,n,s)=>{const i=X();return H(a,((a,r)=>{const c=w(z(k(t,l(a)?{[e]:a}:a)),0,K(t));o(c[0])||n(r,c[0])||(s(r,c[0]),ta(i,r,c))})),i},fa=(a,t,n,s,i,o,c,y,u,d="getDb",
|
|
1
|
+
"use strict";var a=require("expo-sqlite");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,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>A(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),h="_",C="_id",$="SELECT",O="WHERE",S="TABLE",T="ALTER "+S,b="DELETE FROM",f=$+"*FROM",I="pragma_",L="data_version",R="schema_version",D="pragma_table_",M=a=>`"${a.replace(/"/g,'""')}"`,P=a=>E(A(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],x=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),q=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>A(q(a),(([a,e])=>t(e,a))),z=a=>U.values(a),K=a=>u(B(a)),Q=a=>(a=>!o(a)&&c(j(a),(a=>a==U.prototype||o(j(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)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>o(e)?(x(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,r,l={},w=[])=>{let u,d,p,E=0,A=0,g=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[m,h,C,$,O]=((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]:v("Store type not supported by this Persister"))(r,a),S=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,A++,await L((async()=>{try{const a=await t();y(a)?S(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&O(a)}E=0}))),R),b=()=>(d&&(s(d),d=void 0),R),f=async a=>(1!=E&&(E=2,g++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(c(p,a.delListener),p=void 0,R),L=async(...a)=>(N(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!o((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),R),R={load:T,startAutoLoad:async a=>{await b().load(a);try{d=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!o(d),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();$(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!o(p),schedule:L,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...l};return J(R)},ra=a=>new Set(y(a)||o(a)?a:[a]),oa=(a,t)=>a?.add(t),ca=(a,t,e,s,i,r,c,l)=>{const y=X();return[async()=>{y.clear(),A(await e(a,t),(({tn:a,cn:t})=>oa(ea(y,a,ra),t)))},async(t,e)=>((a,t)=>_(Z(y,a),t))(t,e)?Y(m(A(await a(f+M(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,Y(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!o(a)&&!Q(t)))):{},async(t,e,s,l,w,u=!1)=>{const v=ra();H(s??{},(a=>A(B(a??{}),(a=>oa(v,a)))));const p=F(v);if(!u&&w&&g(p)&&_(y,t))return await a("DROP "+S+M(t)),void ta(y,t);const h=Z(y,t),C=ra(F(h));if(g(p)||(_(y,t)?await d(A([e,...p],(async(n,s)=>{x(C,n)||(await a(T+M(t)+"ADD"+M(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+M(t)+`(${M(e)})`),oa(h,n))}))):(await a("CREATE "+S+M(t)+`(${M(e)}${i} PRIMARY KEY${E(A(p,(a=>n+M(a)+i)))});`),ta(y,t,ra([e,...p])))),await d([...!u&&l?A(F(C),(async n=>{n!=e&&(await a(T+M(t)+"DROP"+M(n)),x(h,n))})):[]]),u)o(s)?await a(b+M(t)+O+" true"):await d(H(s,(async(n,s)=>{o(n)?await a(b+M(t)+O+M(e)+"=$1",[s]):g(p)||await la(a,t,e,B(n),[s,...c?A(z(n),c):z(n)],r)})));else if(g(p))_(y,t)&&await a(b+M(t)+O+" true");else{const n=m(F(Z(y,t)),(a=>a!=e)),i=[],o=[];H(s??{},((a,t)=>{N(i,t,...A(n,(t=>c?c(a?.[t]):a?.[t]))),N(o,t)})),await la(a,t,e,n,i,r),await a(b+M(t)+O+M(e)+`NOT IN(${P(o)})`,o)}},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,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+M(t)+"("+M(e)+E(A(s,(a=>n+M(a))))+")VALUES"+ya(i,u(s)+1)+(r?"":"ON CONFLICT("+M(e)+")DO UPDATE SET"+E(A(s,(a=>M(a)+"=excluded."+M(a))),n)),A(i,(a=>a??null))),ya=(a,t)=>E(p(u(a)/t,(a=>"("+E(p(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v,p)=>{const[E,A,g,m]=ca(t,y,w,s,v,p),N=ia(a,(async()=>await m((async()=>{return await E(),a=(await A(o,c))[h]?.[l]??"null",W(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(o,c,{[h]:{[l]:(t=a()??null,V(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(N.stopAutoLoad().stopAutoSave(),i(),N)},u);return N},ua=(a,t,e,n,s,i,r,[c,l,[y,w,u]],v,p,E,A,g,N,$,O)=>{const[S,T,b,f]=ca(t,v,p,s,g,N,$,O),I=async(a,t)=>await d(aa(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await b(e,n,a[r],s,i,t)}))),L=async(a,t)=>w?await b(u,C,{[h]:a},!0,!0,t):null,R=ia(a,(async()=>await f((async()=>{await S();const a=await(async()=>Y(m(await d(aa(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!Q(a[1])))))(),t=await(async()=>y?(await T(u,C))[h]:{})();return Q(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await S(),o(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,r,{[A]:()=>E,destroy:()=>(R.stopAutoLoad().stopAutoSave(),i(),R)},E);return R},da="ColumnName",va="store",pa="json",Ea=va+"TableName",Aa=va+"Id"+da,ga=va+da,ma="autoLoadIntervalSeconds",Na="rowId"+da,ha="tableId",Ca="tableName",$a="deleteEmptyColumns",Oa="deleteEmptyTable",Sa={mode:pa,[ma]:1},Ta={load:0,save:0,[Ca]:e+"_values"},ba=(a,t,e,n,s)=>{const i=X();return H(a,((a,r)=>{const c=w(z(k(t,l(a)?{[e]:a}:a)),0,K(t));o(c[0])||n(r,c[0])||(s(r,c[0]),ta(i,r,c))})),i},fa=(a,t,n,s,i,o,c,y,u,d,v="getDb",p)=>{let E,A,g;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[N,h,S,T]=(a=>{const t=(a=>k(Sa,l(a)?{[Ea]:a}:a??{}))(a),n=t[ma];if(t.mode==pa){const a=t[Ea]??e;return[1,n,[a,t[Aa]??C,t[ga]??va],ra(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=w(z(k(Ta,r)),0,K(Ta)),c=o[2],y=ra(c),u=ra(c);return[0,n,[ba(s,{[ha]:null,[Na]:C},ha,(a=>_(u,a)),(a=>oa(y,a))),ba(i,{[Ca]:null,[Na]:C,[$a]:0,[Oa]:0},Ca,((a,t)=>_(u,t)),((a,t)=>oa(y,t))),o],y]})(t);return(N?wa:ua)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${$} ${L} d,${R} s,TOTAL_CHANGES() c FROM ${I}${L} JOIN ${I}${R}`);t==E&&e==A&&n==g||(null!=E&&a(),E=t,A=e,g=n)}catch{}}),1e3*h),n=()=>{E=A=g=null,r(t)},o=s((t=>{T.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(o)}}),(a=>a()),c,y,u,S,F(T),(async(a,t)=>await a(`${$} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${O} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),d,v,"",p,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createExpoSqlitePersister=(t,e,n,s,i)=>fa(t,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),s,i,(()=>0),3,e);
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var a=require("expo-sqlite");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,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>A(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),h="_",C="_id",$="SELECT",O="WHERE",S="TABLE",T="ALTER "+S,b="DELETE FROM",f=$+"*FROM",I="pragma_",L="data_version",R="schema_version",D="pragma_table_",M=a=>`"${a.replace(/"/g,'""')}"`,P=a=>E(A(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],x=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),q=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>A(q(a),(([a,e])=>t(e,a))),z=a=>U.values(a),K=a=>u(B(a)),Q=a=>(a=>!o(a)&&c(j(a),(a=>a==U.prototype||o(j(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)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>o(e)?(x(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,r,l={},w=[])=>{let u,d,p,E=0,A=0,g=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[m,h,C,$,O]=((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]:v("Store type not supported by this Persister"))(r,a),S=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,A++,await L((async()=>{try{const a=await t();y(a)?S(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&O(a)}E=0}))),R),b=()=>(d&&(s(d),d=void 0),R),f=async a=>(1!=E&&(E=2,g++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(c(p,a.delListener),p=void 0,R),L=async(...a)=>(N(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!o((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),R),R={load:T,startAutoLoad:async a=>{await b().load(a);try{d=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!o(d),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();$(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!o(p),schedule:L,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...l};return J(R)},ra=a=>new Set(y(a)||o(a)?a:[a]),oa=(a,t)=>a?.add(t),ca=(a,t,e,s,i,r,c,l)=>{const y=X();return[async()=>{y.clear(),A(await e(a,t),(({tn:a,cn:t})=>oa(ea(y,a,ra),t)))},async(t,e)=>((a,t)=>_(Z(y,a),t))(t,e)?Y(m(A(await a(f+M(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,Y(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!o(a)&&!Q(t)))):{},async(t,e,s,l,w,u=!1)=>{const v=ra();H(s??{},(a=>A(B(a??{}),(a=>oa(v,a)))));const p=F(v);if(!u&&w&&g(p)&&_(y,t))return await a("DROP "+S+M(t)),void ta(y,t);const h=Z(y,t),C=ra(F(h));if(g(p)||(_(y,t)?await d(A([e,...p],(async(n,s)=>{x(C,n)||(await a(T+M(t)+"ADD"+M(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+M(t)+`(${M(e)})`),oa(h,n))}))):(await a("CREATE "+S+M(t)+`(${M(e)}${i} PRIMARY KEY${E(A(p,(a=>n+M(a)+i)))});`),ta(y,t,ra([e,...p])))),await d([...!u&&l?A(F(C),(async n=>{n!=e&&(await a(T+M(t)+"DROP"+M(n)),x(h,n))})):[]]),u)o(s)?await a(b+M(t)+O+" true"):await d(H(s,(async(n,s)=>{o(n)?await a(b+M(t)+O+M(e)+"=$1",[s]):g(p)||await la(a,t,e,B(n),[s,...c?A(z(n),c):z(n)],r)})));else if(g(p))_(y,t)&&await a(b+M(t)+O+" true");else{const n=m(F(Z(y,t)),(a=>a!=e)),i=[],o=[];H(s??{},((a,t)=>{N(i,t,...A(n,(t=>c?c(a?.[t]):a?.[t]))),N(o,t)})),await la(a,t,e,n,i,r),await a(b+M(t)+O+M(e)+`NOT IN(${P(o)})`,o)}},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,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+M(t)+"("+M(e)+E(A(s,(a=>n+M(a))))+")VALUES"+ya(i,u(s)+1)+(r?"":"ON CONFLICT("+M(e)+")DO UPDATE SET"+E(A(s,(a=>M(a)+"=excluded."+M(a))),n)),A(i,(a=>a??null))),ya=(a,t)=>E(p(u(a)/t,(a=>"("+E(p(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v,p)=>{const[E,A,g,m]=ca(t,y,w,s,v,p),N=ia(a,(async()=>await m((async()=>{return await E(),a=(await A(o,c))[h]?.[l]??"null",W(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(o,c,{[h]:{[l]:(t=a()??null,V(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(N.stopAutoLoad().stopAutoSave(),i(),N)},u);return N},ua=(a,t,e,n,s,i,r,[c,l,[y,w,u]],v,p,E,A,g,N,$,O)=>{const[S,T,b,f]=ca(t,v,p,s,g,N,$,O),I=async(a,t)=>await d(aa(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await b(e,n,a[r],s,i,t)}))),L=async(a,t)=>w?await b(u,C,{[h]:a},!0,!0,t):null,R=ia(a,(async()=>await f((async()=>{await S();const a=await(async()=>Y(m(await d(aa(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!Q(a[1])))))(),t=await(async()=>y?(await T(u,C))[h]:{})();return Q(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await S(),o(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,r,{[A]:()=>E,destroy:()=>(R.stopAutoLoad().stopAutoSave(),i(),R)},E);return R},da="ColumnName",va="store",pa="json",Ea=va+"TableName",Aa=va+"Id"+da,ga=va+da,ma="autoLoadIntervalSeconds",Na="rowId"+da,ha="tableId",Ca="tableName",$a="deleteEmptyColumns",Oa="deleteEmptyTable",Sa={mode:pa,[ma]:1},Ta={load:0,save:0,[Ca]:e+"_values"},ba=(a,t,e,n,s)=>{const i=X();return H(a,((a,r)=>{const c=w(z(k(t,l(a)?{[e]:a}:a)),0,K(t));o(c[0])||n(r,c[0])||(s(r,c[0]),ta(i,r,c))})),i},fa=(a,t,n,s,i,o,c,y,u,d="getDb",
|
|
1
|
+
"use strict";var a=require("expo-sqlite");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,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>A(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),h="_",C="_id",$="SELECT",O="WHERE",S="TABLE",T="ALTER "+S,b="DELETE FROM",f=$+"*FROM",I="pragma_",L="data_version",R="schema_version",D="pragma_table_",M=a=>`"${a.replace(/"/g,'""')}"`,P=a=>E(A(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],x=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),q=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>A(q(a),(([a,e])=>t(e,a))),z=a=>U.values(a),K=a=>u(B(a)),Q=a=>(a=>!o(a)&&c(j(a),(a=>a==U.prototype||o(j(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)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>o(e)?(x(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,r,l={},w=[])=>{let u,d,p,E=0,A=0,g=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[m,h,C,$,O]=((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]:v("Store type not supported by this Persister"))(r,a),S=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,A++,await L((async()=>{try{const a=await t();y(a)?S(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&O(a)}E=0}))),R),b=()=>(d&&(s(d),d=void 0),R),f=async a=>(1!=E&&(E=2,g++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(c(p,a.delListener),p=void 0,R),L=async(...a)=>(N(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!o((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),R),R={load:T,startAutoLoad:async a=>{await b().load(a);try{d=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!o(d),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();$(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!o(p),schedule:L,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...l};return J(R)},ra=a=>new Set(y(a)||o(a)?a:[a]),oa=(a,t)=>a?.add(t),ca=(a,t,e,s,i,r,c,l)=>{const y=X();return[async()=>{y.clear(),A(await e(a,t),(({tn:a,cn:t})=>oa(ea(y,a,ra),t)))},async(t,e)=>((a,t)=>_(Z(y,a),t))(t,e)?Y(m(A(await a(f+M(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,Y(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!o(a)&&!Q(t)))):{},async(t,e,s,l,w,u=!1)=>{const v=ra();H(s??{},(a=>A(B(a??{}),(a=>oa(v,a)))));const p=F(v);if(!u&&w&&g(p)&&_(y,t))return await a("DROP "+S+M(t)),void ta(y,t);const h=Z(y,t),C=ra(F(h));if(g(p)||(_(y,t)?await d(A([e,...p],(async(n,s)=>{x(C,n)||(await a(T+M(t)+"ADD"+M(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+M(t)+`(${M(e)})`),oa(h,n))}))):(await a("CREATE "+S+M(t)+`(${M(e)}${i} PRIMARY KEY${E(A(p,(a=>n+M(a)+i)))});`),ta(y,t,ra([e,...p])))),await d([...!u&&l?A(F(C),(async n=>{n!=e&&(await a(T+M(t)+"DROP"+M(n)),x(h,n))})):[]]),u)o(s)?await a(b+M(t)+O+" true"):await d(H(s,(async(n,s)=>{o(n)?await a(b+M(t)+O+M(e)+"=$1",[s]):g(p)||await la(a,t,e,B(n),[s,...c?A(z(n),c):z(n)],r)})));else if(g(p))_(y,t)&&await a(b+M(t)+O+" true");else{const n=m(F(Z(y,t)),(a=>a!=e)),i=[],o=[];H(s??{},((a,t)=>{N(i,t,...A(n,(t=>c?c(a?.[t]):a?.[t]))),N(o,t)})),await la(a,t,e,n,i,r),await a(b+M(t)+O+M(e)+`NOT IN(${P(o)})`,o)}},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,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+M(t)+"("+M(e)+E(A(s,(a=>n+M(a))))+")VALUES"+ya(i,u(s)+1)+(r?"":"ON CONFLICT("+M(e)+")DO UPDATE SET"+E(A(s,(a=>M(a)+"=excluded."+M(a))),n)),A(i,(a=>a??null))),ya=(a,t)=>E(p(u(a)/t,(a=>"("+E(p(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v,p)=>{const[E,A,g,m]=ca(t,y,w,s,v,p),N=ia(a,(async()=>await m((async()=>{return await E(),a=(await A(o,c))[h]?.[l]??"null",W(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(o,c,{[h]:{[l]:(t=a()??null,V(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(N.stopAutoLoad().stopAutoSave(),i(),N)},u);return N},ua=(a,t,e,n,s,i,r,[c,l,[y,w,u]],v,p,E,A,g,N,$,O)=>{const[S,T,b,f]=ca(t,v,p,s,g,N,$,O),I=async(a,t)=>await d(aa(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await b(e,n,a[r],s,i,t)}))),L=async(a,t)=>w?await b(u,C,{[h]:a},!0,!0,t):null,R=ia(a,(async()=>await f((async()=>{await S();const a=await(async()=>Y(m(await d(aa(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!Q(a[1])))))(),t=await(async()=>y?(await T(u,C))[h]:{})();return Q(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await S(),o(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,r,{[A]:()=>E,destroy:()=>(R.stopAutoLoad().stopAutoSave(),i(),R)},E);return R},da="ColumnName",va="store",pa="json",Ea=va+"TableName",Aa=va+"Id"+da,ga=va+da,ma="autoLoadIntervalSeconds",Na="rowId"+da,ha="tableId",Ca="tableName",$a="deleteEmptyColumns",Oa="deleteEmptyTable",Sa={mode:pa,[ma]:1},Ta={load:0,save:0,[Ca]:e+"_values"},ba=(a,t,e,n,s)=>{const i=X();return H(a,((a,r)=>{const c=w(z(k(t,l(a)?{[e]:a}:a)),0,K(t));o(c[0])||n(r,c[0])||(s(r,c[0]),ta(i,r,c))})),i},fa=(a,t,n,s,i,o,c,y,u,d,v="getDb",p)=>{let E,A,g;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[N,h,S,T]=(a=>{const t=(a=>k(Sa,l(a)?{[Ea]:a}:a??{}))(a),n=t[ma];if(t.mode==pa){const a=t[Ea]??e;return[1,n,[a,t[Aa]??C,t[ga]??va],ra(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=w(z(k(Ta,r)),0,K(Ta)),c=o[2],y=ra(c),u=ra(c);return[0,n,[ba(s,{[ha]:null,[Na]:C},ha,(a=>_(u,a)),(a=>oa(y,a))),ba(i,{[Ca]:null,[Na]:C,[$a]:0,[Oa]:0},Ca,((a,t)=>_(u,t)),((a,t)=>oa(y,t))),o],y]})(t);return(N?wa:ua)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${$} ${L} d,${R} s,TOTAL_CHANGES() c FROM ${I}${L} JOIN ${I}${R}`);t==E&&e==A&&n==g||(null!=E&&a(),E=t,A=e,g=n)}catch{}}),1e3*h),n=()=>{E=A=g=null,r(t)},o=s((t=>{T.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(o)}}),(a=>a()),c,y,u,S,F(T),(async(a,t)=>await a(`${$} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${O} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),d,v,"",p,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createExpoSqlitePersister=(t,e,n,s,i)=>fa(t,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),s,i,(()=>0),3,e);
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",$="WHERE",O="TABLE",S="ALTER "+O,T="DELETE FROM",b=C+"*FROM",f="pragma_",I="data_version",L="schema_version",R="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),x=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),q=(a,t)=>(delete a[t],a),G=(a,t)=>E(x(a),(([a,e])=>t(e,a))),H=a=>U.values(a),z=a=>y(B(a)),K=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==z(a),Q=JSON.stringify,V=JSON.parse,W=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=W(),na=W(),sa=(a,t,e,n,s,i,c,w={},y=[])=>{let u,v,p,E=0,g=0,A=0;ta(ea,y,(()=>0)),ta(na,y,(()=>[]));const[N,h,C,$,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!K(a)||!K(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!K(a)||!K(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),S=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,g++,await L((async()=>{try{const a=await t();l(a)?S(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&O(a)}E=0}))),R),b=()=>(v&&(s(v),v=void 0),R),f=async a=>(1!=E&&(E=2,A++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(o(p,a.delListener),p=void 0,R),L=async(...a)=>(m(X(na,y),...a),await(async()=>{if(!X(ea,y)){for(aa(ea,y,1);!r((a=X(na,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,y,0)}var a})(),R),R={load:T,startAutoLoad:async a=>{await b().load(a);try{v=await n((async(a,t)=>{t||a?2!=E&&(E=1,g++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!r(v),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();$(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!r(p),schedule:L,getStore:()=>a,destroy:()=>(X(na,y).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return J(R)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const w=W();return[async()=>{w.clear(),E(await n(a,t),(({tn:a,cn:t})=>ra(ta(w,a,ia),t)))},async(t,e)=>((a,t)=>P(X(w,a),t))(t,e)?Y(A(E(await a(b+D(t)),(a=>{return[a[e],l?(t=q(a,e),n=l,Y(G(t,((a,t)=>[t,n(a,t)])))):q(a,e)];var t,n})),(([a,t])=>!r(a)&&!K(t)))):{},async(t,n,s,l,y,d=!1)=>{const v=ia();G(s??{},(a=>E(B(a??{}),(a=>ra(v,a)))));const N=_(v);if(!d&&y&&g(N)&&P(w,t))return await a("DROP "+O+D(t)),void aa(w,t);const h=X(w,t),C=ia(_(h));if(g(N)||(P(w,t)?await u(E([n,...N],(async(e,s)=>{F(C,e)||(await a(S+D(t)+"ADD"+D(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(n)})`),ra(h,e))}))):(await a("CREATE "+O+D(t)+`(${D(n)}${i} PRIMARY KEY${p(E(N,(a=>e+D(a)+i)))});`),aa(w,t,ia([n,...N])))),await u([...!d&&l?E(_(C),(async e=>{e!=n&&(await a(S+D(t)+"DROP"+D(e)),F(h,e))})):[]]),d)r(s)?await a(T+D(t)+$+" true"):await u(G(s,(async(e,s)=>{r(e)?await a(T+D(t)+$+D(n)+"=$1",[s]):g(N)||await ca(a,t,n,B(e),[s,...c?E(H(e),c):H(e)],o)})));else if(g(N))P(w,t)&&await a(T+D(t)+$+" true");else{const e=A(_(X(w,t)),(a=>a!=n)),i=[],r=[];G(s??{},((a,t)=>{m(i,t,...E(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(T+D(t)+$+D(n)+`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}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+D(t)+"("+D(n)+p(E(s,(a=>e+D(a))))+")VALUES"+la(i,y(s)+1)+(r?"":"ON CONFLICT("+D(n)+")DO UPDATE SET"+p(E(s,(a=>D(a)+"=excluded."+D(a))),e)),E(i,(a=>a??null))),la=(a,t)=>p(v(y(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),wa=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v,p)=>{const[E,g,A,m]=oa(t,w,y,s,v,p),h=sa(a,(async()=>await m((async()=>{return await E(),a=(await g(o,c))[N]?.[l]??"null",V(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await A(o,c,{[N]:{[l]:(t=a()??null,Q(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},ya=(a,t,e,n,s,i,o,[c,l,[w,y,d]],v,p,E,g,m,C,$,O)=>{const[S,T,b,f]=oa(t,v,p,s,m,C,$,O),I=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await b(e,n,a[r],s,i,t)}))),L=async(a,t)=>y?await b(d,h,{[N]:a},!0,!0,t):null,R=sa(a,(async()=>await f((async()=>{await S();const a=await(async()=>Y(A(await u(Z(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!K(a[1])))))(),t=await(async()=>w?(await T(d,h))[N]:{})();return K(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await S(),r(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,o,{[g]:()=>E,destroy:()=>(R.stopAutoLoad().stopAutoSave(),i(),R)},E);return R},ua="ColumnName",da="store",va="json",pa=da+"TableName",Ea=da+"Id"+ua,ga=da+ua,Aa="autoLoadIntervalSeconds",ma="rowId"+ua,Na="tableId",ha="tableName",Ca="deleteEmptyColumns",$a="deleteEmptyTable",Oa={mode:va,[Aa]:1},Sa={load:0,save:0,[ha]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=W();return G(a,((a,o)=>{const l=w(H(k(t,c(a)?{[e]:a}:a)),0,z(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},ba=(a,e,n,s,r,o,l,y,u,d="getDb",
|
|
1
|
+
"use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",$="WHERE",O="TABLE",S="ALTER "+O,T="DELETE FROM",b=C+"*FROM",f="pragma_",I="data_version",L="schema_version",R="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),x=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),q=(a,t)=>(delete a[t],a),G=(a,t)=>E(x(a),(([a,e])=>t(e,a))),H=a=>U.values(a),z=a=>y(B(a)),K=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==z(a),Q=JSON.stringify,V=JSON.parse,W=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=W(),na=W(),sa=(a,t,e,n,s,i,c,w={},y=[])=>{let u,v,p,E=0,g=0,A=0;ta(ea,y,(()=>0)),ta(na,y,(()=>[]));const[N,h,C,$,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!K(a)||!K(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!K(a)||!K(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),S=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,g++,await L((async()=>{try{const a=await t();l(a)?S(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&O(a)}E=0}))),R),b=()=>(v&&(s(v),v=void 0),R),f=async a=>(1!=E&&(E=2,A++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(o(p,a.delListener),p=void 0,R),L=async(...a)=>(m(X(na,y),...a),await(async()=>{if(!X(ea,y)){for(aa(ea,y,1);!r((a=X(na,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,y,0)}var a})(),R),R={load:T,startAutoLoad:async a=>{await b().load(a);try{v=await n((async(a,t)=>{t||a?2!=E&&(E=1,g++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!r(v),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();$(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!r(p),schedule:L,getStore:()=>a,destroy:()=>(X(na,y).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return J(R)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const w=W();return[async()=>{w.clear(),E(await n(a,t),(({tn:a,cn:t})=>ra(ta(w,a,ia),t)))},async(t,e)=>((a,t)=>P(X(w,a),t))(t,e)?Y(A(E(await a(b+D(t)),(a=>{return[a[e],l?(t=q(a,e),n=l,Y(G(t,((a,t)=>[t,n(a,t)])))):q(a,e)];var t,n})),(([a,t])=>!r(a)&&!K(t)))):{},async(t,n,s,l,y,d=!1)=>{const v=ia();G(s??{},(a=>E(B(a??{}),(a=>ra(v,a)))));const N=_(v);if(!d&&y&&g(N)&&P(w,t))return await a("DROP "+O+D(t)),void aa(w,t);const h=X(w,t),C=ia(_(h));if(g(N)||(P(w,t)?await u(E([n,...N],(async(e,s)=>{F(C,e)||(await a(S+D(t)+"ADD"+D(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(n)})`),ra(h,e))}))):(await a("CREATE "+O+D(t)+`(${D(n)}${i} PRIMARY KEY${p(E(N,(a=>e+D(a)+i)))});`),aa(w,t,ia([n,...N])))),await u([...!d&&l?E(_(C),(async e=>{e!=n&&(await a(S+D(t)+"DROP"+D(e)),F(h,e))})):[]]),d)r(s)?await a(T+D(t)+$+" true"):await u(G(s,(async(e,s)=>{r(e)?await a(T+D(t)+$+D(n)+"=$1",[s]):g(N)||await ca(a,t,n,B(e),[s,...c?E(H(e),c):H(e)],o)})));else if(g(N))P(w,t)&&await a(T+D(t)+$+" true");else{const e=A(_(X(w,t)),(a=>a!=n)),i=[],r=[];G(s??{},((a,t)=>{m(i,t,...E(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(T+D(t)+$+D(n)+`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}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+D(t)+"("+D(n)+p(E(s,(a=>e+D(a))))+")VALUES"+la(i,y(s)+1)+(r?"":"ON CONFLICT("+D(n)+")DO UPDATE SET"+p(E(s,(a=>D(a)+"=excluded."+D(a))),e)),E(i,(a=>a??null))),la=(a,t)=>p(v(y(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),wa=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v,p)=>{const[E,g,A,m]=oa(t,w,y,s,v,p),h=sa(a,(async()=>await m((async()=>{return await E(),a=(await g(o,c))[N]?.[l]??"null",V(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await A(o,c,{[N]:{[l]:(t=a()??null,Q(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},ya=(a,t,e,n,s,i,o,[c,l,[w,y,d]],v,p,E,g,m,C,$,O)=>{const[S,T,b,f]=oa(t,v,p,s,m,C,$,O),I=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await b(e,n,a[r],s,i,t)}))),L=async(a,t)=>y?await b(d,h,{[N]:a},!0,!0,t):null,R=sa(a,(async()=>await f((async()=>{await S();const a=await(async()=>Y(A(await u(Z(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!K(a[1])))))(),t=await(async()=>w?(await T(d,h))[N]:{})();return K(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await S(),r(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,o,{[g]:()=>E,destroy:()=>(R.stopAutoLoad().stopAutoSave(),i(),R)},E);return R},ua="ColumnName",da="store",va="json",pa=da+"TableName",Ea=da+"Id"+ua,ga=da+ua,Aa="autoLoadIntervalSeconds",ma="rowId"+ua,Na="tableId",ha="tableName",Ca="deleteEmptyColumns",$a="deleteEmptyTable",Oa={mode:va,[Aa]:1},Sa={load:0,save:0,[ha]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=W();return G(a,((a,o)=>{const l=w(H(k(t,c(a)?{[e]:a}:a)),0,z(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},ba=(a,e,n,s,r,o,l,y,u,d,v="getDb",p)=>{let E,g,A;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[N,O,S,T]=(a=>{const e=(a=>k(Oa,c(a)?{[pa]:a}:a??{}))(a),n=e[Aa];if(e.mode==va){const a=e[pa]??t;return[1,n,[a,e[Ea]??h,e[ga]??da],ia(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=w(H(k(Sa,r)),0,z(Sa)),l=o[2],y=ia(l),u=ia(l);return[0,n,[Ta(s,{[Na]:null,[ma]:h},Na,(a=>P(u,a)),(a=>ra(y,a))),Ta(i,{[ha]:null,[ma]:h,[Ca]:0,[$a]:0},ha,((a,t)=>P(u,t)),((a,t)=>ra(y,t))),o],y]})(e);return(N?wa:ya)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${C} ${I} d,${L} s,TOTAL_CHANGES() c FROM ${f}${I} JOIN ${f}${L}`);t==E&&e==g&&n==A||(null!=E&&a(),E=t,g=e,A=n)}catch{}}),1e3*O),n=()=>{E=g=A=null,i(t)},o=s((t=>{T.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(o)}}),(a=>a()),l,y,u,S,_(T),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${R}list()t,${R}info(t.name)c ${$} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),d,v,"",p,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createLibSqlPersister=(a,t,e,n,s)=>ba(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),n,s,(()=>0),1,t,"getClient");
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",$="WHERE",O="TABLE",S="ALTER "+O,T="DELETE FROM",b=C+"*FROM",f="pragma_",I="data_version",L="schema_version",R="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),x=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),q=(a,t)=>(delete a[t],a),G=(a,t)=>E(x(a),(([a,e])=>t(e,a))),H=a=>U.values(a),z=a=>y(B(a)),K=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==z(a),Q=JSON.stringify,V=JSON.parse,W=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=W(),na=W(),sa=(a,t,e,n,s,i,c,w={},y=[])=>{let u,v,p,E=0,g=0,A=0;ta(ea,y,(()=>0)),ta(na,y,(()=>[]));const[N,h,C,$,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!K(a)||!K(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!K(a)||!K(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),S=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,g++,await L((async()=>{try{const a=await t();l(a)?S(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&O(a)}E=0}))),R),b=()=>(v&&(s(v),v=void 0),R),f=async a=>(1!=E&&(E=2,A++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(o(p,a.delListener),p=void 0,R),L=async(...a)=>(m(X(na,y),...a),await(async()=>{if(!X(ea,y)){for(aa(ea,y,1);!r((a=X(na,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,y,0)}var a})(),R),R={load:T,startAutoLoad:async a=>{await b().load(a);try{v=await n((async(a,t)=>{t||a?2!=E&&(E=1,g++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!r(v),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();$(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!r(p),schedule:L,getStore:()=>a,destroy:()=>(X(na,y).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return J(R)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const w=W();return[async()=>{w.clear(),E(await n(a,t),(({tn:a,cn:t})=>ra(ta(w,a,ia),t)))},async(t,e)=>((a,t)=>P(X(w,a),t))(t,e)?Y(A(E(await a(b+D(t)),(a=>{return[a[e],l?(t=q(a,e),n=l,Y(G(t,((a,t)=>[t,n(a,t)])))):q(a,e)];var t,n})),(([a,t])=>!r(a)&&!K(t)))):{},async(t,n,s,l,y,d=!1)=>{const v=ia();G(s??{},(a=>E(B(a??{}),(a=>ra(v,a)))));const N=_(v);if(!d&&y&&g(N)&&P(w,t))return await a("DROP "+O+D(t)),void aa(w,t);const h=X(w,t),C=ia(_(h));if(g(N)||(P(w,t)?await u(E([n,...N],(async(e,s)=>{F(C,e)||(await a(S+D(t)+"ADD"+D(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(n)})`),ra(h,e))}))):(await a("CREATE "+O+D(t)+`(${D(n)}${i} PRIMARY KEY${p(E(N,(a=>e+D(a)+i)))});`),aa(w,t,ia([n,...N])))),await u([...!d&&l?E(_(C),(async e=>{e!=n&&(await a(S+D(t)+"DROP"+D(e)),F(h,e))})):[]]),d)r(s)?await a(T+D(t)+$+" true"):await u(G(s,(async(e,s)=>{r(e)?await a(T+D(t)+$+D(n)+"=$1",[s]):g(N)||await ca(a,t,n,B(e),[s,...c?E(H(e),c):H(e)],o)})));else if(g(N))P(w,t)&&await a(T+D(t)+$+" true");else{const e=A(_(X(w,t)),(a=>a!=n)),i=[],r=[];G(s??{},((a,t)=>{m(i,t,...E(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(T+D(t)+$+D(n)+`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}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+D(t)+"("+D(n)+p(E(s,(a=>e+D(a))))+")VALUES"+la(i,y(s)+1)+(r?"":"ON CONFLICT("+D(n)+")DO UPDATE SET"+p(E(s,(a=>D(a)+"=excluded."+D(a))),e)),E(i,(a=>a??null))),la=(a,t)=>p(v(y(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),wa=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v,p)=>{const[E,g,A,m]=oa(t,w,y,s,v,p),h=sa(a,(async()=>await m((async()=>{return await E(),a=(await g(o,c))[N]?.[l]??"null",V(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await A(o,c,{[N]:{[l]:(t=a()??null,Q(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},ya=(a,t,e,n,s,i,o,[c,l,[w,y,d]],v,p,E,g,m,C,$,O)=>{const[S,T,b,f]=oa(t,v,p,s,m,C,$,O),I=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await b(e,n,a[r],s,i,t)}))),L=async(a,t)=>y?await b(d,h,{[N]:a},!0,!0,t):null,R=sa(a,(async()=>await f((async()=>{await S();const a=await(async()=>Y(A(await u(Z(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!K(a[1])))))(),t=await(async()=>w?(await T(d,h))[N]:{})();return K(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await S(),r(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,o,{[g]:()=>E,destroy:()=>(R.stopAutoLoad().stopAutoSave(),i(),R)},E);return R},ua="ColumnName",da="store",va="json",pa=da+"TableName",Ea=da+"Id"+ua,ga=da+ua,Aa="autoLoadIntervalSeconds",ma="rowId"+ua,Na="tableId",ha="tableName",Ca="deleteEmptyColumns",$a="deleteEmptyTable",Oa={mode:va,[Aa]:1},Sa={load:0,save:0,[ha]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=W();return G(a,((a,o)=>{const l=w(H(k(t,c(a)?{[e]:a}:a)),0,z(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},ba=(a,e,n,s,r,o,l,y,u,d="getDb",
|
|
1
|
+
"use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",$="WHERE",O="TABLE",S="ALTER "+O,T="DELETE FROM",b=C+"*FROM",f="pragma_",I="data_version",L="schema_version",R="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),x=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),q=(a,t)=>(delete a[t],a),G=(a,t)=>E(x(a),(([a,e])=>t(e,a))),H=a=>U.values(a),z=a=>y(B(a)),K=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==z(a),Q=JSON.stringify,V=JSON.parse,W=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=W(),na=W(),sa=(a,t,e,n,s,i,c,w={},y=[])=>{let u,v,p,E=0,g=0,A=0;ta(ea,y,(()=>0)),ta(na,y,(()=>[]));const[N,h,C,$,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!K(a)||!K(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!K(a)||!K(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),S=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,g++,await L((async()=>{try{const a=await t();l(a)?S(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&O(a)}E=0}))),R),b=()=>(v&&(s(v),v=void 0),R),f=async a=>(1!=E&&(E=2,A++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(o(p,a.delListener),p=void 0,R),L=async(...a)=>(m(X(na,y),...a),await(async()=>{if(!X(ea,y)){for(aa(ea,y,1);!r((a=X(na,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,y,0)}var a})(),R),R={load:T,startAutoLoad:async a=>{await b().load(a);try{v=await n((async(a,t)=>{t||a?2!=E&&(E=1,g++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!r(v),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();$(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!r(p),schedule:L,getStore:()=>a,destroy:()=>(X(na,y).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return J(R)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const w=W();return[async()=>{w.clear(),E(await n(a,t),(({tn:a,cn:t})=>ra(ta(w,a,ia),t)))},async(t,e)=>((a,t)=>P(X(w,a),t))(t,e)?Y(A(E(await a(b+D(t)),(a=>{return[a[e],l?(t=q(a,e),n=l,Y(G(t,((a,t)=>[t,n(a,t)])))):q(a,e)];var t,n})),(([a,t])=>!r(a)&&!K(t)))):{},async(t,n,s,l,y,d=!1)=>{const v=ia();G(s??{},(a=>E(B(a??{}),(a=>ra(v,a)))));const N=_(v);if(!d&&y&&g(N)&&P(w,t))return await a("DROP "+O+D(t)),void aa(w,t);const h=X(w,t),C=ia(_(h));if(g(N)||(P(w,t)?await u(E([n,...N],(async(e,s)=>{F(C,e)||(await a(S+D(t)+"ADD"+D(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(n)})`),ra(h,e))}))):(await a("CREATE "+O+D(t)+`(${D(n)}${i} PRIMARY KEY${p(E(N,(a=>e+D(a)+i)))});`),aa(w,t,ia([n,...N])))),await u([...!d&&l?E(_(C),(async e=>{e!=n&&(await a(S+D(t)+"DROP"+D(e)),F(h,e))})):[]]),d)r(s)?await a(T+D(t)+$+" true"):await u(G(s,(async(e,s)=>{r(e)?await a(T+D(t)+$+D(n)+"=$1",[s]):g(N)||await ca(a,t,n,B(e),[s,...c?E(H(e),c):H(e)],o)})));else if(g(N))P(w,t)&&await a(T+D(t)+$+" true");else{const e=A(_(X(w,t)),(a=>a!=n)),i=[],r=[];G(s??{},((a,t)=>{m(i,t,...E(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(T+D(t)+$+D(n)+`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}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+D(t)+"("+D(n)+p(E(s,(a=>e+D(a))))+")VALUES"+la(i,y(s)+1)+(r?"":"ON CONFLICT("+D(n)+")DO UPDATE SET"+p(E(s,(a=>D(a)+"=excluded."+D(a))),e)),E(i,(a=>a??null))),la=(a,t)=>p(v(y(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),wa=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v,p)=>{const[E,g,A,m]=oa(t,w,y,s,v,p),h=sa(a,(async()=>await m((async()=>{return await E(),a=(await g(o,c))[N]?.[l]??"null",V(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await A(o,c,{[N]:{[l]:(t=a()??null,Q(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},ya=(a,t,e,n,s,i,o,[c,l,[w,y,d]],v,p,E,g,m,C,$,O)=>{const[S,T,b,f]=oa(t,v,p,s,m,C,$,O),I=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await b(e,n,a[r],s,i,t)}))),L=async(a,t)=>y?await b(d,h,{[N]:a},!0,!0,t):null,R=sa(a,(async()=>await f((async()=>{await S();const a=await(async()=>Y(A(await u(Z(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!K(a[1])))))(),t=await(async()=>w?(await T(d,h))[N]:{})();return K(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await S(),r(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,o,{[g]:()=>E,destroy:()=>(R.stopAutoLoad().stopAutoSave(),i(),R)},E);return R},ua="ColumnName",da="store",va="json",pa=da+"TableName",Ea=da+"Id"+ua,ga=da+ua,Aa="autoLoadIntervalSeconds",ma="rowId"+ua,Na="tableId",ha="tableName",Ca="deleteEmptyColumns",$a="deleteEmptyTable",Oa={mode:va,[Aa]:1},Sa={load:0,save:0,[ha]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=W();return G(a,((a,o)=>{const l=w(H(k(t,c(a)?{[e]:a}:a)),0,z(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},ba=(a,e,n,s,r,o,l,y,u,d,v="getDb",p)=>{let E,g,A;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[N,O,S,T]=(a=>{const e=(a=>k(Oa,c(a)?{[pa]:a}:a??{}))(a),n=e[Aa];if(e.mode==va){const a=e[pa]??t;return[1,n,[a,e[Ea]??h,e[ga]??da],ia(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=w(H(k(Sa,r)),0,z(Sa)),l=o[2],y=ia(l),u=ia(l);return[0,n,[Ta(s,{[Na]:null,[ma]:h},Na,(a=>P(u,a)),(a=>ra(y,a))),Ta(i,{[ha]:null,[ma]:h,[Ca]:0,[$a]:0},ha,((a,t)=>P(u,t)),((a,t)=>ra(y,t))),o],y]})(e);return(N?wa:ya)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${C} ${I} d,${L} s,TOTAL_CHANGES() c FROM ${f}${I} JOIN ${f}${L}`);t==E&&e==g&&n==A||(null!=E&&a(),E=t,g=e,A=n)}catch{}}),1e3*O),n=()=>{E=g=A=null,i(t)},o=s((t=>{T.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(o)}}),(a=>a()),l,y,u,S,_(T),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${R}list()t,${R}info(t.name)c ${$} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),d,v,"",p,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createLibSqlPersister=(a,t,e,n,s)=>ba(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),n,s,(()=>0),1,t,"getClient");
|
|
Binary file
|