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,8 +9,8 @@
|
|
|
9
9
|
* @since v5.0.0
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import type {Receive, Send, Synchronizer} from '../index.d.cts';
|
|
12
13
|
import type {MergeableStore} from '../../mergeable-store/index.d.cts';
|
|
13
|
-
import type {Synchronizer} from '../index.d.cts';
|
|
14
14
|
import type {WebSocket as WsWebSocket} from 'ws';
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -81,6 +81,10 @@ export interface WsSynchronizer<WebSocketType extends WebSocketTypes>
|
|
|
81
81
|
* As well as providing a reference to the MergeableStore to persist, you must
|
|
82
82
|
* provide a configured WebSocket to send synchronization messages over.
|
|
83
83
|
*
|
|
84
|
+
* You can indicate how long the Synchronizer will wait for responses to message
|
|
85
|
+
* requests before timing out. A final set of optional handlers can be provided
|
|
86
|
+
* to help debug sends, receives, and errors respectively.
|
|
87
|
+
*
|
|
84
88
|
* This method is asynchronous because it will await the websocket's connection
|
|
85
89
|
* to the server. You will need to `await` a call to this function or handle the
|
|
86
90
|
* return type natively as a Promise.
|
|
@@ -88,6 +92,12 @@ export interface WsSynchronizer<WebSocketType extends WebSocketTypes>
|
|
|
88
92
|
* @param webSocket The WebSocket to send synchronization messages over.
|
|
89
93
|
* @param requestTimeoutSeconds An optional time in seconds that the
|
|
90
94
|
* Synchronizer will wait for responses to request messages, defaulting to 1.
|
|
95
|
+
* @param onSend An optional handler for the messages that this Synchronizer
|
|
96
|
+
* sends. This is suitable for debugging synchronization issues in a development
|
|
97
|
+
* environment, since v5.1.
|
|
98
|
+
* @param onReceive An optional handler for the messages that this Synchronizer
|
|
99
|
+
* receives. This is suitable for debugging synchronization issues in a
|
|
100
|
+
* development environment, since v5.1.
|
|
91
101
|
* @param onIgnoredError An optional handler for the errors that the
|
|
92
102
|
* Synchronizer would otherwise ignore when trying to synchronize data. This is
|
|
93
103
|
* suitable for debugging synchronization issues in a development environment.
|
|
@@ -139,5 +149,7 @@ export function createWsSynchronizer<WebSocketType extends WebSocketTypes>(
|
|
|
139
149
|
store: MergeableStore,
|
|
140
150
|
webSocket: WebSocketType,
|
|
141
151
|
requestTimeoutSeconds?: number,
|
|
152
|
+
onSend?: Send,
|
|
153
|
+
onReceive?: Receive,
|
|
142
154
|
onIgnoredError?: (error: any) => void,
|
|
143
155
|
): Promise<WsSynchronizer<WebSocketType>>;
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* @since v5.0.0
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import type {Receive, Send, Synchronizer} from '../index.d.ts';
|
|
12
13
|
import type {MergeableStore} from '../../mergeable-store/index.d.ts';
|
|
13
|
-
import type {Synchronizer} from '../index.d.ts';
|
|
14
14
|
import type {WebSocket as WsWebSocket} from 'ws';
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -81,6 +81,10 @@ export interface WsSynchronizer<WebSocketType extends WebSocketTypes>
|
|
|
81
81
|
* As well as providing a reference to the MergeableStore to persist, you must
|
|
82
82
|
* provide a configured WebSocket to send synchronization messages over.
|
|
83
83
|
*
|
|
84
|
+
* You can indicate how long the Synchronizer will wait for responses to message
|
|
85
|
+
* requests before timing out. A final set of optional handlers can be provided
|
|
86
|
+
* to help debug sends, receives, and errors respectively.
|
|
87
|
+
*
|
|
84
88
|
* This method is asynchronous because it will await the websocket's connection
|
|
85
89
|
* to the server. You will need to `await` a call to this function or handle the
|
|
86
90
|
* return type natively as a Promise.
|
|
@@ -88,6 +92,12 @@ export interface WsSynchronizer<WebSocketType extends WebSocketTypes>
|
|
|
88
92
|
* @param webSocket The WebSocket to send synchronization messages over.
|
|
89
93
|
* @param requestTimeoutSeconds An optional time in seconds that the
|
|
90
94
|
* Synchronizer will wait for responses to request messages, defaulting to 1.
|
|
95
|
+
* @param onSend An optional handler for the messages that this Synchronizer
|
|
96
|
+
* sends. This is suitable for debugging synchronization issues in a development
|
|
97
|
+
* environment, since v5.1.
|
|
98
|
+
* @param onReceive An optional handler for the messages that this Synchronizer
|
|
99
|
+
* receives. This is suitable for debugging synchronization issues in a
|
|
100
|
+
* development environment, since v5.1.
|
|
91
101
|
* @param onIgnoredError An optional handler for the errors that the
|
|
92
102
|
* Synchronizer would otherwise ignore when trying to synchronize data. This is
|
|
93
103
|
* suitable for debugging synchronization issues in a development environment.
|
|
@@ -139,5 +149,7 @@ export function createWsSynchronizer<WebSocketType extends WebSocketTypes>(
|
|
|
139
149
|
store: MergeableStore,
|
|
140
150
|
webSocket: WebSocketType,
|
|
141
151
|
requestTimeoutSeconds?: number,
|
|
152
|
+
onSend?: Send,
|
|
153
|
+
onReceive?: Receive,
|
|
142
154
|
onIgnoredError?: (error: any) => void,
|
|
143
155
|
): Promise<WsSynchronizer<WebSocketType>>;
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
* @since v5.0.0
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import type {Receive, Send, Synchronizer} from '../../with-schemas/index.d.cts';
|
|
12
13
|
import type {MergeableStore} from '../../../mergeable-store/with-schemas/index.d.cts';
|
|
13
14
|
import type {OptionalSchemas} from '../../../store/with-schemas/index.d.cts';
|
|
14
|
-
import type {Synchronizer} from '../../with-schemas/index.d.cts';
|
|
15
15
|
import type {WebSocket as WsWebSocket} from 'ws';
|
|
16
16
|
|
|
17
17
|
/**
|
|
@@ -88,6 +88,8 @@ export interface WsSynchronizer<
|
|
|
88
88
|
* store: MergeableStore,
|
|
89
89
|
* webSocket: WebSocketType,
|
|
90
90
|
* requestTimeoutSeconds?: number,
|
|
91
|
+
* onSend?: Send,
|
|
92
|
+
* onReceive?: Receive,
|
|
91
93
|
* onIgnoredError?: (error: any) => void,
|
|
92
94
|
* ): Promise<WsSynchronizer<WebSocketType>>;
|
|
93
95
|
* ```
|
|
@@ -95,6 +97,10 @@ export interface WsSynchronizer<
|
|
|
95
97
|
* As well as providing a reference to the MergeableStore to persist, you must
|
|
96
98
|
* provide a configured WebSocket to send synchronization messages over.
|
|
97
99
|
*
|
|
100
|
+
* You can indicate how long the Synchronizer will wait for responses to message
|
|
101
|
+
* requests before timing out. A final set of optional handlers can be provided
|
|
102
|
+
* to help debug sends, receives, and errors respectively.
|
|
103
|
+
*
|
|
98
104
|
* This method is asynchronous because it will await the websocket's connection
|
|
99
105
|
* to the server. You will need to `await` a call to this function or handle the
|
|
100
106
|
* return type natively as a Promise.
|
|
@@ -102,6 +108,12 @@ export interface WsSynchronizer<
|
|
|
102
108
|
* @param webSocket The WebSocket to send synchronization messages over.
|
|
103
109
|
* @param requestTimeoutSeconds An optional time in seconds that the
|
|
104
110
|
* Synchronizer will wait for responses to request messages, defaulting to 1.
|
|
111
|
+
* @param onSend An optional handler for the messages that this Synchronizer
|
|
112
|
+
* sends. This is suitable for debugging synchronization issues in a development
|
|
113
|
+
* environment, since v5.1.
|
|
114
|
+
* @param onReceive An optional handler for the messages that this Synchronizer
|
|
115
|
+
* receives. This is suitable for debugging synchronization issues in a
|
|
116
|
+
* development environment, since v5.1.
|
|
105
117
|
* @param onIgnoredError An optional handler for the errors that the
|
|
106
118
|
* Synchronizer would otherwise ignore when trying to synchronize data. This is
|
|
107
119
|
* suitable for debugging synchronization issues in a development environment.
|
|
@@ -156,5 +168,7 @@ export function createWsSynchronizer<
|
|
|
156
168
|
store: MergeableStore<Schemas>,
|
|
157
169
|
webSocket: WebSocketType,
|
|
158
170
|
requestTimeoutSeconds?: number,
|
|
171
|
+
onSend?: Send,
|
|
172
|
+
onReceive?: Receive,
|
|
159
173
|
onIgnoredError?: (error: any) => void,
|
|
160
174
|
): Promise<WsSynchronizer<Schemas, WebSocketType>>;
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
* @since v5.0.0
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import type {Receive, Send, Synchronizer} from '../../with-schemas/index.d.ts';
|
|
12
13
|
import type {MergeableStore} from '../../../mergeable-store/with-schemas/index.d.ts';
|
|
13
14
|
import type {OptionalSchemas} from '../../../store/with-schemas/index.d.ts';
|
|
14
|
-
import type {Synchronizer} from '../../with-schemas/index.d.ts';
|
|
15
15
|
import type {WebSocket as WsWebSocket} from 'ws';
|
|
16
16
|
|
|
17
17
|
/**
|
|
@@ -88,6 +88,8 @@ export interface WsSynchronizer<
|
|
|
88
88
|
* store: MergeableStore,
|
|
89
89
|
* webSocket: WebSocketType,
|
|
90
90
|
* requestTimeoutSeconds?: number,
|
|
91
|
+
* onSend?: Send,
|
|
92
|
+
* onReceive?: Receive,
|
|
91
93
|
* onIgnoredError?: (error: any) => void,
|
|
92
94
|
* ): Promise<WsSynchronizer<WebSocketType>>;
|
|
93
95
|
* ```
|
|
@@ -95,6 +97,10 @@ export interface WsSynchronizer<
|
|
|
95
97
|
* As well as providing a reference to the MergeableStore to persist, you must
|
|
96
98
|
* provide a configured WebSocket to send synchronization messages over.
|
|
97
99
|
*
|
|
100
|
+
* You can indicate how long the Synchronizer will wait for responses to message
|
|
101
|
+
* requests before timing out. A final set of optional handlers can be provided
|
|
102
|
+
* to help debug sends, receives, and errors respectively.
|
|
103
|
+
*
|
|
98
104
|
* This method is asynchronous because it will await the websocket's connection
|
|
99
105
|
* to the server. You will need to `await` a call to this function or handle the
|
|
100
106
|
* return type natively as a Promise.
|
|
@@ -102,6 +108,12 @@ export interface WsSynchronizer<
|
|
|
102
108
|
* @param webSocket The WebSocket to send synchronization messages over.
|
|
103
109
|
* @param requestTimeoutSeconds An optional time in seconds that the
|
|
104
110
|
* Synchronizer will wait for responses to request messages, defaulting to 1.
|
|
111
|
+
* @param onSend An optional handler for the messages that this Synchronizer
|
|
112
|
+
* sends. This is suitable for debugging synchronization issues in a development
|
|
113
|
+
* environment, since v5.1.
|
|
114
|
+
* @param onReceive An optional handler for the messages that this Synchronizer
|
|
115
|
+
* receives. This is suitable for debugging synchronization issues in a
|
|
116
|
+
* development environment, since v5.1.
|
|
105
117
|
* @param onIgnoredError An optional handler for the errors that the
|
|
106
118
|
* Synchronizer would otherwise ignore when trying to synchronize data. This is
|
|
107
119
|
* suitable for debugging synchronization issues in a development environment.
|
|
@@ -156,5 +168,7 @@ export function createWsSynchronizer<
|
|
|
156
168
|
store: MergeableStore<Schemas>,
|
|
157
169
|
webSocket: WebSocketType,
|
|
158
170
|
requestTimeoutSeconds?: number,
|
|
171
|
+
onSend?: Send,
|
|
172
|
+
onReceive?: Receive,
|
|
159
173
|
onIgnoredError?: (error: any) => void,
|
|
160
174
|
): Promise<WsSynchronizer<Schemas, WebSocketType>>;
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {Id, IdOrNull, Ids} from '../../common/index.d.cts';
|
|
12
|
-
import type {
|
|
12
|
+
import type {Persister, Persists} from '../../persisters/index.d.cts';
|
|
13
|
+
import type {IdAddedOrRemoved} from '../../store/index.d.cts';
|
|
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;
|