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
|
@@ -86,10 +86,38 @@ export type Stamp<Thing, Hashed extends boolean = false> = Hashed extends true
|
|
|
86
86
|
? [thing: Thing, time: Time, hash: Hash]
|
|
87
87
|
: [thing: Thing, time?: Time];
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
/**
|
|
90
|
+
* The ContentHashes type is used to quickly compare the content of two
|
|
91
|
+
* MergeableStore objects.
|
|
92
|
+
*
|
|
93
|
+
* It is simply an array of two Hash types, one for the MergeableStore's Tables
|
|
94
|
+
* and one for its Values.
|
|
95
|
+
*
|
|
96
|
+
* This type is mostly utilized internally within TinyBase itself and is
|
|
97
|
+
* generally assumed to be opaque to applications that use it.
|
|
98
|
+
* @category Syncing
|
|
99
|
+
* @since v5.0.0
|
|
100
|
+
*/
|
|
90
101
|
export type ContentHashes = [tablesHash: Hash, valuesHash: Hash];
|
|
91
102
|
|
|
92
|
-
|
|
103
|
+
/**
|
|
104
|
+
* The TablesStamp type is used as metadata to decide how to merge two different
|
|
105
|
+
* sets of Tables together.
|
|
106
|
+
*
|
|
107
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
108
|
+
*
|
|
109
|
+
* ```ts override
|
|
110
|
+
* export type TablesStamp<Hashed extends boolean = false> = Stamp<
|
|
111
|
+
* {[tableId: Id]: TableStamp<Hashed>},
|
|
112
|
+
* Hashed
|
|
113
|
+
* >;
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* This type is mostly utilized internally within TinyBase itself and is
|
|
117
|
+
* generally assumed to be opaque to applications that use it.
|
|
118
|
+
* @category Stamps
|
|
119
|
+
* @since v5.0.0
|
|
120
|
+
*/
|
|
93
121
|
export type TablesStamp<
|
|
94
122
|
Schema extends OptionalTablesSchema,
|
|
95
123
|
Hashed extends boolean = false,
|
|
@@ -104,24 +132,92 @@ export type TablesStamp<
|
|
|
104
132
|
Hashed
|
|
105
133
|
>;
|
|
106
134
|
|
|
107
|
-
|
|
135
|
+
/**
|
|
136
|
+
* The TableHashes type is used to quickly compare the content of two sets of
|
|
137
|
+
* Table objects.
|
|
138
|
+
*
|
|
139
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
140
|
+
*
|
|
141
|
+
* ```ts override
|
|
142
|
+
* {[tableId: Id]: Hash};
|
|
143
|
+
* ```
|
|
144
|
+
*
|
|
145
|
+
* It is simply an object of Hash types, one for each Table Id in the
|
|
146
|
+
* MergeableStore.
|
|
147
|
+
*
|
|
148
|
+
* This type is mostly utilized internally within TinyBase itself and is
|
|
149
|
+
* generally assumed to be opaque to applications that use it.
|
|
150
|
+
* @category Syncing
|
|
151
|
+
* @since v5.0.0
|
|
152
|
+
*/
|
|
108
153
|
export type TableHashes<Schema extends OptionalTablesSchema> = {
|
|
109
154
|
[TableId in TableIdFromSchema<Schema>]?: Hash;
|
|
110
155
|
};
|
|
111
156
|
|
|
112
|
-
|
|
157
|
+
/**
|
|
158
|
+
* The TableStamp type is used as metadata to decide how to merge two different
|
|
159
|
+
* Table objects together.
|
|
160
|
+
*
|
|
161
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
162
|
+
*
|
|
163
|
+
* ```ts override
|
|
164
|
+
* export type TableStamp<Hashed extends boolean = false> = Stamp<
|
|
165
|
+
* {[rowId: Id]: RowStamp<Hashed>},
|
|
166
|
+
* Hashed
|
|
167
|
+
* >;
|
|
168
|
+
* ```
|
|
169
|
+
*
|
|
170
|
+
* This type is mostly utilized internally within TinyBase itself and is
|
|
171
|
+
* generally assumed to be opaque to applications that use it.
|
|
172
|
+
* @category Stamps
|
|
173
|
+
* @since v5.0.0
|
|
174
|
+
*/
|
|
113
175
|
export type TableStamp<
|
|
114
176
|
Schema extends OptionalTablesSchema,
|
|
115
177
|
TableId extends TableIdFromSchema<Schema>,
|
|
116
178
|
Hashed extends boolean = false,
|
|
117
179
|
> = Stamp<{[rowId: Id]: RowStamp<Schema, TableId, Hashed>}, Hashed>;
|
|
118
180
|
|
|
119
|
-
|
|
181
|
+
/**
|
|
182
|
+
* The RowHashes type is used to quickly compare the content of two sets of Row
|
|
183
|
+
* objects.
|
|
184
|
+
*
|
|
185
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
186
|
+
*
|
|
187
|
+
* ```ts override
|
|
188
|
+
* {[tableId: Id]: {[rowId: Id]: Hash}};
|
|
189
|
+
* ```
|
|
190
|
+
*
|
|
191
|
+
* It is simply a nested object of Hash types, one for each Row Id, for each
|
|
192
|
+
* TableId, in the MergeableStore.
|
|
193
|
+
*
|
|
194
|
+
* This type is mostly utilized internally within TinyBase itself and is
|
|
195
|
+
* generally assumed to be opaque to applications that use it.
|
|
196
|
+
* @category Syncing
|
|
197
|
+
* @since v5.0.0
|
|
198
|
+
*/
|
|
120
199
|
export type RowHashes<Schema extends OptionalTablesSchema> = {
|
|
121
200
|
[TableId in TableIdFromSchema<Schema>]?: {[rowId: Id]: Hash};
|
|
122
201
|
};
|
|
123
202
|
|
|
124
|
-
|
|
203
|
+
/**
|
|
204
|
+
* The RowStamp type is used as metadata to decide how to merge two different
|
|
205
|
+
* Row objects together.
|
|
206
|
+
*
|
|
207
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
208
|
+
*
|
|
209
|
+
* ```ts override
|
|
210
|
+
* export type RowStamp<Hashed extends boolean = false> = Stamp<
|
|
211
|
+
* {[cellId: Id]: CellStamp<Hashed>},
|
|
212
|
+
* Hashed
|
|
213
|
+
* >;
|
|
214
|
+
* ```
|
|
215
|
+
*
|
|
216
|
+
* This type is mostly utilized internally within TinyBase itself and is
|
|
217
|
+
* generally assumed to be opaque to applications that use it.
|
|
218
|
+
* @category Stamps
|
|
219
|
+
* @since v5.0.0
|
|
220
|
+
*/
|
|
125
221
|
export type RowStamp<
|
|
126
222
|
Schema extends OptionalTablesSchema,
|
|
127
223
|
TableId extends TableIdFromSchema<Schema>,
|
|
@@ -138,14 +234,48 @@ export type RowStamp<
|
|
|
138
234
|
Hashed
|
|
139
235
|
>;
|
|
140
236
|
|
|
141
|
-
|
|
237
|
+
/**
|
|
238
|
+
* The CellHashes type is used to quickly compare the content of two sets of
|
|
239
|
+
* Cell objects.
|
|
240
|
+
*
|
|
241
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
242
|
+
*
|
|
243
|
+
* ```ts override
|
|
244
|
+
* {[tableId: Id]: {[rowId: Id]: {[cellId: Id]: Hash}}};
|
|
245
|
+
* ```
|
|
246
|
+
*
|
|
247
|
+
* It is simply a nested object of Hash types, one for each Cell Id, for each
|
|
248
|
+
* Row Id, for each TableId, in the MergeableStore.
|
|
249
|
+
*
|
|
250
|
+
* This type is mostly utilized internally within TinyBase itself and is
|
|
251
|
+
* generally assumed to be opaque to applications that use it.
|
|
252
|
+
* @category Syncing
|
|
253
|
+
* @since v5.0.0
|
|
254
|
+
*/
|
|
142
255
|
export type CellHashes<Schema extends OptionalTablesSchema> = {
|
|
143
256
|
[TableId in TableIdFromSchema<Schema>]?: {
|
|
144
257
|
[rowId: Id]: {[CellId in CellIdFromSchema<Schema, TableId>]?: Hash};
|
|
145
258
|
};
|
|
146
259
|
};
|
|
147
260
|
|
|
148
|
-
|
|
261
|
+
/**
|
|
262
|
+
* The CellStamp type is used as metadata to decide how to merge two different
|
|
263
|
+
* Cell objects together.
|
|
264
|
+
*
|
|
265
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
266
|
+
*
|
|
267
|
+
* ```ts override
|
|
268
|
+
* export type CellStamp<Hashed extends boolean = false> = Stamp<
|
|
269
|
+
* CellOrUndefined,
|
|
270
|
+
* Hashed
|
|
271
|
+
* >;
|
|
272
|
+
* ```
|
|
273
|
+
*
|
|
274
|
+
* This type is mostly utilized internally within TinyBase itself and is
|
|
275
|
+
* generally assumed to be opaque to applications that use it.
|
|
276
|
+
* @category Stamps
|
|
277
|
+
* @since v5.0.0
|
|
278
|
+
*/
|
|
149
279
|
export type CellStamp<
|
|
150
280
|
Schema extends OptionalTablesSchema,
|
|
151
281
|
TableId extends TableIdFromSchema<Schema>,
|
|
@@ -153,7 +283,24 @@ export type CellStamp<
|
|
|
153
283
|
Hashed extends boolean = false,
|
|
154
284
|
> = Stamp<CellOrUndefined<Schema, TableId, CellId>, Hashed>;
|
|
155
285
|
|
|
156
|
-
|
|
286
|
+
/**
|
|
287
|
+
* The ValuesStamp type is used as metadata to decide how to merge two different
|
|
288
|
+
* sets of Values together.
|
|
289
|
+
*
|
|
290
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
291
|
+
*
|
|
292
|
+
* ```ts override
|
|
293
|
+
* export type ValuesStamp<Hashed extends boolean = false> = Stamp<
|
|
294
|
+
* {[valueId: Id]: ValueStamp<Hashed>},
|
|
295
|
+
* Hashed
|
|
296
|
+
* >;
|
|
297
|
+
* ```
|
|
298
|
+
*
|
|
299
|
+
* This type is mostly utilized internally within TinyBase itself and is
|
|
300
|
+
* generally assumed to be opaque to applications that use it.
|
|
301
|
+
* @category Stamps
|
|
302
|
+
* @since v5.0.0
|
|
303
|
+
*/
|
|
157
304
|
export type ValuesStamp<
|
|
158
305
|
Schema extends OptionalValuesSchema,
|
|
159
306
|
Hashed extends boolean = false,
|
|
@@ -168,12 +315,46 @@ export type ValuesStamp<
|
|
|
168
315
|
Hashed
|
|
169
316
|
>;
|
|
170
317
|
|
|
171
|
-
|
|
318
|
+
/**
|
|
319
|
+
* The ValueHashes type is used to quickly compare the content of two sets of
|
|
320
|
+
* Value objects.
|
|
321
|
+
*
|
|
322
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
323
|
+
*
|
|
324
|
+
* ```ts override
|
|
325
|
+
* {[valueId: Id]: Hash};
|
|
326
|
+
* ```
|
|
327
|
+
*
|
|
328
|
+
* It is simply an object of Hash types, one for each Value Id in the
|
|
329
|
+
* MergeableStore.
|
|
330
|
+
*
|
|
331
|
+
* This type is mostly utilized internally within TinyBase itself and is
|
|
332
|
+
* generally assumed to be opaque to applications that use it.
|
|
333
|
+
* @category Syncing
|
|
334
|
+
* @since v5.0.0
|
|
335
|
+
*/
|
|
172
336
|
export type ValueHashes<Schema extends OptionalValuesSchema> = {
|
|
173
337
|
[ValueId in ValueIdFromSchema<Schema>]?: Hash;
|
|
174
338
|
};
|
|
175
339
|
|
|
176
|
-
|
|
340
|
+
/**
|
|
341
|
+
* The ValueStamp type is used as metadata to decide how to merge two different
|
|
342
|
+
* Value objects together.
|
|
343
|
+
*
|
|
344
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
345
|
+
*
|
|
346
|
+
* ```ts override
|
|
347
|
+
* export type ValueStamp<Hashed extends boolean = false> = Stamp<
|
|
348
|
+
* ValueOrUndefined,
|
|
349
|
+
* Hashed
|
|
350
|
+
* >;
|
|
351
|
+
* ```
|
|
352
|
+
*
|
|
353
|
+
* This type is mostly utilized internally within TinyBase itself and is
|
|
354
|
+
* generally assumed to be opaque to applications that use it.
|
|
355
|
+
* @category Stamps
|
|
356
|
+
* @since v5.0.0
|
|
357
|
+
*/
|
|
177
358
|
export type ValueStamp<
|
|
178
359
|
Schema extends OptionalValuesSchema,
|
|
179
360
|
ValueId extends ValueIdFromSchema<Schema>,
|
|
@@ -19,23 +19,28 @@
|
|
|
19
19
|
* |Sqlite3Persister|SQLite in Node, via [sqlite3](https://github.com/TryGhost/node-sqlite3)|Yes|Yes*
|
|
20
20
|
* |SqliteWasmPersister|SQLite in a browser, via [sqlite-wasm](https://github.com/tomayac/sqlite-wasm)|Yes|Yes*
|
|
21
21
|
* |ExpoSqlitePersister|SQLite in React Native, via [expo-sqlite](https://github.com/expo/expo/tree/main/packages/expo-sqlite)|Yes|Yes*
|
|
22
|
+
* |PostgresPersister|PostgreSQL, via [postgres](https://github.com/porsager/postgres)|Yes|Yes*
|
|
23
|
+
* |PglitePersister|PostgreSQL, via [PGlite](https://github.com/electric-sql/pglite)|Yes|Yes*
|
|
22
24
|
* |CrSqliteWasmPersister|SQLite CRDTs, via [cr-sqlite-wasm](https://github.com/vlcn-io/cr-sqlite)|Yes|No
|
|
23
25
|
* |ElectricSqlPersister|Electric SQL, via [electric-sql](https://github.com/electric-sql/electric)|Yes|No
|
|
24
26
|
* |LibSqlPersister|LibSQL for Turso, via [libsql-client](https://github.com/tursodatabase/libsql-client-ts)|Yes|No
|
|
25
27
|
* |PowerSyncPersister|PowerSync, via [powersync-sdk](https://github.com/powersync-ja/powersync-js)|Yes|No
|
|
26
|
-
* |PostgresPersister|PostgreSQL, via [postgres](https://github.com/porsager/postgres)|Yes|No
|
|
27
|
-
* |PglitePersister|PostgreSQL, via [PGlite](https://github.com/electric-sql/pglite)|Yes|No
|
|
28
28
|
* |YjsPersister|Yjs CRDTs, via [yjs](https://github.com/yjs/yjs)|Yes|No
|
|
29
29
|
* |AutomergePersister|Automerge CRDTs, via [automerge-repo](https://github.com/automerge/automerge-repo)|Yes|No
|
|
30
30
|
* |PartyKitPersister|[PartyKit](https://www.partykit.io/), via the persister-partykit-server module|Yes|No|
|
|
31
31
|
*
|
|
32
|
-
* (*) Note that SQLite-based Persisters can currently only
|
|
33
|
-
* MergeableStore data when
|
|
34
|
-
*
|
|
32
|
+
* (*) Note that SQLite- and PostgreSQL-based Persisters can currently only
|
|
33
|
+
* persist MergeableStore data when used with the JSON-based DpcJson mode, and
|
|
34
|
+
* not when using the DpcTabular mode.
|
|
35
35
|
*
|
|
36
36
|
* Since persistence requirements can be different for every app, the
|
|
37
37
|
* createCustomPersister function in this module can also be used to easily
|
|
38
38
|
* create a fully customized way to save and load Store data.
|
|
39
|
+
*
|
|
40
|
+
* Similarly, the createCustomSqlitePersister function and
|
|
41
|
+
* createCustomPostgreSqlPersister function can be used to build Persister objects
|
|
42
|
+
* against SQLite and PostgreSQL SDKs (or forks) that are not already included
|
|
43
|
+
* with TinyBase.
|
|
39
44
|
* @see Persistence guides
|
|
40
45
|
* @see Countries demo
|
|
41
46
|
* @see Todo App demos
|
|
@@ -1233,7 +1238,8 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
|
|
|
1233
1238
|
* getDataFromRemoteSystem,
|
|
1234
1239
|
* sendDataToRemoteSystem,
|
|
1235
1240
|
* } from 'custom-remote-handlers';
|
|
1236
|
-
* import {createCustomPersister
|
|
1241
|
+
* import {createCustomPersister} from 'tinybase/persisters';
|
|
1242
|
+
* import {createStore} from 'tinybase';
|
|
1237
1243
|
*
|
|
1238
1244
|
* const store = createStore();
|
|
1239
1245
|
* const persister = createCustomPersister(
|
|
@@ -1367,10 +1373,53 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
|
|
|
1367
1373
|
//
|
|
1368
1374
|
}
|
|
1369
1375
|
|
|
1376
|
+
/**
|
|
1377
|
+
* The DatabaseExecuteCommand type describes a function that is used to execute
|
|
1378
|
+
* commands against a database.
|
|
1379
|
+
*
|
|
1380
|
+
* This is only used when developing custom database-oriented Persisters, and
|
|
1381
|
+
* most TinyBase users will not need to be particularly aware of it.
|
|
1382
|
+
*
|
|
1383
|
+
* It is modelled around the common pattern of database SDKs being able to
|
|
1384
|
+
* execute commands with parameters, and have those (probably asynchronous)
|
|
1385
|
+
* command executions return an array of objects, where each object represents a
|
|
1386
|
+
* row.
|
|
1387
|
+
* @param sql The SQL string to execute, which may include positional parameter
|
|
1388
|
+
* placeholders.
|
|
1389
|
+
* @param params An array of parameters to pass to the SQL command.
|
|
1390
|
+
* @returns An promise of an array of objects, where each object represents a
|
|
1391
|
+
* database result row (if the command was a query).
|
|
1392
|
+
* @category Creation
|
|
1393
|
+
* @since v5.2.0
|
|
1394
|
+
*/
|
|
1395
|
+
export type DatabaseExecuteCommand = (
|
|
1396
|
+
sql: string,
|
|
1397
|
+
params?: any[],
|
|
1398
|
+
) => Promise<{[field: string]: any}[]>;
|
|
1399
|
+
|
|
1400
|
+
/**
|
|
1401
|
+
* The DatabaseChangeListener type describes a function that is used to listen
|
|
1402
|
+
* for changes to the data in a database.
|
|
1403
|
+
*
|
|
1404
|
+
* This is only used when developing custom database-oriented Persisters, and
|
|
1405
|
+
* most TinyBase users will not need to be particularly aware of it.
|
|
1406
|
+
*
|
|
1407
|
+
* This function should be called with the name of a relevant table that has
|
|
1408
|
+
* changed, possible through the use of events, triggers, or notifications,
|
|
1409
|
+
* dependent on the specific database implementation.
|
|
1410
|
+
* @param tableName The name of the table that has changed.
|
|
1411
|
+
* @category Creation
|
|
1412
|
+
* @since v5.2.0
|
|
1413
|
+
*/
|
|
1414
|
+
export type DatabaseChangeListener = (tableName: string) => void;
|
|
1415
|
+
|
|
1370
1416
|
/**
|
|
1371
1417
|
* The createCustomPersister function creates a Persister object that you can
|
|
1372
1418
|
* configure to persist the Store in any way you wish.
|
|
1373
1419
|
*
|
|
1420
|
+
* This is only used when developing custom Persisters, and most TinyBase users
|
|
1421
|
+
* will not need to be particularly aware of it.
|
|
1422
|
+
*
|
|
1374
1423
|
* As well as providing a reference to the Store to persist, you must provide
|
|
1375
1424
|
* functions that handle how to fetch, write, and listen to, the persistence
|
|
1376
1425
|
* layer.
|
|
@@ -1419,7 +1468,8 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
|
|
|
1419
1468
|
* Store.
|
|
1420
1469
|
*
|
|
1421
1470
|
* ```js
|
|
1422
|
-
* import {createCustomPersister
|
|
1471
|
+
* import {createCustomPersister} from 'tinybase/persisters';
|
|
1472
|
+
* import {createStore} from 'tinybase';
|
|
1423
1473
|
*
|
|
1424
1474
|
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
1425
1475
|
* let persistedJson;
|
|
@@ -1458,12 +1508,8 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
|
|
|
1458
1508
|
* MergeableStore.
|
|
1459
1509
|
*
|
|
1460
1510
|
* ```js
|
|
1461
|
-
* import {
|
|
1462
|
-
*
|
|
1463
|
-
* createCustomPersister,
|
|
1464
|
-
* createMergeableStore,
|
|
1465
|
-
* createStore,
|
|
1466
|
-
* } from 'tinybase';
|
|
1511
|
+
* import {Persists, createCustomPersister} from 'tinybase/persisters';
|
|
1512
|
+
* import {createMergeableStore, createStore} from 'tinybase';
|
|
1467
1513
|
*
|
|
1468
1514
|
* let persistedJson;
|
|
1469
1515
|
* const createJsonPersister = (storeOrMergeableStore) =>
|
|
@@ -1523,7 +1569,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
|
|
|
1523
1569
|
* @since v1.0.0
|
|
1524
1570
|
*/
|
|
1525
1571
|
export function createCustomPersister<
|
|
1526
|
-
|
|
1572
|
+
ListenerHandle,
|
|
1527
1573
|
Persist extends Persists = Persists.StoreOnly,
|
|
1528
1574
|
>(
|
|
1529
1575
|
store: PersistedStore<Persist>,
|
|
@@ -1534,8 +1580,123 @@ export function createCustomPersister<
|
|
|
1534
1580
|
) => Promise<void>,
|
|
1535
1581
|
addPersisterListener: (
|
|
1536
1582
|
listener: PersisterListener<Persist>,
|
|
1537
|
-
) =>
|
|
1538
|
-
delPersisterListener: (
|
|
1583
|
+
) => ListenerHandle | Promise<ListenerHandle>,
|
|
1584
|
+
delPersisterListener: (listenerHandle: ListenerHandle) => void,
|
|
1539
1585
|
onIgnoredError?: (error: any) => void,
|
|
1540
1586
|
persist?: Persist,
|
|
1541
1587
|
): Persister<Persist>;
|
|
1588
|
+
|
|
1589
|
+
/**
|
|
1590
|
+
* The createCustomSqlitePersister function creates a Persister object that you
|
|
1591
|
+
* can configure to persist the Store to a SQLite database.
|
|
1592
|
+
*
|
|
1593
|
+
* This is only used when developing custom database-oriented Persisters, and
|
|
1594
|
+
* most TinyBase users will not need to be particularly aware of it.
|
|
1595
|
+
*
|
|
1596
|
+
* All of the TinyBase SQLite-oriented Persister functions use this function
|
|
1597
|
+
* under the covers, and so you may wish to look at those implementations for
|
|
1598
|
+
* ideas on how to build your own Persister type, and as functional examples.
|
|
1599
|
+
* Examine the implementation of the createSqlite3Persister function as a good
|
|
1600
|
+
* starting point, for example.
|
|
1601
|
+
* @param store The Store to persist.
|
|
1602
|
+
* @param configOrStoreTableName A DatabasePersisterConfig object, or a string
|
|
1603
|
+
* that will be used as the name of the Store's table in the database.
|
|
1604
|
+
* @param executeCommand A function that will execute a command against the
|
|
1605
|
+
* database.
|
|
1606
|
+
* @param addChangeListener A function that will register a listener for changes
|
|
1607
|
+
* to the database.
|
|
1608
|
+
* @param delChangeListener A function that will unregister the listener for
|
|
1609
|
+
* changes to the database.
|
|
1610
|
+
* @param onSqlCommand A function that will be called for each SQL command
|
|
1611
|
+
* executed against the database.
|
|
1612
|
+
* @param onIgnoredError A function that will be called for errors that are
|
|
1613
|
+
* ignored by the Persister.
|
|
1614
|
+
* @param destroy A function that will be called to perform any extra clean up
|
|
1615
|
+
* on the Persister.
|
|
1616
|
+
* @param persist An integer from the Persists enum to indicate which types of
|
|
1617
|
+
* Store are supported by this Persister: `1` indicates only a regular Store is
|
|
1618
|
+
* supported, `2` indicates only a MergeableStore is supported, and `3`
|
|
1619
|
+
* indicates that both Store and MergeableStore are supported.
|
|
1620
|
+
* @param thing A reference to the database or connection that can be returned
|
|
1621
|
+
* with a method, by default called `getDb`.
|
|
1622
|
+
* @param getThing An optional string that will be used to get the reference to
|
|
1623
|
+
* the database or connection from the Persister, defaulting to `getDb`.
|
|
1624
|
+
* @returns A reference to the new SQLite-oriented Persister object.
|
|
1625
|
+
* @category Creation
|
|
1626
|
+
* @since v5.2.0
|
|
1627
|
+
*/
|
|
1628
|
+
export function createCustomSqlitePersister<
|
|
1629
|
+
ListenerHandle,
|
|
1630
|
+
Persist extends Persists = Persists.StoreOnly,
|
|
1631
|
+
>(
|
|
1632
|
+
store: PersistedStore<Persist>,
|
|
1633
|
+
configOrStoreTableName: DatabasePersisterConfig | string | undefined,
|
|
1634
|
+
executeCommand: DatabaseExecuteCommand,
|
|
1635
|
+
addChangeListener: (listener: DatabaseChangeListener) => ListenerHandle,
|
|
1636
|
+
delChangeListener: (listenerHandle: ListenerHandle) => void,
|
|
1637
|
+
onSqlCommand: ((sql: string, params?: any[]) => void) | undefined,
|
|
1638
|
+
onIgnoredError: ((error: any) => void) | undefined,
|
|
1639
|
+
destroy: () => void,
|
|
1640
|
+
persist: Persist,
|
|
1641
|
+
thing: any,
|
|
1642
|
+
getThing?: string,
|
|
1643
|
+
): Persister<Persist>;
|
|
1644
|
+
|
|
1645
|
+
/**
|
|
1646
|
+
* The createCustomSqlitePersister function creates a Persister object that you
|
|
1647
|
+
* can configure to persist the Store to a PostgreSQL database.
|
|
1648
|
+
*
|
|
1649
|
+
* This is only used when developing custom database-oriented Persisters, and
|
|
1650
|
+
* most TinyBase users will not need to be particularly aware of it.
|
|
1651
|
+
*
|
|
1652
|
+
* All of the TinyBase PostgreSQL-oriented Persister functions use this function
|
|
1653
|
+
* under the covers, and so you may wish to look at those implementations for
|
|
1654
|
+
* ideas on how to build your own Persister type, and as functional
|
|
1655
|
+
* examples. Examine the implementation of the createPostgresPersister function
|
|
1656
|
+
* as a good starting point, for example.
|
|
1657
|
+
* @param store The Store to persist.
|
|
1658
|
+
* @param configOrStoreTableName A DatabasePersisterConfig object, or a string
|
|
1659
|
+
* that will be used as the name of the Store's table in the database.
|
|
1660
|
+
* @param executeCommand A function that will execute a command against the
|
|
1661
|
+
* database.
|
|
1662
|
+
* @param addChangeListener A function that will register a listener for changes
|
|
1663
|
+
* to the database.
|
|
1664
|
+
* @param delChangeListener A function that will unregister the listener for
|
|
1665
|
+
* changes to the database.
|
|
1666
|
+
* @param onSqlCommand A function that will be called for each SQL command
|
|
1667
|
+
* executed against the database.
|
|
1668
|
+
* @param onIgnoredError A function that will be called for errors that are
|
|
1669
|
+
* ignored by the Persister.
|
|
1670
|
+
* @param destroy A function that will be called to perform any extra clean up
|
|
1671
|
+
* on the Persister.
|
|
1672
|
+
* @param persist An integer from the Persists enum to indicate which types of
|
|
1673
|
+
* Store are supported by this Persister: `1` indicates only a regular Store is
|
|
1674
|
+
* supported, `2` indicates only a MergeableStore is supported, and `3`
|
|
1675
|
+
* indicates that both Store and MergeableStore are supported.
|
|
1676
|
+
* @param thing A reference to the database or connection that can be returned
|
|
1677
|
+
* with a method, by default called `getDb`.
|
|
1678
|
+
* @param getThing An optional string that will be used to get the reference to
|
|
1679
|
+
* the database or connection from the Persister, defaulting to `getDb`.
|
|
1680
|
+
* @returns A reference to the new Persister object.
|
|
1681
|
+
* @category Creation
|
|
1682
|
+
* @since v5.2.0
|
|
1683
|
+
*/
|
|
1684
|
+
export function createCustomPostgreSqlPersister<
|
|
1685
|
+
ListenerHandle,
|
|
1686
|
+
Persist extends Persists = Persists.StoreOnly,
|
|
1687
|
+
>(
|
|
1688
|
+
store: PersistedStore<Persist>,
|
|
1689
|
+
configOrStoreTableName: DatabasePersisterConfig | string | undefined,
|
|
1690
|
+
executeCommand: DatabaseExecuteCommand,
|
|
1691
|
+
addChangeListener: (
|
|
1692
|
+
channel: string,
|
|
1693
|
+
listener: DatabaseChangeListener,
|
|
1694
|
+
) => Promise<ListenerHandle>,
|
|
1695
|
+
delChangeListener: (listenerHandle: ListenerHandle) => void,
|
|
1696
|
+
onSqlCommand: ((sql: string, params?: any[]) => void) | undefined,
|
|
1697
|
+
onIgnoredError: ((error: any) => void) | undefined,
|
|
1698
|
+
destroy: () => void,
|
|
1699
|
+
persist: Persist,
|
|
1700
|
+
thing: any,
|
|
1701
|
+
getThing?: string,
|
|
1702
|
+
): Persister<Persist>;
|