tinybase 5.2.0-beta.4 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/mergeable-store/index.d.cts +114 -11
- package/@types/mergeable-store/index.d.ts +114 -11
- package/@types/mergeable-store/with-schemas/index.d.cts +192 -11
- package/@types/mergeable-store/with-schemas/index.d.ts +192 -11
- package/@types/persisters/index.d.cts +177 -16
- package/@types/persisters/index.d.ts +177 -16
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +1 -1
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +1 -1
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-electric-sql/index.d.cts +1 -1
- package/@types/persisters/persister-electric-sql/index.d.ts +1 -1
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-expo-sqlite/index.d.cts +1 -1
- package/@types/persisters/persister-expo-sqlite/index.d.ts +1 -1
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-libsql/index.d.cts +1 -1
- package/@types/persisters/persister-libsql/index.d.ts +1 -1
- package/@types/persisters/persister-libsql/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-pglite/index.d.cts +1 -1
- package/@types/persisters/persister-pglite/index.d.ts +1 -1
- package/@types/persisters/persister-pglite/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-pglite/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-postgres/index.d.cts +1 -1
- package/@types/persisters/persister-postgres/index.d.ts +1 -1
- package/@types/persisters/persister-postgres/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-postgres/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-powersync/index.d.cts +1 -1
- package/@types/persisters/persister-powersync/index.d.ts +1 -1
- package/@types/persisters/persister-powersync/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-sqlite-wasm/index.d.cts +1 -1
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +1 -1
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-sqlite3/index.d.cts +1 -1
- package/@types/persisters/persister-sqlite3/index.d.ts +1 -1
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +2 -2
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +2 -2
- package/@types/persisters/with-schemas/index.d.cts +227 -19
- package/@types/persisters/with-schemas/index.d.ts +227 -19
- package/@types/synchronizers/index.d.cts +2 -5
- package/@types/synchronizers/index.d.ts +2 -5
- package/@types/synchronizers/synchronizer-ws-server/index.d.cts +7 -7
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +7 -7
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +7 -7
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +7 -7
- package/@types/synchronizers/with-schemas/index.d.cts +2 -5
- package/@types/synchronizers/with-schemas/index.d.ts +2 -5
- package/cjs/es6/index.cjs +54 -566
- package/cjs/es6/mergeable-store/index.cjs +9 -6
- package/cjs/es6/mergeable-store/with-schemas/index.cjs +9 -6
- package/cjs/es6/min/index.cjs +1 -1
- package/cjs/es6/min/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/index.cjs +1 -1
- package/cjs/es6/min/persisters/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/persisters/index.cjs +1095 -10
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +58 -49
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +58 -49
- package/cjs/es6/persisters/persister-electric-sql/index.cjs +56 -47
- package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +56 -47
- package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +58 -49
- package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +58 -49
- package/cjs/es6/persisters/persister-indexed-db/index.cjs +2 -2
- package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +2 -2
- package/cjs/es6/persisters/persister-libsql/index.cjs +56 -47
- package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +56 -47
- package/cjs/es6/persisters/persister-pglite/index.cjs +61 -54
- package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +61 -54
- package/cjs/es6/persisters/persister-postgres/index.cjs +63 -56
- package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +63 -56
- package/cjs/es6/persisters/persister-powersync/index.cjs +58 -49
- package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +58 -49
- package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +62 -49
- package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +62 -49
- package/cjs/es6/persisters/persister-sqlite3/index.cjs +58 -49
- package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +58 -49
- package/cjs/es6/persisters/with-schemas/index.cjs +1095 -10
- package/cjs/es6/synchronizers/index.cjs +9 -6
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +9 -6
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +9 -6
- package/cjs/es6/synchronizers/synchronizer-local/index.cjs +9 -6
- package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +9 -6
- package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +9 -6
- package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +9 -6
- package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +17 -14
- package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +17 -14
- package/cjs/es6/synchronizers/with-schemas/index.cjs +9 -6
- package/cjs/es6/with-schemas/index.cjs +54 -566
- package/cjs/index.cjs +45 -447
- package/cjs/mergeable-store/index.cjs +1 -0
- package/cjs/mergeable-store/with-schemas/index.cjs +1 -0
- package/cjs/min/index.cjs +1 -1
- package/cjs/min/index.cjs.gz +0 -0
- package/cjs/min/persisters/index.cjs +1 -1
- package/cjs/min/persisters/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
- package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
- package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
- package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
- package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
- package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/with-schemas/index.cjs +1 -1
- package/cjs/min/with-schemas/index.cjs.gz +0 -0
- package/cjs/persisters/index.cjs +833 -0
- package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +57 -48
- package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +57 -48
- package/cjs/persisters/persister-electric-sql/index.cjs +56 -47
- package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +56 -47
- package/cjs/persisters/persister-expo-sqlite/index.cjs +57 -48
- package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +57 -48
- package/cjs/persisters/persister-indexed-db/index.cjs +2 -2
- package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +2 -2
- package/cjs/persisters/persister-libsql/index.cjs +56 -47
- package/cjs/persisters/persister-libsql/with-schemas/index.cjs +56 -47
- package/cjs/persisters/persister-pglite/index.cjs +59 -52
- package/cjs/persisters/persister-pglite/with-schemas/index.cjs +59 -52
- package/cjs/persisters/persister-postgres/index.cjs +61 -54
- package/cjs/persisters/persister-postgres/with-schemas/index.cjs +61 -54
- package/cjs/persisters/persister-powersync/index.cjs +60 -49
- package/cjs/persisters/persister-powersync/with-schemas/index.cjs +60 -49
- package/cjs/persisters/persister-sqlite-wasm/index.cjs +58 -49
- package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +58 -49
- package/cjs/persisters/persister-sqlite3/index.cjs +58 -49
- package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +58 -49
- package/cjs/persisters/with-schemas/index.cjs +833 -0
- package/cjs/synchronizers/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-local/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-ws-client/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-ws-server/index.cjs +9 -8
- package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +9 -8
- package/cjs/synchronizers/with-schemas/index.cjs +1 -0
- package/cjs/with-schemas/index.cjs +45 -447
- package/es6/index.js +54 -566
- package/es6/mergeable-store/index.js +9 -6
- package/es6/mergeable-store/with-schemas/index.js +9 -6
- package/es6/min/index.js +1 -1
- package/es6/min/index.js.gz +0 -0
- package/es6/min/persisters/index.js +1 -1
- package/es6/min/persisters/index.js.gz +0 -0
- package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-electric-sql/index.js +1 -1
- package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-libsql/index.js +1 -1
- package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
- package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-powersync/index.js +1 -1
- package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
- package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite3/index.js +1 -1
- package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/with-schemas/index.js +1 -1
- package/es6/min/persisters/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/es6/min/with-schemas/index.js +1 -1
- package/es6/min/with-schemas/index.js.gz +0 -0
- package/es6/persisters/index.js +1099 -11
- package/es6/persisters/persister-cr-sqlite-wasm/index.js +58 -49
- package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +58 -49
- package/es6/persisters/persister-electric-sql/index.js +56 -47
- package/es6/persisters/persister-electric-sql/with-schemas/index.js +56 -47
- package/es6/persisters/persister-expo-sqlite/index.js +58 -49
- package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +58 -49
- package/es6/persisters/persister-indexed-db/index.js +2 -2
- package/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -2
- package/es6/persisters/persister-libsql/index.js +56 -47
- package/es6/persisters/persister-libsql/with-schemas/index.js +56 -47
- package/es6/persisters/persister-pglite/index.js +61 -54
- package/es6/persisters/persister-pglite/with-schemas/index.js +61 -54
- package/es6/persisters/persister-postgres/index.js +63 -56
- package/es6/persisters/persister-postgres/with-schemas/index.js +63 -56
- package/es6/persisters/persister-powersync/index.js +58 -49
- package/es6/persisters/persister-powersync/with-schemas/index.js +58 -49
- package/es6/persisters/persister-sqlite-wasm/index.js +62 -49
- package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +62 -49
- package/es6/persisters/persister-sqlite3/index.js +58 -49
- package/es6/persisters/persister-sqlite3/with-schemas/index.js +58 -49
- package/es6/persisters/with-schemas/index.js +1099 -11
- package/es6/synchronizers/index.js +9 -6
- package/es6/synchronizers/synchronizer-broadcast-channel/index.js +9 -6
- package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +9 -6
- package/es6/synchronizers/synchronizer-local/index.js +9 -6
- package/es6/synchronizers/synchronizer-local/with-schemas/index.js +9 -6
- package/es6/synchronizers/synchronizer-ws-client/index.js +9 -6
- package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +9 -6
- package/es6/synchronizers/synchronizer-ws-server/index.js +17 -14
- package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +17 -14
- package/es6/synchronizers/with-schemas/index.js +9 -6
- package/es6/with-schemas/index.js +54 -566
- package/index.js +45 -447
- package/mergeable-store/index.js +1 -0
- package/mergeable-store/with-schemas/index.js +1 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/package.json +212 -212
- package/persisters/index.js +837 -1
- package/persisters/persister-cr-sqlite-wasm/index.js +57 -48
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +57 -48
- package/persisters/persister-electric-sql/index.js +56 -47
- package/persisters/persister-electric-sql/with-schemas/index.js +56 -47
- package/persisters/persister-expo-sqlite/index.js +57 -48
- package/persisters/persister-expo-sqlite/with-schemas/index.js +57 -48
- package/persisters/persister-indexed-db/index.js +2 -2
- package/persisters/persister-indexed-db/with-schemas/index.js +2 -2
- package/persisters/persister-libsql/index.js +56 -47
- package/persisters/persister-libsql/with-schemas/index.js +56 -47
- package/persisters/persister-pglite/index.js +59 -52
- package/persisters/persister-pglite/with-schemas/index.js +59 -52
- package/persisters/persister-postgres/index.js +61 -54
- package/persisters/persister-postgres/with-schemas/index.js +61 -54
- package/persisters/persister-powersync/index.js +60 -49
- package/persisters/persister-powersync/with-schemas/index.js +60 -49
- package/persisters/persister-sqlite-wasm/index.js +58 -49
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +58 -49
- package/persisters/persister-sqlite3/index.js +58 -49
- package/persisters/persister-sqlite3/with-schemas/index.js +58 -49
- package/persisters/with-schemas/index.js +837 -1
- package/readme.md +14 -14
- package/releases.md +27 -23
- package/synchronizers/index.js +1 -0
- package/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
- package/synchronizers/synchronizer-local/index.js +1 -0
- package/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
- package/synchronizers/synchronizer-ws-client/index.js +1 -0
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
- package/synchronizers/synchronizer-ws-server/index.js +9 -8
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +9 -8
- package/synchronizers/with-schemas/index.js +1 -0
- package/umd/es6/index.js +54 -577
- package/umd/es6/mergeable-store/index.js +9 -6
- package/umd/es6/mergeable-store/with-schemas/index.js +9 -6
- package/umd/es6/min/index.js +1 -1
- package/umd/es6/min/index.js.gz +0 -0
- package/umd/es6/min/persisters/index.js +1 -1
- package/umd/es6/min/persisters/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
- package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
- package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
- package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/with-schemas/index.js +1 -1
- package/umd/es6/min/with-schemas/index.js.gz +0 -0
- package/umd/es6/persisters/index.js +1106 -10
- package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +58 -49
- package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +58 -49
- package/umd/es6/persisters/persister-electric-sql/index.js +56 -47
- package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +56 -47
- package/umd/es6/persisters/persister-expo-sqlite/index.js +58 -49
- package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +58 -49
- package/umd/es6/persisters/persister-indexed-db/index.js +2 -2
- package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -2
- package/umd/es6/persisters/persister-libsql/index.js +56 -47
- package/umd/es6/persisters/persister-libsql/with-schemas/index.js +56 -47
- package/umd/es6/persisters/persister-pglite/index.js +61 -54
- package/umd/es6/persisters/persister-pglite/with-schemas/index.js +61 -54
- package/umd/es6/persisters/persister-postgres/index.js +66 -56
- package/umd/es6/persisters/persister-postgres/with-schemas/index.js +66 -56
- package/umd/es6/persisters/persister-powersync/index.js +58 -49
- package/umd/es6/persisters/persister-powersync/with-schemas/index.js +58 -49
- package/umd/es6/persisters/persister-sqlite-wasm/index.js +58 -49
- package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +58 -49
- package/umd/es6/persisters/persister-sqlite3/index.js +58 -49
- package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +58 -49
- package/umd/es6/persisters/with-schemas/index.js +1106 -10
- package/umd/es6/synchronizers/index.js +9 -6
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +9 -6
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +9 -6
- package/umd/es6/synchronizers/synchronizer-local/index.js +9 -6
- package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +9 -6
- package/umd/es6/synchronizers/synchronizer-ws-client/index.js +9 -6
- package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +9 -6
- package/umd/es6/synchronizers/synchronizer-ws-server/index.js +17 -14
- package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +17 -14
- package/umd/es6/synchronizers/with-schemas/index.js +9 -6
- package/umd/es6/with-schemas/index.js +54 -577
- package/umd/index.js +45 -454
- package/umd/mergeable-store/index.js +1 -0
- package/umd/mergeable-store/with-schemas/index.js +1 -0
- package/umd/min/index.js +1 -1
- package/umd/min/index.js.gz +0 -0
- package/umd/min/persisters/index.js +1 -1
- package/umd/min/persisters/index.js.gz +0 -0
- package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-electric-sql/index.js +1 -1
- package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-libsql/index.js +1 -1
- package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
- package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-powersync/index.js +1 -1
- package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
- package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite3/index.js +1 -1
- package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/with-schemas/index.js +1 -1
- package/umd/min/persisters/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/umd/min/with-schemas/index.js +1 -1
- package/umd/min/with-schemas/index.js.gz +0 -0
- package/umd/persisters/index.js +835 -0
- package/umd/persisters/persister-cr-sqlite-wasm/index.js +57 -48
- package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +57 -48
- package/umd/persisters/persister-electric-sql/index.js +56 -47
- package/umd/persisters/persister-electric-sql/with-schemas/index.js +56 -47
- package/umd/persisters/persister-expo-sqlite/index.js +57 -48
- package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +57 -48
- package/umd/persisters/persister-indexed-db/index.js +2 -2
- package/umd/persisters/persister-indexed-db/with-schemas/index.js +2 -2
- package/umd/persisters/persister-libsql/index.js +56 -47
- package/umd/persisters/persister-libsql/with-schemas/index.js +56 -47
- package/umd/persisters/persister-pglite/index.js +59 -52
- package/umd/persisters/persister-pglite/with-schemas/index.js +59 -52
- package/umd/persisters/persister-postgres/index.js +61 -54
- package/umd/persisters/persister-postgres/with-schemas/index.js +61 -54
- package/umd/persisters/persister-powersync/index.js +58 -49
- package/umd/persisters/persister-powersync/with-schemas/index.js +58 -49
- package/umd/persisters/persister-sqlite-wasm/index.js +62 -49
- package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +62 -49
- package/umd/persisters/persister-sqlite3/index.js +58 -49
- package/umd/persisters/persister-sqlite3/with-schemas/index.js +58 -49
- package/umd/persisters/with-schemas/index.js +835 -0
- package/umd/synchronizers/index.js +1 -0
- package/umd/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
- package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
- package/umd/synchronizers/synchronizer-local/index.js +1 -0
- package/umd/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
- package/umd/synchronizers/synchronizer-ws-client/index.js +1 -0
- package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
- package/umd/synchronizers/synchronizer-ws-server/index.js +9 -8
- package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +9 -8
- package/umd/synchronizers/with-schemas/index.js +1 -0
- package/umd/with-schemas/index.js +45 -454
- package/with-schemas/index.js +45 -447
|
@@ -47,13 +47,13 @@ const DATA_VERSION = 'data_version';
|
|
|
47
47
|
const SCHEMA_VERSION = 'schema_version';
|
|
48
48
|
const FROM = 'FROM ';
|
|
49
49
|
const PRAGMA_TABLE = 'pragma_table_';
|
|
50
|
-
const getWrappedCommand = (
|
|
50
|
+
const getWrappedCommand = (executeCommand, onSqlCommand) =>
|
|
51
51
|
onSqlCommand
|
|
52
|
-
? async (sql,
|
|
53
|
-
onSqlCommand(sql,
|
|
54
|
-
return await
|
|
52
|
+
? async (sql, params) => {
|
|
53
|
+
onSqlCommand(sql, params);
|
|
54
|
+
return await executeCommand(sql, params);
|
|
55
55
|
}
|
|
56
|
-
:
|
|
56
|
+
: executeCommand;
|
|
57
57
|
const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
|
|
58
58
|
const getPlaceholders = (array) =>
|
|
59
59
|
arrayJoin(
|
|
@@ -316,7 +316,7 @@ const setNew = (entryOrEntries) =>
|
|
|
316
316
|
const setAdd = (set, value) => set?.add(value);
|
|
317
317
|
|
|
318
318
|
const getCommandFunctions = (
|
|
319
|
-
|
|
319
|
+
databaseExecuteCommand,
|
|
320
320
|
managedTableNames,
|
|
321
321
|
querySchema,
|
|
322
322
|
onIgnoredError,
|
|
@@ -330,8 +330,9 @@ const getCommandFunctions = (
|
|
|
330
330
|
collHas(mapGet(schemaMap, tableName), rowIdColumnName);
|
|
331
331
|
const refreshSchema = async () => {
|
|
332
332
|
collClear(schemaMap);
|
|
333
|
-
arrayMap(
|
|
334
|
-
|
|
333
|
+
arrayMap(
|
|
334
|
+
await querySchema(databaseExecuteCommand, managedTableNames),
|
|
335
|
+
({tn, cn}) => setAdd(mapEnsure(schemaMap, tn, setNew), cn),
|
|
335
336
|
);
|
|
336
337
|
};
|
|
337
338
|
const loadTable = async (tableName, rowIdColumnName) =>
|
|
@@ -339,7 +340,9 @@ const getCommandFunctions = (
|
|
|
339
340
|
? objNew(
|
|
340
341
|
arrayFilter(
|
|
341
342
|
arrayMap(
|
|
342
|
-
await
|
|
343
|
+
await databaseExecuteCommand(
|
|
344
|
+
SELECT_STAR_FROM + escapeId(tableName),
|
|
345
|
+
),
|
|
343
346
|
(row) => [
|
|
344
347
|
row[rowIdColumnName],
|
|
345
348
|
decode
|
|
@@ -372,7 +375,7 @@ const getCommandFunctions = (
|
|
|
372
375
|
arrayIsEmpty(tableColumnNames) &&
|
|
373
376
|
collHas(schemaMap, tableName)
|
|
374
377
|
) {
|
|
375
|
-
await
|
|
378
|
+
await databaseExecuteCommand('DROP ' + TABLE + escapeId(tableName));
|
|
376
379
|
mapSet(schemaMap, tableName);
|
|
377
380
|
return;
|
|
378
381
|
}
|
|
@@ -380,7 +383,7 @@ const getCommandFunctions = (
|
|
|
380
383
|
const currentColumnNames = setNew(collValues(tableSchemaColumns));
|
|
381
384
|
if (!arrayIsEmpty(tableColumnNames)) {
|
|
382
385
|
if (!collHas(schemaMap, tableName)) {
|
|
383
|
-
await
|
|
386
|
+
await databaseExecuteCommand(
|
|
384
387
|
'CREATE ' +
|
|
385
388
|
TABLE +
|
|
386
389
|
escapeId(tableName) +
|
|
@@ -402,7 +405,7 @@ const getCommandFunctions = (
|
|
|
402
405
|
[rowIdColumnName, ...tableColumnNames],
|
|
403
406
|
async (columnName, index) => {
|
|
404
407
|
if (!collDel(currentColumnNames, columnName)) {
|
|
405
|
-
await
|
|
408
|
+
await databaseExecuteCommand(
|
|
406
409
|
ALTER_TABLE +
|
|
407
410
|
escapeId(tableName) +
|
|
408
411
|
'ADD' +
|
|
@@ -410,7 +413,7 @@ const getCommandFunctions = (
|
|
|
410
413
|
columnType,
|
|
411
414
|
);
|
|
412
415
|
if (index == 0) {
|
|
413
|
-
await
|
|
416
|
+
await databaseExecuteCommand(
|
|
414
417
|
'CREATE UNIQUE INDEX pk ON ' +
|
|
415
418
|
escapeId(tableName) +
|
|
416
419
|
`(${escapeId(rowIdColumnName)})`,
|
|
@@ -427,7 +430,7 @@ const getCommandFunctions = (
|
|
|
427
430
|
...(!partial && deleteEmptyColumns
|
|
428
431
|
? arrayMap(collValues(currentColumnNames), async (columnName) => {
|
|
429
432
|
if (columnName != rowIdColumnName) {
|
|
430
|
-
await
|
|
433
|
+
await databaseExecuteCommand(
|
|
431
434
|
ALTER_TABLE +
|
|
432
435
|
escapeId(tableName) +
|
|
433
436
|
'DROP' +
|
|
@@ -440,12 +443,14 @@ const getCommandFunctions = (
|
|
|
440
443
|
]);
|
|
441
444
|
if (partial) {
|
|
442
445
|
if (isUndefined(content)) {
|
|
443
|
-
await
|
|
446
|
+
await databaseExecuteCommand(
|
|
447
|
+
DELETE_FROM + escapeId(tableName) + WHERE + ' true',
|
|
448
|
+
);
|
|
444
449
|
} else {
|
|
445
450
|
await promiseAll(
|
|
446
451
|
objToArray(content, async (row, rowId) => {
|
|
447
452
|
if (isUndefined(row)) {
|
|
448
|
-
await
|
|
453
|
+
await databaseExecuteCommand(
|
|
449
454
|
DELETE_FROM +
|
|
450
455
|
escapeId(tableName) +
|
|
451
456
|
WHERE +
|
|
@@ -455,7 +460,7 @@ const getCommandFunctions = (
|
|
|
455
460
|
);
|
|
456
461
|
} else if (!arrayIsEmpty(tableColumnNames)) {
|
|
457
462
|
await upsert(
|
|
458
|
-
|
|
463
|
+
databaseExecuteCommand,
|
|
459
464
|
tableName,
|
|
460
465
|
rowIdColumnName,
|
|
461
466
|
objIds(row),
|
|
@@ -477,11 +482,11 @@ const getCommandFunctions = (
|
|
|
477
482
|
collValues(mapGet(schemaMap, tableName)),
|
|
478
483
|
(columnName) => columnName != rowIdColumnName,
|
|
479
484
|
);
|
|
480
|
-
const
|
|
485
|
+
const params = [];
|
|
481
486
|
const deleteRowIds = [];
|
|
482
487
|
objToArray(content ?? {}, (row, rowId) => {
|
|
483
488
|
arrayPush(
|
|
484
|
-
|
|
489
|
+
params,
|
|
485
490
|
rowId,
|
|
486
491
|
...arrayMap(changingColumnNames, (cellId) =>
|
|
487
492
|
encode ? encode(row?.[cellId]) : row?.[cellId],
|
|
@@ -490,14 +495,14 @@ const getCommandFunctions = (
|
|
|
490
495
|
arrayPush(deleteRowIds, rowId);
|
|
491
496
|
});
|
|
492
497
|
await upsert(
|
|
493
|
-
|
|
498
|
+
databaseExecuteCommand,
|
|
494
499
|
tableName,
|
|
495
500
|
rowIdColumnName,
|
|
496
501
|
changingColumnNames,
|
|
497
|
-
|
|
502
|
+
params,
|
|
498
503
|
orReplace,
|
|
499
504
|
);
|
|
500
|
-
await
|
|
505
|
+
await databaseExecuteCommand(
|
|
501
506
|
DELETE_FROM +
|
|
502
507
|
escapeId(tableName) +
|
|
503
508
|
WHERE +
|
|
@@ -506,32 +511,34 @@ const getCommandFunctions = (
|
|
|
506
511
|
deleteRowIds,
|
|
507
512
|
);
|
|
508
513
|
} else if (collHas(schemaMap, tableName)) {
|
|
509
|
-
await
|
|
514
|
+
await databaseExecuteCommand(
|
|
515
|
+
DELETE_FROM + escapeId(tableName) + WHERE + ' true',
|
|
516
|
+
);
|
|
510
517
|
}
|
|
511
518
|
}
|
|
512
519
|
};
|
|
513
520
|
const transaction = async (actions) => {
|
|
514
521
|
let result;
|
|
515
|
-
await
|
|
522
|
+
await databaseExecuteCommand('BEGIN');
|
|
516
523
|
try {
|
|
517
524
|
result = await actions();
|
|
518
525
|
} catch (error) {
|
|
519
526
|
onIgnoredError?.(error);
|
|
520
527
|
}
|
|
521
|
-
await
|
|
528
|
+
await databaseExecuteCommand('END');
|
|
522
529
|
return result;
|
|
523
530
|
};
|
|
524
531
|
return [refreshSchema, loadTable, saveTable, transaction];
|
|
525
532
|
};
|
|
526
533
|
const upsert = async (
|
|
527
|
-
|
|
534
|
+
executeCommand,
|
|
528
535
|
tableName,
|
|
529
536
|
rowIdColumnName,
|
|
530
537
|
changingColumnNames,
|
|
531
|
-
|
|
538
|
+
params,
|
|
532
539
|
orReplace = 0,
|
|
533
540
|
) =>
|
|
534
|
-
await
|
|
541
|
+
await executeCommand(
|
|
535
542
|
'INSERT ' +
|
|
536
543
|
(orReplace ? 'OR REPLACE ' : EMPTY_STRING) +
|
|
537
544
|
'INTO' +
|
|
@@ -545,7 +552,7 @@ const upsert = async (
|
|
|
545
552
|
),
|
|
546
553
|
) +
|
|
547
554
|
')VALUES' +
|
|
548
|
-
getUpsertPlaceholders(
|
|
555
|
+
getUpsertPlaceholders(params, size(changingColumnNames) + 1) +
|
|
549
556
|
(orReplace
|
|
550
557
|
? EMPTY_STRING
|
|
551
558
|
: 'ON CONFLICT(' +
|
|
@@ -559,7 +566,7 @@ const upsert = async (
|
|
|
559
566
|
),
|
|
560
567
|
COMMA,
|
|
561
568
|
)),
|
|
562
|
-
arrayMap(
|
|
569
|
+
arrayMap(params, (param) => param ?? null),
|
|
563
570
|
);
|
|
564
571
|
const getUpsertPlaceholders = (array, columnCount) =>
|
|
565
572
|
arrayJoin(
|
|
@@ -581,7 +588,7 @@ const getUpsertPlaceholders = (array, columnCount) =>
|
|
|
581
588
|
|
|
582
589
|
const createJsonPersister = (
|
|
583
590
|
store,
|
|
584
|
-
|
|
591
|
+
executeCommand,
|
|
585
592
|
addPersisterListener,
|
|
586
593
|
delPersisterListener,
|
|
587
594
|
onIgnoredError,
|
|
@@ -597,7 +604,7 @@ const createJsonPersister = (
|
|
|
597
604
|
) => {
|
|
598
605
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
599
606
|
getCommandFunctions(
|
|
600
|
-
|
|
607
|
+
executeCommand,
|
|
601
608
|
managedTableNames,
|
|
602
609
|
querySchema,
|
|
603
610
|
onIgnoredError,
|
|
@@ -649,7 +656,7 @@ const createJsonPersister = (
|
|
|
649
656
|
|
|
650
657
|
const createTabularPersister = (
|
|
651
658
|
store,
|
|
652
|
-
|
|
659
|
+
executeCommand,
|
|
653
660
|
addPersisterListener,
|
|
654
661
|
delPersisterListener,
|
|
655
662
|
onIgnoredError,
|
|
@@ -671,7 +678,7 @@ const createTabularPersister = (
|
|
|
671
678
|
) => {
|
|
672
679
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
673
680
|
getCommandFunctions(
|
|
674
|
-
|
|
681
|
+
executeCommand,
|
|
675
682
|
managedTableNames,
|
|
676
683
|
querySchema,
|
|
677
684
|
onIgnoredError,
|
|
@@ -877,14 +884,15 @@ const getConfigStructures = (configOrStoreTableName) => {
|
|
|
877
884
|
return [0, autoLoadIntervalSeconds, tabularConfig, managedTableNames];
|
|
878
885
|
};
|
|
879
886
|
|
|
880
|
-
const
|
|
887
|
+
const createCustomSqlitePersister = (
|
|
881
888
|
store,
|
|
882
889
|
configOrStoreTableName,
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
890
|
+
rawExecuteCommand,
|
|
891
|
+
addChangeListener,
|
|
892
|
+
delChangeListener,
|
|
886
893
|
onSqlCommand,
|
|
887
894
|
onIgnoredError,
|
|
895
|
+
destroy,
|
|
888
896
|
persist,
|
|
889
897
|
thing,
|
|
890
898
|
getThing = 'getDb',
|
|
@@ -893,7 +901,7 @@ const createSqlitePersister = (
|
|
|
893
901
|
let dataVersion;
|
|
894
902
|
let schemaVersion;
|
|
895
903
|
let totalChanges;
|
|
896
|
-
const
|
|
904
|
+
const executeCommand = getWrappedCommand(rawExecuteCommand, onSqlCommand);
|
|
897
905
|
const [
|
|
898
906
|
isJson,
|
|
899
907
|
autoLoadIntervalSeconds,
|
|
@@ -905,7 +913,7 @@ const createSqlitePersister = (
|
|
|
905
913
|
const startPolling = () =>
|
|
906
914
|
(interval = startInterval(async () => {
|
|
907
915
|
try {
|
|
908
|
-
const [{d, s, c}] = await
|
|
916
|
+
const [{d, s, c}] = await executeCommand(
|
|
909
917
|
// eslint-disable-next-line max-len
|
|
910
918
|
`${SELECT} ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
911
919
|
);
|
|
@@ -923,7 +931,7 @@ const createSqlitePersister = (
|
|
|
923
931
|
dataVersion = schemaVersion = totalChanges = null;
|
|
924
932
|
stopInterval(interval);
|
|
925
933
|
};
|
|
926
|
-
const listeningHandle =
|
|
934
|
+
const listeningHandle = addChangeListener((tableName) => {
|
|
927
935
|
if (managedTableNamesSet.has(tableName)) {
|
|
928
936
|
stopPolling();
|
|
929
937
|
listener();
|
|
@@ -933,23 +941,23 @@ const createSqlitePersister = (
|
|
|
933
941
|
startPolling();
|
|
934
942
|
return () => {
|
|
935
943
|
stopPolling();
|
|
936
|
-
|
|
944
|
+
delChangeListener(listeningHandle);
|
|
937
945
|
};
|
|
938
946
|
};
|
|
939
947
|
const delPersisterListener = (stopPollingAndDelUpdateListener) =>
|
|
940
948
|
stopPollingAndDelUpdateListener();
|
|
941
949
|
return (isJson ? createJsonPersister : createTabularPersister)(
|
|
942
950
|
store,
|
|
943
|
-
|
|
951
|
+
executeCommand,
|
|
944
952
|
addPersisterListener,
|
|
945
953
|
delPersisterListener,
|
|
946
954
|
onIgnoredError,
|
|
947
|
-
|
|
955
|
+
destroy,
|
|
948
956
|
persist,
|
|
949
957
|
defaultedConfig,
|
|
950
958
|
collValues(managedTableNamesSet),
|
|
951
|
-
async (
|
|
952
|
-
await
|
|
959
|
+
async (executeCommand2, managedTableNames) =>
|
|
960
|
+
await executeCommand2(
|
|
953
961
|
// eslint-disable-next-line max-len
|
|
954
962
|
`${SELECT} t.name tn,c.name cn ${FROM}${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames)})ORDER BY t.name,c.name`,
|
|
955
963
|
managedTableNames,
|
|
@@ -972,12 +980,12 @@ const createSqliteWasmPersister = (
|
|
|
972
980
|
onSqlCommand,
|
|
973
981
|
onIgnoredError,
|
|
974
982
|
) =>
|
|
975
|
-
|
|
983
|
+
createCustomSqlitePersister(
|
|
976
984
|
store,
|
|
977
985
|
configOrStoreTableName,
|
|
978
|
-
async (sql,
|
|
986
|
+
async (sql, params = []) =>
|
|
979
987
|
db
|
|
980
|
-
.exec(sql, {bind:
|
|
988
|
+
.exec(sql, {bind: params, rowMode: 'object', returnValue: 'resultRows'})
|
|
981
989
|
.map((row) => ({...row})),
|
|
982
990
|
(listener) =>
|
|
983
991
|
sqlite3.capi.sqlite3_update_hook(
|
|
@@ -988,6 +996,7 @@ const createSqliteWasmPersister = (
|
|
|
988
996
|
() => sqlite3.capi.sqlite3_update_hook(db, () => 0, 0),
|
|
989
997
|
onSqlCommand,
|
|
990
998
|
onIgnoredError,
|
|
999
|
+
() => 0,
|
|
991
1000
|
3,
|
|
992
1001
|
// StoreOrMergeableStore,
|
|
993
1002
|
db,
|
|
@@ -48,13 +48,13 @@ const DATA_VERSION = 'data_version';
|
|
|
48
48
|
const SCHEMA_VERSION = 'schema_version';
|
|
49
49
|
const FROM = 'FROM ';
|
|
50
50
|
const PRAGMA_TABLE = 'pragma_table_';
|
|
51
|
-
const getWrappedCommand = (
|
|
51
|
+
const getWrappedCommand = (executeCommand, onSqlCommand) =>
|
|
52
52
|
onSqlCommand
|
|
53
|
-
? async (sql,
|
|
54
|
-
onSqlCommand(sql,
|
|
55
|
-
return await
|
|
53
|
+
? async (sql, params) => {
|
|
54
|
+
onSqlCommand(sql, params);
|
|
55
|
+
return await executeCommand(sql, params);
|
|
56
56
|
}
|
|
57
|
-
:
|
|
57
|
+
: executeCommand;
|
|
58
58
|
const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
|
|
59
59
|
const getPlaceholders = (array) =>
|
|
60
60
|
arrayJoin(
|
|
@@ -317,7 +317,7 @@ const setNew = (entryOrEntries) =>
|
|
|
317
317
|
const setAdd = (set, value) => set?.add(value);
|
|
318
318
|
|
|
319
319
|
const getCommandFunctions = (
|
|
320
|
-
|
|
320
|
+
databaseExecuteCommand,
|
|
321
321
|
managedTableNames,
|
|
322
322
|
querySchema,
|
|
323
323
|
onIgnoredError,
|
|
@@ -331,8 +331,9 @@ const getCommandFunctions = (
|
|
|
331
331
|
collHas(mapGet(schemaMap, tableName), rowIdColumnName);
|
|
332
332
|
const refreshSchema = async () => {
|
|
333
333
|
collClear(schemaMap);
|
|
334
|
-
arrayMap(
|
|
335
|
-
|
|
334
|
+
arrayMap(
|
|
335
|
+
await querySchema(databaseExecuteCommand, managedTableNames),
|
|
336
|
+
({tn, cn}) => setAdd(mapEnsure(schemaMap, tn, setNew), cn),
|
|
336
337
|
);
|
|
337
338
|
};
|
|
338
339
|
const loadTable = async (tableName, rowIdColumnName) =>
|
|
@@ -340,7 +341,9 @@ const getCommandFunctions = (
|
|
|
340
341
|
? objNew(
|
|
341
342
|
arrayFilter(
|
|
342
343
|
arrayMap(
|
|
343
|
-
await
|
|
344
|
+
await databaseExecuteCommand(
|
|
345
|
+
SELECT_STAR_FROM + escapeId(tableName),
|
|
346
|
+
),
|
|
344
347
|
(row) => [
|
|
345
348
|
row[rowIdColumnName],
|
|
346
349
|
decode
|
|
@@ -373,7 +376,7 @@ const getCommandFunctions = (
|
|
|
373
376
|
arrayIsEmpty(tableColumnNames) &&
|
|
374
377
|
collHas(schemaMap, tableName)
|
|
375
378
|
) {
|
|
376
|
-
await
|
|
379
|
+
await databaseExecuteCommand('DROP ' + TABLE + escapeId(tableName));
|
|
377
380
|
mapSet(schemaMap, tableName);
|
|
378
381
|
return;
|
|
379
382
|
}
|
|
@@ -381,7 +384,7 @@ const getCommandFunctions = (
|
|
|
381
384
|
const currentColumnNames = setNew(collValues(tableSchemaColumns));
|
|
382
385
|
if (!arrayIsEmpty(tableColumnNames)) {
|
|
383
386
|
if (!collHas(schemaMap, tableName)) {
|
|
384
|
-
await
|
|
387
|
+
await databaseExecuteCommand(
|
|
385
388
|
'CREATE ' +
|
|
386
389
|
TABLE +
|
|
387
390
|
escapeId(tableName) +
|
|
@@ -403,7 +406,7 @@ const getCommandFunctions = (
|
|
|
403
406
|
[rowIdColumnName, ...tableColumnNames],
|
|
404
407
|
async (columnName, index) => {
|
|
405
408
|
if (!collDel(currentColumnNames, columnName)) {
|
|
406
|
-
await
|
|
409
|
+
await databaseExecuteCommand(
|
|
407
410
|
ALTER_TABLE +
|
|
408
411
|
escapeId(tableName) +
|
|
409
412
|
'ADD' +
|
|
@@ -411,7 +414,7 @@ const getCommandFunctions = (
|
|
|
411
414
|
columnType,
|
|
412
415
|
);
|
|
413
416
|
if (index == 0) {
|
|
414
|
-
await
|
|
417
|
+
await databaseExecuteCommand(
|
|
415
418
|
'CREATE UNIQUE INDEX pk ON ' +
|
|
416
419
|
escapeId(tableName) +
|
|
417
420
|
`(${escapeId(rowIdColumnName)})`,
|
|
@@ -428,7 +431,7 @@ const getCommandFunctions = (
|
|
|
428
431
|
...(!partial && deleteEmptyColumns
|
|
429
432
|
? arrayMap(collValues(currentColumnNames), async (columnName) => {
|
|
430
433
|
if (columnName != rowIdColumnName) {
|
|
431
|
-
await
|
|
434
|
+
await databaseExecuteCommand(
|
|
432
435
|
ALTER_TABLE +
|
|
433
436
|
escapeId(tableName) +
|
|
434
437
|
'DROP' +
|
|
@@ -441,12 +444,14 @@ const getCommandFunctions = (
|
|
|
441
444
|
]);
|
|
442
445
|
if (partial) {
|
|
443
446
|
if (isUndefined(content)) {
|
|
444
|
-
await
|
|
447
|
+
await databaseExecuteCommand(
|
|
448
|
+
DELETE_FROM + escapeId(tableName) + WHERE + ' true',
|
|
449
|
+
);
|
|
445
450
|
} else {
|
|
446
451
|
await promiseAll(
|
|
447
452
|
objToArray(content, async (row, rowId) => {
|
|
448
453
|
if (isUndefined(row)) {
|
|
449
|
-
await
|
|
454
|
+
await databaseExecuteCommand(
|
|
450
455
|
DELETE_FROM +
|
|
451
456
|
escapeId(tableName) +
|
|
452
457
|
WHERE +
|
|
@@ -456,7 +461,7 @@ const getCommandFunctions = (
|
|
|
456
461
|
);
|
|
457
462
|
} else if (!arrayIsEmpty(tableColumnNames)) {
|
|
458
463
|
await upsert(
|
|
459
|
-
|
|
464
|
+
databaseExecuteCommand,
|
|
460
465
|
tableName,
|
|
461
466
|
rowIdColumnName,
|
|
462
467
|
objIds(row),
|
|
@@ -478,11 +483,11 @@ const getCommandFunctions = (
|
|
|
478
483
|
collValues(mapGet(schemaMap, tableName)),
|
|
479
484
|
(columnName) => columnName != rowIdColumnName,
|
|
480
485
|
);
|
|
481
|
-
const
|
|
486
|
+
const params = [];
|
|
482
487
|
const deleteRowIds = [];
|
|
483
488
|
objToArray(content ?? {}, (row, rowId) => {
|
|
484
489
|
arrayPush(
|
|
485
|
-
|
|
490
|
+
params,
|
|
486
491
|
rowId,
|
|
487
492
|
...arrayMap(changingColumnNames, (cellId) =>
|
|
488
493
|
encode ? encode(row?.[cellId]) : row?.[cellId],
|
|
@@ -491,14 +496,14 @@ const getCommandFunctions = (
|
|
|
491
496
|
arrayPush(deleteRowIds, rowId);
|
|
492
497
|
});
|
|
493
498
|
await upsert(
|
|
494
|
-
|
|
499
|
+
databaseExecuteCommand,
|
|
495
500
|
tableName,
|
|
496
501
|
rowIdColumnName,
|
|
497
502
|
changingColumnNames,
|
|
498
|
-
|
|
503
|
+
params,
|
|
499
504
|
orReplace,
|
|
500
505
|
);
|
|
501
|
-
await
|
|
506
|
+
await databaseExecuteCommand(
|
|
502
507
|
DELETE_FROM +
|
|
503
508
|
escapeId(tableName) +
|
|
504
509
|
WHERE +
|
|
@@ -507,32 +512,34 @@ const getCommandFunctions = (
|
|
|
507
512
|
deleteRowIds,
|
|
508
513
|
);
|
|
509
514
|
} else if (collHas(schemaMap, tableName)) {
|
|
510
|
-
await
|
|
515
|
+
await databaseExecuteCommand(
|
|
516
|
+
DELETE_FROM + escapeId(tableName) + WHERE + ' true',
|
|
517
|
+
);
|
|
511
518
|
}
|
|
512
519
|
}
|
|
513
520
|
};
|
|
514
521
|
const transaction = async (actions) => {
|
|
515
522
|
let result;
|
|
516
|
-
await
|
|
523
|
+
await databaseExecuteCommand('BEGIN');
|
|
517
524
|
try {
|
|
518
525
|
result = await actions();
|
|
519
526
|
} catch (error) {
|
|
520
527
|
onIgnoredError?.(error);
|
|
521
528
|
}
|
|
522
|
-
await
|
|
529
|
+
await databaseExecuteCommand('END');
|
|
523
530
|
return result;
|
|
524
531
|
};
|
|
525
532
|
return [refreshSchema, loadTable, saveTable, transaction];
|
|
526
533
|
};
|
|
527
534
|
const upsert = async (
|
|
528
|
-
|
|
535
|
+
executeCommand,
|
|
529
536
|
tableName,
|
|
530
537
|
rowIdColumnName,
|
|
531
538
|
changingColumnNames,
|
|
532
|
-
|
|
539
|
+
params,
|
|
533
540
|
orReplace = 0,
|
|
534
541
|
) =>
|
|
535
|
-
await
|
|
542
|
+
await executeCommand(
|
|
536
543
|
'INSERT ' +
|
|
537
544
|
(orReplace ? 'OR REPLACE ' : EMPTY_STRING) +
|
|
538
545
|
'INTO' +
|
|
@@ -546,7 +553,7 @@ const upsert = async (
|
|
|
546
553
|
),
|
|
547
554
|
) +
|
|
548
555
|
')VALUES' +
|
|
549
|
-
getUpsertPlaceholders(
|
|
556
|
+
getUpsertPlaceholders(params, size(changingColumnNames) + 1) +
|
|
550
557
|
(orReplace
|
|
551
558
|
? EMPTY_STRING
|
|
552
559
|
: 'ON CONFLICT(' +
|
|
@@ -560,7 +567,7 @@ const upsert = async (
|
|
|
560
567
|
),
|
|
561
568
|
COMMA,
|
|
562
569
|
)),
|
|
563
|
-
arrayMap(
|
|
570
|
+
arrayMap(params, (param) => param ?? null),
|
|
564
571
|
);
|
|
565
572
|
const getUpsertPlaceholders = (array, columnCount) =>
|
|
566
573
|
arrayJoin(
|
|
@@ -582,7 +589,7 @@ const getUpsertPlaceholders = (array, columnCount) =>
|
|
|
582
589
|
|
|
583
590
|
const createJsonPersister = (
|
|
584
591
|
store,
|
|
585
|
-
|
|
592
|
+
executeCommand,
|
|
586
593
|
addPersisterListener,
|
|
587
594
|
delPersisterListener,
|
|
588
595
|
onIgnoredError,
|
|
@@ -598,7 +605,7 @@ const createJsonPersister = (
|
|
|
598
605
|
) => {
|
|
599
606
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
600
607
|
getCommandFunctions(
|
|
601
|
-
|
|
608
|
+
executeCommand,
|
|
602
609
|
managedTableNames,
|
|
603
610
|
querySchema,
|
|
604
611
|
onIgnoredError,
|
|
@@ -650,7 +657,7 @@ const createJsonPersister = (
|
|
|
650
657
|
|
|
651
658
|
const createTabularPersister = (
|
|
652
659
|
store,
|
|
653
|
-
|
|
660
|
+
executeCommand,
|
|
654
661
|
addPersisterListener,
|
|
655
662
|
delPersisterListener,
|
|
656
663
|
onIgnoredError,
|
|
@@ -672,7 +679,7 @@ const createTabularPersister = (
|
|
|
672
679
|
) => {
|
|
673
680
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
674
681
|
getCommandFunctions(
|
|
675
|
-
|
|
682
|
+
executeCommand,
|
|
676
683
|
managedTableNames,
|
|
677
684
|
querySchema,
|
|
678
685
|
onIgnoredError,
|
|
@@ -878,14 +885,15 @@ const getConfigStructures = (configOrStoreTableName) => {
|
|
|
878
885
|
return [0, autoLoadIntervalSeconds, tabularConfig, managedTableNames];
|
|
879
886
|
};
|
|
880
887
|
|
|
881
|
-
const
|
|
888
|
+
const createCustomSqlitePersister = (
|
|
882
889
|
store,
|
|
883
890
|
configOrStoreTableName,
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
891
|
+
rawExecuteCommand,
|
|
892
|
+
addChangeListener,
|
|
893
|
+
delChangeListener,
|
|
887
894
|
onSqlCommand,
|
|
888
895
|
onIgnoredError,
|
|
896
|
+
destroy,
|
|
889
897
|
persist,
|
|
890
898
|
thing,
|
|
891
899
|
getThing = 'getDb',
|
|
@@ -894,7 +902,7 @@ const createSqlitePersister = (
|
|
|
894
902
|
let dataVersion;
|
|
895
903
|
let schemaVersion;
|
|
896
904
|
let totalChanges;
|
|
897
|
-
const
|
|
905
|
+
const executeCommand = getWrappedCommand(rawExecuteCommand, onSqlCommand);
|
|
898
906
|
const [
|
|
899
907
|
isJson,
|
|
900
908
|
autoLoadIntervalSeconds,
|
|
@@ -906,7 +914,7 @@ const createSqlitePersister = (
|
|
|
906
914
|
const startPolling = () =>
|
|
907
915
|
(interval = startInterval(async () => {
|
|
908
916
|
try {
|
|
909
|
-
const [{d, s, c}] = await
|
|
917
|
+
const [{d, s, c}] = await executeCommand(
|
|
910
918
|
// eslint-disable-next-line max-len
|
|
911
919
|
`${SELECT} ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
912
920
|
);
|
|
@@ -924,7 +932,7 @@ const createSqlitePersister = (
|
|
|
924
932
|
dataVersion = schemaVersion = totalChanges = null;
|
|
925
933
|
stopInterval(interval);
|
|
926
934
|
};
|
|
927
|
-
const listeningHandle =
|
|
935
|
+
const listeningHandle = addChangeListener((tableName) => {
|
|
928
936
|
if (managedTableNamesSet.has(tableName)) {
|
|
929
937
|
stopPolling();
|
|
930
938
|
listener();
|
|
@@ -934,23 +942,23 @@ const createSqlitePersister = (
|
|
|
934
942
|
startPolling();
|
|
935
943
|
return () => {
|
|
936
944
|
stopPolling();
|
|
937
|
-
|
|
945
|
+
delChangeListener(listeningHandle);
|
|
938
946
|
};
|
|
939
947
|
};
|
|
940
948
|
const delPersisterListener = (stopPollingAndDelUpdateListener) =>
|
|
941
949
|
stopPollingAndDelUpdateListener();
|
|
942
950
|
return (isJson ? createJsonPersister : createTabularPersister)(
|
|
943
951
|
store,
|
|
944
|
-
|
|
952
|
+
executeCommand,
|
|
945
953
|
addPersisterListener,
|
|
946
954
|
delPersisterListener,
|
|
947
955
|
onIgnoredError,
|
|
948
|
-
|
|
956
|
+
destroy,
|
|
949
957
|
persist,
|
|
950
958
|
defaultedConfig,
|
|
951
959
|
collValues(managedTableNamesSet),
|
|
952
|
-
async (
|
|
953
|
-
await
|
|
960
|
+
async (executeCommand2, managedTableNames) =>
|
|
961
|
+
await executeCommand2(
|
|
954
962
|
// eslint-disable-next-line max-len
|
|
955
963
|
`${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`,
|
|
956
964
|
managedTableNames,
|
|
@@ -973,12 +981,12 @@ const createSqlite3Persister = (
|
|
|
973
981
|
onSqlCommand,
|
|
974
982
|
onIgnoredError,
|
|
975
983
|
) =>
|
|
976
|
-
|
|
984
|
+
createCustomSqlitePersister(
|
|
977
985
|
store,
|
|
978
986
|
configOrStoreTableName,
|
|
979
|
-
async (sql,
|
|
987
|
+
async (sql, params = []) =>
|
|
980
988
|
await promiseNew((resolve, reject) =>
|
|
981
|
-
db.all(sql,
|
|
989
|
+
db.all(sql, params, (error, rows) =>
|
|
982
990
|
error ? reject(error) : resolve(rows),
|
|
983
991
|
),
|
|
984
992
|
),
|
|
@@ -990,6 +998,7 @@ const createSqlite3Persister = (
|
|
|
990
998
|
(observer) => db.off(CHANGE, observer),
|
|
991
999
|
onSqlCommand,
|
|
992
1000
|
onIgnoredError,
|
|
1001
|
+
() => 0,
|
|
993
1002
|
3,
|
|
994
1003
|
// StoreOrMergeableStore,
|
|
995
1004
|
db,
|