tinybase 5.2.0-beta.2 → 5.2.0-beta.4
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/common/index.d.cts +34 -2
- package/@types/common/index.d.ts +34 -2
- package/@types/common/with-schemas/index.d.cts +34 -2
- package/@types/common/with-schemas/index.d.ts +34 -2
- package/@types/persisters/index.d.cts +21 -2
- package/@types/persisters/index.d.ts +21 -2
- package/@types/persisters/persister-pglite/index.d.cts +178 -0
- package/@types/persisters/persister-pglite/index.d.ts +178 -0
- package/@types/persisters/persister-pglite/with-schemas/index.d.cts +197 -0
- package/@types/persisters/persister-pglite/with-schemas/index.d.ts +197 -0
- package/@types/persisters/persister-postgres/index.d.cts +2 -1
- package/@types/persisters/persister-postgres/index.d.ts +2 -1
- package/@types/persisters/persister-postgres/with-schemas/index.d.cts +2 -1
- package/@types/persisters/persister-postgres/with-schemas/index.d.ts +2 -1
- package/@types/persisters/with-schemas/index.d.cts +21 -2
- package/@types/persisters/with-schemas/index.d.ts +21 -2
- package/@types/synchronizers/synchronizer-local/index.d.cts +1 -0
- package/@types/synchronizers/synchronizer-local/index.d.ts +1 -0
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +1 -0
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +1 -0
- package/checkpoints/index.js +9 -7
- package/checkpoints/with-schemas/index.js +9 -7
- package/cjs/checkpoints/index.cjs +9 -7
- package/cjs/checkpoints/with-schemas/index.cjs +9 -7
- package/cjs/es6/checkpoints/index.cjs +15 -13
- package/cjs/es6/checkpoints/with-schemas/index.cjs +15 -13
- package/cjs/es6/index.cjs +31 -22
- package/cjs/es6/indexes/index.cjs +15 -13
- package/cjs/es6/indexes/with-schemas/index.cjs +15 -13
- package/cjs/es6/mergeable-store/index.cjs +26 -19
- package/cjs/es6/mergeable-store/with-schemas/index.cjs +26 -19
- package/cjs/es6/metrics/index.cjs +15 -13
- package/cjs/es6/metrics/with-schemas/index.cjs +15 -13
- package/cjs/es6/min/index.cjs +1 -1
- package/cjs/es6/min/index.cjs.gz +0 -0
- package/cjs/es6/min/mergeable-store/index.cjs +1 -1
- package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
- package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-browser/with-schemas/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-file/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-file/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-partykit-client/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-partykit-server/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-partykit-server/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-partykit-server/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-partykit-server/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-pglite/index.cjs +1 -0
- package/cjs/es6/min/persisters/persister-pglite/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs +1 -0
- package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-postgres/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-postgres/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-postgres/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-remote/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-remote/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/store/index.cjs +1 -1
- package/cjs/es6/min/store/index.cjs.gz +0 -0
- package/cjs/es6/min/store/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/store/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/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/ui-react-inspector/index.cjs +1 -1
- package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
- package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/ui-react-inspector/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 +5 -3
- package/cjs/es6/persisters/persister-automerge/index.cjs +7 -4
- package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +7 -4
- package/cjs/es6/persisters/persister-browser/index.cjs +8 -5
- package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +8 -5
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +147 -102
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +147 -102
- package/cjs/es6/persisters/persister-electric-sql/index.cjs +147 -102
- package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +147 -102
- package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +147 -102
- package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +147 -102
- package/cjs/es6/persisters/persister-file/index.cjs +9 -5
- package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +9 -5
- package/cjs/es6/persisters/persister-indexed-db/index.cjs +5 -3
- package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +5 -3
- package/cjs/es6/persisters/persister-libsql/index.cjs +147 -102
- package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +147 -102
- package/cjs/es6/persisters/persister-partykit-client/index.cjs +8 -5
- package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +8 -5
- package/cjs/es6/persisters/persister-partykit-server/index.cjs +39 -24
- package/cjs/es6/persisters/persister-partykit-server/with-schemas/index.cjs +39 -24
- package/cjs/es6/persisters/persister-pglite/index.cjs +1320 -0
- package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +1320 -0
- package/cjs/es6/persisters/persister-postgres/index.cjs +171 -92
- package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +171 -92
- package/cjs/es6/persisters/persister-powersync/index.cjs +149 -104
- package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +149 -104
- package/cjs/es6/persisters/persister-remote/index.cjs +8 -5
- package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +8 -5
- package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +147 -102
- package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +147 -102
- package/cjs/es6/persisters/persister-sqlite3/index.cjs +147 -102
- package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +147 -102
- package/cjs/es6/persisters/persister-yjs/index.cjs +5 -3
- package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +5 -3
- package/cjs/es6/persisters/with-schemas/index.cjs +5 -3
- package/cjs/es6/relationships/index.cjs +15 -13
- package/cjs/es6/relationships/with-schemas/index.cjs +15 -13
- package/cjs/es6/store/index.cjs +26 -19
- package/cjs/es6/store/with-schemas/index.cjs +26 -19
- package/cjs/es6/synchronizers/index.cjs +5 -3
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +5 -3
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +5 -3
- package/cjs/es6/synchronizers/synchronizer-local/index.cjs +5 -3
- package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +5 -3
- package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +12 -8
- package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +12 -8
- package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +83 -77
- package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +83 -77
- package/cjs/es6/synchronizers/with-schemas/index.cjs +5 -3
- package/cjs/es6/ui-react-inspector/index.cjs +35 -25
- package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +35 -25
- package/cjs/es6/with-schemas/index.cjs +31 -22
- package/cjs/index.cjs +25 -14
- package/cjs/indexes/index.cjs +9 -7
- package/cjs/indexes/with-schemas/index.cjs +9 -7
- package/cjs/mergeable-store/index.cjs +20 -11
- package/cjs/mergeable-store/with-schemas/index.cjs +20 -11
- package/cjs/metrics/index.cjs +9 -7
- package/cjs/metrics/with-schemas/index.cjs +9 -7
- package/cjs/min/index.cjs +1 -1
- package/cjs/min/index.cjs.gz +0 -0
- package/cjs/min/mergeable-store/index.cjs +1 -1
- package/cjs/min/mergeable-store/index.cjs.gz +0 -0
- package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
- package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
- package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-browser/index.cjs +1 -1
- package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-browser/with-schemas/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-file/index.cjs +1 -1
- package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-file/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-partykit-client/index.cjs +1 -1
- package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-partykit-server/index.cjs +1 -1
- package/cjs/min/persisters/persister-partykit-server/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-partykit-server/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-partykit-server/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-pglite/index.cjs +1 -0
- package/cjs/min/persisters/persister-pglite/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs +1 -0
- package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-postgres/index.cjs +1 -1
- package/cjs/min/persisters/persister-postgres/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-postgres/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-remote/index.cjs +1 -1
- package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-remote/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/store/index.cjs +1 -1
- package/cjs/min/store/index.cjs.gz +0 -0
- package/cjs/min/store/with-schemas/index.cjs +1 -1
- package/cjs/min/store/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-client/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/tools/index.cjs +1 -1
- package/cjs/min/tools/index.cjs.gz +0 -0
- package/cjs/min/tools/with-schemas/index.cjs +1 -1
- package/cjs/min/tools/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/ui-react-inspector/index.cjs +1 -1
- package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
- package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
- package/cjs/min/ui-react-inspector/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 +5 -3
- package/cjs/persisters/persister-automerge/index.cjs +7 -4
- package/cjs/persisters/persister-automerge/with-schemas/index.cjs +7 -4
- package/cjs/persisters/persister-browser/index.cjs +8 -5
- package/cjs/persisters/persister-browser/with-schemas/index.cjs +8 -5
- package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +103 -60
- package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +103 -60
- package/cjs/persisters/persister-electric-sql/index.cjs +103 -60
- package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +103 -60
- package/cjs/persisters/persister-expo-sqlite/index.cjs +103 -60
- package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +103 -60
- package/cjs/persisters/persister-file/index.cjs +9 -5
- package/cjs/persisters/persister-file/with-schemas/index.cjs +9 -5
- package/cjs/persisters/persister-indexed-db/index.cjs +5 -3
- package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +5 -3
- package/cjs/persisters/persister-libsql/index.cjs +103 -60
- package/cjs/persisters/persister-libsql/with-schemas/index.cjs +103 -60
- package/cjs/persisters/persister-partykit-client/index.cjs +8 -5
- package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +8 -5
- package/cjs/persisters/persister-partykit-server/index.cjs +39 -27
- package/cjs/persisters/persister-partykit-server/with-schemas/index.cjs +39 -27
- package/cjs/persisters/persister-pglite/index.cjs +994 -0
- package/cjs/persisters/persister-pglite/with-schemas/index.cjs +994 -0
- package/cjs/persisters/persister-postgres/index.cjs +126 -52
- package/cjs/persisters/persister-postgres/with-schemas/index.cjs +126 -52
- package/cjs/persisters/persister-powersync/index.cjs +105 -62
- package/cjs/persisters/persister-powersync/with-schemas/index.cjs +105 -62
- package/cjs/persisters/persister-remote/index.cjs +8 -5
- package/cjs/persisters/persister-remote/with-schemas/index.cjs +8 -5
- package/cjs/persisters/persister-sqlite-wasm/index.cjs +103 -60
- package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +103 -60
- package/cjs/persisters/persister-sqlite3/index.cjs +103 -60
- package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +103 -60
- package/cjs/persisters/persister-yjs/index.cjs +5 -3
- package/cjs/persisters/persister-yjs/with-schemas/index.cjs +5 -3
- package/cjs/persisters/with-schemas/index.cjs +5 -3
- package/cjs/relationships/index.cjs +9 -7
- package/cjs/relationships/with-schemas/index.cjs +9 -7
- package/cjs/store/index.cjs +20 -11
- package/cjs/store/with-schemas/index.cjs +20 -11
- package/cjs/synchronizers/index.cjs +5 -3
- package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +5 -3
- package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +5 -3
- package/cjs/synchronizers/synchronizer-local/index.cjs +5 -3
- package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +5 -3
- package/cjs/synchronizers/synchronizer-ws-client/index.cjs +12 -8
- package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +12 -8
- package/cjs/synchronizers/synchronizer-ws-server/index.cjs +34 -25
- package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +34 -25
- package/cjs/synchronizers/with-schemas/index.cjs +5 -3
- package/cjs/tools/index.cjs +1 -1
- package/cjs/tools/with-schemas/index.cjs +1 -1
- package/cjs/ui-react-inspector/index.cjs +29 -17
- package/cjs/ui-react-inspector/with-schemas/index.cjs +29 -17
- package/cjs/with-schemas/index.cjs +25 -14
- package/es6/checkpoints/index.js +15 -13
- package/es6/checkpoints/with-schemas/index.js +15 -13
- package/es6/index.js +31 -22
- package/es6/indexes/index.js +15 -13
- package/es6/indexes/with-schemas/index.js +15 -13
- package/es6/mergeable-store/index.js +26 -19
- package/es6/mergeable-store/with-schemas/index.js +26 -19
- package/es6/metrics/index.js +15 -13
- package/es6/metrics/with-schemas/index.js +15 -13
- package/es6/min/index.js +1 -1
- package/es6/min/index.js.gz +0 -0
- package/es6/min/mergeable-store/index.js +1 -1
- package/es6/min/mergeable-store/index.js.gz +0 -0
- package/es6/min/mergeable-store/with-schemas/index.js +1 -1
- package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-automerge/index.js +1 -1
- package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
- package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-browser/index.js +1 -1
- package/es6/min/persisters/persister-browser/index.js.gz +0 -0
- package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-browser/with-schemas/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-file/index.js +1 -1
- package/es6/min/persisters/persister-file/index.js.gz +0 -0
- package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-file/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-partykit-client/index.js +1 -1
- package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-partykit-server/index.js +1 -1
- package/es6/min/persisters/persister-partykit-server/index.js.gz +0 -0
- package/es6/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-pglite/index.js +1 -0
- package/es6/min/persisters/persister-pglite/index.js.gz +0 -0
- package/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -0
- package/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-postgres/index.js +1 -1
- package/es6/min/persisters/persister-postgres/index.js.gz +0 -0
- package/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-postgres/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-remote/index.js +1 -1
- package/es6/min/persisters/persister-remote/index.js.gz +0 -0
- package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-remote/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/store/index.js +1 -1
- package/es6/min/store/index.js.gz +0 -0
- package/es6/min/store/with-schemas/index.js +1 -1
- package/es6/min/store/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-client/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/ui-react-inspector/index.js +1 -1
- package/es6/min/ui-react-inspector/index.js.gz +0 -0
- package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/es6/min/ui-react-inspector/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 +5 -3
- package/es6/persisters/persister-automerge/index.js +7 -4
- package/es6/persisters/persister-automerge/with-schemas/index.js +7 -4
- package/es6/persisters/persister-browser/index.js +8 -5
- package/es6/persisters/persister-browser/with-schemas/index.js +8 -5
- package/es6/persisters/persister-cr-sqlite-wasm/index.js +147 -102
- package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +147 -102
- package/es6/persisters/persister-electric-sql/index.js +147 -102
- package/es6/persisters/persister-electric-sql/with-schemas/index.js +147 -102
- package/es6/persisters/persister-expo-sqlite/index.js +147 -102
- package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +147 -102
- package/es6/persisters/persister-file/index.js +9 -5
- package/es6/persisters/persister-file/with-schemas/index.js +9 -5
- package/es6/persisters/persister-indexed-db/index.js +5 -3
- package/es6/persisters/persister-indexed-db/with-schemas/index.js +5 -3
- package/es6/persisters/persister-libsql/index.js +147 -102
- package/es6/persisters/persister-libsql/with-schemas/index.js +147 -102
- package/es6/persisters/persister-partykit-client/index.js +8 -5
- package/es6/persisters/persister-partykit-client/with-schemas/index.js +8 -5
- package/es6/persisters/persister-partykit-server/index.js +39 -24
- package/es6/persisters/persister-partykit-server/with-schemas/index.js +39 -24
- package/es6/persisters/persister-pglite/index.js +1318 -0
- package/es6/persisters/persister-pglite/with-schemas/index.js +1318 -0
- package/es6/persisters/persister-postgres/index.js +171 -92
- package/es6/persisters/persister-postgres/with-schemas/index.js +171 -92
- package/es6/persisters/persister-powersync/index.js +149 -104
- package/es6/persisters/persister-powersync/with-schemas/index.js +149 -104
- package/es6/persisters/persister-remote/index.js +8 -5
- package/es6/persisters/persister-remote/with-schemas/index.js +8 -5
- package/es6/persisters/persister-sqlite-wasm/index.js +147 -102
- package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +147 -102
- package/es6/persisters/persister-sqlite3/index.js +147 -102
- package/es6/persisters/persister-sqlite3/with-schemas/index.js +147 -102
- package/es6/persisters/persister-yjs/index.js +5 -3
- package/es6/persisters/persister-yjs/with-schemas/index.js +5 -3
- package/es6/persisters/with-schemas/index.js +5 -3
- package/es6/relationships/index.js +15 -13
- package/es6/relationships/with-schemas/index.js +15 -13
- package/es6/store/index.js +26 -19
- package/es6/store/with-schemas/index.js +26 -19
- package/es6/synchronizers/index.js +5 -3
- package/es6/synchronizers/synchronizer-broadcast-channel/index.js +5 -3
- package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +5 -3
- package/es6/synchronizers/synchronizer-local/index.js +5 -3
- package/es6/synchronizers/synchronizer-local/with-schemas/index.js +5 -3
- package/es6/synchronizers/synchronizer-ws-client/index.js +12 -8
- package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +12 -8
- package/es6/synchronizers/synchronizer-ws-server/index.js +83 -77
- package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +83 -77
- package/es6/synchronizers/with-schemas/index.js +5 -3
- package/es6/ui-react-inspector/index.js +35 -25
- package/es6/ui-react-inspector/with-schemas/index.js +35 -25
- package/es6/with-schemas/index.js +31 -22
- package/index.js +25 -14
- package/indexes/index.js +9 -7
- package/indexes/with-schemas/index.js +9 -7
- package/mergeable-store/index.js +20 -11
- package/mergeable-store/with-schemas/index.js +20 -11
- package/metrics/index.js +9 -7
- package/metrics/with-schemas/index.js +9 -7
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/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-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/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-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/index.js +1 -1
- package/min/persisters/persister-partykit-server/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -0
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -0
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/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-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/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/store/index.js +1 -1
- package/min/store/index.js.gz +0 -0
- package/min/store/with-schemas/index.js +1 -1
- package/min/store/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/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/tools/index.js +1 -1
- package/min/tools/index.js.gz +0 -0
- package/min/tools/with-schemas/index.js +1 -1
- package/min/tools/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/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 +218 -110
- package/persisters/index.js +5 -3
- package/persisters/persister-automerge/index.js +7 -4
- package/persisters/persister-automerge/with-schemas/index.js +7 -4
- package/persisters/persister-browser/index.js +8 -5
- package/persisters/persister-browser/with-schemas/index.js +8 -5
- package/persisters/persister-cr-sqlite-wasm/index.js +103 -60
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +103 -60
- package/persisters/persister-electric-sql/index.js +103 -60
- package/persisters/persister-electric-sql/with-schemas/index.js +103 -60
- package/persisters/persister-expo-sqlite/index.js +103 -60
- package/persisters/persister-expo-sqlite/with-schemas/index.js +103 -60
- package/persisters/persister-file/index.js +9 -5
- package/persisters/persister-file/with-schemas/index.js +9 -5
- package/persisters/persister-indexed-db/index.js +5 -3
- package/persisters/persister-indexed-db/with-schemas/index.js +5 -3
- package/persisters/persister-libsql/index.js +103 -60
- package/persisters/persister-libsql/with-schemas/index.js +103 -60
- package/persisters/persister-partykit-client/index.js +8 -5
- package/persisters/persister-partykit-client/with-schemas/index.js +8 -5
- package/persisters/persister-partykit-server/index.js +39 -27
- package/persisters/persister-partykit-server/with-schemas/index.js +39 -27
- package/persisters/persister-pglite/index.js +992 -0
- package/persisters/persister-pglite/with-schemas/index.js +992 -0
- package/persisters/persister-postgres/index.js +126 -52
- package/persisters/persister-postgres/with-schemas/index.js +126 -52
- package/persisters/persister-powersync/index.js +105 -62
- package/persisters/persister-powersync/with-schemas/index.js +105 -62
- package/persisters/persister-remote/index.js +8 -5
- package/persisters/persister-remote/with-schemas/index.js +8 -5
- package/persisters/persister-sqlite-wasm/index.js +103 -60
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +103 -60
- package/persisters/persister-sqlite3/index.js +103 -60
- package/persisters/persister-sqlite3/with-schemas/index.js +103 -60
- package/persisters/persister-yjs/index.js +5 -3
- package/persisters/persister-yjs/with-schemas/index.js +5 -3
- package/persisters/with-schemas/index.js +5 -3
- package/readme.md +2 -2
- package/relationships/index.js +9 -7
- package/relationships/with-schemas/index.js +9 -7
- package/store/index.js +20 -11
- package/store/with-schemas/index.js +20 -11
- package/synchronizers/index.js +5 -3
- package/synchronizers/synchronizer-broadcast-channel/index.js +5 -3
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +5 -3
- package/synchronizers/synchronizer-local/index.js +5 -3
- package/synchronizers/synchronizer-local/with-schemas/index.js +5 -3
- package/synchronizers/synchronizer-ws-client/index.js +12 -8
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +12 -8
- package/synchronizers/synchronizer-ws-server/index.js +34 -25
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +34 -25
- package/synchronizers/with-schemas/index.js +5 -3
- package/tools/index.js +1 -1
- package/tools/with-schemas/index.js +1 -1
- package/ui-react-inspector/index.js +29 -17
- package/ui-react-inspector/with-schemas/index.js +29 -17
- package/umd/checkpoints/index.js +9 -7
- package/umd/checkpoints/with-schemas/index.js +9 -7
- package/umd/es6/checkpoints/index.js +15 -13
- package/umd/es6/checkpoints/with-schemas/index.js +15 -13
- package/umd/es6/index.js +31 -22
- package/umd/es6/indexes/index.js +15 -13
- package/umd/es6/indexes/with-schemas/index.js +15 -13
- package/umd/es6/mergeable-store/index.js +26 -19
- package/umd/es6/mergeable-store/with-schemas/index.js +26 -19
- package/umd/es6/metrics/index.js +15 -13
- package/umd/es6/metrics/with-schemas/index.js +15 -13
- package/umd/es6/min/index.js +1 -1
- package/umd/es6/min/index.js.gz +0 -0
- package/umd/es6/min/mergeable-store/index.js +1 -1
- package/umd/es6/min/mergeable-store/index.js.gz +0 -0
- package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
- package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
- package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-browser/index.js +1 -1
- package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-browser/with-schemas/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-file/index.js +1 -1
- package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-file/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-partykit-client/index.js +1 -1
- package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-partykit-server/index.js +1 -1
- package/umd/es6/min/persisters/persister-partykit-server/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-pglite/index.js +1 -0
- package/umd/es6/min/persisters/persister-pglite/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -0
- package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-postgres/index.js +1 -1
- package/umd/es6/min/persisters/persister-postgres/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-postgres/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-remote/index.js +1 -1
- package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-remote/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/store/index.js +1 -1
- package/umd/es6/min/store/index.js.gz +0 -0
- package/umd/es6/min/store/with-schemas/index.js +1 -1
- package/umd/es6/min/store/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-client/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/ui-react-inspector/index.js +1 -1
- package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
- package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/umd/es6/min/ui-react-inspector/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 +5 -3
- package/umd/es6/persisters/persister-automerge/index.js +7 -4
- package/umd/es6/persisters/persister-automerge/with-schemas/index.js +7 -4
- package/umd/es6/persisters/persister-browser/index.js +8 -7
- package/umd/es6/persisters/persister-browser/with-schemas/index.js +8 -7
- package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +151 -106
- package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +151 -106
- package/umd/es6/persisters/persister-electric-sql/index.js +151 -106
- package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +151 -106
- package/umd/es6/persisters/persister-expo-sqlite/index.js +151 -106
- package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +151 -106
- package/umd/es6/persisters/persister-file/index.js +9 -7
- package/umd/es6/persisters/persister-file/with-schemas/index.js +9 -7
- package/umd/es6/persisters/persister-indexed-db/index.js +5 -3
- package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +5 -3
- package/umd/es6/persisters/persister-libsql/index.js +151 -106
- package/umd/es6/persisters/persister-libsql/with-schemas/index.js +151 -106
- package/umd/es6/persisters/persister-partykit-client/index.js +8 -5
- package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +8 -5
- package/umd/es6/persisters/persister-partykit-server/index.js +39 -24
- package/umd/es6/persisters/persister-partykit-server/with-schemas/index.js +39 -24
- package/umd/es6/persisters/persister-pglite/index.js +1341 -0
- package/umd/es6/persisters/persister-pglite/with-schemas/index.js +1341 -0
- package/umd/es6/persisters/persister-postgres/index.js +171 -94
- package/umd/es6/persisters/persister-postgres/with-schemas/index.js +171 -94
- package/umd/es6/persisters/persister-powersync/index.js +153 -108
- package/umd/es6/persisters/persister-powersync/with-schemas/index.js +153 -108
- package/umd/es6/persisters/persister-remote/index.js +8 -5
- package/umd/es6/persisters/persister-remote/with-schemas/index.js +8 -5
- package/umd/es6/persisters/persister-sqlite-wasm/index.js +151 -106
- package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +151 -106
- package/umd/es6/persisters/persister-sqlite3/index.js +151 -106
- package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +151 -106
- package/umd/es6/persisters/persister-yjs/index.js +5 -3
- package/umd/es6/persisters/persister-yjs/with-schemas/index.js +5 -3
- package/umd/es6/persisters/with-schemas/index.js +5 -3
- package/umd/es6/relationships/index.js +15 -13
- package/umd/es6/relationships/with-schemas/index.js +15 -13
- package/umd/es6/store/index.js +26 -19
- package/umd/es6/store/with-schemas/index.js +26 -19
- package/umd/es6/synchronizers/index.js +5 -3
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +5 -3
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +5 -3
- package/umd/es6/synchronizers/synchronizer-local/index.js +5 -3
- package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +5 -3
- package/umd/es6/synchronizers/synchronizer-ws-client/index.js +12 -10
- package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +12 -10
- package/umd/es6/synchronizers/synchronizer-ws-server/index.js +83 -81
- package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +83 -81
- package/umd/es6/synchronizers/with-schemas/index.js +5 -3
- package/umd/es6/ui-react-inspector/index.js +35 -27
- package/umd/es6/ui-react-inspector/with-schemas/index.js +35 -27
- package/umd/es6/with-schemas/index.js +31 -22
- package/umd/index.js +25 -14
- package/umd/indexes/index.js +9 -7
- package/umd/indexes/with-schemas/index.js +9 -7
- package/umd/mergeable-store/index.js +20 -11
- package/umd/mergeable-store/with-schemas/index.js +20 -11
- package/umd/metrics/index.js +9 -7
- package/umd/metrics/with-schemas/index.js +9 -7
- package/umd/min/index.js +1 -1
- package/umd/min/index.js.gz +0 -0
- package/umd/min/mergeable-store/index.js +1 -1
- package/umd/min/mergeable-store/index.js.gz +0 -0
- package/umd/min/mergeable-store/with-schemas/index.js +1 -1
- package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-automerge/index.js +1 -1
- package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
- package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-browser/index.js +1 -1
- package/umd/min/persisters/persister-browser/index.js.gz +0 -0
- package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-browser/with-schemas/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-file/index.js +1 -1
- package/umd/min/persisters/persister-file/index.js.gz +0 -0
- package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-file/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-partykit-client/index.js +1 -1
- package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-partykit-server/index.js +1 -1
- package/umd/min/persisters/persister-partykit-server/index.js.gz +0 -0
- package/umd/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-pglite/index.js +1 -0
- package/umd/min/persisters/persister-pglite/index.js.gz +0 -0
- package/umd/min/persisters/persister-pglite/with-schemas/index.js +1 -0
- package/umd/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-postgres/index.js +1 -1
- package/umd/min/persisters/persister-postgres/index.js.gz +0 -0
- package/umd/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-postgres/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-remote/index.js +1 -1
- package/umd/min/persisters/persister-remote/index.js.gz +0 -0
- package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-remote/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/store/index.js +1 -1
- package/umd/min/store/index.js.gz +0 -0
- package/umd/min/store/with-schemas/index.js +1 -1
- package/umd/min/store/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-client/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/tools/index.js +1 -1
- package/umd/min/tools/index.js.gz +0 -0
- package/umd/min/tools/with-schemas/index.js +1 -1
- package/umd/min/tools/with-schemas/index.js.gz +0 -0
- package/umd/min/ui-react-inspector/index.js +1 -1
- package/umd/min/ui-react-inspector/index.js.gz +0 -0
- package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/umd/min/ui-react-inspector/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 +5 -3
- package/umd/persisters/persister-automerge/index.js +7 -4
- package/umd/persisters/persister-automerge/with-schemas/index.js +7 -4
- package/umd/persisters/persister-browser/index.js +8 -7
- package/umd/persisters/persister-browser/with-schemas/index.js +8 -7
- package/umd/persisters/persister-cr-sqlite-wasm/index.js +103 -62
- package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +103 -62
- package/umd/persisters/persister-electric-sql/index.js +103 -62
- package/umd/persisters/persister-electric-sql/with-schemas/index.js +103 -62
- package/umd/persisters/persister-expo-sqlite/index.js +103 -62
- package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +103 -62
- package/umd/persisters/persister-file/index.js +9 -7
- package/umd/persisters/persister-file/with-schemas/index.js +9 -7
- package/umd/persisters/persister-indexed-db/index.js +5 -3
- package/umd/persisters/persister-indexed-db/with-schemas/index.js +5 -3
- package/umd/persisters/persister-libsql/index.js +103 -62
- package/umd/persisters/persister-libsql/with-schemas/index.js +103 -62
- package/umd/persisters/persister-partykit-client/index.js +8 -5
- package/umd/persisters/persister-partykit-client/with-schemas/index.js +8 -5
- package/umd/persisters/persister-partykit-server/index.js +39 -27
- package/umd/persisters/persister-partykit-server/with-schemas/index.js +39 -27
- package/umd/persisters/persister-pglite/index.js +1010 -0
- package/umd/persisters/persister-pglite/with-schemas/index.js +1010 -0
- package/umd/persisters/persister-postgres/index.js +126 -54
- package/umd/persisters/persister-postgres/with-schemas/index.js +126 -54
- package/umd/persisters/persister-powersync/index.js +105 -64
- package/umd/persisters/persister-powersync/with-schemas/index.js +105 -64
- package/umd/persisters/persister-remote/index.js +8 -5
- package/umd/persisters/persister-remote/with-schemas/index.js +8 -5
- package/umd/persisters/persister-sqlite-wasm/index.js +103 -62
- package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +103 -62
- package/umd/persisters/persister-sqlite3/index.js +103 -62
- package/umd/persisters/persister-sqlite3/with-schemas/index.js +103 -62
- package/umd/persisters/persister-yjs/index.js +5 -3
- package/umd/persisters/persister-yjs/with-schemas/index.js +5 -3
- package/umd/persisters/with-schemas/index.js +5 -3
- package/umd/relationships/index.js +9 -7
- package/umd/relationships/with-schemas/index.js +9 -7
- package/umd/store/index.js +20 -11
- package/umd/store/with-schemas/index.js +20 -11
- package/umd/synchronizers/index.js +5 -3
- package/umd/synchronizers/synchronizer-broadcast-channel/index.js +5 -3
- package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +5 -3
- package/umd/synchronizers/synchronizer-local/index.js +5 -3
- package/umd/synchronizers/synchronizer-local/with-schemas/index.js +5 -3
- package/umd/synchronizers/synchronizer-ws-client/index.js +12 -10
- package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +12 -10
- package/umd/synchronizers/synchronizer-ws-server/index.js +34 -27
- package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +34 -27
- package/umd/synchronizers/with-schemas/index.js +5 -3
- package/umd/tools/index.js +1 -1
- package/umd/tools/with-schemas/index.js +1 -1
- package/umd/ui-react-inspector/index.js +29 -19
- package/umd/ui-react-inspector/with-schemas/index.js +29 -19
- package/umd/with-schemas/index.js +25 -14
- package/with-schemas/index.js +25 -14
|
@@ -4,6 +4,7 @@ const EMPTY_STRING = '';
|
|
|
4
4
|
const COMMA = ',';
|
|
5
5
|
const STRING = getTypeOf(EMPTY_STRING);
|
|
6
6
|
const UNDEFINED = '\uFFFC';
|
|
7
|
+
const strMatch = (str, regex) => str?.match(regex);
|
|
7
8
|
|
|
8
9
|
const promise = Promise;
|
|
9
10
|
const isUndefined = (thing) => thing == void 0;
|
|
@@ -36,6 +37,13 @@ const TABLE = 'TABLE';
|
|
|
36
37
|
const ALTER_TABLE = 'ALTER ' + TABLE;
|
|
37
38
|
const DELETE_FROM = 'DELETE FROM';
|
|
38
39
|
const SELECT_STAR_FROM = SELECT + '*FROM';
|
|
40
|
+
const getWrappedCommand = (rawCmd, onSqlCommand) =>
|
|
41
|
+
onSqlCommand
|
|
42
|
+
? async (sql, args) => {
|
|
43
|
+
onSqlCommand(sql, args);
|
|
44
|
+
return await rawCmd(sql, args);
|
|
45
|
+
}
|
|
46
|
+
: rawCmd;
|
|
39
47
|
const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
|
|
40
48
|
const getPlaceholders = (array) =>
|
|
41
49
|
arrayJoin(
|
|
@@ -73,14 +81,18 @@ const objDel = (obj, id) => {
|
|
|
73
81
|
};
|
|
74
82
|
const objToArray = (obj, cb) =>
|
|
75
83
|
arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
|
|
84
|
+
const objMap = (obj, cb) =>
|
|
85
|
+
objNew(objToArray(obj, (value, id) => [id, cb(value, id)]));
|
|
76
86
|
const objValues = (obj) => object.values(obj);
|
|
77
87
|
const objSize = (obj) => size(objIds(obj));
|
|
78
88
|
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
79
89
|
|
|
90
|
+
const jsonString = JSON.stringify;
|
|
91
|
+
const jsonParse = JSON.parse;
|
|
80
92
|
const jsonStringWithUndefined = (obj) =>
|
|
81
|
-
|
|
93
|
+
jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
|
|
82
94
|
const jsonParseWithUndefined = (str) =>
|
|
83
|
-
|
|
95
|
+
jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
|
|
84
96
|
|
|
85
97
|
const mapNew = (entries) => new Map(entries);
|
|
86
98
|
const mapGet = (map, key) => map?.get(key);
|
|
@@ -177,9 +189,11 @@ const createCustomPersister = (
|
|
|
177
189
|
await schedule(async () => {
|
|
178
190
|
try {
|
|
179
191
|
const content = await getPersisted();
|
|
180
|
-
isArray(content)
|
|
181
|
-
|
|
182
|
-
|
|
192
|
+
if (isArray(content)) {
|
|
193
|
+
setContentOrChanges(content);
|
|
194
|
+
} else {
|
|
195
|
+
errorNew(`Content is not an array ${content}`);
|
|
196
|
+
}
|
|
183
197
|
} catch (error) {
|
|
184
198
|
onIgnoredError?.(error);
|
|
185
199
|
if (initialContent) {
|
|
@@ -296,7 +310,10 @@ const getCommandFunctions = (
|
|
|
296
310
|
managedTableNames,
|
|
297
311
|
querySchema,
|
|
298
312
|
onIgnoredError,
|
|
299
|
-
|
|
313
|
+
columnType,
|
|
314
|
+
orReplace,
|
|
315
|
+
encode,
|
|
316
|
+
decode,
|
|
300
317
|
) => {
|
|
301
318
|
const schemaMap = mapNew();
|
|
302
319
|
const canSelect = (tableName, rowIdColumnName) =>
|
|
@@ -315,7 +332,9 @@ const getCommandFunctions = (
|
|
|
315
332
|
await cmd(SELECT_STAR_FROM + escapeId(tableName)),
|
|
316
333
|
(row) => [
|
|
317
334
|
row[rowIdColumnName],
|
|
318
|
-
|
|
335
|
+
decode
|
|
336
|
+
? objMap(objDel(row, rowIdColumnName), decode)
|
|
337
|
+
: objDel(row, rowIdColumnName),
|
|
319
338
|
],
|
|
320
339
|
),
|
|
321
340
|
([rowId, row]) => !isUndefined(rowId) && !objIsEmpty(row),
|
|
@@ -355,10 +374,10 @@ const getCommandFunctions = (
|
|
|
355
374
|
'CREATE ' +
|
|
356
375
|
TABLE +
|
|
357
376
|
escapeId(tableName) +
|
|
358
|
-
`(${escapeId(rowIdColumnName)}
|
|
377
|
+
`(${escapeId(rowIdColumnName)}${columnType} PRIMARY KEY${arrayJoin(
|
|
359
378
|
arrayMap(
|
|
360
379
|
tableColumnNames,
|
|
361
|
-
(columnName) => COMMA + escapeId(columnName) +
|
|
380
|
+
(columnName) => COMMA + escapeId(columnName) + columnType,
|
|
362
381
|
),
|
|
363
382
|
)});`,
|
|
364
383
|
);
|
|
@@ -378,7 +397,7 @@ const getCommandFunctions = (
|
|
|
378
397
|
escapeId(tableName) +
|
|
379
398
|
'ADD' +
|
|
380
399
|
escapeId(columnName) +
|
|
381
|
-
|
|
400
|
+
columnType,
|
|
382
401
|
);
|
|
383
402
|
if (index == 0) {
|
|
384
403
|
await cmd(
|
|
@@ -430,8 +449,13 @@ const getCommandFunctions = (
|
|
|
430
449
|
tableName,
|
|
431
450
|
rowIdColumnName,
|
|
432
451
|
objIds(row),
|
|
433
|
-
[
|
|
434
|
-
|
|
452
|
+
[
|
|
453
|
+
rowId,
|
|
454
|
+
...(encode
|
|
455
|
+
? arrayMap(objValues(row), encode)
|
|
456
|
+
: objValues(row)),
|
|
457
|
+
],
|
|
458
|
+
orReplace,
|
|
435
459
|
);
|
|
436
460
|
}
|
|
437
461
|
}),
|
|
@@ -449,7 +473,9 @@ const getCommandFunctions = (
|
|
|
449
473
|
arrayPush(
|
|
450
474
|
args,
|
|
451
475
|
rowId,
|
|
452
|
-
...arrayMap(changingColumnNames, (cellId) =>
|
|
476
|
+
...arrayMap(changingColumnNames, (cellId) =>
|
|
477
|
+
encode ? encode(row?.[cellId]) : row?.[cellId],
|
|
478
|
+
),
|
|
453
479
|
);
|
|
454
480
|
arrayPush(deleteRowIds, rowId);
|
|
455
481
|
});
|
|
@@ -459,7 +485,7 @@ const getCommandFunctions = (
|
|
|
459
485
|
rowIdColumnName,
|
|
460
486
|
changingColumnNames,
|
|
461
487
|
args,
|
|
462
|
-
|
|
488
|
+
orReplace,
|
|
463
489
|
);
|
|
464
490
|
await cmd(
|
|
465
491
|
DELETE_FROM +
|
|
@@ -493,11 +519,11 @@ const upsert = async (
|
|
|
493
519
|
rowIdColumnName,
|
|
494
520
|
changingColumnNames,
|
|
495
521
|
args,
|
|
496
|
-
|
|
522
|
+
orReplace = 0,
|
|
497
523
|
) =>
|
|
498
524
|
await cmd(
|
|
499
525
|
'INSERT ' +
|
|
500
|
-
(
|
|
526
|
+
(orReplace ? 'OR REPLACE ' : EMPTY_STRING) +
|
|
501
527
|
'INTO' +
|
|
502
528
|
escapeId(tableName) +
|
|
503
529
|
'(' +
|
|
@@ -510,8 +536,9 @@ const upsert = async (
|
|
|
510
536
|
) +
|
|
511
537
|
')VALUES' +
|
|
512
538
|
getUpsertPlaceholders(args, size(changingColumnNames) + 1) +
|
|
513
|
-
(
|
|
514
|
-
?
|
|
539
|
+
(orReplace
|
|
540
|
+
? EMPTY_STRING
|
|
541
|
+
: 'ON CONFLICT(' +
|
|
515
542
|
escapeId(rowIdColumnName) +
|
|
516
543
|
')DO UPDATE SET' +
|
|
517
544
|
arrayJoin(
|
|
@@ -521,8 +548,7 @@ const upsert = async (
|
|
|
521
548
|
escapeId(columnName) + '=excluded.' + escapeId(columnName),
|
|
522
549
|
),
|
|
523
550
|
COMMA,
|
|
524
|
-
)
|
|
525
|
-
: EMPTY_STRING),
|
|
551
|
+
)),
|
|
526
552
|
arrayMap(args, (arg) => arg ?? null),
|
|
527
553
|
);
|
|
528
554
|
const getUpsertPlaceholders = (array, columnCount) =>
|
|
@@ -556,7 +582,8 @@ const createJsonPersister = (
|
|
|
556
582
|
querySchema,
|
|
557
583
|
thing,
|
|
558
584
|
getThing,
|
|
559
|
-
|
|
585
|
+
columnType,
|
|
586
|
+
orReplace,
|
|
560
587
|
) => {
|
|
561
588
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
562
589
|
getCommandFunctions(
|
|
@@ -564,7 +591,8 @@ const createJsonPersister = (
|
|
|
564
591
|
managedTableNames,
|
|
565
592
|
querySchema,
|
|
566
593
|
onIgnoredError,
|
|
567
|
-
|
|
594
|
+
columnType,
|
|
595
|
+
orReplace,
|
|
568
596
|
);
|
|
569
597
|
const getPersisted = async () =>
|
|
570
598
|
await transaction(async () => {
|
|
@@ -626,7 +654,10 @@ const createTabularPersister = (
|
|
|
626
654
|
querySchema,
|
|
627
655
|
thing,
|
|
628
656
|
getThing,
|
|
629
|
-
|
|
657
|
+
columnType,
|
|
658
|
+
orReplace,
|
|
659
|
+
encode,
|
|
660
|
+
decode,
|
|
630
661
|
) => {
|
|
631
662
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
632
663
|
getCommandFunctions(
|
|
@@ -634,7 +665,10 @@ const createTabularPersister = (
|
|
|
634
665
|
managedTableNames,
|
|
635
666
|
querySchema,
|
|
636
667
|
onIgnoredError,
|
|
637
|
-
|
|
668
|
+
columnType,
|
|
669
|
+
orReplace,
|
|
670
|
+
encode,
|
|
671
|
+
decode,
|
|
638
672
|
);
|
|
639
673
|
const saveTables = async (tables, partial) =>
|
|
640
674
|
await promiseAll(
|
|
@@ -833,12 +867,16 @@ const getConfigStructures = (configOrStoreTableName) => {
|
|
|
833
867
|
return [0, autoLoadIntervalSeconds, tabularConfig, managedTableNames];
|
|
834
868
|
};
|
|
835
869
|
|
|
836
|
-
const
|
|
870
|
+
const EVENT_CHANNEL = TINYBASE;
|
|
871
|
+
const EVENT_REGEX = /^([cd]:)(.+)/;
|
|
872
|
+
const CHANGE_DATA_TRIGGER = TINYBASE + '_data';
|
|
873
|
+
const CREATE_TABLE_TRIGGER = TINYBASE + '_table';
|
|
874
|
+
const createPostgreSqlPersister = (
|
|
837
875
|
store,
|
|
838
876
|
configOrStoreTableName,
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
877
|
+
rawCmd,
|
|
878
|
+
addNotifyListener,
|
|
879
|
+
delNotifyListener,
|
|
842
880
|
onSqlCommand,
|
|
843
881
|
onIgnoredError,
|
|
844
882
|
destroy,
|
|
@@ -846,23 +884,60 @@ const createPostgresqlPersister = (
|
|
|
846
884
|
thing,
|
|
847
885
|
getThing = 'getDb',
|
|
848
886
|
) => {
|
|
887
|
+
const cmd = getWrappedCommand(rawCmd, onSqlCommand);
|
|
849
888
|
const [isJson, , defaultedConfig, managedTableNamesSet] = getConfigStructures(
|
|
850
889
|
configOrStoreTableName,
|
|
851
890
|
);
|
|
852
|
-
const
|
|
853
|
-
await
|
|
854
|
-
|
|
855
|
-
|
|
891
|
+
const addDataTrigger = async (tableName) => {
|
|
892
|
+
await cmd(
|
|
893
|
+
// eslint-disable-next-line max-len
|
|
894
|
+
`CREATE OR REPLACE TRIGGER ${escapeId(CHANGE_DATA_TRIGGER + '_' + tableName)} AFTER INSERT OR UPDATE OR DELETE ON ${escapeId(tableName)} EXECUTE FUNCTION ${CHANGE_DATA_TRIGGER}()`,
|
|
895
|
+
);
|
|
896
|
+
};
|
|
897
|
+
const addPersisterListener = async (listener) => {
|
|
898
|
+
await cmd(
|
|
899
|
+
// eslint-disable-next-line max-len
|
|
900
|
+
`CREATE OR REPLACE FUNCTION ${CREATE_TABLE_TRIGGER}()RETURNS event_trigger AS $t2$ DECLARE row record; BEGIN FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()WHERE command_tag='CREATE TABLE' LOOP PERFORM pg_notify('${EVENT_CHANNEL}','c:'||SPLIT_PART(row.object_identity,'.',2));END LOOP;END;$t2$ LANGUAGE plpgsql;`,
|
|
901
|
+
);
|
|
902
|
+
try {
|
|
903
|
+
await cmd(
|
|
904
|
+
// eslint-disable-next-line max-len
|
|
905
|
+
`CREATE EVENT TRIGGER ${CREATE_TABLE_TRIGGER} ON ddl_command_end WHEN TAG IN('CREATE TABLE')EXECUTE FUNCTION ${CREATE_TABLE_TRIGGER}();`,
|
|
906
|
+
);
|
|
907
|
+
} catch {}
|
|
908
|
+
await cmd(
|
|
909
|
+
// eslint-disable-next-line max-len
|
|
910
|
+
`CREATE OR REPLACE FUNCTION ${CHANGE_DATA_TRIGGER}()RETURNS trigger AS $t1$ BEGIN PERFORM pg_notify('${EVENT_CHANNEL}','d:'||TG_TABLE_NAME);RETURN NULL;END;$t1$ LANGUAGE plpgsql;`,
|
|
911
|
+
);
|
|
912
|
+
await promiseAll(
|
|
913
|
+
arrayMap(collValues(managedTableNamesSet), async (tableName) => {
|
|
914
|
+
await cmd(
|
|
915
|
+
// eslint-disable-next-line max-len
|
|
916
|
+
`CREATE TABLE IF NOT EXISTS ${escapeId(tableName)}("_id"text PRIMARY KEY)`,
|
|
917
|
+
);
|
|
918
|
+
await addDataTrigger(tableName);
|
|
919
|
+
}),
|
|
920
|
+
);
|
|
921
|
+
return await addNotifyListener(
|
|
922
|
+
EVENT_CHANNEL,
|
|
923
|
+
async (prefixAndTableName) =>
|
|
924
|
+
await ifNotUndefined(
|
|
925
|
+
strMatch(prefixAndTableName, EVENT_REGEX),
|
|
926
|
+
async ([, eventType, tableName]) => {
|
|
927
|
+
if (collHas(managedTableNamesSet, tableName)) {
|
|
928
|
+
if (eventType == 'c:') {
|
|
929
|
+
await addDataTrigger(tableName);
|
|
930
|
+
}
|
|
931
|
+
listener();
|
|
932
|
+
}
|
|
933
|
+
},
|
|
934
|
+
),
|
|
856
935
|
);
|
|
857
|
-
|
|
936
|
+
};
|
|
937
|
+
const delPersisterListener = delNotifyListener;
|
|
858
938
|
return (isJson ? createJsonPersister : createTabularPersister)(
|
|
859
939
|
store,
|
|
860
|
-
|
|
861
|
-
? async (sql, args) => {
|
|
862
|
-
onSqlCommand(sql, args);
|
|
863
|
-
return await cmd(sql, args);
|
|
864
|
-
}
|
|
865
|
-
: cmd,
|
|
940
|
+
cmd,
|
|
866
941
|
addPersisterListener,
|
|
867
942
|
delPersisterListener,
|
|
868
943
|
onIgnoredError,
|
|
@@ -878,10 +953,13 @@ const createPostgresqlPersister = (
|
|
|
878
953
|
),
|
|
879
954
|
thing,
|
|
880
955
|
getThing,
|
|
956
|
+
'text',
|
|
957
|
+
0,
|
|
958
|
+
(cellOrValue) => jsonString(cellOrValue),
|
|
959
|
+
(field) => jsonParse(field),
|
|
881
960
|
);
|
|
882
961
|
};
|
|
883
962
|
|
|
884
|
-
const TRIGGER = TINYBASE;
|
|
885
963
|
const createPostgresPersister = async (
|
|
886
964
|
store,
|
|
887
965
|
sql,
|
|
@@ -890,22 +968,18 @@ const createPostgresPersister = async (
|
|
|
890
968
|
onIgnoredError,
|
|
891
969
|
) => {
|
|
892
970
|
const cmdSql = await sql.reserve?.();
|
|
893
|
-
return
|
|
971
|
+
return createPostgreSqlPersister(
|
|
894
972
|
store,
|
|
895
973
|
configOrStoreTableName,
|
|
896
974
|
cmdSql?.unsafe,
|
|
897
|
-
async (
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
}),
|
|
905
|
-
);
|
|
906
|
-
return listen;
|
|
975
|
+
async (channel, notifyListener) => sql.listen(channel, notifyListener),
|
|
976
|
+
async (notifyListener) => {
|
|
977
|
+
try {
|
|
978
|
+
await notifyListener.unlisten();
|
|
979
|
+
} catch (e) {
|
|
980
|
+
onIgnoredError?.(e);
|
|
981
|
+
}
|
|
907
982
|
},
|
|
908
|
-
(listen) => listen.unlisten().catch(() => 0),
|
|
909
983
|
onSqlCommand,
|
|
910
984
|
onIgnoredError,
|
|
911
985
|
() => cmdSql?.release?.(),
|
|
@@ -7,7 +7,6 @@ const UNDEFINED = '\uFFFC';
|
|
|
7
7
|
|
|
8
8
|
const promise = Promise;
|
|
9
9
|
const startInterval = (callback, sec, immediate) => {
|
|
10
|
-
callback();
|
|
11
10
|
return setInterval(callback, sec * 1e3);
|
|
12
11
|
};
|
|
13
12
|
const stopInterval = clearInterval;
|
|
@@ -46,6 +45,13 @@ const DATA_VERSION = 'data_version';
|
|
|
46
45
|
const SCHEMA_VERSION = 'schema_version';
|
|
47
46
|
const FROM = 'FROM ';
|
|
48
47
|
const PRAGMA_TABLE = 'pragma_table_';
|
|
48
|
+
const getWrappedCommand = (rawCmd, onSqlCommand) =>
|
|
49
|
+
onSqlCommand
|
|
50
|
+
? async (sql, args) => {
|
|
51
|
+
onSqlCommand(sql, args);
|
|
52
|
+
return await rawCmd(sql, args);
|
|
53
|
+
}
|
|
54
|
+
: rawCmd;
|
|
49
55
|
const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
|
|
50
56
|
const getPlaceholders = (array) =>
|
|
51
57
|
arrayJoin(
|
|
@@ -83,14 +89,18 @@ const objDel = (obj, id) => {
|
|
|
83
89
|
};
|
|
84
90
|
const objToArray = (obj, cb) =>
|
|
85
91
|
arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
|
|
92
|
+
const objMap = (obj, cb) =>
|
|
93
|
+
objNew(objToArray(obj, (value, id) => [id, cb(value, id)]));
|
|
86
94
|
const objValues = (obj) => object.values(obj);
|
|
87
95
|
const objSize = (obj) => size(objIds(obj));
|
|
88
96
|
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
89
97
|
|
|
98
|
+
const jsonString = JSON.stringify;
|
|
99
|
+
const jsonParse = JSON.parse;
|
|
90
100
|
const jsonStringWithUndefined = (obj) =>
|
|
91
|
-
|
|
101
|
+
jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
|
|
92
102
|
const jsonParseWithUndefined = (str) =>
|
|
93
|
-
|
|
103
|
+
jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
|
|
94
104
|
|
|
95
105
|
const mapNew = (entries) => new Map(entries);
|
|
96
106
|
const mapGet = (map, key) => map?.get(key);
|
|
@@ -187,9 +197,11 @@ const createCustomPersister = (
|
|
|
187
197
|
await schedule(async () => {
|
|
188
198
|
try {
|
|
189
199
|
const content = await getPersisted();
|
|
190
|
-
isArray(content)
|
|
191
|
-
|
|
192
|
-
|
|
200
|
+
if (isArray(content)) {
|
|
201
|
+
setContentOrChanges(content);
|
|
202
|
+
} else {
|
|
203
|
+
errorNew(`Content is not an array ${content}`);
|
|
204
|
+
}
|
|
193
205
|
} catch (error) {
|
|
194
206
|
onIgnoredError?.(error);
|
|
195
207
|
if (initialContent) {
|
|
@@ -306,7 +318,10 @@ const getCommandFunctions = (
|
|
|
306
318
|
managedTableNames,
|
|
307
319
|
querySchema,
|
|
308
320
|
onIgnoredError,
|
|
309
|
-
|
|
321
|
+
columnType,
|
|
322
|
+
orReplace,
|
|
323
|
+
encode,
|
|
324
|
+
decode,
|
|
310
325
|
) => {
|
|
311
326
|
const schemaMap = mapNew();
|
|
312
327
|
const canSelect = (tableName, rowIdColumnName) =>
|
|
@@ -325,7 +340,9 @@ const getCommandFunctions = (
|
|
|
325
340
|
await cmd(SELECT_STAR_FROM + escapeId(tableName)),
|
|
326
341
|
(row) => [
|
|
327
342
|
row[rowIdColumnName],
|
|
328
|
-
|
|
343
|
+
decode
|
|
344
|
+
? objMap(objDel(row, rowIdColumnName), decode)
|
|
345
|
+
: objDel(row, rowIdColumnName),
|
|
329
346
|
],
|
|
330
347
|
),
|
|
331
348
|
([rowId, row]) => !isUndefined(rowId) && !objIsEmpty(row),
|
|
@@ -365,10 +382,10 @@ const getCommandFunctions = (
|
|
|
365
382
|
'CREATE ' +
|
|
366
383
|
TABLE +
|
|
367
384
|
escapeId(tableName) +
|
|
368
|
-
`(${escapeId(rowIdColumnName)}
|
|
385
|
+
`(${escapeId(rowIdColumnName)}${columnType} PRIMARY KEY${arrayJoin(
|
|
369
386
|
arrayMap(
|
|
370
387
|
tableColumnNames,
|
|
371
|
-
(columnName) => COMMA + escapeId(columnName) +
|
|
388
|
+
(columnName) => COMMA + escapeId(columnName) + columnType,
|
|
372
389
|
),
|
|
373
390
|
)});`,
|
|
374
391
|
);
|
|
@@ -388,7 +405,7 @@ const getCommandFunctions = (
|
|
|
388
405
|
escapeId(tableName) +
|
|
389
406
|
'ADD' +
|
|
390
407
|
escapeId(columnName) +
|
|
391
|
-
|
|
408
|
+
columnType,
|
|
392
409
|
);
|
|
393
410
|
if (index == 0) {
|
|
394
411
|
await cmd(
|
|
@@ -440,8 +457,13 @@ const getCommandFunctions = (
|
|
|
440
457
|
tableName,
|
|
441
458
|
rowIdColumnName,
|
|
442
459
|
objIds(row),
|
|
443
|
-
[
|
|
444
|
-
|
|
460
|
+
[
|
|
461
|
+
rowId,
|
|
462
|
+
...(encode
|
|
463
|
+
? arrayMap(objValues(row), encode)
|
|
464
|
+
: objValues(row)),
|
|
465
|
+
],
|
|
466
|
+
orReplace,
|
|
445
467
|
);
|
|
446
468
|
}
|
|
447
469
|
}),
|
|
@@ -459,7 +481,9 @@ const getCommandFunctions = (
|
|
|
459
481
|
arrayPush(
|
|
460
482
|
args,
|
|
461
483
|
rowId,
|
|
462
|
-
...arrayMap(changingColumnNames, (cellId) =>
|
|
484
|
+
...arrayMap(changingColumnNames, (cellId) =>
|
|
485
|
+
encode ? encode(row?.[cellId]) : row?.[cellId],
|
|
486
|
+
),
|
|
463
487
|
);
|
|
464
488
|
arrayPush(deleteRowIds, rowId);
|
|
465
489
|
});
|
|
@@ -469,7 +493,7 @@ const getCommandFunctions = (
|
|
|
469
493
|
rowIdColumnName,
|
|
470
494
|
changingColumnNames,
|
|
471
495
|
args,
|
|
472
|
-
|
|
496
|
+
orReplace,
|
|
473
497
|
);
|
|
474
498
|
await cmd(
|
|
475
499
|
DELETE_FROM +
|
|
@@ -503,11 +527,11 @@ const upsert = async (
|
|
|
503
527
|
rowIdColumnName,
|
|
504
528
|
changingColumnNames,
|
|
505
529
|
args,
|
|
506
|
-
|
|
530
|
+
orReplace = 0,
|
|
507
531
|
) =>
|
|
508
532
|
await cmd(
|
|
509
533
|
'INSERT ' +
|
|
510
|
-
(
|
|
534
|
+
(orReplace ? 'OR REPLACE ' : EMPTY_STRING) +
|
|
511
535
|
'INTO' +
|
|
512
536
|
escapeId(tableName) +
|
|
513
537
|
'(' +
|
|
@@ -520,8 +544,9 @@ const upsert = async (
|
|
|
520
544
|
) +
|
|
521
545
|
')VALUES' +
|
|
522
546
|
getUpsertPlaceholders(args, size(changingColumnNames) + 1) +
|
|
523
|
-
(
|
|
524
|
-
?
|
|
547
|
+
(orReplace
|
|
548
|
+
? EMPTY_STRING
|
|
549
|
+
: 'ON CONFLICT(' +
|
|
525
550
|
escapeId(rowIdColumnName) +
|
|
526
551
|
')DO UPDATE SET' +
|
|
527
552
|
arrayJoin(
|
|
@@ -531,8 +556,7 @@ const upsert = async (
|
|
|
531
556
|
escapeId(columnName) + '=excluded.' + escapeId(columnName),
|
|
532
557
|
),
|
|
533
558
|
COMMA,
|
|
534
|
-
)
|
|
535
|
-
: EMPTY_STRING),
|
|
559
|
+
)),
|
|
536
560
|
arrayMap(args, (arg) => arg ?? null),
|
|
537
561
|
);
|
|
538
562
|
const getUpsertPlaceholders = (array, columnCount) =>
|
|
@@ -566,7 +590,8 @@ const createJsonPersister = (
|
|
|
566
590
|
querySchema,
|
|
567
591
|
thing,
|
|
568
592
|
getThing,
|
|
569
|
-
|
|
593
|
+
columnType,
|
|
594
|
+
orReplace,
|
|
570
595
|
) => {
|
|
571
596
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
572
597
|
getCommandFunctions(
|
|
@@ -574,7 +599,8 @@ const createJsonPersister = (
|
|
|
574
599
|
managedTableNames,
|
|
575
600
|
querySchema,
|
|
576
601
|
onIgnoredError,
|
|
577
|
-
|
|
602
|
+
columnType,
|
|
603
|
+
orReplace,
|
|
578
604
|
);
|
|
579
605
|
const getPersisted = async () =>
|
|
580
606
|
await transaction(async () => {
|
|
@@ -636,7 +662,10 @@ const createTabularPersister = (
|
|
|
636
662
|
querySchema,
|
|
637
663
|
thing,
|
|
638
664
|
getThing,
|
|
639
|
-
|
|
665
|
+
columnType,
|
|
666
|
+
orReplace,
|
|
667
|
+
encode,
|
|
668
|
+
decode,
|
|
640
669
|
) => {
|
|
641
670
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
642
671
|
getCommandFunctions(
|
|
@@ -644,7 +673,10 @@ const createTabularPersister = (
|
|
|
644
673
|
managedTableNames,
|
|
645
674
|
querySchema,
|
|
646
675
|
onIgnoredError,
|
|
647
|
-
|
|
676
|
+
columnType,
|
|
677
|
+
orReplace,
|
|
678
|
+
encode,
|
|
679
|
+
decode,
|
|
648
680
|
);
|
|
649
681
|
const saveTables = async (tables, partial) =>
|
|
650
682
|
await promiseAll(
|
|
@@ -846,7 +878,7 @@ const getConfigStructures = (configOrStoreTableName) => {
|
|
|
846
878
|
const createSqlitePersister = (
|
|
847
879
|
store,
|
|
848
880
|
configOrStoreTableName,
|
|
849
|
-
|
|
881
|
+
rawCmd,
|
|
850
882
|
addUpdateListener,
|
|
851
883
|
delUpdateListener,
|
|
852
884
|
onSqlCommand,
|
|
@@ -854,52 +886,59 @@ const createSqlitePersister = (
|
|
|
854
886
|
persist,
|
|
855
887
|
thing,
|
|
856
888
|
getThing = 'getDb',
|
|
857
|
-
|
|
889
|
+
orReplace,
|
|
858
890
|
) => {
|
|
859
891
|
let dataVersion;
|
|
860
892
|
let schemaVersion;
|
|
861
893
|
let totalChanges;
|
|
894
|
+
const cmd = getWrappedCommand(rawCmd, onSqlCommand);
|
|
862
895
|
const [
|
|
863
896
|
isJson,
|
|
864
897
|
autoLoadIntervalSeconds,
|
|
865
898
|
defaultedConfig,
|
|
866
899
|
managedTableNamesSet,
|
|
867
900
|
] = getConfigStructures(configOrStoreTableName);
|
|
868
|
-
const addPersisterListener = (listener) =>
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
s !=
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
901
|
+
const addPersisterListener = (listener) => {
|
|
902
|
+
let interval;
|
|
903
|
+
const startPolling = () =>
|
|
904
|
+
(interval = startInterval(async () => {
|
|
905
|
+
try {
|
|
906
|
+
const [{d, s, c}] = await cmd(
|
|
907
|
+
// eslint-disable-next-line max-len
|
|
908
|
+
`${SELECT} ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
909
|
+
);
|
|
910
|
+
if (d != dataVersion || s != schemaVersion || c != totalChanges) {
|
|
911
|
+
if (dataVersion != null) {
|
|
912
|
+
listener();
|
|
913
|
+
}
|
|
914
|
+
dataVersion = d;
|
|
915
|
+
schemaVersion = s;
|
|
916
|
+
totalChanges = c;
|
|
917
|
+
}
|
|
918
|
+
} catch {}
|
|
919
|
+
}, autoLoadIntervalSeconds));
|
|
920
|
+
const stopPolling = () => {
|
|
921
|
+
dataVersion = schemaVersion = totalChanges = null;
|
|
922
|
+
stopInterval(interval);
|
|
923
|
+
};
|
|
924
|
+
const listeningHandle = addUpdateListener((tableName) => {
|
|
925
|
+
if (managedTableNamesSet.has(tableName)) {
|
|
926
|
+
stopPolling();
|
|
927
|
+
listener();
|
|
928
|
+
startPolling();
|
|
929
|
+
}
|
|
930
|
+
});
|
|
931
|
+
startPolling();
|
|
932
|
+
return () => {
|
|
933
|
+
stopPolling();
|
|
934
|
+
delUpdateListener(listeningHandle);
|
|
935
|
+
};
|
|
894
936
|
};
|
|
937
|
+
const delPersisterListener = (stopPollingAndDelUpdateListener) =>
|
|
938
|
+
stopPollingAndDelUpdateListener();
|
|
895
939
|
return (isJson ? createJsonPersister : createTabularPersister)(
|
|
896
940
|
store,
|
|
897
|
-
|
|
898
|
-
? async (sql, args) => {
|
|
899
|
-
onSqlCommand(sql, args);
|
|
900
|
-
return await cmd(sql, args);
|
|
901
|
-
}
|
|
902
|
-
: cmd,
|
|
941
|
+
cmd,
|
|
903
942
|
addPersisterListener,
|
|
904
943
|
delPersisterListener,
|
|
905
944
|
onIgnoredError,
|
|
@@ -915,7 +954,11 @@ const createSqlitePersister = (
|
|
|
915
954
|
),
|
|
916
955
|
thing,
|
|
917
956
|
getThing,
|
|
918
|
-
|
|
957
|
+
EMPTY_STRING,
|
|
958
|
+
orReplace,
|
|
959
|
+
(cellOrValue) =>
|
|
960
|
+
cellOrValue === true ? 1 : cellOrValue === false ? 0 : cellOrValue,
|
|
961
|
+
void 0,
|
|
919
962
|
);
|
|
920
963
|
};
|
|
921
964
|
|
|
@@ -925,7 +968,7 @@ const createPowerSyncPersister = (
|
|
|
925
968
|
configOrStoreTableName,
|
|
926
969
|
onSqlCommand,
|
|
927
970
|
onIgnoredError,
|
|
928
|
-
|
|
971
|
+
orReplace = 1,
|
|
929
972
|
) =>
|
|
930
973
|
createSqlitePersister(
|
|
931
974
|
store,
|
|
@@ -952,7 +995,7 @@ const createPowerSyncPersister = (
|
|
|
952
995
|
// StoreOnly,
|
|
953
996
|
powerSync,
|
|
954
997
|
'getPowerSync',
|
|
955
|
-
|
|
998
|
+
orReplace,
|
|
956
999
|
);
|
|
957
1000
|
|
|
958
1001
|
export {createPowerSyncPersister};
|