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
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The persister-pglite module of the TinyBase project lets you save and load
|
|
3
|
+
* Store data to and from a PGlite database (in an appropriate environment).
|
|
4
|
+
* @see Database Persistence guide
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
* @module persister-pglite
|
|
7
|
+
* @since 5.2.0
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import type {
|
|
11
|
+
DatabasePersisterConfig,
|
|
12
|
+
Persister,
|
|
13
|
+
Persists,
|
|
14
|
+
} from '../../with-schemas/index.d.cts';
|
|
15
|
+
import type {
|
|
16
|
+
OptionalSchemas,
|
|
17
|
+
Store,
|
|
18
|
+
} from '../../../store/with-schemas/index.d.cts';
|
|
19
|
+
import type {MergeableStore} from '../../../mergeable-store/with-schemas/index.d.cts';
|
|
20
|
+
import type {PGlite} from '@electric-sql/pglite';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The PglitePersister interface represents a Persister that lets you save and
|
|
24
|
+
* load Store data to and from a local PGlite database.
|
|
25
|
+
*
|
|
26
|
+
* You should use the createPglitePersister function to create a PglitePersister
|
|
27
|
+
* object.
|
|
28
|
+
*
|
|
29
|
+
* It is a minor extension to the Persister interface and simply provides an
|
|
30
|
+
* extra getPglite method for accessing a reference to the database connection
|
|
31
|
+
* the Store is being persisted to.
|
|
32
|
+
* @category Persister
|
|
33
|
+
* @since 5.2.0
|
|
34
|
+
*/
|
|
35
|
+
export interface PglitePersister<Schemas extends OptionalSchemas>
|
|
36
|
+
extends Persister<Schemas, Persists.StoreOrMergeableStore> {
|
|
37
|
+
/**
|
|
38
|
+
* The getPglite method returns a reference to the database connection the
|
|
39
|
+
* Store is being persisted to.
|
|
40
|
+
* @returns A reference to the database connection.
|
|
41
|
+
* @example
|
|
42
|
+
* This example creates a Persister object against a newly-created Store and
|
|
43
|
+
* then gets the database connection back out again.
|
|
44
|
+
*
|
|
45
|
+
* ```js
|
|
46
|
+
* import {PGlite} from '@electric-sql/pglite';
|
|
47
|
+
* import {createPglitePersister} from 'tinybase/persisters/persister-pglite';
|
|
48
|
+
* import {createStore} from 'tinybase';
|
|
49
|
+
*
|
|
50
|
+
* const pglite = await PGlite.create();
|
|
51
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
52
|
+
* const persister = await createPglitePersister(
|
|
53
|
+
* store,
|
|
54
|
+
* pglite,
|
|
55
|
+
* 'my_tinybase',
|
|
56
|
+
* );
|
|
57
|
+
*
|
|
58
|
+
* console.log(persister.getPglite() == pglite);
|
|
59
|
+
* // -> true
|
|
60
|
+
*
|
|
61
|
+
* persister.destroy();
|
|
62
|
+
* await pglite.close();
|
|
63
|
+
* ```
|
|
64
|
+
* @category Getter
|
|
65
|
+
* @since 5.2.0
|
|
66
|
+
*/
|
|
67
|
+
getPglite(): PGlite;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* The createPglitePersister function creates a PglitePersister object that can
|
|
72
|
+
* persist the Store to a local PGlite database.
|
|
73
|
+
*
|
|
74
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
75
|
+
*
|
|
76
|
+
* ```ts override
|
|
77
|
+
* createPglitePersister(
|
|
78
|
+
* store: Store | MergeableStore,
|
|
79
|
+
* pglite: PGlite,
|
|
80
|
+
* configOrStoreTableName?: DatabasePersisterConfig | string,
|
|
81
|
+
* onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
82
|
+
* onIgnoredError?: (error: any) => void,
|
|
83
|
+
* ): Promise<PglitePersister>;
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* A PglitePersister supports regular Store objects, and can also be used to
|
|
87
|
+
* persist the metadata of a MergeableStore when using the JSON serialization
|
|
88
|
+
* mode, as described below.
|
|
89
|
+
*
|
|
90
|
+
* As well as providing a reference to the Store to persist, you must provide a
|
|
91
|
+
* `pglite` parameter which identifies the database connection.
|
|
92
|
+
*
|
|
93
|
+
* A database Persister uses one of two modes: either a JSON serialization of
|
|
94
|
+
* the whole Store stored in a single row of a table (the default), or a tabular
|
|
95
|
+
* mapping of Table Ids to database table names and vice-versa).
|
|
96
|
+
*
|
|
97
|
+
* The third argument is a DatabasePersisterConfig object that configures which
|
|
98
|
+
* of those modes to use, and settings for each. If the third argument is simply
|
|
99
|
+
* a string, it is used as the `storeTableName` property of the JSON
|
|
100
|
+
* serialization.
|
|
101
|
+
*
|
|
102
|
+
* See the documentation for the DpcJson and DpcTabular types for more
|
|
103
|
+
* information on how both of those modes can be configured.
|
|
104
|
+
*
|
|
105
|
+
* This method is asynchronous because it will await the creation of dedicated
|
|
106
|
+
* new connections to the database. You will need to `await` a call to this
|
|
107
|
+
* function or handle the return type natively as a Promise.
|
|
108
|
+
* @param store The Store or MergeableStore to persist.
|
|
109
|
+
* @param pglite The database connection that was returned from
|
|
110
|
+
* `PGlite.create(...)`.
|
|
111
|
+
* @param configOrStoreTableName A DatabasePersisterConfig to configure the
|
|
112
|
+
* persistence mode (or a string to set the `storeTableName` property of the
|
|
113
|
+
* JSON serialization).
|
|
114
|
+
* @param onSqlCommand An optional handler called every time the Persister
|
|
115
|
+
* executes a SQL command or query. This is suitable for logging persistence
|
|
116
|
+
* behavior in a development environment.
|
|
117
|
+
* @param onIgnoredError An optional handler for the errors that the Persister
|
|
118
|
+
* would otherwise ignore when trying to save or load data. This is suitable for
|
|
119
|
+
* debugging persistence issues in a development environment.
|
|
120
|
+
* @returns A reference to the new PglitePersister object.
|
|
121
|
+
* @example
|
|
122
|
+
* This example creates a PglitePersister object and persists the Store to a
|
|
123
|
+
* local PGlite database as a JSON serialization into the `my_tinybase`
|
|
124
|
+
* table. It makes a change to the database directly and then reloads it back
|
|
125
|
+
* into the Store.
|
|
126
|
+
*
|
|
127
|
+
* ```js
|
|
128
|
+
* import {PGlite} from '@electric-sql/pglite';
|
|
129
|
+
* import {createPglitePersister} from 'tinybase/persisters/persister-pglite';
|
|
130
|
+
* import {createStore} from 'tinybase';
|
|
131
|
+
*
|
|
132
|
+
* const pglite = await PGlite.create();
|
|
133
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
134
|
+
* const persister = await createPglitePersister(
|
|
135
|
+
* store,
|
|
136
|
+
* pglite,
|
|
137
|
+
* 'my_tinybase',
|
|
138
|
+
* );
|
|
139
|
+
* await persister.save();
|
|
140
|
+
* // Store will be saved to the database.
|
|
141
|
+
*
|
|
142
|
+
* console.log((await pglite.query('SELECT * FROM my_tinybase;')).rows);
|
|
143
|
+
* // -> [{_id: '_', store: '[{"pets":{"fido":{"species":"dog"}}},{}]'}]
|
|
144
|
+
*
|
|
145
|
+
* await pglite.query(`UPDATE my_tinybase SET store = $1 WHERE _id = '_';`, [
|
|
146
|
+
* '[{"pets":{"felix":{"species":"cat"}}},{}]',
|
|
147
|
+
* ]);
|
|
148
|
+
*
|
|
149
|
+
* await persister.load();
|
|
150
|
+
* console.log(store.getTables());
|
|
151
|
+
* // -> {pets: {felix: {species: 'cat'}}}
|
|
152
|
+
*
|
|
153
|
+
* persister.destroy();
|
|
154
|
+
* await pglite.close();
|
|
155
|
+
* ```
|
|
156
|
+
* @example
|
|
157
|
+
* This example creates a PglitePersister object and persists the Store to a
|
|
158
|
+
* local PGlite database with tabular mapping.
|
|
159
|
+
*
|
|
160
|
+
* ```js
|
|
161
|
+
* import {PGlite} from '@electric-sql/pglite';
|
|
162
|
+
* import {createPglitePersister} from 'tinybase/persisters/persister-pglite';
|
|
163
|
+
* import {createStore} from 'tinybase';
|
|
164
|
+
*
|
|
165
|
+
* const pglite = await PGlite.create();
|
|
166
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
167
|
+
* const persister = await createPglitePersister(store, pglite, {
|
|
168
|
+
* mode: 'tabular',
|
|
169
|
+
* tables: {load: {pets: 'pets'}, save: {pets: 'pets'}},
|
|
170
|
+
* });
|
|
171
|
+
*
|
|
172
|
+
* await persister.save();
|
|
173
|
+
* console.log((await pglite.query('SELECT * FROM pets;')).rows);
|
|
174
|
+
* // -> [{_id: 'fido', species: '"dog"'}]
|
|
175
|
+
* // Note that Cells and Values are JSON-encoded in PostgreSQL databases.
|
|
176
|
+
*
|
|
177
|
+
* await pglite.query(
|
|
178
|
+
* `INSERT INTO pets (_id, species) VALUES ('felix', '"cat"')`,
|
|
179
|
+
* );
|
|
180
|
+
* await persister.load();
|
|
181
|
+
* console.log(store.getTables());
|
|
182
|
+
* // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
|
|
183
|
+
*
|
|
184
|
+
* persister.destroy();
|
|
185
|
+
* await pglite.query('DROP TABLE IF EXISTS pets');
|
|
186
|
+
* await pglite.close();
|
|
187
|
+
* ```
|
|
188
|
+
* @category Creation
|
|
189
|
+
* @since 5.2.0
|
|
190
|
+
*/
|
|
191
|
+
export function createPglitePersister<Schemas extends OptionalSchemas>(
|
|
192
|
+
store: Store<Schemas> | MergeableStore<Schemas>,
|
|
193
|
+
pglite: PGlite,
|
|
194
|
+
configOrStoreTableName?: DatabasePersisterConfig<Schemas> | string,
|
|
195
|
+
onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
196
|
+
onIgnoredError?: (error: any) => void,
|
|
197
|
+
): Promise<PglitePersister<Schemas>>;
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The persister-pglite module of the TinyBase project lets you save and load
|
|
3
|
+
* Store data to and from a PGlite database (in an appropriate environment).
|
|
4
|
+
* @see Database Persistence guide
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
* @module persister-pglite
|
|
7
|
+
* @since 5.2.0
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import type {
|
|
11
|
+
DatabasePersisterConfig,
|
|
12
|
+
Persister,
|
|
13
|
+
Persists,
|
|
14
|
+
} from '../../with-schemas/index.d.ts';
|
|
15
|
+
import type {
|
|
16
|
+
OptionalSchemas,
|
|
17
|
+
Store,
|
|
18
|
+
} from '../../../store/with-schemas/index.d.ts';
|
|
19
|
+
import type {MergeableStore} from '../../../mergeable-store/with-schemas/index.d.ts';
|
|
20
|
+
import type {PGlite} from '@electric-sql/pglite';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The PglitePersister interface represents a Persister that lets you save and
|
|
24
|
+
* load Store data to and from a local PGlite database.
|
|
25
|
+
*
|
|
26
|
+
* You should use the createPglitePersister function to create a PglitePersister
|
|
27
|
+
* object.
|
|
28
|
+
*
|
|
29
|
+
* It is a minor extension to the Persister interface and simply provides an
|
|
30
|
+
* extra getPglite method for accessing a reference to the database connection
|
|
31
|
+
* the Store is being persisted to.
|
|
32
|
+
* @category Persister
|
|
33
|
+
* @since 5.2.0
|
|
34
|
+
*/
|
|
35
|
+
export interface PglitePersister<Schemas extends OptionalSchemas>
|
|
36
|
+
extends Persister<Schemas, Persists.StoreOrMergeableStore> {
|
|
37
|
+
/**
|
|
38
|
+
* The getPglite method returns a reference to the database connection the
|
|
39
|
+
* Store is being persisted to.
|
|
40
|
+
* @returns A reference to the database connection.
|
|
41
|
+
* @example
|
|
42
|
+
* This example creates a Persister object against a newly-created Store and
|
|
43
|
+
* then gets the database connection back out again.
|
|
44
|
+
*
|
|
45
|
+
* ```js
|
|
46
|
+
* import {PGlite} from '@electric-sql/pglite';
|
|
47
|
+
* import {createPglitePersister} from 'tinybase/persisters/persister-pglite';
|
|
48
|
+
* import {createStore} from 'tinybase';
|
|
49
|
+
*
|
|
50
|
+
* const pglite = await PGlite.create();
|
|
51
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
52
|
+
* const persister = await createPglitePersister(
|
|
53
|
+
* store,
|
|
54
|
+
* pglite,
|
|
55
|
+
* 'my_tinybase',
|
|
56
|
+
* );
|
|
57
|
+
*
|
|
58
|
+
* console.log(persister.getPglite() == pglite);
|
|
59
|
+
* // -> true
|
|
60
|
+
*
|
|
61
|
+
* persister.destroy();
|
|
62
|
+
* await pglite.close();
|
|
63
|
+
* ```
|
|
64
|
+
* @category Getter
|
|
65
|
+
* @since 5.2.0
|
|
66
|
+
*/
|
|
67
|
+
getPglite(): PGlite;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* The createPglitePersister function creates a PglitePersister object that can
|
|
72
|
+
* persist the Store to a local PGlite database.
|
|
73
|
+
*
|
|
74
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
75
|
+
*
|
|
76
|
+
* ```ts override
|
|
77
|
+
* createPglitePersister(
|
|
78
|
+
* store: Store | MergeableStore,
|
|
79
|
+
* pglite: PGlite,
|
|
80
|
+
* configOrStoreTableName?: DatabasePersisterConfig | string,
|
|
81
|
+
* onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
82
|
+
* onIgnoredError?: (error: any) => void,
|
|
83
|
+
* ): Promise<PglitePersister>;
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* A PglitePersister supports regular Store objects, and can also be used to
|
|
87
|
+
* persist the metadata of a MergeableStore when using the JSON serialization
|
|
88
|
+
* mode, as described below.
|
|
89
|
+
*
|
|
90
|
+
* As well as providing a reference to the Store to persist, you must provide a
|
|
91
|
+
* `pglite` parameter which identifies the database connection.
|
|
92
|
+
*
|
|
93
|
+
* A database Persister uses one of two modes: either a JSON serialization of
|
|
94
|
+
* the whole Store stored in a single row of a table (the default), or a tabular
|
|
95
|
+
* mapping of Table Ids to database table names and vice-versa).
|
|
96
|
+
*
|
|
97
|
+
* The third argument is a DatabasePersisterConfig object that configures which
|
|
98
|
+
* of those modes to use, and settings for each. If the third argument is simply
|
|
99
|
+
* a string, it is used as the `storeTableName` property of the JSON
|
|
100
|
+
* serialization.
|
|
101
|
+
*
|
|
102
|
+
* See the documentation for the DpcJson and DpcTabular types for more
|
|
103
|
+
* information on how both of those modes can be configured.
|
|
104
|
+
*
|
|
105
|
+
* This method is asynchronous because it will await the creation of dedicated
|
|
106
|
+
* new connections to the database. You will need to `await` a call to this
|
|
107
|
+
* function or handle the return type natively as a Promise.
|
|
108
|
+
* @param store The Store or MergeableStore to persist.
|
|
109
|
+
* @param pglite The database connection that was returned from
|
|
110
|
+
* `PGlite.create(...)`.
|
|
111
|
+
* @param configOrStoreTableName A DatabasePersisterConfig to configure the
|
|
112
|
+
* persistence mode (or a string to set the `storeTableName` property of the
|
|
113
|
+
* JSON serialization).
|
|
114
|
+
* @param onSqlCommand An optional handler called every time the Persister
|
|
115
|
+
* executes a SQL command or query. This is suitable for logging persistence
|
|
116
|
+
* behavior in a development environment.
|
|
117
|
+
* @param onIgnoredError An optional handler for the errors that the Persister
|
|
118
|
+
* would otherwise ignore when trying to save or load data. This is suitable for
|
|
119
|
+
* debugging persistence issues in a development environment.
|
|
120
|
+
* @returns A reference to the new PglitePersister object.
|
|
121
|
+
* @example
|
|
122
|
+
* This example creates a PglitePersister object and persists the Store to a
|
|
123
|
+
* local PGlite database as a JSON serialization into the `my_tinybase`
|
|
124
|
+
* table. It makes a change to the database directly and then reloads it back
|
|
125
|
+
* into the Store.
|
|
126
|
+
*
|
|
127
|
+
* ```js
|
|
128
|
+
* import {PGlite} from '@electric-sql/pglite';
|
|
129
|
+
* import {createPglitePersister} from 'tinybase/persisters/persister-pglite';
|
|
130
|
+
* import {createStore} from 'tinybase';
|
|
131
|
+
*
|
|
132
|
+
* const pglite = await PGlite.create();
|
|
133
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
134
|
+
* const persister = await createPglitePersister(
|
|
135
|
+
* store,
|
|
136
|
+
* pglite,
|
|
137
|
+
* 'my_tinybase',
|
|
138
|
+
* );
|
|
139
|
+
* await persister.save();
|
|
140
|
+
* // Store will be saved to the database.
|
|
141
|
+
*
|
|
142
|
+
* console.log((await pglite.query('SELECT * FROM my_tinybase;')).rows);
|
|
143
|
+
* // -> [{_id: '_', store: '[{"pets":{"fido":{"species":"dog"}}},{}]'}]
|
|
144
|
+
*
|
|
145
|
+
* await pglite.query(`UPDATE my_tinybase SET store = $1 WHERE _id = '_';`, [
|
|
146
|
+
* '[{"pets":{"felix":{"species":"cat"}}},{}]',
|
|
147
|
+
* ]);
|
|
148
|
+
*
|
|
149
|
+
* await persister.load();
|
|
150
|
+
* console.log(store.getTables());
|
|
151
|
+
* // -> {pets: {felix: {species: 'cat'}}}
|
|
152
|
+
*
|
|
153
|
+
* persister.destroy();
|
|
154
|
+
* await pglite.close();
|
|
155
|
+
* ```
|
|
156
|
+
* @example
|
|
157
|
+
* This example creates a PglitePersister object and persists the Store to a
|
|
158
|
+
* local PGlite database with tabular mapping.
|
|
159
|
+
*
|
|
160
|
+
* ```js
|
|
161
|
+
* import {PGlite} from '@electric-sql/pglite';
|
|
162
|
+
* import {createPglitePersister} from 'tinybase/persisters/persister-pglite';
|
|
163
|
+
* import {createStore} from 'tinybase';
|
|
164
|
+
*
|
|
165
|
+
* const pglite = await PGlite.create();
|
|
166
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
167
|
+
* const persister = await createPglitePersister(store, pglite, {
|
|
168
|
+
* mode: 'tabular',
|
|
169
|
+
* tables: {load: {pets: 'pets'}, save: {pets: 'pets'}},
|
|
170
|
+
* });
|
|
171
|
+
*
|
|
172
|
+
* await persister.save();
|
|
173
|
+
* console.log((await pglite.query('SELECT * FROM pets;')).rows);
|
|
174
|
+
* // -> [{_id: 'fido', species: '"dog"'}]
|
|
175
|
+
* // Note that Cells and Values are JSON-encoded in PostgreSQL databases.
|
|
176
|
+
*
|
|
177
|
+
* await pglite.query(
|
|
178
|
+
* `INSERT INTO pets (_id, species) VALUES ('felix', '"cat"')`,
|
|
179
|
+
* );
|
|
180
|
+
* await persister.load();
|
|
181
|
+
* console.log(store.getTables());
|
|
182
|
+
* // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
|
|
183
|
+
*
|
|
184
|
+
* persister.destroy();
|
|
185
|
+
* await pglite.query('DROP TABLE IF EXISTS pets');
|
|
186
|
+
* await pglite.close();
|
|
187
|
+
* ```
|
|
188
|
+
* @category Creation
|
|
189
|
+
* @since 5.2.0
|
|
190
|
+
*/
|
|
191
|
+
export function createPglitePersister<Schemas extends OptionalSchemas>(
|
|
192
|
+
store: Store<Schemas> | MergeableStore<Schemas>,
|
|
193
|
+
pglite: PGlite,
|
|
194
|
+
configOrStoreTableName?: DatabasePersisterConfig<Schemas> | string,
|
|
195
|
+
onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
196
|
+
onIgnoredError?: (error: any) => void,
|
|
197
|
+
): Promise<PglitePersister<Schemas>>;
|
|
@@ -143,7 +143,8 @@ export interface PostgresPersister
|
|
|
143
143
|
*
|
|
144
144
|
* await persister.save();
|
|
145
145
|
* console.log(await sql`SELECT * FROM pets;`);
|
|
146
|
-
* // -> [{_id: 'fido', species: 'dog'}]
|
|
146
|
+
* // -> [{_id: 'fido', species: '"dog"'}]
|
|
147
|
+
* // Note that Cells and Values are JSON-encoded in PostgreSQL databases.
|
|
147
148
|
*
|
|
148
149
|
* await sql`INSERT INTO pets (_id, species) VALUES ('felix', '"cat"')`;
|
|
149
150
|
* await persister.load();
|
|
@@ -143,7 +143,8 @@ export interface PostgresPersister
|
|
|
143
143
|
*
|
|
144
144
|
* await persister.save();
|
|
145
145
|
* console.log(await sql`SELECT * FROM pets;`);
|
|
146
|
-
* // -> [{_id: 'fido', species: 'dog'}]
|
|
146
|
+
* // -> [{_id: 'fido', species: '"dog"'}]
|
|
147
|
+
* // Note that Cells and Values are JSON-encoded in PostgreSQL databases.
|
|
147
148
|
*
|
|
148
149
|
* await sql`INSERT INTO pets (_id, species) VALUES ('felix', '"cat"')`;
|
|
149
150
|
* await persister.load();
|
|
@@ -162,7 +162,8 @@ export interface PostgresPersister<Schemas extends OptionalSchemas>
|
|
|
162
162
|
*
|
|
163
163
|
* await persister.save();
|
|
164
164
|
* console.log(await sql`SELECT * FROM pets;`);
|
|
165
|
-
* // -> [{_id: 'fido', species: 'dog'}]
|
|
165
|
+
* // -> [{_id: 'fido', species: '"dog"'}]
|
|
166
|
+
* // Note that Cells and Values are JSON-encoded in PostgreSQL databases.
|
|
166
167
|
*
|
|
167
168
|
* await sql`INSERT INTO pets (_id, species) VALUES ('felix', '"cat"')`;
|
|
168
169
|
* await persister.load();
|
|
@@ -162,7 +162,8 @@ export interface PostgresPersister<Schemas extends OptionalSchemas>
|
|
|
162
162
|
*
|
|
163
163
|
* await persister.save();
|
|
164
164
|
* console.log(await sql`SELECT * FROM pets;`);
|
|
165
|
-
* // -> [{_id: 'fido', species: 'dog'}]
|
|
165
|
+
* // -> [{_id: 'fido', species: '"dog"'}]
|
|
166
|
+
* // Note that Cells and Values are JSON-encoded in PostgreSQL databases.
|
|
166
167
|
*
|
|
167
168
|
* await sql`INSERT INTO pets (_id, species) VALUES ('felix', '"cat"')`;
|
|
168
169
|
* await persister.load();
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
* |LibSqlPersister|LibSQL for Turso, via [libsql-client](https://github.com/tursodatabase/libsql-client-ts)|Yes|No
|
|
25
25
|
* |PowerSyncPersister|PowerSync, via [powersync-sdk](https://github.com/powersync-ja/powersync-js)|Yes|No
|
|
26
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
|
|
27
28
|
* |YjsPersister|Yjs CRDTs, via [yjs](https://github.com/yjs/yjs)|Yes|No
|
|
28
29
|
* |AutomergePersister|Automerge CRDTs, via [automerge-repo](https://github.com/automerge/automerge-repo)|Yes|No
|
|
29
30
|
* |PartyKitPersister|[PartyKit](https://www.partykit.io/), via the persister-partykit-server module|Yes|No|
|
|
@@ -409,8 +410,8 @@ export type DpcJson = {
|
|
|
409
410
|
*
|
|
410
411
|
* This configuration can only be used when the Persister is persisting a
|
|
411
412
|
* regular Store. For those database-oriented Persister types that support
|
|
412
|
-
* MergeableStore data, you will need to use JSON-serialization, es described
|
|
413
|
-
*
|
|
413
|
+
* MergeableStore data, you will need to use JSON-serialization, es described in
|
|
414
|
+
* the DpcJson section.
|
|
414
415
|
*
|
|
415
416
|
* It is important to note that both the tabular mapping in ('save') and out
|
|
416
417
|
* ('load') of an underlying database are disabled by default. This is to ensure
|
|
@@ -443,6 +444,15 @@ export type DpcJson = {
|
|
|
443
444
|
* DpcTabularValues types for more details on how to configure the tabular
|
|
444
445
|
* mapping mode.
|
|
445
446
|
*
|
|
447
|
+
* Columns in SQLite database have no type, and so in this mode, the table can
|
|
448
|
+
* contain strings and numbers for Cells and Values, just as TinyBase does.
|
|
449
|
+
* Booleans, unfortunately, are stored as 0 or 1 in SQLite, and cannot be
|
|
450
|
+
* distinguished from numbers.
|
|
451
|
+
*
|
|
452
|
+
* In PostgreSQL databases, all Cell and Value columns are expected to be typed
|
|
453
|
+
* as `text`, and the strings, booleans, and numbers are all JSON-encoded by the
|
|
454
|
+
* Persister.
|
|
455
|
+
*
|
|
446
456
|
* The 'Dpc' prefix indicates that this type is used within the
|
|
447
457
|
* DatabasePersisterConfig type.
|
|
448
458
|
* @example
|
|
@@ -587,6 +597,11 @@ export type DpcTabular<Schema extends OptionalTablesSchema> = {
|
|
|
587
597
|
* },
|
|
588
598
|
* }
|
|
589
599
|
* ```
|
|
600
|
+
*
|
|
601
|
+
* The example above represents what happens with a SQLite Persister. In
|
|
602
|
+
* PostgreSQL databases, all Cell and Value columns are expected to be
|
|
603
|
+
* typed as `text`, and the strings, booleans, and numbers would be JSON-encoded
|
|
604
|
+
* if you queried them.
|
|
590
605
|
* @category Configuration
|
|
591
606
|
* @since v4.0.0
|
|
592
607
|
*/
|
|
@@ -700,6 +715,10 @@ export type DpcTabularLoad<Schema extends OptionalTablesSchema> = {
|
|
|
700
715
|
* | cat | 4 |
|
|
701
716
|
* +------+-------+
|
|
702
717
|
* ```
|
|
718
|
+
* The example above represents what happens with a SQLite Persister. In
|
|
719
|
+
* PostgreSQL databases, all Cell and Value columns are expected to be
|
|
720
|
+
* typed as `text`, and the strings, booleans, and numbers would be JSON-encoded
|
|
721
|
+
* if you queried them.
|
|
703
722
|
* @category Configuration
|
|
704
723
|
* @since v4.0.0
|
|
705
724
|
*/
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
* |LibSqlPersister|LibSQL for Turso, via [libsql-client](https://github.com/tursodatabase/libsql-client-ts)|Yes|No
|
|
25
25
|
* |PowerSyncPersister|PowerSync, via [powersync-sdk](https://github.com/powersync-ja/powersync-js)|Yes|No
|
|
26
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
|
|
27
28
|
* |YjsPersister|Yjs CRDTs, via [yjs](https://github.com/yjs/yjs)|Yes|No
|
|
28
29
|
* |AutomergePersister|Automerge CRDTs, via [automerge-repo](https://github.com/automerge/automerge-repo)|Yes|No
|
|
29
30
|
* |PartyKitPersister|[PartyKit](https://www.partykit.io/), via the persister-partykit-server module|Yes|No|
|
|
@@ -409,8 +410,8 @@ export type DpcJson = {
|
|
|
409
410
|
*
|
|
410
411
|
* This configuration can only be used when the Persister is persisting a
|
|
411
412
|
* regular Store. For those database-oriented Persister types that support
|
|
412
|
-
* MergeableStore data, you will need to use JSON-serialization, es described
|
|
413
|
-
*
|
|
413
|
+
* MergeableStore data, you will need to use JSON-serialization, es described in
|
|
414
|
+
* the DpcJson section.
|
|
414
415
|
*
|
|
415
416
|
* It is important to note that both the tabular mapping in ('save') and out
|
|
416
417
|
* ('load') of an underlying database are disabled by default. This is to ensure
|
|
@@ -443,6 +444,15 @@ export type DpcJson = {
|
|
|
443
444
|
* DpcTabularValues types for more details on how to configure the tabular
|
|
444
445
|
* mapping mode.
|
|
445
446
|
*
|
|
447
|
+
* Columns in SQLite database have no type, and so in this mode, the table can
|
|
448
|
+
* contain strings and numbers for Cells and Values, just as TinyBase does.
|
|
449
|
+
* Booleans, unfortunately, are stored as 0 or 1 in SQLite, and cannot be
|
|
450
|
+
* distinguished from numbers.
|
|
451
|
+
*
|
|
452
|
+
* In PostgreSQL databases, all Cell and Value columns are expected to be typed
|
|
453
|
+
* as `text`, and the strings, booleans, and numbers are all JSON-encoded by the
|
|
454
|
+
* Persister.
|
|
455
|
+
*
|
|
446
456
|
* The 'Dpc' prefix indicates that this type is used within the
|
|
447
457
|
* DatabasePersisterConfig type.
|
|
448
458
|
* @example
|
|
@@ -587,6 +597,11 @@ export type DpcTabular<Schema extends OptionalTablesSchema> = {
|
|
|
587
597
|
* },
|
|
588
598
|
* }
|
|
589
599
|
* ```
|
|
600
|
+
*
|
|
601
|
+
* The example above represents what happens with a SQLite Persister. In
|
|
602
|
+
* PostgreSQL databases, all Cell and Value columns are expected to be
|
|
603
|
+
* typed as `text`, and the strings, booleans, and numbers would be JSON-encoded
|
|
604
|
+
* if you queried them.
|
|
590
605
|
* @category Configuration
|
|
591
606
|
* @since v4.0.0
|
|
592
607
|
*/
|
|
@@ -700,6 +715,10 @@ export type DpcTabularLoad<Schema extends OptionalTablesSchema> = {
|
|
|
700
715
|
* | cat | 4 |
|
|
701
716
|
* +------+-------+
|
|
702
717
|
* ```
|
|
718
|
+
* The example above represents what happens with a SQLite Persister. In
|
|
719
|
+
* PostgreSQL databases, all Cell and Value columns are expected to be
|
|
720
|
+
* typed as `text`, and the strings, booleans, and numbers would be JSON-encoded
|
|
721
|
+
* if you queried them.
|
|
703
722
|
* @category Configuration
|
|
704
723
|
* @since v4.0.0
|
|
705
724
|
*/
|
package/checkpoints/index.js
CHANGED
|
@@ -163,13 +163,15 @@ const getListenerFunctions = (getThing) => {
|
|
|
163
163
|
([listener, , path = [], pathGetters, extraArgsGetter]) => {
|
|
164
164
|
const callWithIds = (...ids) => {
|
|
165
165
|
const index = size(ids);
|
|
166
|
-
index == size(path)
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
166
|
+
if (index == size(path)) {
|
|
167
|
+
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
168
|
+
} else if (isUndefined(path[index])) {
|
|
169
|
+
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
170
|
+
callWithIds(...ids, id2),
|
|
171
|
+
);
|
|
172
|
+
} else {
|
|
173
|
+
callWithIds(...ids, path[index]);
|
|
174
|
+
}
|
|
173
175
|
};
|
|
174
176
|
callWithIds();
|
|
175
177
|
},
|
|
@@ -163,13 +163,15 @@ const getListenerFunctions = (getThing) => {
|
|
|
163
163
|
([listener, , path = [], pathGetters, extraArgsGetter]) => {
|
|
164
164
|
const callWithIds = (...ids) => {
|
|
165
165
|
const index = size(ids);
|
|
166
|
-
index == size(path)
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
166
|
+
if (index == size(path)) {
|
|
167
|
+
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
168
|
+
} else if (isUndefined(path[index])) {
|
|
169
|
+
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
170
|
+
callWithIds(...ids, id2),
|
|
171
|
+
);
|
|
172
|
+
} else {
|
|
173
|
+
callWithIds(...ids, path[index]);
|
|
174
|
+
}
|
|
173
175
|
};
|
|
174
176
|
callWithIds();
|
|
175
177
|
},
|
|
@@ -165,13 +165,15 @@ const getListenerFunctions = (getThing) => {
|
|
|
165
165
|
([listener, , path = [], pathGetters, extraArgsGetter]) => {
|
|
166
166
|
const callWithIds = (...ids) => {
|
|
167
167
|
const index = size(ids);
|
|
168
|
-
index == size(path)
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
168
|
+
if (index == size(path)) {
|
|
169
|
+
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
170
|
+
} else if (isUndefined(path[index])) {
|
|
171
|
+
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
172
|
+
callWithIds(...ids, id2),
|
|
173
|
+
);
|
|
174
|
+
} else {
|
|
175
|
+
callWithIds(...ids, path[index]);
|
|
176
|
+
}
|
|
175
177
|
};
|
|
176
178
|
callWithIds();
|
|
177
179
|
},
|
|
@@ -165,13 +165,15 @@ const getListenerFunctions = (getThing) => {
|
|
|
165
165
|
([listener, , path = [], pathGetters, extraArgsGetter]) => {
|
|
166
166
|
const callWithIds = (...ids) => {
|
|
167
167
|
const index = size(ids);
|
|
168
|
-
index == size(path)
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
168
|
+
if (index == size(path)) {
|
|
169
|
+
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
170
|
+
} else if (isUndefined(path[index])) {
|
|
171
|
+
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
172
|
+
callWithIds(...ids, id2),
|
|
173
|
+
);
|
|
174
|
+
} else {
|
|
175
|
+
callWithIds(...ids, path[index]);
|
|
176
|
+
}
|
|
175
177
|
};
|
|
176
178
|
callWithIds();
|
|
177
179
|
},
|