tinybase 5.1.0-beta.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/persisters/index.d.cts +3 -1
- package/@types/persisters/index.d.ts +3 -1
- package/@types/persisters/with-schemas/index.d.cts +3 -1
- package/@types/persisters/with-schemas/index.d.ts +3 -1
- package/@types/synchronizers/index.d.cts +39 -23
- package/@types/synchronizers/index.d.ts +39 -23
- package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +12 -1
- package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +12 -1
- package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +14 -1
- package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +14 -1
- package/@types/synchronizers/synchronizer-local/index.d.cts +12 -3
- package/@types/synchronizers/synchronizer-local/index.d.ts +12 -3
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +14 -3
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +14 -3
- package/@types/synchronizers/synchronizer-ws-client/index.d.cts +13 -1
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +13 -1
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +15 -1
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +15 -1
- package/@types/synchronizers/synchronizer-ws-server/index.d.cts +157 -29
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +157 -29
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +178 -29
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +178 -29
- package/@types/synchronizers/with-schemas/index.d.cts +41 -23
- package/@types/synchronizers/with-schemas/index.d.ts +41 -23
- package/@types/ui-react/index.d.cts +62 -45
- package/@types/ui-react/index.d.ts +62 -45
- package/@types/ui-react/with-schemas/index.d.cts +83 -59
- package/@types/ui-react/with-schemas/index.d.ts +83 -59
- package/cjs/es6/index.cjs +114 -92
- package/cjs/es6/mergeable-store/index.cjs +9 -5
- package/cjs/es6/mergeable-store/with-schemas/index.cjs +9 -5
- 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/index.cjs +1 -1
- package/cjs/es6/min/persisters/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-indexed-db/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-indexed-db/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-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/persisters/persister-yjs/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/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/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-local/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/synchronizers/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/ui-react/index.cjs +1 -1
- package/cjs/es6/min/ui-react/index.cjs.gz +0 -0
- package/cjs/es6/min/ui-react/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/ui-react/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 +34 -22
- package/cjs/es6/persisters/persister-automerge/index.cjs +33 -25
- package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +33 -25
- package/cjs/es6/persisters/persister-browser/index.cjs +39 -31
- package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +39 -31
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +33 -25
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +33 -25
- package/cjs/es6/persisters/persister-electric-sql/index.cjs +33 -25
- package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +33 -25
- package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +33 -25
- package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +33 -25
- package/cjs/es6/persisters/persister-file/index.cjs +45 -32
- package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +45 -32
- package/cjs/es6/persisters/persister-indexed-db/index.cjs +33 -25
- package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +33 -25
- package/cjs/es6/persisters/persister-libsql/index.cjs +289 -281
- package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +289 -281
- package/cjs/es6/persisters/persister-partykit-client/index.cjs +33 -25
- package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +33 -25
- package/cjs/es6/persisters/persister-powersync/index.cjs +33 -25
- package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +33 -25
- package/cjs/es6/persisters/persister-remote/index.cjs +39 -31
- package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +39 -31
- package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +33 -25
- package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +33 -25
- package/cjs/es6/persisters/persister-sqlite3/index.cjs +33 -25
- package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +33 -25
- package/cjs/es6/persisters/persister-yjs/index.cjs +33 -25
- package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +33 -25
- package/cjs/es6/persisters/with-schemas/index.cjs +34 -22
- package/cjs/es6/store/index.cjs +9 -5
- package/cjs/es6/store/with-schemas/index.cjs +9 -5
- package/cjs/es6/synchronizers/index.cjs +117 -103
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +113 -105
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +113 -105
- package/cjs/es6/synchronizers/synchronizer-local/index.cjs +112 -106
- package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +112 -106
- package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +134 -120
- package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +134 -120
- package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +694 -37
- package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +694 -37
- package/cjs/es6/synchronizers/with-schemas/index.cjs +117 -103
- package/cjs/es6/ui-react/index.cjs +14 -34
- package/cjs/es6/ui-react/with-schemas/index.cjs +14 -34
- package/cjs/es6/ui-react-inspector/index.cjs +39 -30
- package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +39 -30
- package/cjs/es6/with-schemas/index.cjs +114 -92
- package/cjs/index.cjs +118 -97
- package/cjs/indexes/index.cjs +1 -1
- package/cjs/indexes/with-schemas/index.cjs +1 -1
- package/cjs/mergeable-store/index.cjs +9 -5
- package/cjs/mergeable-store/with-schemas/index.cjs +9 -5
- package/cjs/metrics/index.cjs +3 -3
- package/cjs/metrics/with-schemas/index.cjs +3 -3
- 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/index.cjs +1 -1
- package/cjs/min/persisters/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-indexed-db/index.cjs +1 -1
- package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-indexed-db/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-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/persisters/persister-yjs/index.cjs +1 -1
- package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/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/index.cjs +1 -1
- package/cjs/min/synchronizers/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-local/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/synchronizers/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/ui-react/index.cjs +1 -1
- package/cjs/min/ui-react/index.cjs.gz +0 -0
- package/cjs/min/ui-react/with-schemas/index.cjs +1 -1
- package/cjs/min/ui-react/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 +32 -20
- package/cjs/persisters/persister-automerge/index.cjs +31 -23
- package/cjs/persisters/persister-automerge/with-schemas/index.cjs +31 -23
- package/cjs/persisters/persister-browser/index.cjs +37 -29
- package/cjs/persisters/persister-browser/with-schemas/index.cjs +37 -29
- package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +32 -24
- package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +32 -24
- package/cjs/persisters/persister-electric-sql/index.cjs +32 -24
- package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +32 -24
- package/cjs/persisters/persister-expo-sqlite/index.cjs +32 -24
- package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +32 -24
- package/cjs/persisters/persister-file/index.cjs +43 -30
- package/cjs/persisters/persister-file/with-schemas/index.cjs +43 -30
- package/cjs/persisters/persister-indexed-db/index.cjs +31 -23
- package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +31 -23
- package/cjs/persisters/persister-libsql/index.cjs +197 -189
- package/cjs/persisters/persister-libsql/with-schemas/index.cjs +197 -189
- package/cjs/persisters/persister-partykit-client/index.cjs +31 -23
- package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +31 -23
- package/cjs/persisters/persister-powersync/index.cjs +32 -24
- package/cjs/persisters/persister-powersync/with-schemas/index.cjs +32 -24
- package/cjs/persisters/persister-remote/index.cjs +37 -29
- package/cjs/persisters/persister-remote/with-schemas/index.cjs +37 -29
- package/cjs/persisters/persister-sqlite-wasm/index.cjs +32 -24
- package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +32 -24
- package/cjs/persisters/persister-sqlite3/index.cjs +32 -24
- package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +32 -24
- package/cjs/persisters/persister-yjs/index.cjs +33 -25
- package/cjs/persisters/persister-yjs/with-schemas/index.cjs +33 -25
- package/cjs/persisters/with-schemas/index.cjs +32 -20
- package/cjs/queries/index.cjs +2 -2
- package/cjs/queries/with-schemas/index.cjs +2 -2
- package/cjs/relationships/index.cjs +1 -1
- package/cjs/relationships/with-schemas/index.cjs +1 -1
- package/cjs/store/index.cjs +9 -5
- package/cjs/store/with-schemas/index.cjs +9 -5
- package/cjs/synchronizers/index.cjs +109 -96
- package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +105 -98
- package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +105 -98
- package/cjs/synchronizers/synchronizer-local/index.cjs +104 -99
- package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +104 -99
- package/cjs/synchronizers/synchronizer-ws-client/index.cjs +123 -113
- package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +123 -113
- package/cjs/synchronizers/synchronizer-ws-server/index.cjs +527 -24
- package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +527 -24
- package/cjs/synchronizers/with-schemas/index.cjs +109 -96
- package/cjs/ui-react/index.cjs +12 -12
- package/cjs/ui-react/with-schemas/index.cjs +12 -12
- package/cjs/ui-react-inspector/index.cjs +37 -28
- package/cjs/ui-react-inspector/with-schemas/index.cjs +37 -28
- package/cjs/with-schemas/index.cjs +118 -97
- package/es6/index.js +114 -92
- package/es6/mergeable-store/index.js +9 -5
- package/es6/mergeable-store/with-schemas/index.js +9 -5
- 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/index.js +1 -1
- package/es6/min/persisters/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-indexed-db/index.js +1 -1
- package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-indexed-db/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-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/persisters/persister-yjs/index.js +1 -1
- package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
- package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/with-schemas/index.js +1 -1
- package/es6/min/persisters/with-schemas/index.js.gz +0 -0
- package/es6/min/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/index.js +1 -1
- package/es6/min/synchronizers/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-local/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/synchronizers/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/es6/min/ui-react/index.js +1 -1
- package/es6/min/ui-react/index.js.gz +0 -0
- package/es6/min/ui-react/with-schemas/index.js +1 -1
- package/es6/min/ui-react/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 +34 -22
- package/es6/persisters/persister-automerge/index.js +33 -25
- package/es6/persisters/persister-automerge/with-schemas/index.js +33 -25
- package/es6/persisters/persister-browser/index.js +39 -31
- package/es6/persisters/persister-browser/with-schemas/index.js +39 -31
- package/es6/persisters/persister-cr-sqlite-wasm/index.js +33 -25
- package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +33 -25
- package/es6/persisters/persister-electric-sql/index.js +33 -25
- package/es6/persisters/persister-electric-sql/with-schemas/index.js +33 -25
- package/es6/persisters/persister-expo-sqlite/index.js +33 -25
- package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +33 -25
- package/es6/persisters/persister-file/index.js +46 -32
- package/es6/persisters/persister-file/with-schemas/index.js +46 -32
- package/es6/persisters/persister-indexed-db/index.js +33 -25
- package/es6/persisters/persister-indexed-db/with-schemas/index.js +33 -25
- package/es6/persisters/persister-libsql/index.js +289 -281
- package/es6/persisters/persister-libsql/with-schemas/index.js +289 -281
- package/es6/persisters/persister-partykit-client/index.js +33 -25
- package/es6/persisters/persister-partykit-client/with-schemas/index.js +33 -25
- package/es6/persisters/persister-powersync/index.js +33 -25
- package/es6/persisters/persister-powersync/with-schemas/index.js +33 -25
- package/es6/persisters/persister-remote/index.js +39 -31
- package/es6/persisters/persister-remote/with-schemas/index.js +39 -31
- package/es6/persisters/persister-sqlite-wasm/index.js +33 -25
- package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +33 -25
- package/es6/persisters/persister-sqlite3/index.js +33 -25
- package/es6/persisters/persister-sqlite3/with-schemas/index.js +33 -25
- package/es6/persisters/persister-yjs/index.js +33 -25
- package/es6/persisters/persister-yjs/with-schemas/index.js +33 -25
- package/es6/persisters/with-schemas/index.js +34 -22
- package/es6/store/index.js +9 -5
- package/es6/store/with-schemas/index.js +9 -5
- package/es6/synchronizers/index.js +117 -103
- package/es6/synchronizers/synchronizer-broadcast-channel/index.js +113 -105
- package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +113 -105
- package/es6/synchronizers/synchronizer-local/index.js +112 -106
- package/es6/synchronizers/synchronizer-local/with-schemas/index.js +112 -106
- package/es6/synchronizers/synchronizer-ws-client/index.js +134 -120
- package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +134 -120
- package/es6/synchronizers/synchronizer-ws-server/index.js +694 -37
- package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +694 -37
- package/es6/synchronizers/with-schemas/index.js +117 -103
- package/es6/ui-react/index.js +14 -34
- package/es6/ui-react/with-schemas/index.js +14 -34
- package/es6/ui-react-inspector/index.js +39 -30
- package/es6/ui-react-inspector/with-schemas/index.js +39 -30
- package/es6/with-schemas/index.js +114 -92
- package/index.js +118 -97
- package/indexes/index.js +1 -1
- package/indexes/with-schemas/index.js +1 -1
- package/mergeable-store/index.js +9 -5
- package/mergeable-store/with-schemas/index.js +9 -5
- package/metrics/index.js +3 -3
- package/metrics/with-schemas/index.js +3 -3
- 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/index.js +1 -1
- package/min/persisters/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-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/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-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/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/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/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/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/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react/index.js +1 -1
- package/min/ui-react/index.js.gz +0 -0
- package/min/ui-react/with-schemas/index.js +1 -1
- package/min/ui-react/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 +4 -1
- package/persisters/index.js +32 -20
- package/persisters/persister-automerge/index.js +31 -23
- package/persisters/persister-automerge/with-schemas/index.js +31 -23
- package/persisters/persister-browser/index.js +37 -29
- package/persisters/persister-browser/with-schemas/index.js +37 -29
- package/persisters/persister-cr-sqlite-wasm/index.js +32 -24
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +32 -24
- package/persisters/persister-electric-sql/index.js +32 -24
- package/persisters/persister-electric-sql/with-schemas/index.js +32 -24
- package/persisters/persister-expo-sqlite/index.js +32 -24
- package/persisters/persister-expo-sqlite/with-schemas/index.js +32 -24
- package/persisters/persister-file/index.js +44 -30
- package/persisters/persister-file/with-schemas/index.js +44 -30
- package/persisters/persister-indexed-db/index.js +31 -23
- package/persisters/persister-indexed-db/with-schemas/index.js +31 -23
- package/persisters/persister-libsql/index.js +197 -189
- package/persisters/persister-libsql/with-schemas/index.js +197 -189
- package/persisters/persister-partykit-client/index.js +31 -23
- package/persisters/persister-partykit-client/with-schemas/index.js +31 -23
- package/persisters/persister-powersync/index.js +32 -24
- package/persisters/persister-powersync/with-schemas/index.js +32 -24
- package/persisters/persister-remote/index.js +37 -29
- package/persisters/persister-remote/with-schemas/index.js +37 -29
- package/persisters/persister-sqlite-wasm/index.js +32 -24
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +32 -24
- package/persisters/persister-sqlite3/index.js +32 -24
- package/persisters/persister-sqlite3/with-schemas/index.js +32 -24
- package/persisters/persister-yjs/index.js +33 -24
- package/persisters/persister-yjs/with-schemas/index.js +33 -24
- package/persisters/with-schemas/index.js +32 -20
- package/queries/index.js +2 -2
- package/queries/with-schemas/index.js +2 -2
- package/readme.md +3 -3
- package/relationships/index.js +1 -1
- package/relationships/with-schemas/index.js +1 -1
- package/releases.md +15 -4
- package/store/index.js +9 -5
- package/store/with-schemas/index.js +9 -5
- package/synchronizers/index.js +109 -96
- package/synchronizers/synchronizer-broadcast-channel/index.js +105 -98
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +105 -98
- package/synchronizers/synchronizer-local/index.js +104 -99
- package/synchronizers/synchronizer-local/with-schemas/index.js +104 -99
- package/synchronizers/synchronizer-ws-client/index.js +123 -113
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +123 -113
- package/synchronizers/synchronizer-ws-server/index.js +527 -24
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +527 -24
- package/synchronizers/with-schemas/index.js +109 -96
- package/ui-react/index.js +12 -12
- package/ui-react/with-schemas/index.js +12 -12
- package/ui-react-inspector/index.js +37 -28
- package/ui-react-inspector/with-schemas/index.js +37 -28
- package/umd/es6/index.js +119 -97
- package/umd/es6/mergeable-store/index.js +9 -5
- package/umd/es6/mergeable-store/with-schemas/index.js +9 -5
- 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/index.js +1 -1
- package/umd/es6/min/persisters/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-indexed-db/index.js +1 -1
- package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-indexed-db/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-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/persisters/persister-yjs/index.js +1 -1
- package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/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/index.js +1 -1
- package/umd/es6/min/synchronizers/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-local/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/synchronizers/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/ui-react/index.js +1 -1
- package/umd/es6/min/ui-react/index.js.gz +0 -0
- package/umd/es6/min/ui-react/with-schemas/index.js +1 -1
- package/umd/es6/min/ui-react/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 +34 -22
- package/umd/es6/persisters/persister-automerge/index.js +33 -25
- package/umd/es6/persisters/persister-automerge/with-schemas/index.js +33 -25
- package/umd/es6/persisters/persister-browser/index.js +41 -33
- package/umd/es6/persisters/persister-browser/with-schemas/index.js +41 -33
- package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +33 -25
- package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +33 -25
- package/umd/es6/persisters/persister-electric-sql/index.js +33 -25
- package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +33 -25
- package/umd/es6/persisters/persister-expo-sqlite/index.js +33 -25
- package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +33 -25
- package/umd/es6/persisters/persister-file/index.js +47 -34
- package/umd/es6/persisters/persister-file/with-schemas/index.js +47 -34
- package/umd/es6/persisters/persister-indexed-db/index.js +33 -25
- package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +33 -25
- package/umd/es6/persisters/persister-libsql/index.js +291 -283
- package/umd/es6/persisters/persister-libsql/with-schemas/index.js +291 -283
- package/umd/es6/persisters/persister-partykit-client/index.js +33 -25
- package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +33 -25
- package/umd/es6/persisters/persister-powersync/index.js +33 -25
- package/umd/es6/persisters/persister-powersync/with-schemas/index.js +33 -25
- package/umd/es6/persisters/persister-remote/index.js +39 -31
- package/umd/es6/persisters/persister-remote/with-schemas/index.js +39 -31
- package/umd/es6/persisters/persister-sqlite-wasm/index.js +33 -25
- package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +33 -25
- package/umd/es6/persisters/persister-sqlite3/index.js +33 -25
- package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +33 -25
- package/umd/es6/persisters/persister-yjs/index.js +33 -25
- package/umd/es6/persisters/persister-yjs/with-schemas/index.js +33 -25
- package/umd/es6/persisters/with-schemas/index.js +34 -22
- package/umd/es6/store/index.js +9 -5
- package/umd/es6/store/with-schemas/index.js +9 -5
- package/umd/es6/synchronizers/index.js +122 -108
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +118 -110
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +118 -110
- package/umd/es6/synchronizers/synchronizer-local/index.js +122 -111
- package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +122 -111
- package/umd/es6/synchronizers/synchronizer-ws-client/index.js +139 -125
- package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +139 -125
- package/umd/es6/synchronizers/synchronizer-ws-server/index.js +713 -37
- package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +713 -37
- package/umd/es6/synchronizers/with-schemas/index.js +122 -108
- package/umd/es6/ui-react/index.js +17 -34
- package/umd/es6/ui-react/with-schemas/index.js +17 -34
- package/umd/es6/ui-react-inspector/index.js +39 -30
- package/umd/es6/ui-react-inspector/with-schemas/index.js +39 -30
- package/umd/es6/with-schemas/index.js +119 -97
- package/umd/index.js +121 -100
- package/umd/indexes/index.js +1 -1
- package/umd/indexes/with-schemas/index.js +1 -1
- package/umd/mergeable-store/index.js +9 -5
- package/umd/mergeable-store/with-schemas/index.js +9 -5
- package/umd/metrics/index.js +3 -3
- package/umd/metrics/with-schemas/index.js +3 -3
- 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/index.js +1 -1
- package/umd/min/persisters/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-indexed-db/index.js +1 -1
- package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-indexed-db/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-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/persisters/persister-yjs/index.js +1 -1
- package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
- package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/with-schemas/index.js +1 -1
- package/umd/min/persisters/with-schemas/index.js.gz +0 -0
- package/umd/min/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/index.js +1 -1
- package/umd/min/synchronizers/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-local/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/synchronizers/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/umd/min/ui-react/index.js +1 -1
- package/umd/min/ui-react/index.js.gz +0 -0
- package/umd/min/ui-react/with-schemas/index.js +1 -1
- package/umd/min/ui-react/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 +32 -20
- package/umd/persisters/persister-automerge/index.js +31 -23
- package/umd/persisters/persister-automerge/with-schemas/index.js +31 -23
- package/umd/persisters/persister-browser/index.js +39 -31
- package/umd/persisters/persister-browser/with-schemas/index.js +39 -31
- package/umd/persisters/persister-cr-sqlite-wasm/index.js +32 -24
- package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +32 -24
- package/umd/persisters/persister-electric-sql/index.js +32 -24
- package/umd/persisters/persister-electric-sql/with-schemas/index.js +32 -24
- package/umd/persisters/persister-expo-sqlite/index.js +32 -24
- package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +32 -24
- package/umd/persisters/persister-file/index.js +45 -32
- package/umd/persisters/persister-file/with-schemas/index.js +45 -32
- package/umd/persisters/persister-indexed-db/index.js +31 -23
- package/umd/persisters/persister-indexed-db/with-schemas/index.js +31 -23
- package/umd/persisters/persister-libsql/index.js +199 -191
- package/umd/persisters/persister-libsql/with-schemas/index.js +199 -191
- package/umd/persisters/persister-partykit-client/index.js +31 -23
- package/umd/persisters/persister-partykit-client/with-schemas/index.js +31 -23
- package/umd/persisters/persister-powersync/index.js +32 -24
- package/umd/persisters/persister-powersync/with-schemas/index.js +32 -24
- package/umd/persisters/persister-remote/index.js +37 -29
- package/umd/persisters/persister-remote/with-schemas/index.js +37 -29
- package/umd/persisters/persister-sqlite-wasm/index.js +32 -24
- package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +32 -24
- package/umd/persisters/persister-sqlite3/index.js +32 -24
- package/umd/persisters/persister-sqlite3/with-schemas/index.js +32 -24
- package/umd/persisters/persister-yjs/index.js +33 -25
- package/umd/persisters/persister-yjs/with-schemas/index.js +33 -25
- package/umd/persisters/with-schemas/index.js +32 -20
- package/umd/queries/index.js +2 -2
- package/umd/queries/with-schemas/index.js +2 -2
- package/umd/relationships/index.js +1 -1
- package/umd/relationships/with-schemas/index.js +1 -1
- package/umd/store/index.js +9 -5
- package/umd/store/with-schemas/index.js +9 -5
- package/umd/synchronizers/index.js +112 -99
- package/umd/synchronizers/synchronizer-broadcast-channel/index.js +108 -101
- package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +108 -101
- package/umd/synchronizers/synchronizer-local/index.js +112 -102
- package/umd/synchronizers/synchronizer-local/with-schemas/index.js +112 -102
- package/umd/synchronizers/synchronizer-ws-client/index.js +126 -116
- package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +126 -116
- package/umd/synchronizers/synchronizer-ws-server/index.js +547 -36
- package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +547 -36
- package/umd/synchronizers/with-schemas/index.js +112 -99
- package/umd/ui-react/index.js +13 -12
- package/umd/ui-react/with-schemas/index.js +13 -12
- package/umd/ui-react-inspector/index.js +37 -28
- package/umd/ui-react-inspector/with-schemas/index.js +37 -28
- package/umd/with-schemas/index.js +121 -100
- package/with-schemas/index.js +118 -97
|
@@ -9,7 +9,14 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {Id, IdOrNull, Ids} from '../../../common/with-schemas/index.d.ts';
|
|
12
|
-
import type {
|
|
12
|
+
import type {
|
|
13
|
+
IdAddedOrRemoved,
|
|
14
|
+
OptionalSchemas,
|
|
15
|
+
} from '../../../store/with-schemas/index.d.ts';
|
|
16
|
+
import type {
|
|
17
|
+
Persister,
|
|
18
|
+
Persists,
|
|
19
|
+
} from '../../../persisters/with-schemas/index.d.ts';
|
|
13
20
|
import type {WebSocketServer} from 'ws';
|
|
14
21
|
|
|
15
22
|
/**
|
|
@@ -18,23 +25,24 @@ import type {WebSocketServer} from 'ws';
|
|
|
18
25
|
*
|
|
19
26
|
* A WsServer listens to any path, allowing an app to have the concept of
|
|
20
27
|
* distinct 'rooms' that only certain clients are participating in. As soon as a
|
|
21
|
-
* single client connects to a new path, this listener will be called with
|
|
22
|
-
*
|
|
28
|
+
* single client connects to a new path, this listener will be called with the
|
|
29
|
+
* Id of the new path and an `addedOrRemoved` value of `1`.
|
|
23
30
|
*
|
|
24
|
-
* When the final client disconnects from a path, it will be called again with
|
|
25
|
-
*
|
|
31
|
+
* When the final client disconnects from a path, it will be called again with
|
|
32
|
+
* the Id of the deactivated path and an `addedOrRemoved` value of `-1`.
|
|
26
33
|
*
|
|
27
34
|
* A PathIdsListener is provided when using the addPathIdsListener method. See
|
|
28
35
|
* that method for specific examples.
|
|
29
36
|
* @param wsServer A reference to the WsServer.
|
|
30
|
-
* @param
|
|
31
|
-
*
|
|
37
|
+
* @param pathId The Id of the path being added or removed.
|
|
38
|
+
* @param addedOrRemoved Whether the path was added (`1`) or removed (`-1`).
|
|
32
39
|
* @category Listener
|
|
33
|
-
* @since v5.0.
|
|
40
|
+
* @since v5.0.3
|
|
34
41
|
*/
|
|
35
|
-
export type PathIdsListener
|
|
42
|
+
export type PathIdsListener = (
|
|
36
43
|
wsServer: WsServer,
|
|
37
|
-
|
|
44
|
+
pathId: Id,
|
|
45
|
+
addedOrRemoved: IdAddedOrRemoved,
|
|
38
46
|
) => void;
|
|
39
47
|
|
|
40
48
|
/**
|
|
@@ -43,25 +51,27 @@ export type PathIdsListener<> = (
|
|
|
43
51
|
*
|
|
44
52
|
* A WsServer listens to any path, allowing an app to have the concept of
|
|
45
53
|
* distinct 'rooms' that only certain clients are participating in. As soon as a
|
|
46
|
-
* new client connects to a path, this listener will be called with
|
|
47
|
-
*
|
|
54
|
+
* new client connects to a path, this listener will be called with the Id of
|
|
55
|
+
* the path, the Id of the new client, and an `addedOrRemoved` value of `1`.
|
|
48
56
|
*
|
|
49
|
-
* When the client disconnects from a path, it will be called again with
|
|
50
|
-
*
|
|
57
|
+
* When the client disconnects from a path, it will be called again with the Id
|
|
58
|
+
* of the path, the Id of the leaving client, and an `addedOrRemoved` value of
|
|
59
|
+
* `-1`.
|
|
51
60
|
*
|
|
52
61
|
* A ClientIdsListener is provided when using the addClientIdsListener method.
|
|
53
62
|
* See that method for specific examples.
|
|
54
63
|
* @param wsServer A reference to the WsServer.
|
|
55
64
|
* @param pathId The path that the client joined or left.
|
|
56
|
-
* @param
|
|
57
|
-
*
|
|
65
|
+
* @param clientId The Id of the client being added or removed.
|
|
66
|
+
* @param addedOrRemoved Whether the client was added (`1`) or removed (`-1`).
|
|
58
67
|
* @category Listener
|
|
59
|
-
* @since v5.0.
|
|
68
|
+
* @since v5.0.3
|
|
60
69
|
*/
|
|
61
|
-
export type ClientIdsListener
|
|
70
|
+
export type ClientIdsListener = (
|
|
62
71
|
wsServer: WsServer,
|
|
63
72
|
pathId: Id,
|
|
64
|
-
|
|
73
|
+
clientId: Id,
|
|
74
|
+
addedOrRemoved: IdAddedOrRemoved,
|
|
65
75
|
) => void;
|
|
66
76
|
|
|
67
77
|
/**
|
|
@@ -240,33 +250,35 @@ export interface WsServer {
|
|
|
240
250
|
* import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-client';
|
|
241
251
|
*
|
|
242
252
|
* const server = createWsServer(new WebSocketServer({port: 8047}));
|
|
243
|
-
* const listenerId = server.addPathIdsListener(
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
253
|
+
* const listenerId = server.addPathIdsListener(
|
|
254
|
+
* (server, pathId, addedOrRemoved) => {
|
|
255
|
+
* console.log(pathId + (addedOrRemoved == 1 ? ' added' : ' removed'));
|
|
256
|
+
* console.log(server.getPathIds());
|
|
257
|
+
* },
|
|
258
|
+
* );
|
|
247
259
|
*
|
|
248
260
|
* const synchronizer1 = await createWsSynchronizer(
|
|
249
261
|
* createMergeableStore(),
|
|
250
262
|
* new WebSocket('ws://localhost:8047/roomA'),
|
|
251
263
|
* );
|
|
252
|
-
* // ->
|
|
264
|
+
* // -> 'roomA added'
|
|
253
265
|
* // -> ['roomA']
|
|
254
266
|
*
|
|
255
267
|
* const synchronizer2 = await createWsSynchronizer(
|
|
256
268
|
* createMergeableStore(),
|
|
257
269
|
* new WebSocket('ws://localhost:8047/roomB'),
|
|
258
270
|
* );
|
|
259
|
-
* // ->
|
|
271
|
+
* // -> 'roomB added'
|
|
260
272
|
* // -> ['roomA', 'roomB']
|
|
261
273
|
*
|
|
262
274
|
* synchronizer1.destroy();
|
|
263
275
|
* // ...
|
|
264
|
-
* // ->
|
|
276
|
+
* // -> 'roomA removed'
|
|
265
277
|
* // -> ['roomB']
|
|
266
278
|
*
|
|
267
279
|
* synchronizer2.destroy();
|
|
268
280
|
* // ...
|
|
269
|
-
* // ->
|
|
281
|
+
* // -> 'roomB removed'
|
|
270
282
|
* // -> []
|
|
271
283
|
*
|
|
272
284
|
* server.delListener(listenerId);
|
|
@@ -490,21 +502,149 @@ export interface WsServer {
|
|
|
490
502
|
* The createWsServer function creates a WsServer that facilitates
|
|
491
503
|
* synchronization between clients that are using WsSynchronizer instances.
|
|
492
504
|
*
|
|
505
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
506
|
+
*
|
|
507
|
+
* ```ts override
|
|
508
|
+
* createWsServer<
|
|
509
|
+
* PathPersister extends Persister<
|
|
510
|
+
* Persists.MergeableStoreOnly | Persists.StoreOrMergeableStore
|
|
511
|
+
* >,
|
|
512
|
+
* >(
|
|
513
|
+
* webSocketServer: WebSocketServer,
|
|
514
|
+
* createPersisterForPath?: (pathId: Id) => PathPersister | undefined,
|
|
515
|
+
* ): WsServer;
|
|
516
|
+
* ```
|
|
517
|
+
*
|
|
493
518
|
* This should be run in a server environment, and you must pass in a configured
|
|
494
519
|
* WebSocketServer object in order to create it.
|
|
520
|
+
*
|
|
521
|
+
* If you want your server to persist data itself, you can use the optional
|
|
522
|
+
* second parameter of this function, which allows you to create a Persister for
|
|
523
|
+
* a new path - whenever a new path is accessed by a client. This Persister will
|
|
524
|
+
* only exist when there are active clients on that particular path.
|
|
525
|
+
*
|
|
526
|
+
* You are responsible for creating a MergeableStore to pass to this Persister,
|
|
527
|
+
* but starting and stopping its automatic saving and loading is taken care of
|
|
528
|
+
* by the WsServer. As a result, the server MergeableStore will be kept in sync
|
|
529
|
+
* with the clients on that path, and in turn with whatever persistence layer
|
|
530
|
+
* you have configured. See the example below.
|
|
495
531
|
* @param webSocketServer A WebSocketServer object from your server environment.
|
|
532
|
+
* @param createPersisterForPath An optional function that will create a
|
|
533
|
+
* Persister (with a MergeableStore) to synchronize with the clients on a given
|
|
534
|
+
* path.
|
|
496
535
|
* @returns A reference to the new WsServer object.
|
|
497
536
|
* @example
|
|
498
|
-
* This example creates a WsServer
|
|
537
|
+
* This example creates a WsServer that synchronizes two clients on a shared
|
|
538
|
+
* path.
|
|
499
539
|
*
|
|
500
540
|
* ```js
|
|
501
541
|
* import {WebSocketServer} from 'ws';
|
|
542
|
+
* import {createMergeableStore} from 'tinybase';
|
|
502
543
|
* import {createWsServer} from 'tinybase/synchronizers/synchronizer-ws-server';
|
|
544
|
+
* import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-client';
|
|
503
545
|
*
|
|
546
|
+
* // Server
|
|
504
547
|
* const server = createWsServer(new WebSocketServer({port: 8047}));
|
|
548
|
+
*
|
|
549
|
+
* // Client 1
|
|
550
|
+
* const clientStore1 = createMergeableStore();
|
|
551
|
+
* clientStore1.setCell('pets', 'fido', 'species', 'dog');
|
|
552
|
+
* const synchronizer1 = await createWsSynchronizer(
|
|
553
|
+
* clientStore1,
|
|
554
|
+
* new WebSocket('ws://localhost:8047/petShop'),
|
|
555
|
+
* );
|
|
556
|
+
* await synchronizer1.startSync();
|
|
557
|
+
* // ...
|
|
558
|
+
*
|
|
559
|
+
* // Client 2
|
|
560
|
+
* const clientStore2 = createMergeableStore();
|
|
561
|
+
* clientStore2.setCell('pets', 'felix', 'species', 'cat');
|
|
562
|
+
* const synchronizer2 = await createWsSynchronizer(
|
|
563
|
+
* clientStore2,
|
|
564
|
+
* new WebSocket('ws://localhost:8047/petShop'),
|
|
565
|
+
* );
|
|
566
|
+
* await synchronizer2.startSync();
|
|
567
|
+
* // ...
|
|
568
|
+
*
|
|
569
|
+
* console.log(clientStore1.getTables());
|
|
570
|
+
* // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
|
|
571
|
+
*
|
|
572
|
+
* console.log(clientStore2.getTables());
|
|
573
|
+
* // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
|
|
574
|
+
*
|
|
575
|
+
* synchronizer1.destroy();
|
|
576
|
+
* synchronizer2.destroy();
|
|
505
577
|
* server.destroy();
|
|
506
578
|
* ```
|
|
507
579
|
* @example
|
|
580
|
+
* This longer example creates a WsServer that persists a MergeableStore to file
|
|
581
|
+
* that is synchronized with two clients on a shared path. Later, when a third
|
|
582
|
+
* client connects, it picks up the data the previous two were using.
|
|
583
|
+
*
|
|
584
|
+
* ```js
|
|
585
|
+
* import {WebSocketServer} from 'ws';
|
|
586
|
+
* import {createFilePersister} from 'tinybase/persisters/persister-file';
|
|
587
|
+
* import {createMergeableStore} from 'tinybase';
|
|
588
|
+
* import {createWsServer} from 'tinybase/synchronizers/synchronizer-ws-server';
|
|
589
|
+
* import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-client';
|
|
590
|
+
* import {rmSync} from 'fs';
|
|
591
|
+
*
|
|
592
|
+
* // Server
|
|
593
|
+
* const server = createWsServer(
|
|
594
|
+
* new WebSocketServer({port: 8047}),
|
|
595
|
+
* (pathId) =>
|
|
596
|
+
* createFilePersister(createMergeableStore(), pathId + '.json'),
|
|
597
|
+
* );
|
|
598
|
+
*
|
|
599
|
+
* // Client 1
|
|
600
|
+
* const clientStore1 = createMergeableStore();
|
|
601
|
+
* clientStore1.setCell('pets', 'fido', 'species', 'dog');
|
|
602
|
+
* const synchronizer1 = await createWsSynchronizer(
|
|
603
|
+
* clientStore1,
|
|
604
|
+
* new WebSocket('ws://localhost:8047/petShop'),
|
|
605
|
+
* );
|
|
606
|
+
* await synchronizer1.startSync();
|
|
607
|
+
* // ...
|
|
608
|
+
*
|
|
609
|
+
* // Client 2
|
|
610
|
+
* const clientStore2 = createMergeableStore();
|
|
611
|
+
* clientStore2.setCell('pets', 'felix', 'species', 'cat');
|
|
612
|
+
* const synchronizer2 = await createWsSynchronizer(
|
|
613
|
+
* clientStore2,
|
|
614
|
+
* new WebSocket('ws://localhost:8047/petShop'),
|
|
615
|
+
* );
|
|
616
|
+
* await synchronizer2.startSync();
|
|
617
|
+
* // ...
|
|
618
|
+
*
|
|
619
|
+
* console.log(clientStore1.getTables());
|
|
620
|
+
* // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
|
|
621
|
+
*
|
|
622
|
+
* console.log(clientStore2.getTables());
|
|
623
|
+
* // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
|
|
624
|
+
*
|
|
625
|
+
* synchronizer1.destroy();
|
|
626
|
+
* synchronizer2.destroy();
|
|
627
|
+
*
|
|
628
|
+
* // ...
|
|
629
|
+
* // Client 3 connects later
|
|
630
|
+
* const clientStore3 = createMergeableStore();
|
|
631
|
+
* const synchronizer3 = await createWsSynchronizer(
|
|
632
|
+
* clientStore3,
|
|
633
|
+
* new WebSocket('ws://localhost:8047/petShop'),
|
|
634
|
+
* );
|
|
635
|
+
* await synchronizer3.startSync();
|
|
636
|
+
* // ...
|
|
637
|
+
*
|
|
638
|
+
* console.log(clientStore3.getTables());
|
|
639
|
+
* // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
|
|
640
|
+
*
|
|
641
|
+
* synchronizer3.destroy();
|
|
642
|
+
* server.destroy();
|
|
643
|
+
*
|
|
644
|
+
* // Remove file for the purposes of this demo.
|
|
645
|
+
* rmSync('petShop.json');
|
|
646
|
+
* ```
|
|
647
|
+
* @example
|
|
508
648
|
* This example creates a WsServer with a custom listener that displays
|
|
509
649
|
* information about the address of the client that connects to it.
|
|
510
650
|
*
|
|
@@ -534,4 +674,13 @@ export interface WsServer {
|
|
|
534
674
|
* @category Creation
|
|
535
675
|
* @since v5.0.0
|
|
536
676
|
*/
|
|
537
|
-
export function createWsServer
|
|
677
|
+
export function createWsServer<
|
|
678
|
+
Schemas extends OptionalSchemas,
|
|
679
|
+
PathPersister extends Persister<
|
|
680
|
+
Schemas,
|
|
681
|
+
Persists.MergeableStoreOnly | Persists.StoreOrMergeableStore
|
|
682
|
+
>,
|
|
683
|
+
>(
|
|
684
|
+
webSocketServer: WebSocketServer,
|
|
685
|
+
createPersisterForPath?: (pathId: Id) => PathPersister | undefined,
|
|
686
|
+
): WsServer;
|
|
@@ -83,15 +83,12 @@ export const enum Message {
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
|
-
* The
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* @param fromClientId The Id of the other client (in other words, the other
|
|
93
|
-
* system) that sent the message.
|
|
94
|
-
* @param requestId The optional Id of the message, which should be returned in
|
|
86
|
+
* The Send type describes a function that knows how to dispatch a message as
|
|
87
|
+
* part of the synchronization protocol.
|
|
88
|
+
* @param toClientId The optional Id of the other client (in other words, the
|
|
89
|
+
* other system) to which the message should be sent. If omitted, this is to be
|
|
90
|
+
* a broadcast.
|
|
91
|
+
* @param requestId The optional Id of the message, which should be awaited in
|
|
95
92
|
* the response (if requested) to constitute a matched request/response
|
|
96
93
|
* transaction.
|
|
97
94
|
* @param message A number that indicates the type of the message, according to
|
|
@@ -100,20 +97,23 @@ export const enum Message {
|
|
|
100
97
|
* @category Synchronization
|
|
101
98
|
* @since v5.0.0
|
|
102
99
|
*/
|
|
103
|
-
export type
|
|
104
|
-
|
|
100
|
+
export type Send = (
|
|
101
|
+
toClientId: IdOrNull,
|
|
105
102
|
requestId: Id,
|
|
106
103
|
message: Message,
|
|
107
104
|
body: any,
|
|
108
105
|
) => void;
|
|
109
106
|
|
|
110
107
|
/**
|
|
111
|
-
* The
|
|
112
|
-
* part of the synchronization protocol.
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
108
|
+
* The Receive type describes a function that knows how to handle the arrival of
|
|
109
|
+
* a message as part of the synchronization protocol.
|
|
110
|
+
*
|
|
111
|
+
* When a message arrives (most likely from another system), the function will
|
|
112
|
+
* be called with parameters that indicate where the message came from, and its
|
|
113
|
+
* meaning and content.
|
|
114
|
+
* @param fromClientId The Id of the other client (in other words, the other
|
|
115
|
+
* system) that sent the message.
|
|
116
|
+
* @param requestId The optional Id of the message, which should be returned in
|
|
117
117
|
* the response (if requested) to constitute a matched request/response
|
|
118
118
|
* transaction.
|
|
119
119
|
* @param message A number that indicates the type of the message, according to
|
|
@@ -122,8 +122,8 @@ export type Receive = (
|
|
|
122
122
|
* @category Synchronization
|
|
123
123
|
* @since v5.0.0
|
|
124
124
|
*/
|
|
125
|
-
export type
|
|
126
|
-
|
|
125
|
+
export type Receive = (
|
|
126
|
+
fromClientId: Id,
|
|
127
127
|
requestId: Id,
|
|
128
128
|
message: Message,
|
|
129
129
|
body: any,
|
|
@@ -340,7 +340,7 @@ export interface Synchronizer<Schemas extends OptionalSchemas>
|
|
|
340
340
|
* Synchronizer, and is used for debugging purposes.
|
|
341
341
|
*
|
|
342
342
|
* The SynchronizerStats object contains a count of the number of times the
|
|
343
|
-
*
|
|
343
|
+
* Synchronizer has sent and received messages.
|
|
344
344
|
*
|
|
345
345
|
* The method is intended to be used during development to ensure your
|
|
346
346
|
* synchronization layer is acting as expected, for example.
|
|
@@ -395,6 +395,8 @@ export interface Synchronizer<Schemas extends OptionalSchemas>
|
|
|
395
395
|
* registerReceive: (receive: Receive) => void,
|
|
396
396
|
* destroy: () => void,
|
|
397
397
|
* requestTimeoutSeconds: number,
|
|
398
|
+
* onSend?: Send,
|
|
399
|
+
* onReceive?: Receive,
|
|
398
400
|
* onIgnoredError?: (error: any) => void,
|
|
399
401
|
* ): Synchronizer;
|
|
400
402
|
* ```
|
|
@@ -403,15 +405,29 @@ export interface Synchronizer<Schemas extends OptionalSchemas>
|
|
|
403
405
|
* must provide parameters which identify how to send and receive changes to and
|
|
404
406
|
* from this MergeableStore and its peers. This is entirely dependent upon the
|
|
405
407
|
* medium of communication used.
|
|
408
|
+
*
|
|
409
|
+
* You must also provide a callback for when the Synchronizer is destroyed
|
|
410
|
+
* (which is a good place to clean up resources and stop communication
|
|
411
|
+
* listeners), and indicate how long the Synchronizer will wait for responses to
|
|
412
|
+
* message requests before timing out.
|
|
413
|
+
*
|
|
414
|
+
* A final set of optional handlers can be provided to help debug sends,
|
|
415
|
+
* receives, and errors respectively.
|
|
406
416
|
* @param store The MergeableStore to synchronize.
|
|
407
417
|
* @param send A Send function for sending a message.
|
|
408
418
|
* @param registerReceive A callback (called once when the Synchronizer is
|
|
409
419
|
* created) that is passed a Receive function that you need to ensure will
|
|
410
420
|
* receive messages addressed or broadcast to this client.
|
|
411
|
-
* @param destroy A function called when destroying the
|
|
412
|
-
* used to clean up underlying resources.
|
|
421
|
+
* @param destroy A function called when destroying the Synchronizer which can
|
|
422
|
+
* be used to clean up underlying resources.
|
|
413
423
|
* @param requestTimeoutSeconds An number of seconds before a request sent from
|
|
414
|
-
* this
|
|
424
|
+
* this Synchronizer to another peer times out.
|
|
425
|
+
* @param onSend An optional handler for the messages that this Synchronizer
|
|
426
|
+
* sends. This is suitable for debugging synchronization issues in a development
|
|
427
|
+
* environment, since v5.1.
|
|
428
|
+
* @param onReceive An optional handler for the messages that this Synchronizer
|
|
429
|
+
* receives. This is suitable for debugging synchronization issues in a
|
|
430
|
+
* development environment, since v5.1.
|
|
415
431
|
* @param onIgnoredError An optional handler for the errors that the
|
|
416
432
|
* Synchronizer would otherwise ignore when trying to synchronize data. This is
|
|
417
433
|
* suitable for debugging synchronization issues in a development environment.
|
|
@@ -485,5 +501,7 @@ export function createCustomSynchronizer<Schemas extends OptionalSchemas>(
|
|
|
485
501
|
registerReceive: (receive: Receive) => void,
|
|
486
502
|
destroy: () => void,
|
|
487
503
|
requestTimeoutSeconds: number,
|
|
504
|
+
onSend?: Send,
|
|
505
|
+
onReceive?: Receive,
|
|
488
506
|
onIgnoredError?: (error: any) => void,
|
|
489
507
|
): Synchronizer<Schemas>;
|
|
@@ -83,15 +83,12 @@ export const enum Message {
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
|
-
* The
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* @param fromClientId The Id of the other client (in other words, the other
|
|
93
|
-
* system) that sent the message.
|
|
94
|
-
* @param requestId The optional Id of the message, which should be returned in
|
|
86
|
+
* The Send type describes a function that knows how to dispatch a message as
|
|
87
|
+
* part of the synchronization protocol.
|
|
88
|
+
* @param toClientId The optional Id of the other client (in other words, the
|
|
89
|
+
* other system) to which the message should be sent. If omitted, this is to be
|
|
90
|
+
* a broadcast.
|
|
91
|
+
* @param requestId The optional Id of the message, which should be awaited in
|
|
95
92
|
* the response (if requested) to constitute a matched request/response
|
|
96
93
|
* transaction.
|
|
97
94
|
* @param message A number that indicates the type of the message, according to
|
|
@@ -100,20 +97,23 @@ export const enum Message {
|
|
|
100
97
|
* @category Synchronization
|
|
101
98
|
* @since v5.0.0
|
|
102
99
|
*/
|
|
103
|
-
export type
|
|
104
|
-
|
|
100
|
+
export type Send = (
|
|
101
|
+
toClientId: IdOrNull,
|
|
105
102
|
requestId: Id,
|
|
106
103
|
message: Message,
|
|
107
104
|
body: any,
|
|
108
105
|
) => void;
|
|
109
106
|
|
|
110
107
|
/**
|
|
111
|
-
* The
|
|
112
|
-
* part of the synchronization protocol.
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
108
|
+
* The Receive type describes a function that knows how to handle the arrival of
|
|
109
|
+
* a message as part of the synchronization protocol.
|
|
110
|
+
*
|
|
111
|
+
* When a message arrives (most likely from another system), the function will
|
|
112
|
+
* be called with parameters that indicate where the message came from, and its
|
|
113
|
+
* meaning and content.
|
|
114
|
+
* @param fromClientId The Id of the other client (in other words, the other
|
|
115
|
+
* system) that sent the message.
|
|
116
|
+
* @param requestId The optional Id of the message, which should be returned in
|
|
117
117
|
* the response (if requested) to constitute a matched request/response
|
|
118
118
|
* transaction.
|
|
119
119
|
* @param message A number that indicates the type of the message, according to
|
|
@@ -122,8 +122,8 @@ export type Receive = (
|
|
|
122
122
|
* @category Synchronization
|
|
123
123
|
* @since v5.0.0
|
|
124
124
|
*/
|
|
125
|
-
export type
|
|
126
|
-
|
|
125
|
+
export type Receive = (
|
|
126
|
+
fromClientId: Id,
|
|
127
127
|
requestId: Id,
|
|
128
128
|
message: Message,
|
|
129
129
|
body: any,
|
|
@@ -340,7 +340,7 @@ export interface Synchronizer<Schemas extends OptionalSchemas>
|
|
|
340
340
|
* Synchronizer, and is used for debugging purposes.
|
|
341
341
|
*
|
|
342
342
|
* The SynchronizerStats object contains a count of the number of times the
|
|
343
|
-
*
|
|
343
|
+
* Synchronizer has sent and received messages.
|
|
344
344
|
*
|
|
345
345
|
* The method is intended to be used during development to ensure your
|
|
346
346
|
* synchronization layer is acting as expected, for example.
|
|
@@ -395,6 +395,8 @@ export interface Synchronizer<Schemas extends OptionalSchemas>
|
|
|
395
395
|
* registerReceive: (receive: Receive) => void,
|
|
396
396
|
* destroy: () => void,
|
|
397
397
|
* requestTimeoutSeconds: number,
|
|
398
|
+
* onSend?: Send,
|
|
399
|
+
* onReceive?: Receive,
|
|
398
400
|
* onIgnoredError?: (error: any) => void,
|
|
399
401
|
* ): Synchronizer;
|
|
400
402
|
* ```
|
|
@@ -403,15 +405,29 @@ export interface Synchronizer<Schemas extends OptionalSchemas>
|
|
|
403
405
|
* must provide parameters which identify how to send and receive changes to and
|
|
404
406
|
* from this MergeableStore and its peers. This is entirely dependent upon the
|
|
405
407
|
* medium of communication used.
|
|
408
|
+
*
|
|
409
|
+
* You must also provide a callback for when the Synchronizer is destroyed
|
|
410
|
+
* (which is a good place to clean up resources and stop communication
|
|
411
|
+
* listeners), and indicate how long the Synchronizer will wait for responses to
|
|
412
|
+
* message requests before timing out.
|
|
413
|
+
*
|
|
414
|
+
* A final set of optional handlers can be provided to help debug sends,
|
|
415
|
+
* receives, and errors respectively.
|
|
406
416
|
* @param store The MergeableStore to synchronize.
|
|
407
417
|
* @param send A Send function for sending a message.
|
|
408
418
|
* @param registerReceive A callback (called once when the Synchronizer is
|
|
409
419
|
* created) that is passed a Receive function that you need to ensure will
|
|
410
420
|
* receive messages addressed or broadcast to this client.
|
|
411
|
-
* @param destroy A function called when destroying the
|
|
412
|
-
* used to clean up underlying resources.
|
|
421
|
+
* @param destroy A function called when destroying the Synchronizer which can
|
|
422
|
+
* be used to clean up underlying resources.
|
|
413
423
|
* @param requestTimeoutSeconds An number of seconds before a request sent from
|
|
414
|
-
* this
|
|
424
|
+
* this Synchronizer to another peer times out.
|
|
425
|
+
* @param onSend An optional handler for the messages that this Synchronizer
|
|
426
|
+
* sends. This is suitable for debugging synchronization issues in a development
|
|
427
|
+
* environment, since v5.1.
|
|
428
|
+
* @param onReceive An optional handler for the messages that this Synchronizer
|
|
429
|
+
* receives. This is suitable for debugging synchronization issues in a
|
|
430
|
+
* development environment, since v5.1.
|
|
415
431
|
* @param onIgnoredError An optional handler for the errors that the
|
|
416
432
|
* Synchronizer would otherwise ignore when trying to synchronize data. This is
|
|
417
433
|
* suitable for debugging synchronization issues in a development environment.
|
|
@@ -485,5 +501,7 @@ export function createCustomSynchronizer<Schemas extends OptionalSchemas>(
|
|
|
485
501
|
registerReceive: (receive: Receive) => void,
|
|
486
502
|
destroy: () => void,
|
|
487
503
|
requestTimeoutSeconds: number,
|
|
504
|
+
onSend?: Send,
|
|
505
|
+
onReceive?: Receive,
|
|
488
506
|
onIgnoredError?: (error: any) => void,
|
|
489
507
|
): Synchronizer<Schemas>;
|