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