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
|
@@ -45,13 +45,13 @@ const DATA_VERSION = 'data_version';
|
|
|
45
45
|
const SCHEMA_VERSION = 'schema_version';
|
|
46
46
|
const FROM = 'FROM ';
|
|
47
47
|
const PRAGMA_TABLE = 'pragma_table_';
|
|
48
|
-
const getWrappedCommand = (
|
|
48
|
+
const getWrappedCommand = (executeCommand, onSqlCommand) =>
|
|
49
49
|
onSqlCommand
|
|
50
|
-
? async (sql,
|
|
51
|
-
onSqlCommand(sql,
|
|
52
|
-
return await
|
|
50
|
+
? async (sql, params) => {
|
|
51
|
+
onSqlCommand(sql, params);
|
|
52
|
+
return await executeCommand(sql, params);
|
|
53
53
|
}
|
|
54
|
-
:
|
|
54
|
+
: executeCommand;
|
|
55
55
|
const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
|
|
56
56
|
const getPlaceholders = (array) =>
|
|
57
57
|
arrayJoin(
|
|
@@ -314,7 +314,7 @@ const setNew = (entryOrEntries) =>
|
|
|
314
314
|
const setAdd = (set, value) => set?.add(value);
|
|
315
315
|
|
|
316
316
|
const getCommandFunctions = (
|
|
317
|
-
|
|
317
|
+
databaseExecuteCommand,
|
|
318
318
|
managedTableNames,
|
|
319
319
|
querySchema,
|
|
320
320
|
onIgnoredError,
|
|
@@ -328,8 +328,9 @@ const getCommandFunctions = (
|
|
|
328
328
|
collHas(mapGet(schemaMap, tableName), rowIdColumnName);
|
|
329
329
|
const refreshSchema = async () => {
|
|
330
330
|
collClear(schemaMap);
|
|
331
|
-
arrayMap(
|
|
332
|
-
|
|
331
|
+
arrayMap(
|
|
332
|
+
await querySchema(databaseExecuteCommand, managedTableNames),
|
|
333
|
+
({tn, cn}) => setAdd(mapEnsure(schemaMap, tn, setNew), cn),
|
|
333
334
|
);
|
|
334
335
|
};
|
|
335
336
|
const loadTable = async (tableName, rowIdColumnName) =>
|
|
@@ -337,7 +338,9 @@ const getCommandFunctions = (
|
|
|
337
338
|
? objNew(
|
|
338
339
|
arrayFilter(
|
|
339
340
|
arrayMap(
|
|
340
|
-
await
|
|
341
|
+
await databaseExecuteCommand(
|
|
342
|
+
SELECT_STAR_FROM + escapeId(tableName),
|
|
343
|
+
),
|
|
341
344
|
(row) => [
|
|
342
345
|
row[rowIdColumnName],
|
|
343
346
|
decode
|
|
@@ -370,7 +373,7 @@ const getCommandFunctions = (
|
|
|
370
373
|
arrayIsEmpty(tableColumnNames) &&
|
|
371
374
|
collHas(schemaMap, tableName)
|
|
372
375
|
) {
|
|
373
|
-
await
|
|
376
|
+
await databaseExecuteCommand('DROP ' + TABLE + escapeId(tableName));
|
|
374
377
|
mapSet(schemaMap, tableName);
|
|
375
378
|
return;
|
|
376
379
|
}
|
|
@@ -378,7 +381,7 @@ const getCommandFunctions = (
|
|
|
378
381
|
const currentColumnNames = setNew(collValues(tableSchemaColumns));
|
|
379
382
|
if (!arrayIsEmpty(tableColumnNames)) {
|
|
380
383
|
if (!collHas(schemaMap, tableName)) {
|
|
381
|
-
await
|
|
384
|
+
await databaseExecuteCommand(
|
|
382
385
|
'CREATE ' +
|
|
383
386
|
TABLE +
|
|
384
387
|
escapeId(tableName) +
|
|
@@ -400,7 +403,7 @@ const getCommandFunctions = (
|
|
|
400
403
|
[rowIdColumnName, ...tableColumnNames],
|
|
401
404
|
async (columnName, index) => {
|
|
402
405
|
if (!collDel(currentColumnNames, columnName)) {
|
|
403
|
-
await
|
|
406
|
+
await databaseExecuteCommand(
|
|
404
407
|
ALTER_TABLE +
|
|
405
408
|
escapeId(tableName) +
|
|
406
409
|
'ADD' +
|
|
@@ -408,7 +411,7 @@ const getCommandFunctions = (
|
|
|
408
411
|
columnType,
|
|
409
412
|
);
|
|
410
413
|
if (index == 0) {
|
|
411
|
-
await
|
|
414
|
+
await databaseExecuteCommand(
|
|
412
415
|
'CREATE UNIQUE INDEX pk ON ' +
|
|
413
416
|
escapeId(tableName) +
|
|
414
417
|
`(${escapeId(rowIdColumnName)})`,
|
|
@@ -425,7 +428,7 @@ const getCommandFunctions = (
|
|
|
425
428
|
...(!partial && deleteEmptyColumns
|
|
426
429
|
? arrayMap(collValues(currentColumnNames), async (columnName) => {
|
|
427
430
|
if (columnName != rowIdColumnName) {
|
|
428
|
-
await
|
|
431
|
+
await databaseExecuteCommand(
|
|
429
432
|
ALTER_TABLE +
|
|
430
433
|
escapeId(tableName) +
|
|
431
434
|
'DROP' +
|
|
@@ -438,12 +441,14 @@ const getCommandFunctions = (
|
|
|
438
441
|
]);
|
|
439
442
|
if (partial) {
|
|
440
443
|
if (isUndefined(content)) {
|
|
441
|
-
await
|
|
444
|
+
await databaseExecuteCommand(
|
|
445
|
+
DELETE_FROM + escapeId(tableName) + WHERE + ' true',
|
|
446
|
+
);
|
|
442
447
|
} else {
|
|
443
448
|
await promiseAll(
|
|
444
449
|
objToArray(content, async (row, rowId) => {
|
|
445
450
|
if (isUndefined(row)) {
|
|
446
|
-
await
|
|
451
|
+
await databaseExecuteCommand(
|
|
447
452
|
DELETE_FROM +
|
|
448
453
|
escapeId(tableName) +
|
|
449
454
|
WHERE +
|
|
@@ -453,7 +458,7 @@ const getCommandFunctions = (
|
|
|
453
458
|
);
|
|
454
459
|
} else if (!arrayIsEmpty(tableColumnNames)) {
|
|
455
460
|
await upsert(
|
|
456
|
-
|
|
461
|
+
databaseExecuteCommand,
|
|
457
462
|
tableName,
|
|
458
463
|
rowIdColumnName,
|
|
459
464
|
objIds(row),
|
|
@@ -475,11 +480,11 @@ const getCommandFunctions = (
|
|
|
475
480
|
collValues(mapGet(schemaMap, tableName)),
|
|
476
481
|
(columnName) => columnName != rowIdColumnName,
|
|
477
482
|
);
|
|
478
|
-
const
|
|
483
|
+
const params = [];
|
|
479
484
|
const deleteRowIds = [];
|
|
480
485
|
objToArray(content ?? {}, (row, rowId) => {
|
|
481
486
|
arrayPush(
|
|
482
|
-
|
|
487
|
+
params,
|
|
483
488
|
rowId,
|
|
484
489
|
...arrayMap(changingColumnNames, (cellId) =>
|
|
485
490
|
encode ? encode(row?.[cellId]) : row?.[cellId],
|
|
@@ -488,14 +493,14 @@ const getCommandFunctions = (
|
|
|
488
493
|
arrayPush(deleteRowIds, rowId);
|
|
489
494
|
});
|
|
490
495
|
await upsert(
|
|
491
|
-
|
|
496
|
+
databaseExecuteCommand,
|
|
492
497
|
tableName,
|
|
493
498
|
rowIdColumnName,
|
|
494
499
|
changingColumnNames,
|
|
495
|
-
|
|
500
|
+
params,
|
|
496
501
|
orReplace,
|
|
497
502
|
);
|
|
498
|
-
await
|
|
503
|
+
await databaseExecuteCommand(
|
|
499
504
|
DELETE_FROM +
|
|
500
505
|
escapeId(tableName) +
|
|
501
506
|
WHERE +
|
|
@@ -504,32 +509,34 @@ const getCommandFunctions = (
|
|
|
504
509
|
deleteRowIds,
|
|
505
510
|
);
|
|
506
511
|
} else if (collHas(schemaMap, tableName)) {
|
|
507
|
-
await
|
|
512
|
+
await databaseExecuteCommand(
|
|
513
|
+
DELETE_FROM + escapeId(tableName) + WHERE + ' true',
|
|
514
|
+
);
|
|
508
515
|
}
|
|
509
516
|
}
|
|
510
517
|
};
|
|
511
518
|
const transaction = async (actions) => {
|
|
512
519
|
let result;
|
|
513
|
-
await
|
|
520
|
+
await databaseExecuteCommand('BEGIN');
|
|
514
521
|
try {
|
|
515
522
|
result = await actions();
|
|
516
523
|
} catch (error) {
|
|
517
524
|
onIgnoredError?.(error);
|
|
518
525
|
}
|
|
519
|
-
await
|
|
526
|
+
await databaseExecuteCommand('END');
|
|
520
527
|
return result;
|
|
521
528
|
};
|
|
522
529
|
return [refreshSchema, loadTable, saveTable, transaction];
|
|
523
530
|
};
|
|
524
531
|
const upsert = async (
|
|
525
|
-
|
|
532
|
+
executeCommand,
|
|
526
533
|
tableName,
|
|
527
534
|
rowIdColumnName,
|
|
528
535
|
changingColumnNames,
|
|
529
|
-
|
|
536
|
+
params,
|
|
530
537
|
orReplace = 0,
|
|
531
538
|
) =>
|
|
532
|
-
await
|
|
539
|
+
await executeCommand(
|
|
533
540
|
'INSERT ' +
|
|
534
541
|
(orReplace ? 'OR REPLACE ' : EMPTY_STRING) +
|
|
535
542
|
'INTO' +
|
|
@@ -543,7 +550,7 @@ const upsert = async (
|
|
|
543
550
|
),
|
|
544
551
|
) +
|
|
545
552
|
')VALUES' +
|
|
546
|
-
getUpsertPlaceholders(
|
|
553
|
+
getUpsertPlaceholders(params, size(changingColumnNames) + 1) +
|
|
547
554
|
(orReplace
|
|
548
555
|
? EMPTY_STRING
|
|
549
556
|
: 'ON CONFLICT(' +
|
|
@@ -557,7 +564,7 @@ const upsert = async (
|
|
|
557
564
|
),
|
|
558
565
|
COMMA,
|
|
559
566
|
)),
|
|
560
|
-
arrayMap(
|
|
567
|
+
arrayMap(params, (param) => param ?? null),
|
|
561
568
|
);
|
|
562
569
|
const getUpsertPlaceholders = (array, columnCount) =>
|
|
563
570
|
arrayJoin(
|
|
@@ -579,7 +586,7 @@ const getUpsertPlaceholders = (array, columnCount) =>
|
|
|
579
586
|
|
|
580
587
|
const createJsonPersister = (
|
|
581
588
|
store,
|
|
582
|
-
|
|
589
|
+
executeCommand,
|
|
583
590
|
addPersisterListener,
|
|
584
591
|
delPersisterListener,
|
|
585
592
|
onIgnoredError,
|
|
@@ -595,7 +602,7 @@ const createJsonPersister = (
|
|
|
595
602
|
) => {
|
|
596
603
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
597
604
|
getCommandFunctions(
|
|
598
|
-
|
|
605
|
+
executeCommand,
|
|
599
606
|
managedTableNames,
|
|
600
607
|
querySchema,
|
|
601
608
|
onIgnoredError,
|
|
@@ -647,7 +654,7 @@ const createJsonPersister = (
|
|
|
647
654
|
|
|
648
655
|
const createTabularPersister = (
|
|
649
656
|
store,
|
|
650
|
-
|
|
657
|
+
executeCommand,
|
|
651
658
|
addPersisterListener,
|
|
652
659
|
delPersisterListener,
|
|
653
660
|
onIgnoredError,
|
|
@@ -669,7 +676,7 @@ const createTabularPersister = (
|
|
|
669
676
|
) => {
|
|
670
677
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
671
678
|
getCommandFunctions(
|
|
672
|
-
|
|
679
|
+
executeCommand,
|
|
673
680
|
managedTableNames,
|
|
674
681
|
querySchema,
|
|
675
682
|
onIgnoredError,
|
|
@@ -875,14 +882,15 @@ const getConfigStructures = (configOrStoreTableName) => {
|
|
|
875
882
|
return [0, autoLoadIntervalSeconds, tabularConfig, managedTableNames];
|
|
876
883
|
};
|
|
877
884
|
|
|
878
|
-
const
|
|
885
|
+
const createCustomSqlitePersister = (
|
|
879
886
|
store,
|
|
880
887
|
configOrStoreTableName,
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
888
|
+
rawExecuteCommand,
|
|
889
|
+
addChangeListener,
|
|
890
|
+
delChangeListener,
|
|
884
891
|
onSqlCommand,
|
|
885
892
|
onIgnoredError,
|
|
893
|
+
destroy,
|
|
886
894
|
persist,
|
|
887
895
|
thing,
|
|
888
896
|
getThing = 'getDb',
|
|
@@ -891,7 +899,7 @@ const createSqlitePersister = (
|
|
|
891
899
|
let dataVersion;
|
|
892
900
|
let schemaVersion;
|
|
893
901
|
let totalChanges;
|
|
894
|
-
const
|
|
902
|
+
const executeCommand = getWrappedCommand(rawExecuteCommand, onSqlCommand);
|
|
895
903
|
const [
|
|
896
904
|
isJson,
|
|
897
905
|
autoLoadIntervalSeconds,
|
|
@@ -903,7 +911,7 @@ const createSqlitePersister = (
|
|
|
903
911
|
const startPolling = () =>
|
|
904
912
|
(interval = startInterval(async () => {
|
|
905
913
|
try {
|
|
906
|
-
const [{d, s, c}] = await
|
|
914
|
+
const [{d, s, c}] = await executeCommand(
|
|
907
915
|
// eslint-disable-next-line max-len
|
|
908
916
|
`${SELECT} ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
909
917
|
);
|
|
@@ -921,7 +929,7 @@ const createSqlitePersister = (
|
|
|
921
929
|
dataVersion = schemaVersion = totalChanges = null;
|
|
922
930
|
stopInterval(interval);
|
|
923
931
|
};
|
|
924
|
-
const listeningHandle =
|
|
932
|
+
const listeningHandle = addChangeListener((tableName) => {
|
|
925
933
|
if (managedTableNamesSet.has(tableName)) {
|
|
926
934
|
stopPolling();
|
|
927
935
|
listener();
|
|
@@ -931,23 +939,23 @@ const createSqlitePersister = (
|
|
|
931
939
|
startPolling();
|
|
932
940
|
return () => {
|
|
933
941
|
stopPolling();
|
|
934
|
-
|
|
942
|
+
delChangeListener(listeningHandle);
|
|
935
943
|
};
|
|
936
944
|
};
|
|
937
945
|
const delPersisterListener = (stopPollingAndDelUpdateListener) =>
|
|
938
946
|
stopPollingAndDelUpdateListener();
|
|
939
947
|
return (isJson ? createJsonPersister : createTabularPersister)(
|
|
940
948
|
store,
|
|
941
|
-
|
|
949
|
+
executeCommand,
|
|
942
950
|
addPersisterListener,
|
|
943
951
|
delPersisterListener,
|
|
944
952
|
onIgnoredError,
|
|
945
|
-
|
|
953
|
+
destroy,
|
|
946
954
|
persist,
|
|
947
955
|
defaultedConfig,
|
|
948
956
|
collValues(managedTableNamesSet),
|
|
949
|
-
async (
|
|
950
|
-
await
|
|
957
|
+
async (executeCommand2, managedTableNames) =>
|
|
958
|
+
await executeCommand2(
|
|
951
959
|
// eslint-disable-next-line max-len
|
|
952
960
|
`${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`,
|
|
953
961
|
managedTableNames,
|
|
@@ -970,11 +978,13 @@ const createPowerSyncPersister = (
|
|
|
970
978
|
onIgnoredError,
|
|
971
979
|
orReplace = 1,
|
|
972
980
|
) =>
|
|
973
|
-
|
|
981
|
+
createCustomSqlitePersister(
|
|
974
982
|
store,
|
|
975
983
|
configOrStoreTableName,
|
|
976
|
-
async (sql,
|
|
977
|
-
powerSync
|
|
984
|
+
async (sql, params = []) =>
|
|
985
|
+
powerSync
|
|
986
|
+
.execute(sql, params)
|
|
987
|
+
.then((result) => result.rows?._array ?? []),
|
|
978
988
|
(listener) => {
|
|
979
989
|
const abortController = new AbortController();
|
|
980
990
|
const onChange = powerSync.onChange({
|
|
@@ -991,6 +1001,7 @@ const createPowerSyncPersister = (
|
|
|
991
1001
|
(abortController) => abortController.abort(),
|
|
992
1002
|
onSqlCommand,
|
|
993
1003
|
onIgnoredError,
|
|
1004
|
+
() => 0,
|
|
994
1005
|
1,
|
|
995
1006
|
// StoreOnly,
|
|
996
1007
|
powerSync,
|
|
@@ -45,13 +45,13 @@ const DATA_VERSION = 'data_version';
|
|
|
45
45
|
const SCHEMA_VERSION = 'schema_version';
|
|
46
46
|
const FROM = 'FROM ';
|
|
47
47
|
const PRAGMA_TABLE = 'pragma_table_';
|
|
48
|
-
const getWrappedCommand = (
|
|
48
|
+
const getWrappedCommand = (executeCommand, onSqlCommand) =>
|
|
49
49
|
onSqlCommand
|
|
50
|
-
? async (sql,
|
|
51
|
-
onSqlCommand(sql,
|
|
52
|
-
return await
|
|
50
|
+
? async (sql, params) => {
|
|
51
|
+
onSqlCommand(sql, params);
|
|
52
|
+
return await executeCommand(sql, params);
|
|
53
53
|
}
|
|
54
|
-
:
|
|
54
|
+
: executeCommand;
|
|
55
55
|
const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
|
|
56
56
|
const getPlaceholders = (array) =>
|
|
57
57
|
arrayJoin(
|
|
@@ -314,7 +314,7 @@ const setNew = (entryOrEntries) =>
|
|
|
314
314
|
const setAdd = (set, value) => set?.add(value);
|
|
315
315
|
|
|
316
316
|
const getCommandFunctions = (
|
|
317
|
-
|
|
317
|
+
databaseExecuteCommand,
|
|
318
318
|
managedTableNames,
|
|
319
319
|
querySchema,
|
|
320
320
|
onIgnoredError,
|
|
@@ -328,8 +328,9 @@ const getCommandFunctions = (
|
|
|
328
328
|
collHas(mapGet(schemaMap, tableName), rowIdColumnName);
|
|
329
329
|
const refreshSchema = async () => {
|
|
330
330
|
collClear(schemaMap);
|
|
331
|
-
arrayMap(
|
|
332
|
-
|
|
331
|
+
arrayMap(
|
|
332
|
+
await querySchema(databaseExecuteCommand, managedTableNames),
|
|
333
|
+
({tn, cn}) => setAdd(mapEnsure(schemaMap, tn, setNew), cn),
|
|
333
334
|
);
|
|
334
335
|
};
|
|
335
336
|
const loadTable = async (tableName, rowIdColumnName) =>
|
|
@@ -337,7 +338,9 @@ const getCommandFunctions = (
|
|
|
337
338
|
? objNew(
|
|
338
339
|
arrayFilter(
|
|
339
340
|
arrayMap(
|
|
340
|
-
await
|
|
341
|
+
await databaseExecuteCommand(
|
|
342
|
+
SELECT_STAR_FROM + escapeId(tableName),
|
|
343
|
+
),
|
|
341
344
|
(row) => [
|
|
342
345
|
row[rowIdColumnName],
|
|
343
346
|
decode
|
|
@@ -370,7 +373,7 @@ const getCommandFunctions = (
|
|
|
370
373
|
arrayIsEmpty(tableColumnNames) &&
|
|
371
374
|
collHas(schemaMap, tableName)
|
|
372
375
|
) {
|
|
373
|
-
await
|
|
376
|
+
await databaseExecuteCommand('DROP ' + TABLE + escapeId(tableName));
|
|
374
377
|
mapSet(schemaMap, tableName);
|
|
375
378
|
return;
|
|
376
379
|
}
|
|
@@ -378,7 +381,7 @@ const getCommandFunctions = (
|
|
|
378
381
|
const currentColumnNames = setNew(collValues(tableSchemaColumns));
|
|
379
382
|
if (!arrayIsEmpty(tableColumnNames)) {
|
|
380
383
|
if (!collHas(schemaMap, tableName)) {
|
|
381
|
-
await
|
|
384
|
+
await databaseExecuteCommand(
|
|
382
385
|
'CREATE ' +
|
|
383
386
|
TABLE +
|
|
384
387
|
escapeId(tableName) +
|
|
@@ -400,7 +403,7 @@ const getCommandFunctions = (
|
|
|
400
403
|
[rowIdColumnName, ...tableColumnNames],
|
|
401
404
|
async (columnName, index) => {
|
|
402
405
|
if (!collDel(currentColumnNames, columnName)) {
|
|
403
|
-
await
|
|
406
|
+
await databaseExecuteCommand(
|
|
404
407
|
ALTER_TABLE +
|
|
405
408
|
escapeId(tableName) +
|
|
406
409
|
'ADD' +
|
|
@@ -408,7 +411,7 @@ const getCommandFunctions = (
|
|
|
408
411
|
columnType,
|
|
409
412
|
);
|
|
410
413
|
if (index == 0) {
|
|
411
|
-
await
|
|
414
|
+
await databaseExecuteCommand(
|
|
412
415
|
'CREATE UNIQUE INDEX pk ON ' +
|
|
413
416
|
escapeId(tableName) +
|
|
414
417
|
`(${escapeId(rowIdColumnName)})`,
|
|
@@ -425,7 +428,7 @@ const getCommandFunctions = (
|
|
|
425
428
|
...(!partial && deleteEmptyColumns
|
|
426
429
|
? arrayMap(collValues(currentColumnNames), async (columnName) => {
|
|
427
430
|
if (columnName != rowIdColumnName) {
|
|
428
|
-
await
|
|
431
|
+
await databaseExecuteCommand(
|
|
429
432
|
ALTER_TABLE +
|
|
430
433
|
escapeId(tableName) +
|
|
431
434
|
'DROP' +
|
|
@@ -438,12 +441,14 @@ const getCommandFunctions = (
|
|
|
438
441
|
]);
|
|
439
442
|
if (partial) {
|
|
440
443
|
if (isUndefined(content)) {
|
|
441
|
-
await
|
|
444
|
+
await databaseExecuteCommand(
|
|
445
|
+
DELETE_FROM + escapeId(tableName) + WHERE + ' true',
|
|
446
|
+
);
|
|
442
447
|
} else {
|
|
443
448
|
await promiseAll(
|
|
444
449
|
objToArray(content, async (row, rowId) => {
|
|
445
450
|
if (isUndefined(row)) {
|
|
446
|
-
await
|
|
451
|
+
await databaseExecuteCommand(
|
|
447
452
|
DELETE_FROM +
|
|
448
453
|
escapeId(tableName) +
|
|
449
454
|
WHERE +
|
|
@@ -453,7 +458,7 @@ const getCommandFunctions = (
|
|
|
453
458
|
);
|
|
454
459
|
} else if (!arrayIsEmpty(tableColumnNames)) {
|
|
455
460
|
await upsert(
|
|
456
|
-
|
|
461
|
+
databaseExecuteCommand,
|
|
457
462
|
tableName,
|
|
458
463
|
rowIdColumnName,
|
|
459
464
|
objIds(row),
|
|
@@ -475,11 +480,11 @@ const getCommandFunctions = (
|
|
|
475
480
|
collValues(mapGet(schemaMap, tableName)),
|
|
476
481
|
(columnName) => columnName != rowIdColumnName,
|
|
477
482
|
);
|
|
478
|
-
const
|
|
483
|
+
const params = [];
|
|
479
484
|
const deleteRowIds = [];
|
|
480
485
|
objToArray(content ?? {}, (row, rowId) => {
|
|
481
486
|
arrayPush(
|
|
482
|
-
|
|
487
|
+
params,
|
|
483
488
|
rowId,
|
|
484
489
|
...arrayMap(changingColumnNames, (cellId) =>
|
|
485
490
|
encode ? encode(row?.[cellId]) : row?.[cellId],
|
|
@@ -488,14 +493,14 @@ const getCommandFunctions = (
|
|
|
488
493
|
arrayPush(deleteRowIds, rowId);
|
|
489
494
|
});
|
|
490
495
|
await upsert(
|
|
491
|
-
|
|
496
|
+
databaseExecuteCommand,
|
|
492
497
|
tableName,
|
|
493
498
|
rowIdColumnName,
|
|
494
499
|
changingColumnNames,
|
|
495
|
-
|
|
500
|
+
params,
|
|
496
501
|
orReplace,
|
|
497
502
|
);
|
|
498
|
-
await
|
|
503
|
+
await databaseExecuteCommand(
|
|
499
504
|
DELETE_FROM +
|
|
500
505
|
escapeId(tableName) +
|
|
501
506
|
WHERE +
|
|
@@ -504,32 +509,34 @@ const getCommandFunctions = (
|
|
|
504
509
|
deleteRowIds,
|
|
505
510
|
);
|
|
506
511
|
} else if (collHas(schemaMap, tableName)) {
|
|
507
|
-
await
|
|
512
|
+
await databaseExecuteCommand(
|
|
513
|
+
DELETE_FROM + escapeId(tableName) + WHERE + ' true',
|
|
514
|
+
);
|
|
508
515
|
}
|
|
509
516
|
}
|
|
510
517
|
};
|
|
511
518
|
const transaction = async (actions) => {
|
|
512
519
|
let result;
|
|
513
|
-
await
|
|
520
|
+
await databaseExecuteCommand('BEGIN');
|
|
514
521
|
try {
|
|
515
522
|
result = await actions();
|
|
516
523
|
} catch (error) {
|
|
517
524
|
onIgnoredError?.(error);
|
|
518
525
|
}
|
|
519
|
-
await
|
|
526
|
+
await databaseExecuteCommand('END');
|
|
520
527
|
return result;
|
|
521
528
|
};
|
|
522
529
|
return [refreshSchema, loadTable, saveTable, transaction];
|
|
523
530
|
};
|
|
524
531
|
const upsert = async (
|
|
525
|
-
|
|
532
|
+
executeCommand,
|
|
526
533
|
tableName,
|
|
527
534
|
rowIdColumnName,
|
|
528
535
|
changingColumnNames,
|
|
529
|
-
|
|
536
|
+
params,
|
|
530
537
|
orReplace = 0,
|
|
531
538
|
) =>
|
|
532
|
-
await
|
|
539
|
+
await executeCommand(
|
|
533
540
|
'INSERT ' +
|
|
534
541
|
(orReplace ? 'OR REPLACE ' : EMPTY_STRING) +
|
|
535
542
|
'INTO' +
|
|
@@ -543,7 +550,7 @@ const upsert = async (
|
|
|
543
550
|
),
|
|
544
551
|
) +
|
|
545
552
|
')VALUES' +
|
|
546
|
-
getUpsertPlaceholders(
|
|
553
|
+
getUpsertPlaceholders(params, size(changingColumnNames) + 1) +
|
|
547
554
|
(orReplace
|
|
548
555
|
? EMPTY_STRING
|
|
549
556
|
: 'ON CONFLICT(' +
|
|
@@ -557,7 +564,7 @@ const upsert = async (
|
|
|
557
564
|
),
|
|
558
565
|
COMMA,
|
|
559
566
|
)),
|
|
560
|
-
arrayMap(
|
|
567
|
+
arrayMap(params, (param) => param ?? null),
|
|
561
568
|
);
|
|
562
569
|
const getUpsertPlaceholders = (array, columnCount) =>
|
|
563
570
|
arrayJoin(
|
|
@@ -579,7 +586,7 @@ const getUpsertPlaceholders = (array, columnCount) =>
|
|
|
579
586
|
|
|
580
587
|
const createJsonPersister = (
|
|
581
588
|
store,
|
|
582
|
-
|
|
589
|
+
executeCommand,
|
|
583
590
|
addPersisterListener,
|
|
584
591
|
delPersisterListener,
|
|
585
592
|
onIgnoredError,
|
|
@@ -595,7 +602,7 @@ const createJsonPersister = (
|
|
|
595
602
|
) => {
|
|
596
603
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
597
604
|
getCommandFunctions(
|
|
598
|
-
|
|
605
|
+
executeCommand,
|
|
599
606
|
managedTableNames,
|
|
600
607
|
querySchema,
|
|
601
608
|
onIgnoredError,
|
|
@@ -647,7 +654,7 @@ const createJsonPersister = (
|
|
|
647
654
|
|
|
648
655
|
const createTabularPersister = (
|
|
649
656
|
store,
|
|
650
|
-
|
|
657
|
+
executeCommand,
|
|
651
658
|
addPersisterListener,
|
|
652
659
|
delPersisterListener,
|
|
653
660
|
onIgnoredError,
|
|
@@ -669,7 +676,7 @@ const createTabularPersister = (
|
|
|
669
676
|
) => {
|
|
670
677
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
671
678
|
getCommandFunctions(
|
|
672
|
-
|
|
679
|
+
executeCommand,
|
|
673
680
|
managedTableNames,
|
|
674
681
|
querySchema,
|
|
675
682
|
onIgnoredError,
|
|
@@ -875,14 +882,15 @@ const getConfigStructures = (configOrStoreTableName) => {
|
|
|
875
882
|
return [0, autoLoadIntervalSeconds, tabularConfig, managedTableNames];
|
|
876
883
|
};
|
|
877
884
|
|
|
878
|
-
const
|
|
885
|
+
const createCustomSqlitePersister = (
|
|
879
886
|
store,
|
|
880
887
|
configOrStoreTableName,
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
888
|
+
rawExecuteCommand,
|
|
889
|
+
addChangeListener,
|
|
890
|
+
delChangeListener,
|
|
884
891
|
onSqlCommand,
|
|
885
892
|
onIgnoredError,
|
|
893
|
+
destroy,
|
|
886
894
|
persist,
|
|
887
895
|
thing,
|
|
888
896
|
getThing = 'getDb',
|
|
@@ -891,7 +899,7 @@ const createSqlitePersister = (
|
|
|
891
899
|
let dataVersion;
|
|
892
900
|
let schemaVersion;
|
|
893
901
|
let totalChanges;
|
|
894
|
-
const
|
|
902
|
+
const executeCommand = getWrappedCommand(rawExecuteCommand, onSqlCommand);
|
|
895
903
|
const [
|
|
896
904
|
isJson,
|
|
897
905
|
autoLoadIntervalSeconds,
|
|
@@ -903,7 +911,7 @@ const createSqlitePersister = (
|
|
|
903
911
|
const startPolling = () =>
|
|
904
912
|
(interval = startInterval(async () => {
|
|
905
913
|
try {
|
|
906
|
-
const [{d, s, c}] = await
|
|
914
|
+
const [{d, s, c}] = await executeCommand(
|
|
907
915
|
// eslint-disable-next-line max-len
|
|
908
916
|
`${SELECT} ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
909
917
|
);
|
|
@@ -921,7 +929,7 @@ const createSqlitePersister = (
|
|
|
921
929
|
dataVersion = schemaVersion = totalChanges = null;
|
|
922
930
|
stopInterval(interval);
|
|
923
931
|
};
|
|
924
|
-
const listeningHandle =
|
|
932
|
+
const listeningHandle = addChangeListener((tableName) => {
|
|
925
933
|
if (managedTableNamesSet.has(tableName)) {
|
|
926
934
|
stopPolling();
|
|
927
935
|
listener();
|
|
@@ -931,23 +939,23 @@ const createSqlitePersister = (
|
|
|
931
939
|
startPolling();
|
|
932
940
|
return () => {
|
|
933
941
|
stopPolling();
|
|
934
|
-
|
|
942
|
+
delChangeListener(listeningHandle);
|
|
935
943
|
};
|
|
936
944
|
};
|
|
937
945
|
const delPersisterListener = (stopPollingAndDelUpdateListener) =>
|
|
938
946
|
stopPollingAndDelUpdateListener();
|
|
939
947
|
return (isJson ? createJsonPersister : createTabularPersister)(
|
|
940
948
|
store,
|
|
941
|
-
|
|
949
|
+
executeCommand,
|
|
942
950
|
addPersisterListener,
|
|
943
951
|
delPersisterListener,
|
|
944
952
|
onIgnoredError,
|
|
945
|
-
|
|
953
|
+
destroy,
|
|
946
954
|
persist,
|
|
947
955
|
defaultedConfig,
|
|
948
956
|
collValues(managedTableNamesSet),
|
|
949
|
-
async (
|
|
950
|
-
await
|
|
957
|
+
async (executeCommand2, managedTableNames) =>
|
|
958
|
+
await executeCommand2(
|
|
951
959
|
// eslint-disable-next-line max-len
|
|
952
960
|
`${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`,
|
|
953
961
|
managedTableNames,
|
|
@@ -970,12 +978,12 @@ const createSqliteWasmPersister = (
|
|
|
970
978
|
onSqlCommand,
|
|
971
979
|
onIgnoredError,
|
|
972
980
|
) =>
|
|
973
|
-
|
|
981
|
+
createCustomSqlitePersister(
|
|
974
982
|
store,
|
|
975
983
|
configOrStoreTableName,
|
|
976
|
-
async (sql,
|
|
984
|
+
async (sql, params = []) =>
|
|
977
985
|
db
|
|
978
|
-
.exec(sql, {bind:
|
|
986
|
+
.exec(sql, {bind: params, rowMode: 'object', returnValue: 'resultRows'})
|
|
979
987
|
.map((row) => ({...row})),
|
|
980
988
|
(listener) =>
|
|
981
989
|
sqlite3.capi.sqlite3_update_hook(
|
|
@@ -986,6 +994,7 @@ const createSqliteWasmPersister = (
|
|
|
986
994
|
() => sqlite3.capi.sqlite3_update_hook(db, () => 0, 0),
|
|
987
995
|
onSqlCommand,
|
|
988
996
|
onIgnoredError,
|
|
997
|
+
() => 0,
|
|
989
998
|
3,
|
|
990
999
|
// StoreOrMergeableStore,
|
|
991
1000
|
db,
|