tinybase 5.4.0-beta.0 → 5.4.0-beta.2
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/synchronizers/synchronizer-ws-server/index.d.cts +1 -0
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +1 -0
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +1 -0
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +1 -0
- package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.cts +62 -0
- package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +62 -0
- package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.cts +62 -0
- package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +62 -0
- package/@types/synchronizers/synchronizer-ws-server-simple/index.d.cts +145 -0
- package/@types/synchronizers/synchronizer-ws-server-simple/index.d.ts +145 -0
- package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.cts +145 -0
- package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.ts +145 -0
- package/cjs/common/index.cjs +5 -7
- package/cjs/common/with-schemas/index.cjs +5 -7
- package/cjs/es6/common/index.cjs +5 -7
- package/cjs/es6/common/with-schemas/index.cjs +5 -7
- package/cjs/es6/index.cjs +23 -17
- package/cjs/es6/indexes/index.cjs +0 -6
- package/cjs/es6/indexes/with-schemas/index.cjs +0 -6
- package/cjs/es6/mergeable-store/index.cjs +22 -16
- package/cjs/es6/mergeable-store/with-schemas/index.cjs +22 -16
- package/cjs/es6/metrics/index.cjs +1 -1
- package/cjs/es6/metrics/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/common/index.cjs +1 -1
- package/cjs/es6/min/common/index.cjs.gz +0 -0
- package/cjs/es6/min/common/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/common/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/index.cjs +1 -1
- package/cjs/es6/min/index.cjs.gz +0 -0
- package/cjs/es6/min/indexes/index.cjs +1 -1
- package/cjs/es6/min/indexes/index.cjs.gz +0 -0
- package/cjs/es6/min/indexes/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/indexes/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/mergeable-store/index.cjs +1 -1
- package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
- package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/index.cjs +1 -1
- package/cjs/es6/min/persisters/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-pglite/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-pglite/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-postgres/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-postgres/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/store/index.cjs +1 -1
- package/cjs/es6/min/store/index.cjs.gz +0 -0
- package/cjs/es6/min/store/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/store/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs +1 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +1 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/index.cjs +1 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +1 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/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/tools/index.cjs +1 -1
- package/cjs/es6/min/tools/index.cjs.gz +0 -0
- package/cjs/es6/min/tools/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/tools/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-dom/index.cjs +1 -1
- package/cjs/es6/min/ui-react-dom/index.cjs.gz +0 -0
- package/cjs/es6/min/ui-react-dom/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/ui-react-dom/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 +85 -103
- package/cjs/es6/persisters/persister-automerge/index.cjs +2 -0
- package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +2 -0
- package/cjs/es6/persisters/persister-browser/index.cjs +2 -0
- package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +2 -0
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +84 -102
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +84 -102
- package/cjs/es6/persisters/persister-electric-sql/index.cjs +84 -102
- package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +84 -102
- package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +84 -102
- package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +84 -102
- package/cjs/es6/persisters/persister-file/index.cjs +2 -0
- package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +2 -0
- package/cjs/es6/persisters/persister-indexed-db/index.cjs +2 -0
- package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +2 -0
- package/cjs/es6/persisters/persister-libsql/index.cjs +84 -102
- package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +84 -102
- package/cjs/es6/persisters/persister-partykit-client/index.cjs +2 -0
- package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +2 -0
- package/cjs/es6/persisters/persister-pglite/index.cjs +84 -102
- package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +84 -102
- package/cjs/es6/persisters/persister-postgres/index.cjs +83 -101
- package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +83 -101
- package/cjs/es6/persisters/persister-powersync/index.cjs +214 -147
- package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +214 -147
- package/cjs/es6/persisters/persister-remote/index.cjs +2 -0
- package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +2 -0
- package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +84 -102
- package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +84 -102
- package/cjs/es6/persisters/persister-sqlite3/index.cjs +84 -102
- package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +84 -102
- package/cjs/es6/persisters/persister-yjs/index.cjs +2 -0
- package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +2 -0
- package/cjs/es6/persisters/with-schemas/index.cjs +85 -103
- package/cjs/es6/queries/index.cjs +1 -1
- package/cjs/es6/queries/with-schemas/index.cjs +1 -1
- package/cjs/es6/store/index.cjs +5 -11
- package/cjs/es6/store/with-schemas/index.cjs +5 -11
- package/cjs/es6/synchronizers/index.cjs +7 -7
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +7 -7
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +7 -7
- package/cjs/es6/synchronizers/synchronizer-local/index.cjs +7 -7
- package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +7 -7
- package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +9 -9
- package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +9 -9
- package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +16 -18
- package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +16 -18
- package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/index.cjs +116 -0
- package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +116 -0
- package/cjs/es6/synchronizers/synchronizer-ws-server-simple/index.cjs +129 -0
- package/cjs/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +129 -0
- package/cjs/es6/synchronizers/with-schemas/index.cjs +7 -7
- package/cjs/es6/tools/index.cjs +7 -4
- package/cjs/es6/tools/with-schemas/index.cjs +7 -4
- package/cjs/es6/ui-react/index.cjs +101 -109
- package/cjs/es6/ui-react/with-schemas/index.cjs +101 -109
- package/cjs/es6/ui-react-dom/index.cjs +14 -8
- package/cjs/es6/ui-react-dom/with-schemas/index.cjs +14 -8
- package/cjs/es6/ui-react-inspector/index.cjs +24 -22
- package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +24 -22
- package/cjs/es6/with-schemas/index.cjs +23 -17
- package/cjs/index.cjs +23 -17
- package/cjs/indexes/index.cjs +0 -6
- package/cjs/indexes/with-schemas/index.cjs +0 -6
- package/cjs/mergeable-store/index.cjs +22 -16
- package/cjs/mergeable-store/with-schemas/index.cjs +22 -16
- package/cjs/metrics/index.cjs +1 -1
- package/cjs/metrics/with-schemas/index.cjs +1 -1
- package/cjs/min/common/index.cjs +1 -1
- package/cjs/min/common/index.cjs.gz +0 -0
- package/cjs/min/common/with-schemas/index.cjs +1 -1
- package/cjs/min/common/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/index.cjs +1 -1
- package/cjs/min/index.cjs.gz +0 -0
- package/cjs/min/indexes/index.cjs +1 -1
- package/cjs/min/indexes/index.cjs.gz +0 -0
- package/cjs/min/indexes/with-schemas/index.cjs +1 -1
- package/cjs/min/indexes/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/mergeable-store/index.cjs +1 -1
- package/cjs/min/mergeable-store/index.cjs.gz +0 -0
- package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
- package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/index.cjs +1 -1
- package/cjs/min/persisters/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
- package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-browser/index.cjs +1 -1
- package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
- package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
- package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
- package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-file/index.cjs +1 -1
- package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
- package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
- package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
- package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-pglite/index.cjs +1 -1
- package/cjs/min/persisters/persister-pglite/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-postgres/index.cjs +1 -1
- package/cjs/min/persisters/persister-postgres/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
- package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-remote/index.cjs +1 -1
- package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
- package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/store/index.cjs +1 -1
- package/cjs/min/store/index.cjs.gz +0 -0
- package/cjs/min/store/with-schemas/index.cjs +1 -1
- package/cjs/min/store/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/index.cjs +1 -1
- package/cjs/min/synchronizers/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs +1 -0
- package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +1 -0
- package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-server-simple/index.cjs +1 -0
- package/cjs/min/synchronizers/synchronizer-ws-server-simple/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +1 -0
- package/cjs/min/synchronizers/synchronizer-ws-server-simple/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/tools/index.cjs +1 -1
- package/cjs/min/tools/index.cjs.gz +0 -0
- package/cjs/min/tools/with-schemas/index.cjs +1 -1
- package/cjs/min/tools/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/ui-react/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-dom/index.cjs +1 -1
- package/cjs/min/ui-react-dom/index.cjs.gz +0 -0
- package/cjs/min/ui-react-dom/with-schemas/index.cjs +1 -1
- package/cjs/min/ui-react-dom/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 +82 -98
- package/cjs/persisters/persister-automerge/index.cjs +2 -0
- package/cjs/persisters/persister-automerge/with-schemas/index.cjs +2 -0
- package/cjs/persisters/persister-browser/index.cjs +2 -0
- package/cjs/persisters/persister-browser/with-schemas/index.cjs +2 -0
- package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +81 -97
- package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +81 -97
- package/cjs/persisters/persister-electric-sql/index.cjs +81 -97
- package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +81 -97
- package/cjs/persisters/persister-expo-sqlite/index.cjs +81 -97
- package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +81 -97
- package/cjs/persisters/persister-file/index.cjs +2 -0
- package/cjs/persisters/persister-file/with-schemas/index.cjs +2 -0
- package/cjs/persisters/persister-indexed-db/index.cjs +2 -0
- package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +2 -0
- package/cjs/persisters/persister-libsql/index.cjs +81 -97
- package/cjs/persisters/persister-libsql/with-schemas/index.cjs +81 -97
- package/cjs/persisters/persister-partykit-client/index.cjs +2 -0
- package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +2 -0
- package/cjs/persisters/persister-pglite/index.cjs +81 -97
- package/cjs/persisters/persister-pglite/with-schemas/index.cjs +81 -97
- package/cjs/persisters/persister-postgres/index.cjs +80 -96
- package/cjs/persisters/persister-postgres/with-schemas/index.cjs +80 -96
- package/cjs/persisters/persister-powersync/index.cjs +205 -142
- package/cjs/persisters/persister-powersync/with-schemas/index.cjs +205 -142
- package/cjs/persisters/persister-remote/index.cjs +2 -0
- package/cjs/persisters/persister-remote/with-schemas/index.cjs +2 -0
- package/cjs/persisters/persister-sqlite-wasm/index.cjs +81 -97
- package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +81 -97
- package/cjs/persisters/persister-sqlite3/index.cjs +81 -97
- package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +81 -97
- package/cjs/persisters/persister-yjs/index.cjs +2 -0
- package/cjs/persisters/persister-yjs/with-schemas/index.cjs +2 -0
- package/cjs/persisters/with-schemas/index.cjs +82 -98
- package/cjs/queries/index.cjs +1 -1
- package/cjs/queries/with-schemas/index.cjs +1 -1
- package/cjs/store/index.cjs +5 -11
- package/cjs/store/with-schemas/index.cjs +5 -11
- package/cjs/synchronizers/index.cjs +7 -7
- package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +7 -7
- package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +7 -7
- package/cjs/synchronizers/synchronizer-local/index.cjs +7 -7
- package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +7 -7
- package/cjs/synchronizers/synchronizer-ws-client/index.cjs +9 -9
- package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +9 -9
- package/cjs/synchronizers/synchronizer-ws-server/index.cjs +16 -18
- package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +16 -18
- package/cjs/synchronizers/synchronizer-ws-server-durable-object/index.cjs +102 -0
- package/cjs/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +102 -0
- package/cjs/synchronizers/synchronizer-ws-server-simple/index.cjs +88 -0
- package/cjs/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +88 -0
- package/cjs/synchronizers/with-schemas/index.cjs +7 -7
- package/cjs/tools/index.cjs +7 -4
- package/cjs/tools/with-schemas/index.cjs +7 -4
- package/cjs/ui-react/index.cjs +97 -107
- package/cjs/ui-react/with-schemas/index.cjs +97 -107
- package/cjs/ui-react-dom/index.cjs +14 -8
- package/cjs/ui-react-dom/with-schemas/index.cjs +14 -8
- 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 +23 -17
- package/common/index.js +5 -7
- package/common/with-schemas/index.js +5 -7
- package/es6/common/index.js +5 -7
- package/es6/common/with-schemas/index.js +5 -7
- package/es6/index.js +23 -17
- package/es6/indexes/index.js +0 -6
- package/es6/indexes/with-schemas/index.js +0 -6
- package/es6/mergeable-store/index.js +22 -16
- package/es6/mergeable-store/with-schemas/index.js +22 -16
- package/es6/metrics/index.js +1 -1
- package/es6/metrics/with-schemas/index.js +1 -1
- package/es6/min/common/index.js +1 -1
- package/es6/min/common/index.js.gz +0 -0
- package/es6/min/common/with-schemas/index.js +1 -1
- package/es6/min/common/with-schemas/index.js.gz +0 -0
- package/es6/min/index.js +1 -1
- package/es6/min/index.js.gz +0 -0
- package/es6/min/indexes/index.js +1 -1
- package/es6/min/indexes/index.js.gz +0 -0
- package/es6/min/indexes/with-schemas/index.js +1 -1
- package/es6/min/indexes/with-schemas/index.js.gz +0 -0
- package/es6/min/mergeable-store/index.js +1 -1
- package/es6/min/mergeable-store/index.js.gz +0 -0
- package/es6/min/mergeable-store/with-schemas/index.js +1 -1
- package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/index.js +1 -1
- package/es6/min/persisters/index.js.gz +0 -0
- package/es6/min/persisters/persister-automerge/index.js +1 -1
- package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
- package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-browser/index.js +1 -1
- package/es6/min/persisters/persister-browser/index.js.gz +0 -0
- package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-electric-sql/index.js +1 -1
- package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-file/index.js +1 -1
- package/es6/min/persisters/persister-file/index.js.gz +0 -0
- package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-indexed-db/index.js +1 -1
- package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-libsql/index.js +1 -1
- package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
- package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-partykit-client/index.js +1 -1
- package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-pglite/index.js +1 -1
- package/es6/min/persisters/persister-pglite/index.js.gz +0 -0
- package/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-postgres/index.js +1 -1
- package/es6/min/persisters/persister-postgres/index.js.gz +0 -0
- package/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-powersync/index.js +1 -1
- package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
- package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-remote/index.js +1 -1
- package/es6/min/persisters/persister-remote/index.js.gz +0 -0
- package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite3/index.js +1 -1
- package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-yjs/index.js +1 -1
- package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
- package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/with-schemas/index.js +1 -1
- package/es6/min/persisters/with-schemas/index.js.gz +0 -0
- package/es6/min/store/index.js +1 -1
- package/es6/min/store/index.js.gz +0 -0
- package/es6/min/store/with-schemas/index.js +1 -1
- package/es6/min/store/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/index.js +1 -1
- package/es6/min/synchronizers/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -0
- package/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -0
- package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -0
- package/es6/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -0
- package/es6/min/synchronizers/synchronizer-ws-server-simple/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/tools/index.js +1 -1
- package/es6/min/tools/index.js.gz +0 -0
- package/es6/min/tools/with-schemas/index.js +1 -1
- package/es6/min/tools/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-dom/index.js +1 -1
- package/es6/min/ui-react-dom/index.js.gz +0 -0
- package/es6/min/ui-react-dom/with-schemas/index.js +1 -1
- package/es6/min/ui-react-dom/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 +85 -103
- package/es6/persisters/persister-automerge/index.js +2 -0
- package/es6/persisters/persister-automerge/with-schemas/index.js +2 -0
- package/es6/persisters/persister-browser/index.js +2 -0
- package/es6/persisters/persister-browser/with-schemas/index.js +2 -0
- package/es6/persisters/persister-cr-sqlite-wasm/index.js +84 -102
- package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +84 -102
- package/es6/persisters/persister-electric-sql/index.js +84 -102
- package/es6/persisters/persister-electric-sql/with-schemas/index.js +84 -102
- package/es6/persisters/persister-expo-sqlite/index.js +84 -102
- package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +84 -102
- package/es6/persisters/persister-file/index.js +2 -0
- package/es6/persisters/persister-file/with-schemas/index.js +2 -0
- package/es6/persisters/persister-indexed-db/index.js +2 -0
- package/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -0
- package/es6/persisters/persister-libsql/index.js +84 -102
- package/es6/persisters/persister-libsql/with-schemas/index.js +84 -102
- package/es6/persisters/persister-partykit-client/index.js +2 -0
- package/es6/persisters/persister-partykit-client/with-schemas/index.js +2 -0
- package/es6/persisters/persister-pglite/index.js +84 -102
- package/es6/persisters/persister-pglite/with-schemas/index.js +84 -102
- package/es6/persisters/persister-postgres/index.js +83 -101
- package/es6/persisters/persister-postgres/with-schemas/index.js +83 -101
- package/es6/persisters/persister-powersync/index.js +214 -147
- package/es6/persisters/persister-powersync/with-schemas/index.js +214 -147
- package/es6/persisters/persister-remote/index.js +2 -0
- package/es6/persisters/persister-remote/with-schemas/index.js +2 -0
- package/es6/persisters/persister-sqlite-wasm/index.js +84 -102
- package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +84 -102
- package/es6/persisters/persister-sqlite3/index.js +84 -102
- package/es6/persisters/persister-sqlite3/with-schemas/index.js +84 -102
- package/es6/persisters/persister-yjs/index.js +2 -0
- package/es6/persisters/persister-yjs/with-schemas/index.js +2 -0
- package/es6/persisters/with-schemas/index.js +85 -103
- package/es6/queries/index.js +1 -1
- package/es6/queries/with-schemas/index.js +1 -1
- package/es6/store/index.js +5 -11
- package/es6/store/with-schemas/index.js +5 -11
- package/es6/synchronizers/index.js +7 -7
- package/es6/synchronizers/synchronizer-broadcast-channel/index.js +7 -7
- package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +7 -7
- package/es6/synchronizers/synchronizer-local/index.js +7 -7
- package/es6/synchronizers/synchronizer-local/with-schemas/index.js +7 -7
- package/es6/synchronizers/synchronizer-ws-client/index.js +9 -9
- package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +9 -9
- package/es6/synchronizers/synchronizer-ws-server/index.js +16 -18
- package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +16 -18
- package/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +113 -0
- package/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +113 -0
- package/es6/synchronizers/synchronizer-ws-server-simple/index.js +127 -0
- package/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +127 -0
- package/es6/synchronizers/with-schemas/index.js +7 -7
- package/es6/tools/index.js +7 -4
- package/es6/tools/with-schemas/index.js +7 -4
- package/es6/ui-react/index.js +101 -109
- package/es6/ui-react/with-schemas/index.js +101 -109
- package/es6/ui-react-dom/index.js +14 -8
- package/es6/ui-react-dom/with-schemas/index.js +14 -8
- package/es6/ui-react-inspector/index.js +24 -22
- package/es6/ui-react-inspector/with-schemas/index.js +24 -22
- package/es6/with-schemas/index.js +23 -17
- package/index.js +23 -17
- package/indexes/index.js +0 -6
- package/indexes/with-schemas/index.js +0 -6
- package/mergeable-store/index.js +22 -16
- package/mergeable-store/with-schemas/index.js +22 -16
- package/metrics/index.js +1 -1
- package/metrics/with-schemas/index.js +1 -1
- package/min/common/index.js +1 -1
- package/min/common/index.js.gz +0 -0
- package/min/common/with-schemas/index.js +1 -1
- package/min/common/with-schemas/index.js.gz +0 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/indexes/index.js +1 -1
- package/min/indexes/index.js.gz +0 -0
- package/min/indexes/with-schemas/index.js +1 -1
- package/min/indexes/with-schemas/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/store/index.js +1 -1
- package/min/store/index.js.gz +0 -0
- package/min/store/with-schemas/index.js +1 -1
- package/min/store/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -0
- package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -0
- package/min/synchronizers/synchronizer-ws-server-simple/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/tools/index.js +1 -1
- package/min/tools/index.js.gz +0 -0
- package/min/tools/with-schemas/index.js +1 -1
- package/min/tools/with-schemas/index.js.gz +0 -0
- package/min/ui-react/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-dom/index.js +1 -1
- package/min/ui-react-dom/index.js.gz +0 -0
- package/min/ui-react-dom/with-schemas/index.js +1 -1
- package/min/ui-react-dom/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 +220 -8
- package/persisters/index.js +82 -98
- package/persisters/persister-automerge/index.js +2 -0
- package/persisters/persister-automerge/with-schemas/index.js +2 -0
- package/persisters/persister-browser/index.js +2 -0
- package/persisters/persister-browser/with-schemas/index.js +2 -0
- package/persisters/persister-cr-sqlite-wasm/index.js +81 -97
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +81 -97
- package/persisters/persister-electric-sql/index.js +81 -97
- package/persisters/persister-electric-sql/with-schemas/index.js +81 -97
- package/persisters/persister-expo-sqlite/index.js +81 -97
- package/persisters/persister-expo-sqlite/with-schemas/index.js +81 -97
- package/persisters/persister-file/index.js +2 -0
- package/persisters/persister-file/with-schemas/index.js +2 -0
- package/persisters/persister-indexed-db/index.js +2 -0
- package/persisters/persister-indexed-db/with-schemas/index.js +2 -0
- package/persisters/persister-libsql/index.js +81 -97
- package/persisters/persister-libsql/with-schemas/index.js +81 -97
- package/persisters/persister-partykit-client/index.js +2 -0
- package/persisters/persister-partykit-client/with-schemas/index.js +2 -0
- package/persisters/persister-pglite/index.js +81 -97
- package/persisters/persister-pglite/with-schemas/index.js +81 -97
- package/persisters/persister-postgres/index.js +80 -96
- package/persisters/persister-postgres/with-schemas/index.js +80 -96
- package/persisters/persister-powersync/index.js +205 -142
- package/persisters/persister-powersync/with-schemas/index.js +205 -142
- package/persisters/persister-remote/index.js +2 -0
- package/persisters/persister-remote/with-schemas/index.js +2 -0
- package/persisters/persister-sqlite-wasm/index.js +81 -97
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +81 -97
- package/persisters/persister-sqlite3/index.js +81 -97
- package/persisters/persister-sqlite3/with-schemas/index.js +81 -97
- package/persisters/persister-yjs/index.js +2 -0
- package/persisters/persister-yjs/with-schemas/index.js +2 -0
- package/persisters/with-schemas/index.js +82 -98
- package/queries/index.js +1 -1
- package/queries/with-schemas/index.js +1 -1
- package/readme.md +14 -14
- package/releases.md +24 -24
- package/store/index.js +5 -11
- package/store/with-schemas/index.js +5 -11
- package/synchronizers/index.js +7 -7
- package/synchronizers/synchronizer-broadcast-channel/index.js +7 -7
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +7 -7
- package/synchronizers/synchronizer-local/index.js +7 -7
- package/synchronizers/synchronizer-local/with-schemas/index.js +7 -7
- package/synchronizers/synchronizer-ws-client/index.js +9 -9
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +9 -9
- package/synchronizers/synchronizer-ws-server/index.js +16 -18
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +16 -18
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +99 -0
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +99 -0
- package/synchronizers/synchronizer-ws-server-simple/index.js +86 -0
- package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +86 -0
- package/synchronizers/with-schemas/index.js +7 -7
- package/tools/index.js +7 -4
- package/tools/with-schemas/index.js +7 -4
- package/ui-react/index.js +97 -107
- package/ui-react/with-schemas/index.js +97 -107
- package/ui-react-dom/index.js +14 -8
- package/ui-react-dom/with-schemas/index.js +14 -8
- package/ui-react-inspector/index.js +24 -22
- package/ui-react-inspector/with-schemas/index.js +24 -22
- package/umd/common/index.js +5 -7
- package/umd/common/with-schemas/index.js +5 -7
- package/umd/es6/common/index.js +5 -7
- package/umd/es6/common/with-schemas/index.js +5 -7
- package/umd/es6/index.js +23 -17
- package/umd/es6/indexes/index.js +0 -6
- package/umd/es6/indexes/with-schemas/index.js +0 -6
- package/umd/es6/mergeable-store/index.js +22 -16
- package/umd/es6/mergeable-store/with-schemas/index.js +22 -16
- package/umd/es6/metrics/index.js +1 -1
- package/umd/es6/metrics/with-schemas/index.js +1 -1
- package/umd/es6/min/common/index.js +1 -1
- package/umd/es6/min/common/index.js.gz +0 -0
- package/umd/es6/min/common/with-schemas/index.js +1 -1
- package/umd/es6/min/common/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/index.js +1 -1
- package/umd/es6/min/index.js.gz +0 -0
- package/umd/es6/min/indexes/index.js +1 -1
- package/umd/es6/min/indexes/index.js.gz +0 -0
- package/umd/es6/min/indexes/with-schemas/index.js +1 -1
- package/umd/es6/min/indexes/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/mergeable-store/index.js +1 -1
- package/umd/es6/min/mergeable-store/index.js.gz +0 -0
- package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
- package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/index.js +1 -1
- package/umd/es6/min/persisters/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
- package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-browser/index.js +1 -1
- package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
- package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-file/index.js +1 -1
- package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
- package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
- package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
- package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-pglite/index.js +1 -1
- package/umd/es6/min/persisters/persister-pglite/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-postgres/index.js +1 -1
- package/umd/es6/min/persisters/persister-postgres/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
- package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-remote/index.js +1 -1
- package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
- package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/store/index.js +1 -1
- package/umd/es6/min/store/index.js.gz +0 -0
- package/umd/es6/min/store/with-schemas/index.js +1 -1
- package/umd/es6/min/store/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/index.js +1 -1
- package/umd/es6/min/synchronizers/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/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/tools/index.js +1 -1
- package/umd/es6/min/tools/index.js.gz +0 -0
- package/umd/es6/min/tools/with-schemas/index.js +1 -1
- package/umd/es6/min/tools/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-dom/index.js +1 -1
- package/umd/es6/min/ui-react-dom/index.js.gz +0 -0
- package/umd/es6/min/ui-react-dom/with-schemas/index.js +1 -1
- package/umd/es6/min/ui-react-dom/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 +85 -103
- package/umd/es6/persisters/persister-automerge/index.js +2 -0
- package/umd/es6/persisters/persister-automerge/with-schemas/index.js +2 -0
- package/umd/es6/persisters/persister-browser/index.js +2 -0
- package/umd/es6/persisters/persister-browser/with-schemas/index.js +2 -0
- package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +84 -102
- package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +84 -102
- package/umd/es6/persisters/persister-electric-sql/index.js +84 -102
- package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +84 -102
- package/umd/es6/persisters/persister-expo-sqlite/index.js +84 -102
- package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +84 -102
- package/umd/es6/persisters/persister-file/index.js +2 -0
- package/umd/es6/persisters/persister-file/with-schemas/index.js +2 -0
- package/umd/es6/persisters/persister-indexed-db/index.js +2 -0
- package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -0
- package/umd/es6/persisters/persister-libsql/index.js +84 -102
- package/umd/es6/persisters/persister-libsql/with-schemas/index.js +84 -102
- package/umd/es6/persisters/persister-partykit-client/index.js +2 -0
- package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +2 -0
- package/umd/es6/persisters/persister-pglite/index.js +84 -102
- package/umd/es6/persisters/persister-pglite/with-schemas/index.js +84 -102
- package/umd/es6/persisters/persister-postgres/index.js +83 -101
- package/umd/es6/persisters/persister-postgres/with-schemas/index.js +83 -101
- package/umd/es6/persisters/persister-powersync/index.js +214 -147
- package/umd/es6/persisters/persister-powersync/with-schemas/index.js +214 -147
- package/umd/es6/persisters/persister-remote/index.js +2 -0
- package/umd/es6/persisters/persister-remote/with-schemas/index.js +2 -0
- package/umd/es6/persisters/persister-sqlite-wasm/index.js +84 -102
- package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +84 -102
- package/umd/es6/persisters/persister-sqlite3/index.js +84 -102
- package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +84 -102
- package/umd/es6/persisters/persister-yjs/index.js +2 -0
- package/umd/es6/persisters/persister-yjs/with-schemas/index.js +2 -0
- package/umd/es6/persisters/with-schemas/index.js +85 -103
- package/umd/es6/queries/index.js +1 -1
- package/umd/es6/queries/with-schemas/index.js +1 -1
- package/umd/es6/store/index.js +5 -11
- package/umd/es6/store/with-schemas/index.js +5 -11
- package/umd/es6/synchronizers/index.js +7 -7
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +7 -7
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +7 -7
- package/umd/es6/synchronizers/synchronizer-local/index.js +7 -7
- package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +7 -7
- package/umd/es6/synchronizers/synchronizer-ws-client/index.js +9 -9
- package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +9 -9
- package/umd/es6/synchronizers/synchronizer-ws-server/index.js +16 -18
- package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +16 -18
- package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +131 -0
- package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +131 -0
- package/umd/es6/synchronizers/synchronizer-ws-server-simple/index.js +143 -0
- package/umd/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +143 -0
- package/umd/es6/synchronizers/with-schemas/index.js +7 -7
- package/umd/es6/tools/index.js +7 -4
- package/umd/es6/tools/with-schemas/index.js +7 -4
- package/umd/es6/ui-react/index.js +101 -118
- package/umd/es6/ui-react/with-schemas/index.js +101 -118
- package/umd/es6/ui-react-dom/index.js +14 -8
- package/umd/es6/ui-react-dom/with-schemas/index.js +14 -8
- package/umd/es6/ui-react-inspector/index.js +24 -22
- package/umd/es6/ui-react-inspector/with-schemas/index.js +24 -22
- package/umd/es6/with-schemas/index.js +23 -17
- package/umd/index.js +23 -17
- package/umd/indexes/index.js +0 -6
- package/umd/indexes/with-schemas/index.js +0 -6
- package/umd/mergeable-store/index.js +22 -16
- package/umd/mergeable-store/with-schemas/index.js +22 -16
- package/umd/metrics/index.js +1 -1
- package/umd/metrics/with-schemas/index.js +1 -1
- package/umd/min/common/index.js +1 -1
- package/umd/min/common/index.js.gz +0 -0
- package/umd/min/common/with-schemas/index.js +1 -1
- package/umd/min/common/with-schemas/index.js.gz +0 -0
- package/umd/min/index.js +1 -1
- package/umd/min/index.js.gz +0 -0
- package/umd/min/indexes/index.js +1 -1
- package/umd/min/indexes/index.js.gz +0 -0
- package/umd/min/indexes/with-schemas/index.js +1 -1
- package/umd/min/indexes/with-schemas/index.js.gz +0 -0
- package/umd/min/mergeable-store/index.js +1 -1
- package/umd/min/mergeable-store/index.js.gz +0 -0
- package/umd/min/mergeable-store/with-schemas/index.js +1 -1
- package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/index.js +1 -1
- package/umd/min/persisters/index.js.gz +0 -0
- package/umd/min/persisters/persister-automerge/index.js +1 -1
- package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
- package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-browser/index.js +1 -1
- package/umd/min/persisters/persister-browser/index.js.gz +0 -0
- package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-electric-sql/index.js +1 -1
- package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-file/index.js +1 -1
- package/umd/min/persisters/persister-file/index.js.gz +0 -0
- package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-indexed-db/index.js +1 -1
- package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-libsql/index.js +1 -1
- package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
- package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-partykit-client/index.js +1 -1
- package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-pglite/index.js +1 -1
- package/umd/min/persisters/persister-pglite/index.js.gz +0 -0
- package/umd/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-postgres/index.js +1 -1
- package/umd/min/persisters/persister-postgres/index.js.gz +0 -0
- package/umd/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-powersync/index.js +1 -1
- package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
- package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-remote/index.js +1 -1
- package/umd/min/persisters/persister-remote/index.js.gz +0 -0
- package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite3/index.js +1 -1
- package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-yjs/index.js +1 -1
- package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
- package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/with-schemas/index.js +1 -1
- package/umd/min/persisters/with-schemas/index.js.gz +0 -0
- package/umd/min/store/index.js +1 -1
- package/umd/min/store/index.js.gz +0 -0
- package/umd/min/store/with-schemas/index.js +1 -1
- package/umd/min/store/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/index.js +1 -1
- package/umd/min/synchronizers/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -0
- package/umd/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -0
- package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -0
- package/umd/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -0
- package/umd/min/synchronizers/synchronizer-ws-server-simple/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/tools/index.js +1 -1
- package/umd/min/tools/index.js.gz +0 -0
- package/umd/min/tools/with-schemas/index.js +1 -1
- package/umd/min/tools/with-schemas/index.js.gz +0 -0
- package/umd/min/ui-react/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-dom/index.js +1 -1
- package/umd/min/ui-react-dom/index.js.gz +0 -0
- package/umd/min/ui-react-dom/with-schemas/index.js +1 -1
- package/umd/min/ui-react-dom/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 +82 -98
- package/umd/persisters/persister-automerge/index.js +2 -0
- package/umd/persisters/persister-automerge/with-schemas/index.js +2 -0
- package/umd/persisters/persister-browser/index.js +2 -0
- package/umd/persisters/persister-browser/with-schemas/index.js +2 -0
- package/umd/persisters/persister-cr-sqlite-wasm/index.js +81 -97
- package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +81 -97
- package/umd/persisters/persister-electric-sql/index.js +81 -97
- package/umd/persisters/persister-electric-sql/with-schemas/index.js +81 -97
- package/umd/persisters/persister-expo-sqlite/index.js +81 -97
- package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +81 -97
- package/umd/persisters/persister-file/index.js +2 -0
- package/umd/persisters/persister-file/with-schemas/index.js +2 -0
- package/umd/persisters/persister-indexed-db/index.js +2 -0
- package/umd/persisters/persister-indexed-db/with-schemas/index.js +2 -0
- package/umd/persisters/persister-libsql/index.js +81 -97
- package/umd/persisters/persister-libsql/with-schemas/index.js +81 -97
- package/umd/persisters/persister-partykit-client/index.js +2 -0
- package/umd/persisters/persister-partykit-client/with-schemas/index.js +2 -0
- package/umd/persisters/persister-pglite/index.js +81 -97
- package/umd/persisters/persister-pglite/with-schemas/index.js +81 -97
- package/umd/persisters/persister-postgres/index.js +80 -96
- package/umd/persisters/persister-postgres/with-schemas/index.js +80 -96
- package/umd/persisters/persister-powersync/index.js +205 -142
- package/umd/persisters/persister-powersync/with-schemas/index.js +205 -142
- package/umd/persisters/persister-remote/index.js +2 -0
- package/umd/persisters/persister-remote/with-schemas/index.js +2 -0
- package/umd/persisters/persister-sqlite-wasm/index.js +81 -97
- package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +81 -97
- package/umd/persisters/persister-sqlite3/index.js +81 -97
- package/umd/persisters/persister-sqlite3/with-schemas/index.js +81 -97
- package/umd/persisters/persister-yjs/index.js +2 -0
- package/umd/persisters/persister-yjs/with-schemas/index.js +2 -0
- package/umd/persisters/with-schemas/index.js +82 -98
- package/umd/queries/index.js +1 -1
- package/umd/queries/with-schemas/index.js +1 -1
- package/umd/store/index.js +5 -11
- package/umd/store/with-schemas/index.js +5 -11
- package/umd/synchronizers/index.js +7 -7
- package/umd/synchronizers/synchronizer-broadcast-channel/index.js +7 -7
- package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +7 -7
- package/umd/synchronizers/synchronizer-local/index.js +7 -7
- package/umd/synchronizers/synchronizer-local/with-schemas/index.js +7 -7
- package/umd/synchronizers/synchronizer-ws-client/index.js +9 -9
- package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +9 -9
- package/umd/synchronizers/synchronizer-ws-server/index.js +16 -18
- package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +16 -18
- package/umd/synchronizers/synchronizer-ws-server-durable-object/index.js +113 -0
- package/umd/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +113 -0
- package/umd/synchronizers/synchronizer-ws-server-simple/index.js +101 -0
- package/umd/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +101 -0
- package/umd/synchronizers/with-schemas/index.js +7 -7
- package/umd/tools/index.js +7 -4
- package/umd/tools/with-schemas/index.js +7 -4
- package/umd/ui-react/index.js +97 -110
- package/umd/ui-react/with-schemas/index.js +97 -110
- package/umd/ui-react-dom/index.js +14 -8
- package/umd/ui-react-dom/with-schemas/index.js +14 -8
- 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 +23 -17
- package/with-schemas/index.js +23 -17
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
const EMPTY_STRING = '';
|
|
4
4
|
const UTF8 = 'utf8';
|
|
5
5
|
const UNDEFINED = '\uFFFC';
|
|
6
|
+
const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
7
|
+
str.split(separator, limit);
|
|
6
8
|
|
|
7
9
|
const promise = Promise;
|
|
8
10
|
const GLOBAL = globalThis;
|
|
@@ -76,8 +78,8 @@ const receivePayload = (payload, receive) =>
|
|
|
76
78
|
);
|
|
77
79
|
const createPayload = (toClientId, ...args) =>
|
|
78
80
|
createRawPayload(toClientId ?? EMPTY_STRING, jsonStringWithUndefined(args));
|
|
79
|
-
const createRawPayload = (
|
|
80
|
-
|
|
81
|
+
const createRawPayload = (clientId, remainder) =>
|
|
82
|
+
clientId + MESSAGE_SEPARATOR + remainder;
|
|
81
83
|
|
|
82
84
|
const collSize = (coll) => coll?.size ?? 0;
|
|
83
85
|
const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
|
|
@@ -119,8 +121,6 @@ const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
|
119
121
|
},
|
|
120
122
|
);
|
|
121
123
|
|
|
122
|
-
new GLOBAL.TextEncoder();
|
|
123
|
-
|
|
124
124
|
const newStamp = (value, time) => (time ? [value, time] : [value]);
|
|
125
125
|
const getLatestTime = (time1, time2) =>
|
|
126
126
|
/* istanbul ignore next */
|
|
@@ -315,6 +315,8 @@ const createCustomPersister = (
|
|
|
315
315
|
const content = await getPersisted();
|
|
316
316
|
if (isArray(content)) {
|
|
317
317
|
setContentOrChanges(content);
|
|
318
|
+
} else if (initialContent) {
|
|
319
|
+
setDefaultContent(initialContent);
|
|
318
320
|
} else {
|
|
319
321
|
errorNew(`Content is not an array ${content}`);
|
|
320
322
|
}
|
|
@@ -432,11 +434,9 @@ const createCustomPersister = (
|
|
|
432
434
|
};
|
|
433
435
|
|
|
434
436
|
const MASK6 = 63;
|
|
435
|
-
const ENCODE =
|
|
436
|
-
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'
|
|
437
|
-
|
|
438
|
-
);
|
|
439
|
-
mapNew(arrayMap(ENCODE, (char, index) => [char, index]));
|
|
437
|
+
const ENCODE = /* @__PURE__ */ strSplit(
|
|
438
|
+
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
|
|
439
|
+
);
|
|
440
440
|
const encode = (num) => ENCODE[num & MASK6];
|
|
441
441
|
|
|
442
442
|
const getRandomValues = GLOBAL.crypto
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
const EMPTY_STRING = '';
|
|
4
4
|
const UTF8 = 'utf8';
|
|
5
5
|
const UNDEFINED = '\uFFFC';
|
|
6
|
+
const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
7
|
+
str.split(separator, limit);
|
|
6
8
|
|
|
7
9
|
const promise = Promise;
|
|
8
10
|
const GLOBAL = globalThis;
|
|
@@ -76,8 +78,8 @@ const receivePayload = (payload, receive) =>
|
|
|
76
78
|
);
|
|
77
79
|
const createPayload = (toClientId, ...args) =>
|
|
78
80
|
createRawPayload(toClientId ?? EMPTY_STRING, jsonStringWithUndefined(args));
|
|
79
|
-
const createRawPayload = (
|
|
80
|
-
|
|
81
|
+
const createRawPayload = (clientId, remainder) =>
|
|
82
|
+
clientId + MESSAGE_SEPARATOR + remainder;
|
|
81
83
|
|
|
82
84
|
const collSize = (coll) => coll?.size ?? 0;
|
|
83
85
|
const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
|
|
@@ -119,8 +121,6 @@ const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
|
119
121
|
},
|
|
120
122
|
);
|
|
121
123
|
|
|
122
|
-
new GLOBAL.TextEncoder();
|
|
123
|
-
|
|
124
124
|
const newStamp = (value, time) => (time ? [value, time] : [value]);
|
|
125
125
|
const getLatestTime = (time1, time2) =>
|
|
126
126
|
/* istanbul ignore next */
|
|
@@ -315,6 +315,8 @@ const createCustomPersister = (
|
|
|
315
315
|
const content = await getPersisted();
|
|
316
316
|
if (isArray(content)) {
|
|
317
317
|
setContentOrChanges(content);
|
|
318
|
+
} else if (initialContent) {
|
|
319
|
+
setDefaultContent(initialContent);
|
|
318
320
|
} else {
|
|
319
321
|
errorNew(`Content is not an array ${content}`);
|
|
320
322
|
}
|
|
@@ -432,11 +434,9 @@ const createCustomPersister = (
|
|
|
432
434
|
};
|
|
433
435
|
|
|
434
436
|
const MASK6 = 63;
|
|
435
|
-
const ENCODE =
|
|
436
|
-
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'
|
|
437
|
-
|
|
438
|
-
);
|
|
439
|
-
mapNew(arrayMap(ENCODE, (char, index) => [char, index]));
|
|
437
|
+
const ENCODE = /* @__PURE__ */ strSplit(
|
|
438
|
+
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
|
|
439
|
+
);
|
|
440
440
|
const encode = (num) => ENCODE[num & MASK6];
|
|
441
441
|
|
|
442
442
|
const getRandomValues = GLOBAL.crypto
|
|
@@ -4,6 +4,8 @@ const EMPTY_STRING = '';
|
|
|
4
4
|
const UTF8 = 'utf8';
|
|
5
5
|
const UNDEFINED = '\uFFFC';
|
|
6
6
|
const strMatch = (str, regex) => str?.match(regex);
|
|
7
|
+
const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
8
|
+
str.split(separator, limit);
|
|
7
9
|
|
|
8
10
|
const promise = Promise;
|
|
9
11
|
const GLOBAL = globalThis;
|
|
@@ -125,10 +127,8 @@ const receivePayload = (payload, receive) =>
|
|
|
125
127
|
);
|
|
126
128
|
const createPayload = (toClientId, ...args) =>
|
|
127
129
|
createRawPayload(toClientId ?? EMPTY_STRING, jsonStringWithUndefined(args));
|
|
128
|
-
const createRawPayload = (
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
new GLOBAL.TextEncoder();
|
|
130
|
+
const createRawPayload = (clientId, remainder) =>
|
|
131
|
+
clientId + MESSAGE_SEPARATOR + remainder;
|
|
132
132
|
|
|
133
133
|
const newStamp = (value, time) => (time ? [value, time] : [value]);
|
|
134
134
|
const getLatestTime = (time1, time2) =>
|
|
@@ -321,6 +321,8 @@ const createCustomPersister = (
|
|
|
321
321
|
const content = await getPersisted();
|
|
322
322
|
if (isArray(content)) {
|
|
323
323
|
setContentOrChanges(content);
|
|
324
|
+
} else if (initialContent) {
|
|
325
|
+
setDefaultContent(initialContent);
|
|
324
326
|
} else {
|
|
325
327
|
errorNew(`Content is not an array ${content}`);
|
|
326
328
|
}
|
|
@@ -431,11 +433,9 @@ const createCustomPersister = (
|
|
|
431
433
|
};
|
|
432
434
|
|
|
433
435
|
const MASK6 = 63;
|
|
434
|
-
const ENCODE =
|
|
435
|
-
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'
|
|
436
|
-
|
|
437
|
-
);
|
|
438
|
-
mapNew(arrayMap(ENCODE, (char, index) => [char, index]));
|
|
436
|
+
const ENCODE = /* @__PURE__ */ strSplit(
|
|
437
|
+
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
|
|
438
|
+
);
|
|
439
439
|
const encode = (num) => ENCODE[num & MASK6];
|
|
440
440
|
|
|
441
441
|
const getRandomValues = GLOBAL.crypto
|
|
@@ -695,10 +695,8 @@ const createWsServer = (webSocketServer, createPersisterForPath) => {
|
|
|
695
695
|
if (clientId !== SERVER_CLIENT_ID) {
|
|
696
696
|
serverClient[3 /* Send */]?.(forwardedPayload);
|
|
697
697
|
}
|
|
698
|
-
mapForEach(clients, (otherClientId,
|
|
699
|
-
otherClientId !== clientId
|
|
700
|
-
? otherWebSocket.send(forwardedPayload)
|
|
701
|
-
: 0,
|
|
698
|
+
mapForEach(clients, (otherClientId, otherClient) =>
|
|
699
|
+
otherClientId !== clientId ? otherClient.send(forwardedPayload) : 0,
|
|
702
700
|
);
|
|
703
701
|
} else if (toClientId === SERVER_CLIENT_ID) {
|
|
704
702
|
serverClient[3 /* Send */]?.(forwardedPayload);
|
|
@@ -706,7 +704,7 @@ const createWsServer = (webSocketServer, createPersisterForPath) => {
|
|
|
706
704
|
mapGet(clients, toClientId)?.send(forwardedPayload);
|
|
707
705
|
}
|
|
708
706
|
});
|
|
709
|
-
webSocketServer.on('connection', (
|
|
707
|
+
webSocketServer.on('connection', (client, request) =>
|
|
710
708
|
ifNotUndefined(strMatch(request.url, PATH_REGEX), ([, pathId]) =>
|
|
711
709
|
ifNotUndefined(request.headers['sec-websocket-key'], async (clientId) => {
|
|
712
710
|
const clients = mapEnsure(clientsByPath, pathId, mapNew);
|
|
@@ -722,9 +720,9 @@ const createWsServer = (webSocketServer, createPersisterForPath) => {
|
|
|
722
720
|
callListeners(pathIdListeners, void 0, pathId, 1);
|
|
723
721
|
await configureServerClient(serverClient, pathId, clients);
|
|
724
722
|
}
|
|
725
|
-
mapSet(clients, clientId,
|
|
723
|
+
mapSet(clients, clientId, client);
|
|
726
724
|
callListeners(clientIdListeners, [pathId], clientId, 1);
|
|
727
|
-
|
|
725
|
+
client.on('message', (data) => {
|
|
728
726
|
const payload = data.toString(UTF8);
|
|
729
727
|
if (serverClient[0 /* State */] == 0 /* Ready */) {
|
|
730
728
|
messageHandler(payload);
|
|
@@ -737,7 +735,7 @@ const createWsServer = (webSocketServer, createPersisterForPath) => {
|
|
|
737
735
|
arrayForEach(serverClient[4 /* Buffer */], messageHandler);
|
|
738
736
|
serverClient[4 /* Buffer */] = [];
|
|
739
737
|
}
|
|
740
|
-
|
|
738
|
+
client.on('close', () => {
|
|
741
739
|
collDel(clients, clientId);
|
|
742
740
|
callListeners(clientIdListeners, [pathId], clientId, -1);
|
|
743
741
|
if (collIsEmpty(clients)) {
|
|
@@ -752,7 +750,7 @@ const createWsServer = (webSocketServer, createPersisterForPath) => {
|
|
|
752
750
|
);
|
|
753
751
|
const getWebSocketServer = () => webSocketServer;
|
|
754
752
|
const getPathIds = () => mapKeys(clientsByPath);
|
|
755
|
-
const getClientIds = (
|
|
753
|
+
const getClientIds = (pathId) => mapKeys(mapGet(clientsByPath, pathId));
|
|
756
754
|
const addPathIdsListener = (listener) =>
|
|
757
755
|
addListener(listener, pathIdListeners);
|
|
758
756
|
const addClientIdsListener = (pathId, listener) =>
|
|
@@ -4,6 +4,8 @@ const EMPTY_STRING = '';
|
|
|
4
4
|
const UTF8 = 'utf8';
|
|
5
5
|
const UNDEFINED = '\uFFFC';
|
|
6
6
|
const strMatch = (str, regex) => str?.match(regex);
|
|
7
|
+
const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
8
|
+
str.split(separator, limit);
|
|
7
9
|
|
|
8
10
|
const promise = Promise;
|
|
9
11
|
const GLOBAL = globalThis;
|
|
@@ -125,10 +127,8 @@ const receivePayload = (payload, receive) =>
|
|
|
125
127
|
);
|
|
126
128
|
const createPayload = (toClientId, ...args) =>
|
|
127
129
|
createRawPayload(toClientId ?? EMPTY_STRING, jsonStringWithUndefined(args));
|
|
128
|
-
const createRawPayload = (
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
new GLOBAL.TextEncoder();
|
|
130
|
+
const createRawPayload = (clientId, remainder) =>
|
|
131
|
+
clientId + MESSAGE_SEPARATOR + remainder;
|
|
132
132
|
|
|
133
133
|
const newStamp = (value, time) => (time ? [value, time] : [value]);
|
|
134
134
|
const getLatestTime = (time1, time2) =>
|
|
@@ -321,6 +321,8 @@ const createCustomPersister = (
|
|
|
321
321
|
const content = await getPersisted();
|
|
322
322
|
if (isArray(content)) {
|
|
323
323
|
setContentOrChanges(content);
|
|
324
|
+
} else if (initialContent) {
|
|
325
|
+
setDefaultContent(initialContent);
|
|
324
326
|
} else {
|
|
325
327
|
errorNew(`Content is not an array ${content}`);
|
|
326
328
|
}
|
|
@@ -431,11 +433,9 @@ const createCustomPersister = (
|
|
|
431
433
|
};
|
|
432
434
|
|
|
433
435
|
const MASK6 = 63;
|
|
434
|
-
const ENCODE =
|
|
435
|
-
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'
|
|
436
|
-
|
|
437
|
-
);
|
|
438
|
-
mapNew(arrayMap(ENCODE, (char, index) => [char, index]));
|
|
436
|
+
const ENCODE = /* @__PURE__ */ strSplit(
|
|
437
|
+
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
|
|
438
|
+
);
|
|
439
439
|
const encode = (num) => ENCODE[num & MASK6];
|
|
440
440
|
|
|
441
441
|
const getRandomValues = GLOBAL.crypto
|
|
@@ -695,10 +695,8 @@ const createWsServer = (webSocketServer, createPersisterForPath) => {
|
|
|
695
695
|
if (clientId !== SERVER_CLIENT_ID) {
|
|
696
696
|
serverClient[3 /* Send */]?.(forwardedPayload);
|
|
697
697
|
}
|
|
698
|
-
mapForEach(clients, (otherClientId,
|
|
699
|
-
otherClientId !== clientId
|
|
700
|
-
? otherWebSocket.send(forwardedPayload)
|
|
701
|
-
: 0,
|
|
698
|
+
mapForEach(clients, (otherClientId, otherClient) =>
|
|
699
|
+
otherClientId !== clientId ? otherClient.send(forwardedPayload) : 0,
|
|
702
700
|
);
|
|
703
701
|
} else if (toClientId === SERVER_CLIENT_ID) {
|
|
704
702
|
serverClient[3 /* Send */]?.(forwardedPayload);
|
|
@@ -706,7 +704,7 @@ const createWsServer = (webSocketServer, createPersisterForPath) => {
|
|
|
706
704
|
mapGet(clients, toClientId)?.send(forwardedPayload);
|
|
707
705
|
}
|
|
708
706
|
});
|
|
709
|
-
webSocketServer.on('connection', (
|
|
707
|
+
webSocketServer.on('connection', (client, request) =>
|
|
710
708
|
ifNotUndefined(strMatch(request.url, PATH_REGEX), ([, pathId]) =>
|
|
711
709
|
ifNotUndefined(request.headers['sec-websocket-key'], async (clientId) => {
|
|
712
710
|
const clients = mapEnsure(clientsByPath, pathId, mapNew);
|
|
@@ -722,9 +720,9 @@ const createWsServer = (webSocketServer, createPersisterForPath) => {
|
|
|
722
720
|
callListeners(pathIdListeners, void 0, pathId, 1);
|
|
723
721
|
await configureServerClient(serverClient, pathId, clients);
|
|
724
722
|
}
|
|
725
|
-
mapSet(clients, clientId,
|
|
723
|
+
mapSet(clients, clientId, client);
|
|
726
724
|
callListeners(clientIdListeners, [pathId], clientId, 1);
|
|
727
|
-
|
|
725
|
+
client.on('message', (data) => {
|
|
728
726
|
const payload = data.toString(UTF8);
|
|
729
727
|
if (serverClient[0 /* State */] == 0 /* Ready */) {
|
|
730
728
|
messageHandler(payload);
|
|
@@ -737,7 +735,7 @@ const createWsServer = (webSocketServer, createPersisterForPath) => {
|
|
|
737
735
|
arrayForEach(serverClient[4 /* Buffer */], messageHandler);
|
|
738
736
|
serverClient[4 /* Buffer */] = [];
|
|
739
737
|
}
|
|
740
|
-
|
|
738
|
+
client.on('close', () => {
|
|
741
739
|
collDel(clients, clientId);
|
|
742
740
|
callListeners(clientIdListeners, [pathId], clientId, -1);
|
|
743
741
|
if (collIsEmpty(clients)) {
|
|
@@ -752,7 +750,7 @@ const createWsServer = (webSocketServer, createPersisterForPath) => {
|
|
|
752
750
|
);
|
|
753
751
|
const getWebSocketServer = () => webSocketServer;
|
|
754
752
|
const getPathIds = () => mapKeys(clientsByPath);
|
|
755
|
-
const getClientIds = (
|
|
753
|
+
const getClientIds = (pathId) => mapKeys(mapGet(clientsByPath, pathId));
|
|
756
754
|
const addPathIdsListener = (listener) =>
|
|
757
755
|
addListener(listener, pathIdListeners);
|
|
758
756
|
const addClientIdsListener = (pathId, listener) =>
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var cloudflare_workers = require('cloudflare:workers');
|
|
4
|
+
|
|
5
|
+
const EMPTY_STRING = '';
|
|
6
|
+
const strMatch = (str, regex) => str?.match(regex);
|
|
7
|
+
|
|
8
|
+
const isUndefined = (thing) => thing == void 0;
|
|
9
|
+
const ifNotUndefined = (value, then, otherwise) =>
|
|
10
|
+
isUndefined(value) ? otherwise?.() : then(value);
|
|
11
|
+
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
12
|
+
const size = (arrayOrString) => arrayOrString.length;
|
|
13
|
+
|
|
14
|
+
const arrayForEach = (array, cb) => array.forEach(cb);
|
|
15
|
+
const arrayMap = (array, cb) => array.map(cb);
|
|
16
|
+
const arrayIsEmpty = (array) => size(array) == 0;
|
|
17
|
+
|
|
18
|
+
const object = Object;
|
|
19
|
+
const objValues = (obj) => object.values(obj);
|
|
20
|
+
|
|
21
|
+
const MESSAGE_SEPARATOR = '\n';
|
|
22
|
+
const ifPayloadValid = (payload, then) => {
|
|
23
|
+
const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
|
|
24
|
+
if (splitAt !== -1) {
|
|
25
|
+
then(slice(payload, 0, splitAt), slice(payload, splitAt + 1));
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const createRawPayload = (clientId, remainder) =>
|
|
29
|
+
clientId + MESSAGE_SEPARATOR + remainder;
|
|
30
|
+
|
|
31
|
+
const PATH_REGEX = /\/([^?]*)/;
|
|
32
|
+
const getPathId = (request) =>
|
|
33
|
+
strMatch(new URL(request.url).pathname, PATH_REGEX)?.[1] ?? EMPTY_STRING;
|
|
34
|
+
const getClientId = (request) =>
|
|
35
|
+
request.headers.get('upgrade')?.toLowerCase() == 'websocket'
|
|
36
|
+
? request.headers.get('sec-websocket-key')
|
|
37
|
+
: null;
|
|
38
|
+
const createResponse = (status, webSocket = null, body = null) =>
|
|
39
|
+
new Response(body, {status, webSocket});
|
|
40
|
+
const createUpgradeRequiredResponse = () =>
|
|
41
|
+
createResponse(426, null, 'Upgrade required');
|
|
42
|
+
class WsServerDurableObject extends cloudflare_workers.DurableObject {
|
|
43
|
+
constructor(ctx, env) {
|
|
44
|
+
super(ctx, env);
|
|
45
|
+
}
|
|
46
|
+
fetch(request) {
|
|
47
|
+
const pathId = getPathId(request);
|
|
48
|
+
return ifNotUndefined(
|
|
49
|
+
getClientId(request),
|
|
50
|
+
(clientId) => {
|
|
51
|
+
const [webSocket, client] = objValues(new WebSocketPair());
|
|
52
|
+
client.serializeAttachment({pathId});
|
|
53
|
+
if (arrayIsEmpty(this.ctx.getWebSockets())) {
|
|
54
|
+
this.onPathId(pathId, 1);
|
|
55
|
+
}
|
|
56
|
+
this.ctx.acceptWebSocket(client, [clientId]);
|
|
57
|
+
this.onClientId(pathId, clientId, 1);
|
|
58
|
+
return createResponse(101, webSocket);
|
|
59
|
+
},
|
|
60
|
+
createUpgradeRequiredResponse,
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
webSocketMessage(client, message) {
|
|
64
|
+
ifNotUndefined(this.ctx.getTags(client)[0], (clientId) =>
|
|
65
|
+
ifPayloadValid(message.toString(), (toClientId, remainder) => {
|
|
66
|
+
const forwardedPayload = createRawPayload(clientId, remainder);
|
|
67
|
+
if (toClientId === EMPTY_STRING) {
|
|
68
|
+
arrayForEach(this.ctx.getWebSockets(), (otherClient) =>
|
|
69
|
+
otherClient !== client ? otherClient.send(forwardedPayload) : 0,
|
|
70
|
+
);
|
|
71
|
+
} else {
|
|
72
|
+
this.ctx.getWebSockets(toClientId)[0]?.send(forwardedPayload);
|
|
73
|
+
}
|
|
74
|
+
}),
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
webSocketClose(client) {
|
|
78
|
+
const {pathId} = client.deserializeAttachment();
|
|
79
|
+
this.onClientId(pathId, this.ctx.getTags(client)[0], -1);
|
|
80
|
+
if (size(this.ctx.getWebSockets()) == 1) {
|
|
81
|
+
this.onPathId(pathId, -1);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// --
|
|
85
|
+
getClientIds(_pathId) {
|
|
86
|
+
return arrayMap(
|
|
87
|
+
this.ctx.getWebSockets(),
|
|
88
|
+
(client) => this.ctx.getTags(client)[0],
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
onPathId(_pathId, _addedOrRemoved) {}
|
|
92
|
+
onClientId(_pathId, _clientId, _addedOrRemoved) {}
|
|
93
|
+
}
|
|
94
|
+
const getWsServerDurableObjectFetch = (namespace) => (request, env) =>
|
|
95
|
+
getClientId(request)
|
|
96
|
+
? env[namespace]
|
|
97
|
+
.get(env[namespace].idFromName(getPathId(request)))
|
|
98
|
+
.fetch(request)
|
|
99
|
+
: createUpgradeRequiredResponse();
|
|
100
|
+
|
|
101
|
+
exports.WsServerDurableObject = WsServerDurableObject;
|
|
102
|
+
exports.getWsServerDurableObjectFetch = getWsServerDurableObjectFetch;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var cloudflare_workers = require('cloudflare:workers');
|
|
4
|
+
|
|
5
|
+
const EMPTY_STRING = '';
|
|
6
|
+
const strMatch = (str, regex) => str?.match(regex);
|
|
7
|
+
|
|
8
|
+
const isUndefined = (thing) => thing == void 0;
|
|
9
|
+
const ifNotUndefined = (value, then, otherwise) =>
|
|
10
|
+
isUndefined(value) ? otherwise?.() : then(value);
|
|
11
|
+
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
12
|
+
const size = (arrayOrString) => arrayOrString.length;
|
|
13
|
+
|
|
14
|
+
const arrayForEach = (array, cb) => array.forEach(cb);
|
|
15
|
+
const arrayMap = (array, cb) => array.map(cb);
|
|
16
|
+
const arrayIsEmpty = (array) => size(array) == 0;
|
|
17
|
+
|
|
18
|
+
const object = Object;
|
|
19
|
+
const objValues = (obj) => object.values(obj);
|
|
20
|
+
|
|
21
|
+
const MESSAGE_SEPARATOR = '\n';
|
|
22
|
+
const ifPayloadValid = (payload, then) => {
|
|
23
|
+
const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
|
|
24
|
+
if (splitAt !== -1) {
|
|
25
|
+
then(slice(payload, 0, splitAt), slice(payload, splitAt + 1));
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const createRawPayload = (clientId, remainder) =>
|
|
29
|
+
clientId + MESSAGE_SEPARATOR + remainder;
|
|
30
|
+
|
|
31
|
+
const PATH_REGEX = /\/([^?]*)/;
|
|
32
|
+
const getPathId = (request) =>
|
|
33
|
+
strMatch(new URL(request.url).pathname, PATH_REGEX)?.[1] ?? EMPTY_STRING;
|
|
34
|
+
const getClientId = (request) =>
|
|
35
|
+
request.headers.get('upgrade')?.toLowerCase() == 'websocket'
|
|
36
|
+
? request.headers.get('sec-websocket-key')
|
|
37
|
+
: null;
|
|
38
|
+
const createResponse = (status, webSocket = null, body = null) =>
|
|
39
|
+
new Response(body, {status, webSocket});
|
|
40
|
+
const createUpgradeRequiredResponse = () =>
|
|
41
|
+
createResponse(426, null, 'Upgrade required');
|
|
42
|
+
class WsServerDurableObject extends cloudflare_workers.DurableObject {
|
|
43
|
+
constructor(ctx, env) {
|
|
44
|
+
super(ctx, env);
|
|
45
|
+
}
|
|
46
|
+
fetch(request) {
|
|
47
|
+
const pathId = getPathId(request);
|
|
48
|
+
return ifNotUndefined(
|
|
49
|
+
getClientId(request),
|
|
50
|
+
(clientId) => {
|
|
51
|
+
const [webSocket, client] = objValues(new WebSocketPair());
|
|
52
|
+
client.serializeAttachment({pathId});
|
|
53
|
+
if (arrayIsEmpty(this.ctx.getWebSockets())) {
|
|
54
|
+
this.onPathId(pathId, 1);
|
|
55
|
+
}
|
|
56
|
+
this.ctx.acceptWebSocket(client, [clientId]);
|
|
57
|
+
this.onClientId(pathId, clientId, 1);
|
|
58
|
+
return createResponse(101, webSocket);
|
|
59
|
+
},
|
|
60
|
+
createUpgradeRequiredResponse,
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
webSocketMessage(client, message) {
|
|
64
|
+
ifNotUndefined(this.ctx.getTags(client)[0], (clientId) =>
|
|
65
|
+
ifPayloadValid(message.toString(), (toClientId, remainder) => {
|
|
66
|
+
const forwardedPayload = createRawPayload(clientId, remainder);
|
|
67
|
+
if (toClientId === EMPTY_STRING) {
|
|
68
|
+
arrayForEach(this.ctx.getWebSockets(), (otherClient) =>
|
|
69
|
+
otherClient !== client ? otherClient.send(forwardedPayload) : 0,
|
|
70
|
+
);
|
|
71
|
+
} else {
|
|
72
|
+
this.ctx.getWebSockets(toClientId)[0]?.send(forwardedPayload);
|
|
73
|
+
}
|
|
74
|
+
}),
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
webSocketClose(client) {
|
|
78
|
+
const {pathId} = client.deserializeAttachment();
|
|
79
|
+
this.onClientId(pathId, this.ctx.getTags(client)[0], -1);
|
|
80
|
+
if (size(this.ctx.getWebSockets()) == 1) {
|
|
81
|
+
this.onPathId(pathId, -1);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// --
|
|
85
|
+
getClientIds(_pathId) {
|
|
86
|
+
return arrayMap(
|
|
87
|
+
this.ctx.getWebSockets(),
|
|
88
|
+
(client) => this.ctx.getTags(client)[0],
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
onPathId(_pathId, _addedOrRemoved) {}
|
|
92
|
+
onClientId(_pathId, _clientId, _addedOrRemoved) {}
|
|
93
|
+
}
|
|
94
|
+
const getWsServerDurableObjectFetch = (namespace) => (request, env) =>
|
|
95
|
+
getClientId(request)
|
|
96
|
+
? env[namespace]
|
|
97
|
+
.get(env[namespace].idFromName(getPathId(request)))
|
|
98
|
+
.fetch(request)
|
|
99
|
+
: createUpgradeRequiredResponse();
|
|
100
|
+
|
|
101
|
+
exports.WsServerDurableObject = WsServerDurableObject;
|
|
102
|
+
exports.getWsServerDurableObjectFetch = getWsServerDurableObjectFetch;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const EMPTY_STRING = '';
|
|
4
|
+
const UTF8 = 'utf8';
|
|
5
|
+
const strMatch = (str, regex) => str?.match(regex);
|
|
6
|
+
|
|
7
|
+
const isUndefined = (thing) => thing == void 0;
|
|
8
|
+
const ifNotUndefined = (value, then, otherwise) =>
|
|
9
|
+
isUndefined(value) ? otherwise?.() : then(value);
|
|
10
|
+
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
11
|
+
|
|
12
|
+
const object = Object;
|
|
13
|
+
const objFreeze = object.freeze;
|
|
14
|
+
|
|
15
|
+
const collSize = (coll) => coll?.size ?? 0;
|
|
16
|
+
const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
|
|
17
|
+
const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
|
|
18
|
+
const collClear = (coll) => coll.clear();
|
|
19
|
+
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
20
|
+
const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
21
|
+
|
|
22
|
+
const mapNew = (entries) => new Map(entries);
|
|
23
|
+
const mapGet = (map, key) => map?.get(key);
|
|
24
|
+
const mapForEach = (map, cb) =>
|
|
25
|
+
collForEach(map, (value, key) => cb(key, value));
|
|
26
|
+
const mapSet = (map, key, value) =>
|
|
27
|
+
isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
|
|
28
|
+
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
29
|
+
if (!collHas(map, key)) {
|
|
30
|
+
mapSet(map, key, getDefaultValue());
|
|
31
|
+
}
|
|
32
|
+
return mapGet(map, key);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const MESSAGE_SEPARATOR = '\n';
|
|
36
|
+
const ifPayloadValid = (payload, then) => {
|
|
37
|
+
const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
|
|
38
|
+
if (splitAt !== -1) {
|
|
39
|
+
then(slice(payload, 0, splitAt), slice(payload, splitAt + 1));
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const createRawPayload = (clientId, remainder) =>
|
|
43
|
+
clientId + MESSAGE_SEPARATOR + remainder;
|
|
44
|
+
|
|
45
|
+
const PATH_REGEX = /\/([^?]*)/;
|
|
46
|
+
const createWsServerSimple = (webSocketServer) => {
|
|
47
|
+
const clientsByPath = mapNew();
|
|
48
|
+
webSocketServer.on('connection', (client, request) =>
|
|
49
|
+
ifNotUndefined(strMatch(request.url, PATH_REGEX), ([, pathId]) =>
|
|
50
|
+
ifNotUndefined(request.headers['sec-websocket-key'], async (clientId) => {
|
|
51
|
+
const clients = mapEnsure(clientsByPath, pathId, mapNew);
|
|
52
|
+
mapSet(clients, clientId, client);
|
|
53
|
+
client.on('message', (data) =>
|
|
54
|
+
ifPayloadValid(data.toString(UTF8), (toClientId, remainder) => {
|
|
55
|
+
const forwardedPayload = createRawPayload(clientId, remainder);
|
|
56
|
+
if (toClientId === EMPTY_STRING) {
|
|
57
|
+
mapForEach(clients, (otherClientId, otherClient) =>
|
|
58
|
+
otherClientId !== clientId
|
|
59
|
+
? otherClient.send(forwardedPayload)
|
|
60
|
+
: 0,
|
|
61
|
+
);
|
|
62
|
+
} else {
|
|
63
|
+
mapGet(clients, toClientId)?.send(forwardedPayload);
|
|
64
|
+
}
|
|
65
|
+
}),
|
|
66
|
+
);
|
|
67
|
+
client.on('close', () => {
|
|
68
|
+
collDel(clients, clientId);
|
|
69
|
+
if (collIsEmpty(clients)) {
|
|
70
|
+
collDel(clientsByPath, pathId);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}),
|
|
74
|
+
),
|
|
75
|
+
);
|
|
76
|
+
const getWebSocketServer = () => webSocketServer;
|
|
77
|
+
const destroy = () => {
|
|
78
|
+
collClear(clientsByPath);
|
|
79
|
+
webSocketServer.close();
|
|
80
|
+
};
|
|
81
|
+
const wsServerSimple = {
|
|
82
|
+
getWebSocketServer,
|
|
83
|
+
destroy,
|
|
84
|
+
};
|
|
85
|
+
return objFreeze(wsServerSimple);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
exports.createWsServerSimple = createWsServerSimple;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const EMPTY_STRING = '';
|
|
4
|
+
const UTF8 = 'utf8';
|
|
5
|
+
const strMatch = (str, regex) => str?.match(regex);
|
|
6
|
+
|
|
7
|
+
const isUndefined = (thing) => thing == void 0;
|
|
8
|
+
const ifNotUndefined = (value, then, otherwise) =>
|
|
9
|
+
isUndefined(value) ? otherwise?.() : then(value);
|
|
10
|
+
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
11
|
+
|
|
12
|
+
const object = Object;
|
|
13
|
+
const objFreeze = object.freeze;
|
|
14
|
+
|
|
15
|
+
const collSize = (coll) => coll?.size ?? 0;
|
|
16
|
+
const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
|
|
17
|
+
const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
|
|
18
|
+
const collClear = (coll) => coll.clear();
|
|
19
|
+
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
20
|
+
const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
21
|
+
|
|
22
|
+
const mapNew = (entries) => new Map(entries);
|
|
23
|
+
const mapGet = (map, key) => map?.get(key);
|
|
24
|
+
const mapForEach = (map, cb) =>
|
|
25
|
+
collForEach(map, (value, key) => cb(key, value));
|
|
26
|
+
const mapSet = (map, key, value) =>
|
|
27
|
+
isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
|
|
28
|
+
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
29
|
+
if (!collHas(map, key)) {
|
|
30
|
+
mapSet(map, key, getDefaultValue());
|
|
31
|
+
}
|
|
32
|
+
return mapGet(map, key);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const MESSAGE_SEPARATOR = '\n';
|
|
36
|
+
const ifPayloadValid = (payload, then) => {
|
|
37
|
+
const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
|
|
38
|
+
if (splitAt !== -1) {
|
|
39
|
+
then(slice(payload, 0, splitAt), slice(payload, splitAt + 1));
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const createRawPayload = (clientId, remainder) =>
|
|
43
|
+
clientId + MESSAGE_SEPARATOR + remainder;
|
|
44
|
+
|
|
45
|
+
const PATH_REGEX = /\/([^?]*)/;
|
|
46
|
+
const createWsServerSimple = (webSocketServer) => {
|
|
47
|
+
const clientsByPath = mapNew();
|
|
48
|
+
webSocketServer.on('connection', (client, request) =>
|
|
49
|
+
ifNotUndefined(strMatch(request.url, PATH_REGEX), ([, pathId]) =>
|
|
50
|
+
ifNotUndefined(request.headers['sec-websocket-key'], async (clientId) => {
|
|
51
|
+
const clients = mapEnsure(clientsByPath, pathId, mapNew);
|
|
52
|
+
mapSet(clients, clientId, client);
|
|
53
|
+
client.on('message', (data) =>
|
|
54
|
+
ifPayloadValid(data.toString(UTF8), (toClientId, remainder) => {
|
|
55
|
+
const forwardedPayload = createRawPayload(clientId, remainder);
|
|
56
|
+
if (toClientId === EMPTY_STRING) {
|
|
57
|
+
mapForEach(clients, (otherClientId, otherClient) =>
|
|
58
|
+
otherClientId !== clientId
|
|
59
|
+
? otherClient.send(forwardedPayload)
|
|
60
|
+
: 0,
|
|
61
|
+
);
|
|
62
|
+
} else {
|
|
63
|
+
mapGet(clients, toClientId)?.send(forwardedPayload);
|
|
64
|
+
}
|
|
65
|
+
}),
|
|
66
|
+
);
|
|
67
|
+
client.on('close', () => {
|
|
68
|
+
collDel(clients, clientId);
|
|
69
|
+
if (collIsEmpty(clients)) {
|
|
70
|
+
collDel(clientsByPath, pathId);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}),
|
|
74
|
+
),
|
|
75
|
+
);
|
|
76
|
+
const getWebSocketServer = () => webSocketServer;
|
|
77
|
+
const destroy = () => {
|
|
78
|
+
collClear(clientsByPath);
|
|
79
|
+
webSocketServer.close();
|
|
80
|
+
};
|
|
81
|
+
const wsServerSimple = {
|
|
82
|
+
getWebSocketServer,
|
|
83
|
+
destroy,
|
|
84
|
+
};
|
|
85
|
+
return objFreeze(wsServerSimple);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
exports.createWsServerSimple = createWsServerSimple;
|