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
|
@@ -47,13 +47,13 @@ const DATA_VERSION = 'data_version';
|
|
|
47
47
|
const SCHEMA_VERSION = 'schema_version';
|
|
48
48
|
const FROM = 'FROM ';
|
|
49
49
|
const PRAGMA_TABLE = 'pragma_table_';
|
|
50
|
-
const getWrappedCommand = (
|
|
50
|
+
const getWrappedCommand = (executeCommand, onSqlCommand) =>
|
|
51
51
|
onSqlCommand
|
|
52
|
-
? async (sql,
|
|
53
|
-
onSqlCommand(sql,
|
|
54
|
-
return await
|
|
52
|
+
? async (sql, params) => {
|
|
53
|
+
onSqlCommand(sql, params);
|
|
54
|
+
return await executeCommand(sql, params);
|
|
55
55
|
}
|
|
56
|
-
:
|
|
56
|
+
: executeCommand;
|
|
57
57
|
const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
|
|
58
58
|
const getPlaceholders = (array) =>
|
|
59
59
|
arrayJoin(
|
|
@@ -316,7 +316,7 @@ const setNew = (entryOrEntries) =>
|
|
|
316
316
|
const setAdd = (set, value) => set?.add(value);
|
|
317
317
|
|
|
318
318
|
const getCommandFunctions = (
|
|
319
|
-
|
|
319
|
+
databaseExecuteCommand,
|
|
320
320
|
managedTableNames,
|
|
321
321
|
querySchema,
|
|
322
322
|
onIgnoredError,
|
|
@@ -330,8 +330,9 @@ const getCommandFunctions = (
|
|
|
330
330
|
collHas(mapGet(schemaMap, tableName), rowIdColumnName);
|
|
331
331
|
const refreshSchema = async () => {
|
|
332
332
|
collClear(schemaMap);
|
|
333
|
-
arrayMap(
|
|
334
|
-
|
|
333
|
+
arrayMap(
|
|
334
|
+
await querySchema(databaseExecuteCommand, managedTableNames),
|
|
335
|
+
({tn, cn}) => setAdd(mapEnsure(schemaMap, tn, setNew), cn),
|
|
335
336
|
);
|
|
336
337
|
};
|
|
337
338
|
const loadTable = async (tableName, rowIdColumnName) =>
|
|
@@ -339,7 +340,9 @@ const getCommandFunctions = (
|
|
|
339
340
|
? objNew(
|
|
340
341
|
arrayFilter(
|
|
341
342
|
arrayMap(
|
|
342
|
-
await
|
|
343
|
+
await databaseExecuteCommand(
|
|
344
|
+
SELECT_STAR_FROM + escapeId(tableName),
|
|
345
|
+
),
|
|
343
346
|
(row) => [
|
|
344
347
|
row[rowIdColumnName],
|
|
345
348
|
decode
|
|
@@ -372,7 +375,7 @@ const getCommandFunctions = (
|
|
|
372
375
|
arrayIsEmpty(tableColumnNames) &&
|
|
373
376
|
collHas(schemaMap, tableName)
|
|
374
377
|
) {
|
|
375
|
-
await
|
|
378
|
+
await databaseExecuteCommand('DROP ' + TABLE + escapeId(tableName));
|
|
376
379
|
mapSet(schemaMap, tableName);
|
|
377
380
|
return;
|
|
378
381
|
}
|
|
@@ -380,7 +383,7 @@ const getCommandFunctions = (
|
|
|
380
383
|
const currentColumnNames = setNew(collValues(tableSchemaColumns));
|
|
381
384
|
if (!arrayIsEmpty(tableColumnNames)) {
|
|
382
385
|
if (!collHas(schemaMap, tableName)) {
|
|
383
|
-
await
|
|
386
|
+
await databaseExecuteCommand(
|
|
384
387
|
'CREATE ' +
|
|
385
388
|
TABLE +
|
|
386
389
|
escapeId(tableName) +
|
|
@@ -402,7 +405,7 @@ const getCommandFunctions = (
|
|
|
402
405
|
[rowIdColumnName, ...tableColumnNames],
|
|
403
406
|
async (columnName, index) => {
|
|
404
407
|
if (!collDel(currentColumnNames, columnName)) {
|
|
405
|
-
await
|
|
408
|
+
await databaseExecuteCommand(
|
|
406
409
|
ALTER_TABLE +
|
|
407
410
|
escapeId(tableName) +
|
|
408
411
|
'ADD' +
|
|
@@ -410,7 +413,7 @@ const getCommandFunctions = (
|
|
|
410
413
|
columnType,
|
|
411
414
|
);
|
|
412
415
|
if (index == 0) {
|
|
413
|
-
await
|
|
416
|
+
await databaseExecuteCommand(
|
|
414
417
|
'CREATE UNIQUE INDEX pk ON ' +
|
|
415
418
|
escapeId(tableName) +
|
|
416
419
|
`(${escapeId(rowIdColumnName)})`,
|
|
@@ -427,7 +430,7 @@ const getCommandFunctions = (
|
|
|
427
430
|
...(!partial && deleteEmptyColumns
|
|
428
431
|
? arrayMap(collValues(currentColumnNames), async (columnName) => {
|
|
429
432
|
if (columnName != rowIdColumnName) {
|
|
430
|
-
await
|
|
433
|
+
await databaseExecuteCommand(
|
|
431
434
|
ALTER_TABLE +
|
|
432
435
|
escapeId(tableName) +
|
|
433
436
|
'DROP' +
|
|
@@ -440,12 +443,14 @@ const getCommandFunctions = (
|
|
|
440
443
|
]);
|
|
441
444
|
if (partial) {
|
|
442
445
|
if (isUndefined(content)) {
|
|
443
|
-
await
|
|
446
|
+
await databaseExecuteCommand(
|
|
447
|
+
DELETE_FROM + escapeId(tableName) + WHERE + ' true',
|
|
448
|
+
);
|
|
444
449
|
} else {
|
|
445
450
|
await promiseAll(
|
|
446
451
|
objToArray(content, async (row, rowId) => {
|
|
447
452
|
if (isUndefined(row)) {
|
|
448
|
-
await
|
|
453
|
+
await databaseExecuteCommand(
|
|
449
454
|
DELETE_FROM +
|
|
450
455
|
escapeId(tableName) +
|
|
451
456
|
WHERE +
|
|
@@ -455,7 +460,7 @@ const getCommandFunctions = (
|
|
|
455
460
|
);
|
|
456
461
|
} else if (!arrayIsEmpty(tableColumnNames)) {
|
|
457
462
|
await upsert(
|
|
458
|
-
|
|
463
|
+
databaseExecuteCommand,
|
|
459
464
|
tableName,
|
|
460
465
|
rowIdColumnName,
|
|
461
466
|
objIds(row),
|
|
@@ -477,11 +482,11 @@ const getCommandFunctions = (
|
|
|
477
482
|
collValues(mapGet(schemaMap, tableName)),
|
|
478
483
|
(columnName) => columnName != rowIdColumnName,
|
|
479
484
|
);
|
|
480
|
-
const
|
|
485
|
+
const params = [];
|
|
481
486
|
const deleteRowIds = [];
|
|
482
487
|
objToArray(content ?? {}, (row, rowId) => {
|
|
483
488
|
arrayPush(
|
|
484
|
-
|
|
489
|
+
params,
|
|
485
490
|
rowId,
|
|
486
491
|
...arrayMap(changingColumnNames, (cellId) =>
|
|
487
492
|
encode ? encode(row?.[cellId]) : row?.[cellId],
|
|
@@ -490,14 +495,14 @@ const getCommandFunctions = (
|
|
|
490
495
|
arrayPush(deleteRowIds, rowId);
|
|
491
496
|
});
|
|
492
497
|
await upsert(
|
|
493
|
-
|
|
498
|
+
databaseExecuteCommand,
|
|
494
499
|
tableName,
|
|
495
500
|
rowIdColumnName,
|
|
496
501
|
changingColumnNames,
|
|
497
|
-
|
|
502
|
+
params,
|
|
498
503
|
orReplace,
|
|
499
504
|
);
|
|
500
|
-
await
|
|
505
|
+
await databaseExecuteCommand(
|
|
501
506
|
DELETE_FROM +
|
|
502
507
|
escapeId(tableName) +
|
|
503
508
|
WHERE +
|
|
@@ -506,32 +511,34 @@ const getCommandFunctions = (
|
|
|
506
511
|
deleteRowIds,
|
|
507
512
|
);
|
|
508
513
|
} else if (collHas(schemaMap, tableName)) {
|
|
509
|
-
await
|
|
514
|
+
await databaseExecuteCommand(
|
|
515
|
+
DELETE_FROM + escapeId(tableName) + WHERE + ' true',
|
|
516
|
+
);
|
|
510
517
|
}
|
|
511
518
|
}
|
|
512
519
|
};
|
|
513
520
|
const transaction = async (actions) => {
|
|
514
521
|
let result;
|
|
515
|
-
await
|
|
522
|
+
await databaseExecuteCommand('BEGIN');
|
|
516
523
|
try {
|
|
517
524
|
result = await actions();
|
|
518
525
|
} catch (error) {
|
|
519
526
|
onIgnoredError?.(error);
|
|
520
527
|
}
|
|
521
|
-
await
|
|
528
|
+
await databaseExecuteCommand('END');
|
|
522
529
|
return result;
|
|
523
530
|
};
|
|
524
531
|
return [refreshSchema, loadTable, saveTable, transaction];
|
|
525
532
|
};
|
|
526
533
|
const upsert = async (
|
|
527
|
-
|
|
534
|
+
executeCommand,
|
|
528
535
|
tableName,
|
|
529
536
|
rowIdColumnName,
|
|
530
537
|
changingColumnNames,
|
|
531
|
-
|
|
538
|
+
params,
|
|
532
539
|
orReplace = 0,
|
|
533
540
|
) =>
|
|
534
|
-
await
|
|
541
|
+
await executeCommand(
|
|
535
542
|
'INSERT ' +
|
|
536
543
|
(orReplace ? 'OR REPLACE ' : EMPTY_STRING) +
|
|
537
544
|
'INTO' +
|
|
@@ -545,7 +552,7 @@ const upsert = async (
|
|
|
545
552
|
),
|
|
546
553
|
) +
|
|
547
554
|
')VALUES' +
|
|
548
|
-
getUpsertPlaceholders(
|
|
555
|
+
getUpsertPlaceholders(params, size(changingColumnNames) + 1) +
|
|
549
556
|
(orReplace
|
|
550
557
|
? EMPTY_STRING
|
|
551
558
|
: 'ON CONFLICT(' +
|
|
@@ -559,7 +566,7 @@ const upsert = async (
|
|
|
559
566
|
),
|
|
560
567
|
COMMA,
|
|
561
568
|
)),
|
|
562
|
-
arrayMap(
|
|
569
|
+
arrayMap(params, (param) => param ?? null),
|
|
563
570
|
);
|
|
564
571
|
const getUpsertPlaceholders = (array, columnCount) =>
|
|
565
572
|
arrayJoin(
|
|
@@ -581,7 +588,7 @@ const getUpsertPlaceholders = (array, columnCount) =>
|
|
|
581
588
|
|
|
582
589
|
const createJsonPersister = (
|
|
583
590
|
store,
|
|
584
|
-
|
|
591
|
+
executeCommand,
|
|
585
592
|
addPersisterListener,
|
|
586
593
|
delPersisterListener,
|
|
587
594
|
onIgnoredError,
|
|
@@ -597,7 +604,7 @@ const createJsonPersister = (
|
|
|
597
604
|
) => {
|
|
598
605
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
599
606
|
getCommandFunctions(
|
|
600
|
-
|
|
607
|
+
executeCommand,
|
|
601
608
|
managedTableNames,
|
|
602
609
|
querySchema,
|
|
603
610
|
onIgnoredError,
|
|
@@ -649,7 +656,7 @@ const createJsonPersister = (
|
|
|
649
656
|
|
|
650
657
|
const createTabularPersister = (
|
|
651
658
|
store,
|
|
652
|
-
|
|
659
|
+
executeCommand,
|
|
653
660
|
addPersisterListener,
|
|
654
661
|
delPersisterListener,
|
|
655
662
|
onIgnoredError,
|
|
@@ -671,7 +678,7 @@ const createTabularPersister = (
|
|
|
671
678
|
) => {
|
|
672
679
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
673
680
|
getCommandFunctions(
|
|
674
|
-
|
|
681
|
+
executeCommand,
|
|
675
682
|
managedTableNames,
|
|
676
683
|
querySchema,
|
|
677
684
|
onIgnoredError,
|
|
@@ -877,14 +884,15 @@ const getConfigStructures = (configOrStoreTableName) => {
|
|
|
877
884
|
return [0, autoLoadIntervalSeconds, tabularConfig, managedTableNames];
|
|
878
885
|
};
|
|
879
886
|
|
|
880
|
-
const
|
|
887
|
+
const createCustomSqlitePersister = (
|
|
881
888
|
store,
|
|
882
889
|
configOrStoreTableName,
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
890
|
+
rawExecuteCommand,
|
|
891
|
+
addChangeListener,
|
|
892
|
+
delChangeListener,
|
|
886
893
|
onSqlCommand,
|
|
887
894
|
onIgnoredError,
|
|
895
|
+
destroy,
|
|
888
896
|
persist,
|
|
889
897
|
thing,
|
|
890
898
|
getThing = 'getDb',
|
|
@@ -893,7 +901,7 @@ const createSqlitePersister = (
|
|
|
893
901
|
let dataVersion;
|
|
894
902
|
let schemaVersion;
|
|
895
903
|
let totalChanges;
|
|
896
|
-
const
|
|
904
|
+
const executeCommand = getWrappedCommand(rawExecuteCommand, onSqlCommand);
|
|
897
905
|
const [
|
|
898
906
|
isJson,
|
|
899
907
|
autoLoadIntervalSeconds,
|
|
@@ -905,7 +913,7 @@ const createSqlitePersister = (
|
|
|
905
913
|
const startPolling = () =>
|
|
906
914
|
(interval = startInterval(async () => {
|
|
907
915
|
try {
|
|
908
|
-
const [{d, s, c}] = await
|
|
916
|
+
const [{d, s, c}] = await executeCommand(
|
|
909
917
|
// eslint-disable-next-line max-len
|
|
910
918
|
`${SELECT} ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
911
919
|
);
|
|
@@ -923,7 +931,7 @@ const createSqlitePersister = (
|
|
|
923
931
|
dataVersion = schemaVersion = totalChanges = null;
|
|
924
932
|
stopInterval(interval);
|
|
925
933
|
};
|
|
926
|
-
const listeningHandle =
|
|
934
|
+
const listeningHandle = addChangeListener((tableName) => {
|
|
927
935
|
if (managedTableNamesSet.has(tableName)) {
|
|
928
936
|
stopPolling();
|
|
929
937
|
listener();
|
|
@@ -933,23 +941,23 @@ const createSqlitePersister = (
|
|
|
933
941
|
startPolling();
|
|
934
942
|
return () => {
|
|
935
943
|
stopPolling();
|
|
936
|
-
|
|
944
|
+
delChangeListener(listeningHandle);
|
|
937
945
|
};
|
|
938
946
|
};
|
|
939
947
|
const delPersisterListener = (stopPollingAndDelUpdateListener) =>
|
|
940
948
|
stopPollingAndDelUpdateListener();
|
|
941
949
|
return (isJson ? createJsonPersister : createTabularPersister)(
|
|
942
950
|
store,
|
|
943
|
-
|
|
951
|
+
executeCommand,
|
|
944
952
|
addPersisterListener,
|
|
945
953
|
delPersisterListener,
|
|
946
954
|
onIgnoredError,
|
|
947
|
-
|
|
955
|
+
destroy,
|
|
948
956
|
persist,
|
|
949
957
|
defaultedConfig,
|
|
950
958
|
collValues(managedTableNamesSet),
|
|
951
|
-
async (
|
|
952
|
-
await
|
|
959
|
+
async (executeCommand2, managedTableNames) =>
|
|
960
|
+
await executeCommand2(
|
|
953
961
|
// eslint-disable-next-line max-len
|
|
954
962
|
`${SELECT} t.name tn,c.name cn ${FROM}${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames)})ORDER BY t.name,c.name`,
|
|
955
963
|
managedTableNames,
|
|
@@ -971,15 +979,16 @@ const createExpoSqlitePersister = (
|
|
|
971
979
|
onSqlCommand,
|
|
972
980
|
onIgnoredError,
|
|
973
981
|
) =>
|
|
974
|
-
|
|
982
|
+
createCustomSqlitePersister(
|
|
975
983
|
store,
|
|
976
984
|
configOrStoreTableName,
|
|
977
|
-
async (sql,
|
|
985
|
+
async (sql, params = []) => await db.getAllAsync(sql, params),
|
|
978
986
|
(listener) =>
|
|
979
987
|
addDatabaseChangeListener(({tableName}) => listener(tableName)),
|
|
980
988
|
(subscription) => subscription.remove(),
|
|
981
989
|
onSqlCommand,
|
|
982
990
|
onIgnoredError,
|
|
991
|
+
() => 0,
|
|
983
992
|
3,
|
|
984
993
|
// StoreOrMergeableStore,
|
|
985
994
|
db,
|
|
@@ -47,13 +47,13 @@ const DATA_VERSION = 'data_version';
|
|
|
47
47
|
const SCHEMA_VERSION = 'schema_version';
|
|
48
48
|
const FROM = 'FROM ';
|
|
49
49
|
const PRAGMA_TABLE = 'pragma_table_';
|
|
50
|
-
const getWrappedCommand = (
|
|
50
|
+
const getWrappedCommand = (executeCommand, onSqlCommand) =>
|
|
51
51
|
onSqlCommand
|
|
52
|
-
? async (sql,
|
|
53
|
-
onSqlCommand(sql,
|
|
54
|
-
return await
|
|
52
|
+
? async (sql, params) => {
|
|
53
|
+
onSqlCommand(sql, params);
|
|
54
|
+
return await executeCommand(sql, params);
|
|
55
55
|
}
|
|
56
|
-
:
|
|
56
|
+
: executeCommand;
|
|
57
57
|
const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
|
|
58
58
|
const getPlaceholders = (array) =>
|
|
59
59
|
arrayJoin(
|
|
@@ -316,7 +316,7 @@ const setNew = (entryOrEntries) =>
|
|
|
316
316
|
const setAdd = (set, value) => set?.add(value);
|
|
317
317
|
|
|
318
318
|
const getCommandFunctions = (
|
|
319
|
-
|
|
319
|
+
databaseExecuteCommand,
|
|
320
320
|
managedTableNames,
|
|
321
321
|
querySchema,
|
|
322
322
|
onIgnoredError,
|
|
@@ -330,8 +330,9 @@ const getCommandFunctions = (
|
|
|
330
330
|
collHas(mapGet(schemaMap, tableName), rowIdColumnName);
|
|
331
331
|
const refreshSchema = async () => {
|
|
332
332
|
collClear(schemaMap);
|
|
333
|
-
arrayMap(
|
|
334
|
-
|
|
333
|
+
arrayMap(
|
|
334
|
+
await querySchema(databaseExecuteCommand, managedTableNames),
|
|
335
|
+
({tn, cn}) => setAdd(mapEnsure(schemaMap, tn, setNew), cn),
|
|
335
336
|
);
|
|
336
337
|
};
|
|
337
338
|
const loadTable = async (tableName, rowIdColumnName) =>
|
|
@@ -339,7 +340,9 @@ const getCommandFunctions = (
|
|
|
339
340
|
? objNew(
|
|
340
341
|
arrayFilter(
|
|
341
342
|
arrayMap(
|
|
342
|
-
await
|
|
343
|
+
await databaseExecuteCommand(
|
|
344
|
+
SELECT_STAR_FROM + escapeId(tableName),
|
|
345
|
+
),
|
|
343
346
|
(row) => [
|
|
344
347
|
row[rowIdColumnName],
|
|
345
348
|
decode
|
|
@@ -372,7 +375,7 @@ const getCommandFunctions = (
|
|
|
372
375
|
arrayIsEmpty(tableColumnNames) &&
|
|
373
376
|
collHas(schemaMap, tableName)
|
|
374
377
|
) {
|
|
375
|
-
await
|
|
378
|
+
await databaseExecuteCommand('DROP ' + TABLE + escapeId(tableName));
|
|
376
379
|
mapSet(schemaMap, tableName);
|
|
377
380
|
return;
|
|
378
381
|
}
|
|
@@ -380,7 +383,7 @@ const getCommandFunctions = (
|
|
|
380
383
|
const currentColumnNames = setNew(collValues(tableSchemaColumns));
|
|
381
384
|
if (!arrayIsEmpty(tableColumnNames)) {
|
|
382
385
|
if (!collHas(schemaMap, tableName)) {
|
|
383
|
-
await
|
|
386
|
+
await databaseExecuteCommand(
|
|
384
387
|
'CREATE ' +
|
|
385
388
|
TABLE +
|
|
386
389
|
escapeId(tableName) +
|
|
@@ -402,7 +405,7 @@ const getCommandFunctions = (
|
|
|
402
405
|
[rowIdColumnName, ...tableColumnNames],
|
|
403
406
|
async (columnName, index) => {
|
|
404
407
|
if (!collDel(currentColumnNames, columnName)) {
|
|
405
|
-
await
|
|
408
|
+
await databaseExecuteCommand(
|
|
406
409
|
ALTER_TABLE +
|
|
407
410
|
escapeId(tableName) +
|
|
408
411
|
'ADD' +
|
|
@@ -410,7 +413,7 @@ const getCommandFunctions = (
|
|
|
410
413
|
columnType,
|
|
411
414
|
);
|
|
412
415
|
if (index == 0) {
|
|
413
|
-
await
|
|
416
|
+
await databaseExecuteCommand(
|
|
414
417
|
'CREATE UNIQUE INDEX pk ON ' +
|
|
415
418
|
escapeId(tableName) +
|
|
416
419
|
`(${escapeId(rowIdColumnName)})`,
|
|
@@ -427,7 +430,7 @@ const getCommandFunctions = (
|
|
|
427
430
|
...(!partial && deleteEmptyColumns
|
|
428
431
|
? arrayMap(collValues(currentColumnNames), async (columnName) => {
|
|
429
432
|
if (columnName != rowIdColumnName) {
|
|
430
|
-
await
|
|
433
|
+
await databaseExecuteCommand(
|
|
431
434
|
ALTER_TABLE +
|
|
432
435
|
escapeId(tableName) +
|
|
433
436
|
'DROP' +
|
|
@@ -440,12 +443,14 @@ const getCommandFunctions = (
|
|
|
440
443
|
]);
|
|
441
444
|
if (partial) {
|
|
442
445
|
if (isUndefined(content)) {
|
|
443
|
-
await
|
|
446
|
+
await databaseExecuteCommand(
|
|
447
|
+
DELETE_FROM + escapeId(tableName) + WHERE + ' true',
|
|
448
|
+
);
|
|
444
449
|
} else {
|
|
445
450
|
await promiseAll(
|
|
446
451
|
objToArray(content, async (row, rowId) => {
|
|
447
452
|
if (isUndefined(row)) {
|
|
448
|
-
await
|
|
453
|
+
await databaseExecuteCommand(
|
|
449
454
|
DELETE_FROM +
|
|
450
455
|
escapeId(tableName) +
|
|
451
456
|
WHERE +
|
|
@@ -455,7 +460,7 @@ const getCommandFunctions = (
|
|
|
455
460
|
);
|
|
456
461
|
} else if (!arrayIsEmpty(tableColumnNames)) {
|
|
457
462
|
await upsert(
|
|
458
|
-
|
|
463
|
+
databaseExecuteCommand,
|
|
459
464
|
tableName,
|
|
460
465
|
rowIdColumnName,
|
|
461
466
|
objIds(row),
|
|
@@ -477,11 +482,11 @@ const getCommandFunctions = (
|
|
|
477
482
|
collValues(mapGet(schemaMap, tableName)),
|
|
478
483
|
(columnName) => columnName != rowIdColumnName,
|
|
479
484
|
);
|
|
480
|
-
const
|
|
485
|
+
const params = [];
|
|
481
486
|
const deleteRowIds = [];
|
|
482
487
|
objToArray(content ?? {}, (row, rowId) => {
|
|
483
488
|
arrayPush(
|
|
484
|
-
|
|
489
|
+
params,
|
|
485
490
|
rowId,
|
|
486
491
|
...arrayMap(changingColumnNames, (cellId) =>
|
|
487
492
|
encode ? encode(row?.[cellId]) : row?.[cellId],
|
|
@@ -490,14 +495,14 @@ const getCommandFunctions = (
|
|
|
490
495
|
arrayPush(deleteRowIds, rowId);
|
|
491
496
|
});
|
|
492
497
|
await upsert(
|
|
493
|
-
|
|
498
|
+
databaseExecuteCommand,
|
|
494
499
|
tableName,
|
|
495
500
|
rowIdColumnName,
|
|
496
501
|
changingColumnNames,
|
|
497
|
-
|
|
502
|
+
params,
|
|
498
503
|
orReplace,
|
|
499
504
|
);
|
|
500
|
-
await
|
|
505
|
+
await databaseExecuteCommand(
|
|
501
506
|
DELETE_FROM +
|
|
502
507
|
escapeId(tableName) +
|
|
503
508
|
WHERE +
|
|
@@ -506,32 +511,34 @@ const getCommandFunctions = (
|
|
|
506
511
|
deleteRowIds,
|
|
507
512
|
);
|
|
508
513
|
} else if (collHas(schemaMap, tableName)) {
|
|
509
|
-
await
|
|
514
|
+
await databaseExecuteCommand(
|
|
515
|
+
DELETE_FROM + escapeId(tableName) + WHERE + ' true',
|
|
516
|
+
);
|
|
510
517
|
}
|
|
511
518
|
}
|
|
512
519
|
};
|
|
513
520
|
const transaction = async (actions) => {
|
|
514
521
|
let result;
|
|
515
|
-
await
|
|
522
|
+
await databaseExecuteCommand('BEGIN');
|
|
516
523
|
try {
|
|
517
524
|
result = await actions();
|
|
518
525
|
} catch (error) {
|
|
519
526
|
onIgnoredError?.(error);
|
|
520
527
|
}
|
|
521
|
-
await
|
|
528
|
+
await databaseExecuteCommand('END');
|
|
522
529
|
return result;
|
|
523
530
|
};
|
|
524
531
|
return [refreshSchema, loadTable, saveTable, transaction];
|
|
525
532
|
};
|
|
526
533
|
const upsert = async (
|
|
527
|
-
|
|
534
|
+
executeCommand,
|
|
528
535
|
tableName,
|
|
529
536
|
rowIdColumnName,
|
|
530
537
|
changingColumnNames,
|
|
531
|
-
|
|
538
|
+
params,
|
|
532
539
|
orReplace = 0,
|
|
533
540
|
) =>
|
|
534
|
-
await
|
|
541
|
+
await executeCommand(
|
|
535
542
|
'INSERT ' +
|
|
536
543
|
(orReplace ? 'OR REPLACE ' : EMPTY_STRING) +
|
|
537
544
|
'INTO' +
|
|
@@ -545,7 +552,7 @@ const upsert = async (
|
|
|
545
552
|
),
|
|
546
553
|
) +
|
|
547
554
|
')VALUES' +
|
|
548
|
-
getUpsertPlaceholders(
|
|
555
|
+
getUpsertPlaceholders(params, size(changingColumnNames) + 1) +
|
|
549
556
|
(orReplace
|
|
550
557
|
? EMPTY_STRING
|
|
551
558
|
: 'ON CONFLICT(' +
|
|
@@ -559,7 +566,7 @@ const upsert = async (
|
|
|
559
566
|
),
|
|
560
567
|
COMMA,
|
|
561
568
|
)),
|
|
562
|
-
arrayMap(
|
|
569
|
+
arrayMap(params, (param) => param ?? null),
|
|
563
570
|
);
|
|
564
571
|
const getUpsertPlaceholders = (array, columnCount) =>
|
|
565
572
|
arrayJoin(
|
|
@@ -581,7 +588,7 @@ const getUpsertPlaceholders = (array, columnCount) =>
|
|
|
581
588
|
|
|
582
589
|
const createJsonPersister = (
|
|
583
590
|
store,
|
|
584
|
-
|
|
591
|
+
executeCommand,
|
|
585
592
|
addPersisterListener,
|
|
586
593
|
delPersisterListener,
|
|
587
594
|
onIgnoredError,
|
|
@@ -597,7 +604,7 @@ const createJsonPersister = (
|
|
|
597
604
|
) => {
|
|
598
605
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
599
606
|
getCommandFunctions(
|
|
600
|
-
|
|
607
|
+
executeCommand,
|
|
601
608
|
managedTableNames,
|
|
602
609
|
querySchema,
|
|
603
610
|
onIgnoredError,
|
|
@@ -649,7 +656,7 @@ const createJsonPersister = (
|
|
|
649
656
|
|
|
650
657
|
const createTabularPersister = (
|
|
651
658
|
store,
|
|
652
|
-
|
|
659
|
+
executeCommand,
|
|
653
660
|
addPersisterListener,
|
|
654
661
|
delPersisterListener,
|
|
655
662
|
onIgnoredError,
|
|
@@ -671,7 +678,7 @@ const createTabularPersister = (
|
|
|
671
678
|
) => {
|
|
672
679
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
673
680
|
getCommandFunctions(
|
|
674
|
-
|
|
681
|
+
executeCommand,
|
|
675
682
|
managedTableNames,
|
|
676
683
|
querySchema,
|
|
677
684
|
onIgnoredError,
|
|
@@ -877,14 +884,15 @@ const getConfigStructures = (configOrStoreTableName) => {
|
|
|
877
884
|
return [0, autoLoadIntervalSeconds, tabularConfig, managedTableNames];
|
|
878
885
|
};
|
|
879
886
|
|
|
880
|
-
const
|
|
887
|
+
const createCustomSqlitePersister = (
|
|
881
888
|
store,
|
|
882
889
|
configOrStoreTableName,
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
890
|
+
rawExecuteCommand,
|
|
891
|
+
addChangeListener,
|
|
892
|
+
delChangeListener,
|
|
886
893
|
onSqlCommand,
|
|
887
894
|
onIgnoredError,
|
|
895
|
+
destroy,
|
|
888
896
|
persist,
|
|
889
897
|
thing,
|
|
890
898
|
getThing = 'getDb',
|
|
@@ -893,7 +901,7 @@ const createSqlitePersister = (
|
|
|
893
901
|
let dataVersion;
|
|
894
902
|
let schemaVersion;
|
|
895
903
|
let totalChanges;
|
|
896
|
-
const
|
|
904
|
+
const executeCommand = getWrappedCommand(rawExecuteCommand, onSqlCommand);
|
|
897
905
|
const [
|
|
898
906
|
isJson,
|
|
899
907
|
autoLoadIntervalSeconds,
|
|
@@ -905,7 +913,7 @@ const createSqlitePersister = (
|
|
|
905
913
|
const startPolling = () =>
|
|
906
914
|
(interval = startInterval(async () => {
|
|
907
915
|
try {
|
|
908
|
-
const [{d, s, c}] = await
|
|
916
|
+
const [{d, s, c}] = await executeCommand(
|
|
909
917
|
// eslint-disable-next-line max-len
|
|
910
918
|
`${SELECT} ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
911
919
|
);
|
|
@@ -923,7 +931,7 @@ const createSqlitePersister = (
|
|
|
923
931
|
dataVersion = schemaVersion = totalChanges = null;
|
|
924
932
|
stopInterval(interval);
|
|
925
933
|
};
|
|
926
|
-
const listeningHandle =
|
|
934
|
+
const listeningHandle = addChangeListener((tableName) => {
|
|
927
935
|
if (managedTableNamesSet.has(tableName)) {
|
|
928
936
|
stopPolling();
|
|
929
937
|
listener();
|
|
@@ -933,23 +941,23 @@ const createSqlitePersister = (
|
|
|
933
941
|
startPolling();
|
|
934
942
|
return () => {
|
|
935
943
|
stopPolling();
|
|
936
|
-
|
|
944
|
+
delChangeListener(listeningHandle);
|
|
937
945
|
};
|
|
938
946
|
};
|
|
939
947
|
const delPersisterListener = (stopPollingAndDelUpdateListener) =>
|
|
940
948
|
stopPollingAndDelUpdateListener();
|
|
941
949
|
return (isJson ? createJsonPersister : createTabularPersister)(
|
|
942
950
|
store,
|
|
943
|
-
|
|
951
|
+
executeCommand,
|
|
944
952
|
addPersisterListener,
|
|
945
953
|
delPersisterListener,
|
|
946
954
|
onIgnoredError,
|
|
947
|
-
|
|
955
|
+
destroy,
|
|
948
956
|
persist,
|
|
949
957
|
defaultedConfig,
|
|
950
958
|
collValues(managedTableNamesSet),
|
|
951
|
-
async (
|
|
952
|
-
await
|
|
959
|
+
async (executeCommand2, managedTableNames) =>
|
|
960
|
+
await executeCommand2(
|
|
953
961
|
// eslint-disable-next-line max-len
|
|
954
962
|
`${SELECT} t.name tn,c.name cn ${FROM}${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames)})ORDER BY t.name,c.name`,
|
|
955
963
|
managedTableNames,
|
|
@@ -971,15 +979,16 @@ const createExpoSqlitePersister = (
|
|
|
971
979
|
onSqlCommand,
|
|
972
980
|
onIgnoredError,
|
|
973
981
|
) =>
|
|
974
|
-
|
|
982
|
+
createCustomSqlitePersister(
|
|
975
983
|
store,
|
|
976
984
|
configOrStoreTableName,
|
|
977
|
-
async (sql,
|
|
985
|
+
async (sql, params = []) => await db.getAllAsync(sql, params),
|
|
978
986
|
(listener) =>
|
|
979
987
|
addDatabaseChangeListener(({tableName}) => listener(tableName)),
|
|
980
988
|
(subscription) => subscription.remove(),
|
|
981
989
|
onSqlCommand,
|
|
982
990
|
onIgnoredError,
|
|
991
|
+
() => 0,
|
|
983
992
|
3,
|
|
984
993
|
// StoreOrMergeableStore,
|
|
985
994
|
db,
|
|
@@ -276,7 +276,7 @@ const createIndexedDbPersister = (
|
|
|
276
276
|
autoLoadIntervalSeconds = 1,
|
|
277
277
|
onIgnoredError,
|
|
278
278
|
) => {
|
|
279
|
-
const forObjectStores = async (forObjectStore,
|
|
279
|
+
const forObjectStores = async (forObjectStore, params = [], create = 0) =>
|
|
280
280
|
promiseNew((resolve, reject) => {
|
|
281
281
|
const request = (WINDOW ? WINDOW.indexedDB : indexedDB).open(
|
|
282
282
|
dbName,
|
|
@@ -301,7 +301,7 @@ const createIndexedDbPersister = (
|
|
|
301
301
|
async (objectStoreName, index) =>
|
|
302
302
|
await forObjectStore(
|
|
303
303
|
transaction.objectStore(objectStoreName),
|
|
304
|
-
|
|
304
|
+
params[index],
|
|
305
305
|
),
|
|
306
306
|
),
|
|
307
307
|
);
|