tinybase 5.1.0-beta.0 → 5.1.0-beta.1
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 +101 -86
- package/cjs/es6/min/index.cjs +1 -1
- package/cjs/es6/min/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/index.cjs +1 -1
- package/cjs/es6/min/persisters/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-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/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 +30 -21
- package/cjs/es6/persisters/persister-automerge/index.cjs +29 -24
- package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +29 -24
- package/cjs/es6/persisters/persister-browser/index.cjs +35 -30
- package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +35 -30
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +29 -24
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +29 -24
- package/cjs/es6/persisters/persister-electric-sql/index.cjs +29 -24
- package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +29 -24
- package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +29 -24
- package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +29 -24
- package/cjs/es6/persisters/persister-file/index.cjs +41 -31
- package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +41 -31
- package/cjs/es6/persisters/persister-indexed-db/index.cjs +29 -24
- package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +29 -24
- package/cjs/es6/persisters/persister-libsql/index.cjs +286 -281
- package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +286 -281
- package/cjs/es6/persisters/persister-partykit-client/index.cjs +29 -24
- package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +29 -24
- package/cjs/es6/persisters/persister-powersync/index.cjs +29 -24
- package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +29 -24
- package/cjs/es6/persisters/persister-remote/index.cjs +35 -30
- package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +35 -30
- package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +29 -24
- package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +29 -24
- package/cjs/es6/persisters/persister-sqlite3/index.cjs +29 -24
- package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +29 -24
- package/cjs/es6/persisters/persister-yjs/index.cjs +29 -24
- package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +29 -24
- package/cjs/es6/persisters/with-schemas/index.cjs +30 -21
- package/cjs/es6/synchronizers/index.cjs +113 -102
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +109 -104
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +109 -104
- package/cjs/es6/synchronizers/synchronizer-local/index.cjs +108 -105
- package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +108 -105
- package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +130 -119
- package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +130 -119
- package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +691 -37
- package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +691 -37
- package/cjs/es6/synchronizers/with-schemas/index.cjs +113 -102
- 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 +26 -24
- package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +26 -24
- package/cjs/es6/with-schemas/index.cjs +101 -86
- package/cjs/index.cjs +105 -91
- package/cjs/indexes/index.cjs +1 -1
- package/cjs/indexes/with-schemas/index.cjs +1 -1
- 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/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/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 +28 -19
- package/cjs/persisters/persister-automerge/index.cjs +27 -22
- package/cjs/persisters/persister-automerge/with-schemas/index.cjs +27 -22
- package/cjs/persisters/persister-browser/index.cjs +33 -28
- package/cjs/persisters/persister-browser/with-schemas/index.cjs +33 -28
- package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +28 -23
- package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +28 -23
- package/cjs/persisters/persister-electric-sql/index.cjs +28 -23
- package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +28 -23
- package/cjs/persisters/persister-expo-sqlite/index.cjs +28 -23
- package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +28 -23
- package/cjs/persisters/persister-file/index.cjs +39 -29
- package/cjs/persisters/persister-file/with-schemas/index.cjs +39 -29
- package/cjs/persisters/persister-indexed-db/index.cjs +27 -22
- package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +27 -22
- package/cjs/persisters/persister-libsql/index.cjs +194 -189
- package/cjs/persisters/persister-libsql/with-schemas/index.cjs +194 -189
- package/cjs/persisters/persister-partykit-client/index.cjs +27 -22
- package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +27 -22
- package/cjs/persisters/persister-powersync/index.cjs +28 -23
- package/cjs/persisters/persister-powersync/with-schemas/index.cjs +28 -23
- package/cjs/persisters/persister-remote/index.cjs +33 -28
- package/cjs/persisters/persister-remote/with-schemas/index.cjs +33 -28
- package/cjs/persisters/persister-sqlite-wasm/index.cjs +28 -23
- package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +28 -23
- package/cjs/persisters/persister-sqlite3/index.cjs +28 -23
- package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +28 -23
- package/cjs/persisters/persister-yjs/index.cjs +29 -24
- package/cjs/persisters/persister-yjs/with-schemas/index.cjs +29 -24
- package/cjs/persisters/with-schemas/index.cjs +28 -19
- 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/synchronizers/index.cjs +105 -95
- package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +101 -97
- package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +101 -97
- package/cjs/synchronizers/synchronizer-local/index.cjs +100 -98
- package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +100 -98
- package/cjs/synchronizers/synchronizer-ws-client/index.cjs +119 -112
- package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +119 -112
- package/cjs/synchronizers/synchronizer-ws-server/index.cjs +524 -24
- package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +524 -24
- package/cjs/synchronizers/with-schemas/index.cjs +105 -95
- 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 +24 -22
- package/cjs/ui-react-inspector/with-schemas/index.cjs +24 -22
- package/cjs/with-schemas/index.cjs +105 -91
- package/es6/index.js +101 -86
- package/es6/min/index.js +1 -1
- package/es6/min/index.js.gz +0 -0
- package/es6/min/persisters/index.js +1 -1
- package/es6/min/persisters/index.js.gz +0 -0
- package/es6/min/persisters/persister-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/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 +30 -21
- package/es6/persisters/persister-automerge/index.js +29 -24
- package/es6/persisters/persister-automerge/with-schemas/index.js +29 -24
- package/es6/persisters/persister-browser/index.js +35 -30
- package/es6/persisters/persister-browser/with-schemas/index.js +35 -30
- package/es6/persisters/persister-cr-sqlite-wasm/index.js +29 -24
- package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +29 -24
- package/es6/persisters/persister-electric-sql/index.js +29 -24
- package/es6/persisters/persister-electric-sql/with-schemas/index.js +29 -24
- package/es6/persisters/persister-expo-sqlite/index.js +29 -24
- package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +29 -24
- package/es6/persisters/persister-file/index.js +42 -31
- package/es6/persisters/persister-file/with-schemas/index.js +42 -31
- package/es6/persisters/persister-indexed-db/index.js +29 -24
- package/es6/persisters/persister-indexed-db/with-schemas/index.js +29 -24
- package/es6/persisters/persister-libsql/index.js +286 -281
- package/es6/persisters/persister-libsql/with-schemas/index.js +286 -281
- package/es6/persisters/persister-partykit-client/index.js +29 -24
- package/es6/persisters/persister-partykit-client/with-schemas/index.js +29 -24
- package/es6/persisters/persister-powersync/index.js +29 -24
- package/es6/persisters/persister-powersync/with-schemas/index.js +29 -24
- package/es6/persisters/persister-remote/index.js +35 -30
- package/es6/persisters/persister-remote/with-schemas/index.js +35 -30
- package/es6/persisters/persister-sqlite-wasm/index.js +29 -24
- package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +29 -24
- package/es6/persisters/persister-sqlite3/index.js +29 -24
- package/es6/persisters/persister-sqlite3/with-schemas/index.js +29 -24
- package/es6/persisters/persister-yjs/index.js +29 -24
- package/es6/persisters/persister-yjs/with-schemas/index.js +29 -24
- package/es6/persisters/with-schemas/index.js +30 -21
- package/es6/synchronizers/index.js +113 -102
- package/es6/synchronizers/synchronizer-broadcast-channel/index.js +109 -104
- package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +109 -104
- package/es6/synchronizers/synchronizer-local/index.js +108 -105
- package/es6/synchronizers/synchronizer-local/with-schemas/index.js +108 -105
- package/es6/synchronizers/synchronizer-ws-client/index.js +130 -119
- package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +130 -119
- package/es6/synchronizers/synchronizer-ws-server/index.js +691 -37
- package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +691 -37
- package/es6/synchronizers/with-schemas/index.js +113 -102
- 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 +26 -24
- package/es6/ui-react-inspector/with-schemas/index.js +26 -24
- package/es6/with-schemas/index.js +101 -86
- package/index.js +105 -91
- package/indexes/index.js +1 -1
- package/indexes/with-schemas/index.js +1 -1
- 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/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/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 +28 -19
- package/persisters/persister-automerge/index.js +27 -22
- package/persisters/persister-automerge/with-schemas/index.js +27 -22
- package/persisters/persister-browser/index.js +33 -28
- package/persisters/persister-browser/with-schemas/index.js +33 -28
- package/persisters/persister-cr-sqlite-wasm/index.js +28 -23
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +28 -23
- package/persisters/persister-electric-sql/index.js +28 -23
- package/persisters/persister-electric-sql/with-schemas/index.js +28 -23
- package/persisters/persister-expo-sqlite/index.js +28 -23
- package/persisters/persister-expo-sqlite/with-schemas/index.js +28 -23
- package/persisters/persister-file/index.js +40 -29
- package/persisters/persister-file/with-schemas/index.js +40 -29
- package/persisters/persister-indexed-db/index.js +27 -22
- package/persisters/persister-indexed-db/with-schemas/index.js +27 -22
- package/persisters/persister-libsql/index.js +194 -189
- package/persisters/persister-libsql/with-schemas/index.js +194 -189
- package/persisters/persister-partykit-client/index.js +27 -22
- package/persisters/persister-partykit-client/with-schemas/index.js +27 -22
- package/persisters/persister-powersync/index.js +28 -23
- package/persisters/persister-powersync/with-schemas/index.js +28 -23
- package/persisters/persister-remote/index.js +33 -28
- package/persisters/persister-remote/with-schemas/index.js +33 -28
- package/persisters/persister-sqlite-wasm/index.js +28 -23
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +28 -23
- package/persisters/persister-sqlite3/index.js +28 -23
- package/persisters/persister-sqlite3/with-schemas/index.js +28 -23
- package/persisters/persister-yjs/index.js +29 -23
- package/persisters/persister-yjs/with-schemas/index.js +29 -23
- package/persisters/with-schemas/index.js +28 -19
- package/queries/index.js +2 -2
- package/queries/with-schemas/index.js +2 -2
- package/readme.md +14 -14
- package/relationships/index.js +1 -1
- package/relationships/with-schemas/index.js +1 -1
- package/releases.md +21 -21
- package/synchronizers/index.js +105 -95
- package/synchronizers/synchronizer-broadcast-channel/index.js +101 -97
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +101 -97
- package/synchronizers/synchronizer-local/index.js +100 -98
- package/synchronizers/synchronizer-local/with-schemas/index.js +100 -98
- package/synchronizers/synchronizer-ws-client/index.js +119 -112
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +119 -112
- package/synchronizers/synchronizer-ws-server/index.js +524 -24
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +524 -24
- package/synchronizers/with-schemas/index.js +105 -95
- package/ui-react/index.js +12 -12
- package/ui-react/with-schemas/index.js +12 -12
- package/ui-react-inspector/index.js +24 -22
- package/ui-react-inspector/with-schemas/index.js +24 -22
- package/umd/es6/index.js +106 -91
- package/umd/es6/min/index.js +1 -1
- package/umd/es6/min/index.js.gz +0 -0
- package/umd/es6/min/persisters/index.js +1 -1
- package/umd/es6/min/persisters/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-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/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 +30 -21
- package/umd/es6/persisters/persister-automerge/index.js +29 -24
- package/umd/es6/persisters/persister-automerge/with-schemas/index.js +29 -24
- package/umd/es6/persisters/persister-browser/index.js +37 -32
- package/umd/es6/persisters/persister-browser/with-schemas/index.js +37 -32
- package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +29 -24
- package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +29 -24
- package/umd/es6/persisters/persister-electric-sql/index.js +29 -24
- package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +29 -24
- package/umd/es6/persisters/persister-expo-sqlite/index.js +29 -24
- package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +29 -24
- package/umd/es6/persisters/persister-file/index.js +43 -33
- package/umd/es6/persisters/persister-file/with-schemas/index.js +43 -33
- package/umd/es6/persisters/persister-indexed-db/index.js +29 -24
- package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +29 -24
- package/umd/es6/persisters/persister-libsql/index.js +291 -286
- package/umd/es6/persisters/persister-libsql/with-schemas/index.js +291 -286
- package/umd/es6/persisters/persister-partykit-client/index.js +29 -24
- package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +29 -24
- package/umd/es6/persisters/persister-powersync/index.js +29 -24
- package/umd/es6/persisters/persister-powersync/with-schemas/index.js +29 -24
- package/umd/es6/persisters/persister-remote/index.js +35 -30
- package/umd/es6/persisters/persister-remote/with-schemas/index.js +35 -30
- package/umd/es6/persisters/persister-sqlite-wasm/index.js +29 -24
- package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +29 -24
- package/umd/es6/persisters/persister-sqlite3/index.js +29 -24
- package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +29 -24
- package/umd/es6/persisters/persister-yjs/index.js +29 -24
- package/umd/es6/persisters/persister-yjs/with-schemas/index.js +29 -24
- package/umd/es6/persisters/with-schemas/index.js +30 -21
- package/umd/es6/synchronizers/index.js +118 -107
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +114 -109
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +114 -109
- package/umd/es6/synchronizers/synchronizer-local/index.js +118 -110
- package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +118 -110
- package/umd/es6/synchronizers/synchronizer-ws-client/index.js +135 -124
- package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +135 -124
- package/umd/es6/synchronizers/synchronizer-ws-server/index.js +710 -37
- package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +710 -37
- package/umd/es6/synchronizers/with-schemas/index.js +118 -107
- 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 +26 -24
- package/umd/es6/ui-react-inspector/with-schemas/index.js +26 -24
- package/umd/es6/with-schemas/index.js +106 -91
- package/umd/index.js +108 -94
- package/umd/indexes/index.js +1 -1
- package/umd/indexes/with-schemas/index.js +1 -1
- 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/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/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 +28 -19
- package/umd/persisters/persister-automerge/index.js +27 -22
- package/umd/persisters/persister-automerge/with-schemas/index.js +27 -22
- package/umd/persisters/persister-browser/index.js +35 -30
- package/umd/persisters/persister-browser/with-schemas/index.js +35 -30
- package/umd/persisters/persister-cr-sqlite-wasm/index.js +28 -23
- package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +28 -23
- package/umd/persisters/persister-electric-sql/index.js +28 -23
- package/umd/persisters/persister-electric-sql/with-schemas/index.js +28 -23
- package/umd/persisters/persister-expo-sqlite/index.js +28 -23
- package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +28 -23
- package/umd/persisters/persister-file/index.js +41 -31
- package/umd/persisters/persister-file/with-schemas/index.js +41 -31
- package/umd/persisters/persister-indexed-db/index.js +27 -22
- package/umd/persisters/persister-indexed-db/with-schemas/index.js +27 -22
- package/umd/persisters/persister-libsql/index.js +196 -191
- package/umd/persisters/persister-libsql/with-schemas/index.js +196 -191
- package/umd/persisters/persister-partykit-client/index.js +27 -22
- package/umd/persisters/persister-partykit-client/with-schemas/index.js +27 -22
- package/umd/persisters/persister-powersync/index.js +28 -23
- package/umd/persisters/persister-powersync/with-schemas/index.js +28 -23
- package/umd/persisters/persister-remote/index.js +33 -28
- package/umd/persisters/persister-remote/with-schemas/index.js +33 -28
- package/umd/persisters/persister-sqlite-wasm/index.js +28 -23
- package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +28 -23
- package/umd/persisters/persister-sqlite3/index.js +28 -23
- package/umd/persisters/persister-sqlite3/with-schemas/index.js +28 -23
- package/umd/persisters/persister-yjs/index.js +29 -24
- package/umd/persisters/persister-yjs/with-schemas/index.js +29 -24
- package/umd/persisters/with-schemas/index.js +28 -19
- 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/synchronizers/index.js +108 -98
- package/umd/synchronizers/synchronizer-broadcast-channel/index.js +104 -100
- package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +104 -100
- package/umd/synchronizers/synchronizer-local/index.js +108 -101
- package/umd/synchronizers/synchronizer-local/with-schemas/index.js +108 -101
- package/umd/synchronizers/synchronizer-ws-client/index.js +122 -115
- package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +122 -115
- package/umd/synchronizers/synchronizer-ws-server/index.js +544 -36
- package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +544 -36
- package/umd/synchronizers/with-schemas/index.js +108 -98
- 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 +24 -22
- package/umd/ui-react-inspector/with-schemas/index.js +24 -22
- package/umd/with-schemas/index.js +108 -94
- package/with-schemas/index.js +105 -91
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {Id, IdOrNull, Ids} from '../../common/index.d.ts';
|
|
12
|
-
import type {
|
|
12
|
+
import type {Persister, Persists} from '../../persisters/index.d.ts';
|
|
13
|
+
import type {IdAddedOrRemoved} from '../../store/index.d.ts';
|
|
13
14
|
import type {WebSocketServer} from 'ws';
|
|
14
15
|
|
|
15
16
|
/**
|
|
@@ -18,23 +19,24 @@ import type {WebSocketServer} from 'ws';
|
|
|
18
19
|
*
|
|
19
20
|
* A WsServer listens to any path, allowing an app to have the concept of
|
|
20
21
|
* 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
|
-
*
|
|
22
|
+
* single client connects to a new path, this listener will be called with the
|
|
23
|
+
* Id of the new path and an `addedOrRemoved` value of `1`.
|
|
23
24
|
*
|
|
24
|
-
* When the final client disconnects from a path, it will be called again with
|
|
25
|
-
*
|
|
25
|
+
* When the final client disconnects from a path, it will be called again with
|
|
26
|
+
* the Id of the deactivated path and an `addedOrRemoved` value of `-1`.
|
|
26
27
|
*
|
|
27
28
|
* A PathIdsListener is provided when using the addPathIdsListener method. See
|
|
28
29
|
* that method for specific examples.
|
|
29
30
|
* @param wsServer A reference to the WsServer.
|
|
30
|
-
* @param
|
|
31
|
-
*
|
|
31
|
+
* @param pathId The Id of the path being added or removed.
|
|
32
|
+
* @param addedOrRemoved Whether the path was added (`1`) or removed (`-1`).
|
|
32
33
|
* @category Listener
|
|
33
|
-
* @since v5.0.
|
|
34
|
+
* @since v5.0.3
|
|
34
35
|
*/
|
|
35
|
-
export type PathIdsListener
|
|
36
|
+
export type PathIdsListener = (
|
|
36
37
|
wsServer: WsServer,
|
|
37
|
-
|
|
38
|
+
pathId: Id,
|
|
39
|
+
addedOrRemoved: IdAddedOrRemoved,
|
|
38
40
|
) => void;
|
|
39
41
|
|
|
40
42
|
/**
|
|
@@ -43,25 +45,27 @@ export type PathIdsListener<> = (
|
|
|
43
45
|
*
|
|
44
46
|
* A WsServer listens to any path, allowing an app to have the concept of
|
|
45
47
|
* 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
|
-
*
|
|
48
|
+
* new client connects to a path, this listener will be called with the Id of
|
|
49
|
+
* the path, the Id of the new client, and an `addedOrRemoved` value of `1`.
|
|
48
50
|
*
|
|
49
|
-
* When the client disconnects from a path, it will be called again with
|
|
50
|
-
*
|
|
51
|
+
* When the client disconnects from a path, it will be called again with the Id
|
|
52
|
+
* of the path, the Id of the leaving client, and an `addedOrRemoved` value of
|
|
53
|
+
* `-1`.
|
|
51
54
|
*
|
|
52
55
|
* A ClientIdsListener is provided when using the addClientIdsListener method.
|
|
53
56
|
* See that method for specific examples.
|
|
54
57
|
* @param wsServer A reference to the WsServer.
|
|
55
58
|
* @param pathId The path that the client joined or left.
|
|
56
|
-
* @param
|
|
57
|
-
*
|
|
59
|
+
* @param clientId The Id of the client being added or removed.
|
|
60
|
+
* @param addedOrRemoved Whether the client was added (`1`) or removed (`-1`).
|
|
58
61
|
* @category Listener
|
|
59
|
-
* @since v5.0.
|
|
62
|
+
* @since v5.0.3
|
|
60
63
|
*/
|
|
61
|
-
export type ClientIdsListener
|
|
64
|
+
export type ClientIdsListener = (
|
|
62
65
|
wsServer: WsServer,
|
|
63
66
|
pathId: Id,
|
|
64
|
-
|
|
67
|
+
clientId: Id,
|
|
68
|
+
addedOrRemoved: IdAddedOrRemoved,
|
|
65
69
|
) => void;
|
|
66
70
|
|
|
67
71
|
/**
|
|
@@ -240,33 +244,35 @@ export interface WsServer {
|
|
|
240
244
|
* import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-client';
|
|
241
245
|
*
|
|
242
246
|
* const server = createWsServer(new WebSocketServer({port: 8047}));
|
|
243
|
-
* const listenerId = server.addPathIdsListener(
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
+
* const listenerId = server.addPathIdsListener(
|
|
248
|
+
* (server, pathId, addedOrRemoved) => {
|
|
249
|
+
* console.log(pathId + (addedOrRemoved == 1 ? ' added' : ' removed'));
|
|
250
|
+
* console.log(server.getPathIds());
|
|
251
|
+
* },
|
|
252
|
+
* );
|
|
247
253
|
*
|
|
248
254
|
* const synchronizer1 = await createWsSynchronizer(
|
|
249
255
|
* createMergeableStore(),
|
|
250
256
|
* new WebSocket('ws://localhost:8047/roomA'),
|
|
251
257
|
* );
|
|
252
|
-
* // ->
|
|
258
|
+
* // -> 'roomA added'
|
|
253
259
|
* // -> ['roomA']
|
|
254
260
|
*
|
|
255
261
|
* const synchronizer2 = await createWsSynchronizer(
|
|
256
262
|
* createMergeableStore(),
|
|
257
263
|
* new WebSocket('ws://localhost:8047/roomB'),
|
|
258
264
|
* );
|
|
259
|
-
* // ->
|
|
265
|
+
* // -> 'roomB added'
|
|
260
266
|
* // -> ['roomA', 'roomB']
|
|
261
267
|
*
|
|
262
268
|
* synchronizer1.destroy();
|
|
263
269
|
* // ...
|
|
264
|
-
* // ->
|
|
270
|
+
* // -> 'roomA removed'
|
|
265
271
|
* // -> ['roomB']
|
|
266
272
|
*
|
|
267
273
|
* synchronizer2.destroy();
|
|
268
274
|
* // ...
|
|
269
|
-
* // ->
|
|
275
|
+
* // -> 'roomB removed'
|
|
270
276
|
* // -> []
|
|
271
277
|
*
|
|
272
278
|
* server.delListener(listenerId);
|
|
@@ -492,17 +498,132 @@ export interface WsServer {
|
|
|
492
498
|
*
|
|
493
499
|
* This should be run in a server environment, and you must pass in a configured
|
|
494
500
|
* WebSocketServer object in order to create it.
|
|
501
|
+
*
|
|
502
|
+
* If you want your server to persist data itself, you can use the optional
|
|
503
|
+
* second parameter of this function, which allows you to create a Persister for
|
|
504
|
+
* a new path - whenever a new path is accessed by a client. This Persister will
|
|
505
|
+
* only exist when there are active clients on that particular path.
|
|
506
|
+
*
|
|
507
|
+
* You are responsible for creating a MergeableStore to pass to this Persister,
|
|
508
|
+
* but starting and stopping its automatic saving and loading is taken care of
|
|
509
|
+
* by the WsServer. As a result, the server MergeableStore will be kept in sync
|
|
510
|
+
* with the clients on that path, and in turn with whatever persistence layer
|
|
511
|
+
* you have configured. See the example below.
|
|
495
512
|
* @param webSocketServer A WebSocketServer object from your server environment.
|
|
513
|
+
* @param createPersisterForPath An optional function that will create a
|
|
514
|
+
* Persister (with a MergeableStore) to synchronize with the clients on a given
|
|
515
|
+
* path.
|
|
496
516
|
* @returns A reference to the new WsServer object.
|
|
497
517
|
* @example
|
|
498
|
-
* This example creates a WsServer
|
|
518
|
+
* This example creates a WsServer that synchronizes two clients on a shared
|
|
519
|
+
* path.
|
|
499
520
|
*
|
|
500
521
|
* ```js
|
|
501
522
|
* import {WebSocketServer} from 'ws';
|
|
523
|
+
* import {createMergeableStore} from 'tinybase';
|
|
502
524
|
* import {createWsServer} from 'tinybase/synchronizers/synchronizer-ws-server';
|
|
525
|
+
* import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-client';
|
|
503
526
|
*
|
|
527
|
+
* // Server
|
|
504
528
|
* const server = createWsServer(new WebSocketServer({port: 8047}));
|
|
529
|
+
*
|
|
530
|
+
* // Client 1
|
|
531
|
+
* const clientStore1 = createMergeableStore();
|
|
532
|
+
* clientStore1.setCell('pets', 'fido', 'species', 'dog');
|
|
533
|
+
* const synchronizer1 = await createWsSynchronizer(
|
|
534
|
+
* clientStore1,
|
|
535
|
+
* new WebSocket('ws://localhost:8047/petShop'),
|
|
536
|
+
* );
|
|
537
|
+
* await synchronizer1.startSync();
|
|
538
|
+
* // ...
|
|
539
|
+
*
|
|
540
|
+
* // Client 2
|
|
541
|
+
* const clientStore2 = createMergeableStore();
|
|
542
|
+
* clientStore2.setCell('pets', 'felix', 'species', 'cat');
|
|
543
|
+
* const synchronizer2 = await createWsSynchronizer(
|
|
544
|
+
* clientStore2,
|
|
545
|
+
* new WebSocket('ws://localhost:8047/petShop'),
|
|
546
|
+
* );
|
|
547
|
+
* await synchronizer2.startSync();
|
|
548
|
+
* // ...
|
|
549
|
+
*
|
|
550
|
+
* console.log(clientStore1.getTables());
|
|
551
|
+
* // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
|
|
552
|
+
*
|
|
553
|
+
* console.log(clientStore2.getTables());
|
|
554
|
+
* // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
|
|
555
|
+
*
|
|
556
|
+
* synchronizer1.destroy();
|
|
557
|
+
* synchronizer2.destroy();
|
|
558
|
+
* server.destroy();
|
|
559
|
+
* ```
|
|
560
|
+
* @example
|
|
561
|
+
* This longer example creates a WsServer that persists a MergeableStore to file
|
|
562
|
+
* that is synchronized with two clients on a shared path. Later, when a third
|
|
563
|
+
* client connects, it picks up the data the previous two were using.
|
|
564
|
+
*
|
|
565
|
+
* ```js
|
|
566
|
+
* import {WebSocketServer} from 'ws';
|
|
567
|
+
* import {createFilePersister} from 'tinybase/persisters/persister-file';
|
|
568
|
+
* import {createMergeableStore} from 'tinybase';
|
|
569
|
+
* import {createWsServer} from 'tinybase/synchronizers/synchronizer-ws-server';
|
|
570
|
+
* import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-client';
|
|
571
|
+
* import {rmSync} from 'fs';
|
|
572
|
+
*
|
|
573
|
+
* // Server
|
|
574
|
+
* const server = createWsServer(
|
|
575
|
+
* new WebSocketServer({port: 8047}),
|
|
576
|
+
* (pathId) =>
|
|
577
|
+
* createFilePersister(createMergeableStore(), pathId + '.json'),
|
|
578
|
+
* );
|
|
579
|
+
*
|
|
580
|
+
* // Client 1
|
|
581
|
+
* const clientStore1 = createMergeableStore();
|
|
582
|
+
* clientStore1.setCell('pets', 'fido', 'species', 'dog');
|
|
583
|
+
* const synchronizer1 = await createWsSynchronizer(
|
|
584
|
+
* clientStore1,
|
|
585
|
+
* new WebSocket('ws://localhost:8047/petShop'),
|
|
586
|
+
* );
|
|
587
|
+
* await synchronizer1.startSync();
|
|
588
|
+
* // ...
|
|
589
|
+
*
|
|
590
|
+
* // Client 2
|
|
591
|
+
* const clientStore2 = createMergeableStore();
|
|
592
|
+
* clientStore2.setCell('pets', 'felix', 'species', 'cat');
|
|
593
|
+
* const synchronizer2 = await createWsSynchronizer(
|
|
594
|
+
* clientStore2,
|
|
595
|
+
* new WebSocket('ws://localhost:8047/petShop'),
|
|
596
|
+
* );
|
|
597
|
+
* await synchronizer2.startSync();
|
|
598
|
+
* // ...
|
|
599
|
+
*
|
|
600
|
+
* console.log(clientStore1.getTables());
|
|
601
|
+
* // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
|
|
602
|
+
*
|
|
603
|
+
* console.log(clientStore2.getTables());
|
|
604
|
+
* // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
|
|
605
|
+
*
|
|
606
|
+
* synchronizer1.destroy();
|
|
607
|
+
* synchronizer2.destroy();
|
|
608
|
+
*
|
|
609
|
+
* // ...
|
|
610
|
+
* // Client 3 connects later
|
|
611
|
+
* const clientStore3 = createMergeableStore();
|
|
612
|
+
* const synchronizer3 = await createWsSynchronizer(
|
|
613
|
+
* clientStore3,
|
|
614
|
+
* new WebSocket('ws://localhost:8047/petShop'),
|
|
615
|
+
* );
|
|
616
|
+
* await synchronizer3.startSync();
|
|
617
|
+
* // ...
|
|
618
|
+
*
|
|
619
|
+
* console.log(clientStore3.getTables());
|
|
620
|
+
* // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
|
|
621
|
+
*
|
|
622
|
+
* synchronizer3.destroy();
|
|
505
623
|
* server.destroy();
|
|
624
|
+
*
|
|
625
|
+
* // Remove file for the purposes of this demo.
|
|
626
|
+
* rmSync('petShop.json');
|
|
506
627
|
* ```
|
|
507
628
|
* @example
|
|
508
629
|
* This example creates a WsServer with a custom listener that displays
|
|
@@ -534,4 +655,11 @@ export interface WsServer {
|
|
|
534
655
|
* @category Creation
|
|
535
656
|
* @since v5.0.0
|
|
536
657
|
*/
|
|
537
|
-
export function createWsServer
|
|
658
|
+
export function createWsServer<
|
|
659
|
+
PathPersister extends Persister<
|
|
660
|
+
Persists.MergeableStoreOnly | Persists.StoreOrMergeableStore
|
|
661
|
+
>,
|
|
662
|
+
>(
|
|
663
|
+
webSocketServer: WebSocketServer,
|
|
664
|
+
createPersisterForPath?: (pathId: Id) => PathPersister | undefined,
|
|
665
|
+
): WsServer;
|
|
@@ -9,7 +9,14 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {Id, IdOrNull, Ids} from '../../../common/with-schemas/index.d.cts';
|
|
12
|
-
import type {
|
|
12
|
+
import type {
|
|
13
|
+
IdAddedOrRemoved,
|
|
14
|
+
OptionalSchemas,
|
|
15
|
+
} from '../../../store/with-schemas/index.d.cts';
|
|
16
|
+
import type {
|
|
17
|
+
Persister,
|
|
18
|
+
Persists,
|
|
19
|
+
} from '../../../persisters/with-schemas/index.d.cts';
|
|
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;
|